Testing...
Аксиомы тестирования
1. Хорош тот тест, который позволяет обнаружить ошибку, а не тот который демонстрирует правильную работу программы.
2. Тесты, не способствующие обнаружению ошибок и только подтверждающие корректность функционирования программного обеспечения, являются неэффективными, т.к. приводят к бесполезным затратам ресурсов и времени.
3. Одна из самых сложных проблем при тестировании – решить, когда нужно его закончить.
4. Невозможно тестировать свою собственную программу. Тестирование должно быть высшей степени разрушительным процессом, но программист не может относиться к своей программе как разрушитель (психологические причины, жесткий график, давление коллектива и т.д.).
Если программное обеспечение правильно ведет себя для солидного набора тестов, нет оснований утверждать, что в нём нет ошибок.
Goal: Цель проверяющего (тестировщика) - заставить программное обеспечение сбиться.