Для забезпечення ефективного тестування слід дотрумуватися основних принципів тестування. Є сім загальних принципів тестування.
Принципи тестування:
- Раннє тестування
- Тестування показує наявність дефектів
- Вичерпне тестування неможливе
- Кластеризація дефектів
- Парадокс пестицидів
- Тестування залежить від контексту
- Відсутність помилок є хибою
Раннє тестування
Тестування має починатися якомога раніше в життєвому циклі розробки програмного забезпечення. Таким чином, будь-які дефекти на етапі вимог або проєктування виявляються на ранніх стадіях. Набагато дешевше виправити дефект на ранніх етапах тестування. Рекомендується починати пошук помилок в момент визначення вимог.
Тестування показує наявність дефектів
Тестування програмного забезпечення зменшує ймовірність того, що в програмному забезпеченні залишаться невиявлені дефекти, але навіть якщо дефектів не буде виявлено, це не є доказом відсутності дефектів.
Вичерпне тестування неможливе
Вичерпне тестування неможливе. Неможливо з точки зору часу і фінансових можливостей протестувати всі можливі комбінації вхідних даних, сценарії тощо. Тому потрібно визначити оптимальний обсяг тестування на основі оцінки ризику програми.
Кластеризація дефектів
Кластеризація дефектів стверджує, що невелика кількість модулів містить більшість виявлених дефектів. Це застосування принципу Парето до тестування програмного забезпечення: приблизно 80% проблем виявляються в 20% модулів.
Парадокс пестицидів
Повторне використання тієї самої суміші пестицидів для знищення комах під час ведення сільського господарства з часом призведе до того, що комахи вироблять стійкість до пестициду, отже, пестициди стануть неефективними. Те саме стосується тестування програмного забезпечення. Якщо проводити один і той же набір повторюваних тестів, метод з часом стане нефективним для виявлення нових дефектів.
Щоб подолати це, тестові випадки потрібно регулярно переглядати, додаючи нові та оновлюючі існуючі тестові випадки, щоб допомогти знайти більше дефектів.
Тестувальники не можуть просто покладатися на існуючі методи тестування. Потрібно постійно вдосконалювати існуючі методи, щоб зробити тестування ефективнішим.
Тестування залежить від контексту
Тестування залежить від контексту, що в основному означає, що спосіб тестування сайту електронної комерції відрізнятиметься від способу тестування програми з ведення фінансового та податкового обліку. Усе розроблене програмне забезпечення не є ідентичним. Ви можете використовувати різні підходи, методології, техніки та типи тестування залежно від типу програми.
Відсутність помилки є хибою
Цілком можливо, що програмне забезпечення, яке на 99% вільне від помилок, все ще непридатне для використання. Це може статися, якщо система ретельно перевіряється на відповідність неправильним вимогам. Тестування програмного забезпечення — це не просто виявлення дефектів, а й перевірка відповідності програмного забезпечення потребам бізнесу. Відсутність помилки є хибою, тобто пошук і виправлення дефектів не допомагає, якщо збірка системи непридатна для використання та не відповідає потребам і вимогам користувача.