Тестирование — это процесс оценки системы или ее компонентов с целью выяснить, удовлетворяет ли она указанным требованиям или нет. Проще говоря, тестирование — это выполнение системы с целью выявления пробелов, ошибок или отсутствующих требований, противоречащих фактическим требованиям.
В соответствии со стандартом ANSI / IEEE 1059 тестирование можно определить как — процесс анализа элемента программного обеспечения для выявления различий между существующими и требуемыми условиями (то есть дефектами / ошибками / ошибками) и для оценки характеристик элемента программного обеспечения.
Кто проводит тестирование?
Это зависит от процесса и связанных заинтересованных сторон проекта (ов). В ИТ-отрасли у крупных компаний есть команда, отвечающая за оценку разработанного программного обеспечения в контексте заданных требований. Более того, разработчики также проводят тестирование, которое называется Unit Testing . В большинстве случаев следующие специалисты участвуют в тестировании системы в рамках своих соответствующих возможностей —
- Тестер программного обеспечения
- Разработчик программного обеспечения
- Руководитель проекта / менеджер
- Конечный пользователь
Различные компании имеют разные обозначения для людей, которые тестируют программное обеспечение на основе своего опыта и знаний, таких как Software Tester, Software Quality Assurance Engineer, QA Analyst и т. Д.
Невозможно протестировать программное обеспечение в любое время в течение его цикла. В следующих двух разделах указано, когда следует начинать тестирование и когда его завершать во время SDLC.
Когда начинать тестирование?
Своевременное начало тестирования снижает затраты и время на доработку и создание безошибочного программного обеспечения, которое доставляется клиенту. Однако в жизненном цикле разработки программного обеспечения (SDLC) тестирование можно начинать с этапа сбора требований и продолжать до развертывания программного обеспечения.
Это также зависит от используемой модели развития. Например, в модели «Водопад» формальное тестирование проводится на этапе тестирования; но в инкрементальной модели тестирование выполняется в конце каждого приращения / итерации, и все приложение тестируется в конце.
Тестирование проводится в разных формах на каждом этапе SDLC —
-
На этапе сбора требований анализ и проверка требований также рассматриваются как тестирование.
-
Проверка проекта на этапе проектирования с целью улучшения дизайна также рассматривается как тестирование.
-
Тестирование, выполняемое разработчиком по завершении кода, также относится к категории тестирования.
На этапе сбора требований анализ и проверка требований также рассматриваются как тестирование.
Проверка проекта на этапе проектирования с целью улучшения дизайна также рассматривается как тестирование.
Тестирование, выполняемое разработчиком по завершении кода, также относится к категории тестирования.
Когда прекратить тестирование?
Трудно определить, когда прекратить тестирование, поскольку тестирование является бесконечным процессом, и никто не может утверждать, что программное обеспечение протестировано на 100%. Следующие аспекты должны быть рассмотрены для остановки процесса тестирования —
-
Сроки тестирования
-
Завершение выполнения тестового примера
-
Завершение функционала и покрытие кода до определенной точки
-
Уровень ошибок падает ниже определенного уровня, и высокоприоритетных ошибок не обнаружено
-
Управленческое решение
Сроки тестирования
Завершение выполнения тестового примера
Завершение функционала и покрытие кода до определенной точки
Уровень ошибок падает ниже определенного уровня, и высокоприоритетных ошибок не обнаружено
Управленческое решение
Проверка и валидация
Эти два термина очень запутаны для большинства людей, которые используют их взаимозаменяемо. В следующей таблице указаны различия между проверкой и проверкой.