Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yakist_PZ_tema2.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
315 Кб
Скачать
☆

3. Місце тестування в циклі розробки програмного забезпечення

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

Повернемося до визначення некоректної роботи ПЗ:

  1. ПЗ не робить чогось, що, відповідно до специфікації, воно повинне робити.

  2. ПЗ робить щось, що, відповідно до специфікації, воно не повинне робити.

  3. ПЗ робить щось, що не згадується в специфікації.

  4. ПЗ не робить чогось, що не згадується в його специфікації, але повинне.

  5. ПЗ складно зрозуміти, важко використовувати, воно повільне, або - на думку тестерів ПЗ - буде сприйнято кінцевими користувачами, як явно не правильне.

Проілюструємо роботу цих правил на прикладі калькулятора:

Нехай у специфікації калькулятора зазначено, що він має правильно виконувати додавання, віднімання, множення та ділення. Якщо тестер, одержавши калькулятор, натискає кнопку «+», і нічого не відбувається, то це помилка відповідно до правила №1. Якщо надана відповідь буде неправильною, то це теж буде помилка №1.

Специфікація може містити вимогу, що калькулятор ніколи не повинен зависати. Якщо тестер щось увів, і калькулятор перестав реагувати на всі подальші дії, це помилка відповідно до пункту №2.

Припустимо, тестер одержав калькулятор на тестування й виявив, що крім додавання, віднімання, множення й ділення, він також містить квадратний корінь. Ніде в специфікації цього не було -честолюбний програміст просто додав його, оскільки вирішив, що це

буде корисна функція. Це не функція - це скоріш за все помилка відповідно до правила №3.

Правило №4, можливо, звучить дивно з подвійним запереченням, але його завдання - вловити нюанси, які були упущені в специфікації. Тестер почав тестувати калькулятор і виявив, що коли батарея сідає, він перестає рахувати правильно. Ніхто ніколи не замислювався, як повинен поводитися калькулятор у таких випадках. Поганим рішенням була б розробка ПЗ з розрахунком на те, що батарея повинна завжди бути повністю зарядженою. Тестер очікував, що зможе продовжити свою роботу, доти батарея не сяде остаточно, або хоча б доти там не залишиться зовсім трошки заряду. Калькулятор рахує не правильно з батареєю, що розряджається, але ніде не записано, як він повинен поводитися в такій ситуації. Це помилка відповідно до правила №4.

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

№5.

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