Тестирование программного обеспечения – это творческое и интеллектуальное занятие. Не так уж просто создать правильные и эффективные тесты. Ниже приведены принципы тестирования, которые были разработаны за последние 40 лет, и они являются общими рекомендациями для тестирования программного обеспечения.
Тестирование помогает выявить дефекты
Тесты показывают наличие программных дефектов, но они не могут доказать их отсутствие. Однако, очень важно писать тест-кейсы, которые помогут найти как можно больше багов. Таким образом, с соответствующим тестовым покрытием, проверки позволяют сократить возможность существования программных дефектов. В то же время, даже если дефекты не были найдены во время процесса тестирования, вы не можете быть уверены, что их нет в программном продукте.
Исчерпывающее тестирование невозможно
Невозможно выполнить исчерпывающее тестирование, которое покроет все комбинации входных параметров пользователя и состояния системы программного обеспечения, за исключением самых простых случаев.
Раннее тестирование
Процесс тестирования должен начаться как можно раньше и должен достичь определенных целей.
Накопление дефектов
Разные системные модули могут содержать разное количество дефектов – а именно, плотность дефектов в разных элементах системы может быть разной. Тестирование должно быть распределено пропорционально фактической плотности дефектов.
Парадокс пестицида
Проводя те же самые тесты снова и снова, вы увидите, что они находят все меньше и меньше новых дефектов. Так как система развивается, много предыдущих дефектов исправляются и старые тест-кейсы больше не работают. Кстати, услуги консультирования созданы для предоставления заказчикам советов по тестированию, тестовой стратегии, оценки компетенции тестов на протяжении всего жизненного цикла разработки.
Тестирование зависит от контекста
Выбор методологии, техники и вида тестирования напрямую зависит от природы самой системы. К примеру, медицинское программное обеспечение требует более тщательной проверки, чем компьютерная игра.
Заблуждение об отсутствии ошибок
Тот факт, что тестирование программного обеспечения не выявило дефектов, не означает, что программа готова к выходу. Нахождение и починка багов будет бесполезной процедурой, если система неудобна для пользователя.
Есть еще некоторые важные принципы:
- тестирование должно выполняться специалистами независимых компаний по тестированию программного обеспечения;
- вовлекайте лучших профессионалов в тестирование;
- тестируйте не только позитивные сценарии, но и негативные;
- не допускайте изменений в программе во время тестирования.
Комментарии отключены.