Тестирование ПО — это проверка, сходится ли настоящее поведение программы с предстоящим, при помощи специально подобранных испытаний.
В более большом резоне, тестирование программного обеспечения — это метод соблюдения стандартов, включающий планирование испытаний, создание испытаний, выполнение испытаний и анализ итогов.
Основные задачи испытания:
Установление браков — главная цель испытания состоит в выявлении багов и ошибок в коде, которые способны привести к неверной работе программы.
Свидетельство соответствия условиям — тестирование помогает проверить, что продукт удовлетворяет условиям, которые были определены на раунде теста и проектирования.
Повышение качества — высококачественное тестирование помогает улучшить надежность, мощность и безопасность ПО, что в итоге ведет к ублажению надобностей конечных клиентов.
Предупреждение браков — тестирование может также служить предупредительной меркой, давая возможность обнаружить возможные проблемы еще на начальных этапах разработки.
Методы испытания:
Белый ящик — тестировщик знает внешнюю конструкцию программы и может проверять ее, в зависимости от познания кода. Этот метод в большинстве случаев применяется для модульного испытания.
Черный ящик — тестировщик не имеет доступа к отправному коду программы и проверяет систему на основе ее внутреннего поведения, апробируя соответствие многофункциональным условиям.
Сероватый ящик — композиция способов «светлого» и «черного» ящика, когда тестировщик имеет неполное представление о внутренней конструкции программы.
Значимость испытания. Опыт демонстрирует, что чем раньше браки обнаруживаются в ходе разработки, тем выгоднее их изменение.
Упущенные ошибки, в особенности критичные, могут привести к солидным денежным утратам, усилению негативных тенденций репутации компании и, в отдельных случаях, даже к угрозам безопасности клиентов. К примеру, в случае банковских систем или медицинских приложений ошибки могут иметь трагические последствия.
Также, тестирование помогает сохранять доверие клиентов к компьютерному продукту. Когда пользователи могут понадеяться на надежность и любезность работы продукта, это улучшает их лояльность и может существенно улучшить репутацию компании-разработчика.
Современные методологии разработки ПО, такие как Agile и DevOps, делают тестирование обязательной частью процесса на каждом раунде разработки. В Agile тестирование ведется итеративно, одновременно с подготовкой, что дает возможность быстро обнаруживать и подправлять браки.
В DevOps тестирование автоматизируется и встраивается в процессы CI/DVD (постоянная интеграция и доставка), что дает возможность гарантировать большую скорость производства новых модификаций продукта без утраты качества.
Тестирование ПО — это единая часть разработки высококачественного компьютерного продукта. Оно обхватывает обширный диапазон задач — от проверки многофункциональных возможностей до испытания мощности и безопасности.
В условиях быстро меняющегося рынка ПО, где большие ожидания клиентов и высокий уровень конкуренции, тестирование играет главную роль в снабжении удачливости продукта.