Проектування тестів - студопедія

Передбачає складати тести, вивчаючи тільки логіку програми.

Передбачає складати тести лише на основі зовнішніх специфікацій.

Існує два походу до тестування.

Ніколи не можна змінювати програму з метою полегшення її тестування.

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

У міру зростання числа помилок, виявлених в програмі, зростає відносна ймовірність існування в ній невиявлених помилок.

Потрібно детально вивчати результати кожного тесту.

Потрібно готувати тести як для правильних, так і для неправильних вхідних даних.

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

Неможливо тестувати свою власну програму. Тестування повинне бути руйнівним процесом.

Гарний той тест, для якого висока ймовірність виявити помилку, а не той, який демонструє правильну роботу програми.

Тестування програмного забезпечення.

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

2. Одна з найскладніших проблем при тестуванні - вирішити, коли треба закінчити, тобто як вибрати мінімум тестів, що дають максимальну віддачу.

4. Необхідна частина будь-якого тесту - опис очікуваних вихідних даних і результатів, тобто очікувані результати тестування потрібно визначати заздалегідь, до написання програми.

1. Керуючись зовнішніми специфікаціями, потрібно підготувати тест для кожної ситуації, що викликає зовнішні ефекти, для кожного кордону областей допустимих значень вхідних і вихідних даних, для всіх неприпустимих умов. Якщо вхідних параметрів трохи і вони мають мало різних значень, має сенс перебрати всі вхідні комбінації. Якщо вхідні аргументи обмежені деяким діапазоном значень, то перевіряють роботу на кордонах області допустимих значень і в декількох внутрішніх точках. Багато програм мають функціональні межі. (Наприклад, модуль виконує сортування чисел. Функціональні кордону: масив порожній або містить один елемент, масив вже відсортований, все елементи масиву - однакові).

2. Потрібно перевірити текст програми і додати тести з метою охоплення всіх умовних переходів.

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

4. За тестом програми необхідно виявити чутливість до особливих значень вхідних даних і додати тести.