Типові помилки, виявлені статичними тестами 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Типові помилки, виявлені статичними тестами



Типовими помилками, які виявляються статичними тестами, є:

· неініціалізовані змінні,

· порівняння змінних з плаваючою крапкою,

· адреси, що перевищують межі,

· помилки з вказівниками,

· помилки в умовних командах,

· нескінченні цикли,

· помилки в межах (наприклад > чим =),

· неправильне використання круглих дужок,

· неправильне використання даних.

Стратегія неформальних тестів:

Неформальні статичні тести зазвичай проводяться програмістом, який написав модуль. Програміст аналізує код. Якщо все гаразд, його аналізує досвідчений програміст. Якщо той знайде помилки - програма повертається програмістові. Якщо модуль складний - його перевіряє декілька досвідчених програмістів.

Підрахунок кількості помилок

Помилки в програмі не обов'язково роблять її ненадійною. Проте, оцінка помилок дуже важлива, оскільки вона визначає вартість підтримки. Компанії, що продають продукт одному або декільком клієнтам, використовують оцінювання.

Вартість підтримки обчислюється з кількості помилок, їх середньому коефіцієнті виявлення, грунтуючись на попередніх проектах.

Метод сіяння помилок

Метод полягає у введенні в програму помилок, схожих з тими, що вже існують. Виявлення проводить інша група програмістів.

Нехай: N – кількість посіяних помилок,
M - загальна кількість виявлених помилок,
X - кількість виявлених помилок з числа посіяних.

Ми можемо підрахувати очікуване число помилок перед тестуванням:

(M-X)*N/X

Очікуване число помилок після їх виправлення буде таким:

(M-X)*(N/X-1)

Оцінка може бути помилковою якщо посіяні помилки сильно відрізнятимуться від справжніх. Метод також дозволяє тестувати самого себе. Дуже мале значення X/N означає необхідність виправлення методу.

Тестування системі

Тестування всієї системи може відбуватися двома способами: згори вниз і знизу вгору.

Тестування знизу вгору відбувається шляхом тестування, в першу чергу, конкретних модулів, після чого відбувається їх злиття і тестування великих модулів, аж до найвищого рівня. Застосування підходу не завжди можливо через взаємозв'язки модулів. Можуть використовуватися модулі-заглушки.

Тестування згори вниз починається з перевірки найвищого рівня. Модулі нижчих рівнів замінюються заглушками. Протестовані модулі високого рівня інтегруються з нижчими, після чого процес продовжується. Це відбувається до тих пір, поки система не буде повністю зібрана таким чином.

Стресове тестування

Стресове тестування проводиться для того, щоб оцінити надійність і продуктивність в стресових умовах. Це застосовується, в основному, до мережевих систем і систем множинного доступу.

Тести на міцність перевіряють продуктивність у разі несподіваних подій, як відключення електрики, помилка устаткування, введення невірних даних або неправильної послідовності комманд.

Безпека ПЗ

Деякі системи вважаються критично важливими відносно безпеки людини. До них відносяться: медичне устаткування, устаткування контролю літаком і т.д. Загроза може бути непрямою, як у випадку з прийняттями рішень в медицині.

Слід зазначити, що безпека і надійність - не одне і те ж. Ненадійна система може бути безпечна, якщо наслідки помилок не небезпечні.

Системні вимоги можуть бути неповними і не описувати всіх випадків. Це відноситься до вхідних даних. Для системи важливо працювати правильно навіть у разі введення невірних даних.

До помилок ПЗ потрібно відносити і помилки апаратури. Безпека повинна враховувати обидва аспекти.

Безпека ПЗ повинна враховуватися, в першу чергу, з точки зору таких загроз, як смерть, втрата здоров'я, фінансові втрати, невідповідність юридичним нормам і т.д.

Наприклад, в програмі податкової декларації можуть трапитися наступні помилки:

· неправильний підрахунок податку,

· нестача податкових декларацій,

· податкові декларації, що повторюються.

Кожна загроза повинна бути оцінена і класифікована. Для кожної з них повинно бути ухвалене рішення з розглядом найбільш можливих наслідків, а ризик повинен бути мінімізований.

Дерево несправностей

Дерево несправностей - один з інструментів, який використовується в оцінці потенційних помилок. Корінь такого дерева - одна з небезпечних ситуацій. Його вузли - проміжні ситуації, які ведуть до вузла вищого рівня.

Приклад дерева несправностей зображений на малюнку 11.13.1.

Рисунок 11.13.1. Приклад дерева несправностей.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 189; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.238.12.0 (0.005 с.)