Тестирование программного обеспечения - Обзор
Что такое тестирование?
Тестирование - это процесс оценки системы или ее компонента (ов) с целью определения, удовлетворяет ли она указанным требованиям или нет. Проще говоря, тестирование - это выполнение системы для выявления любых пробелов, ошибок или отсутствующих требований, противоречащих реальным требованиям.
Согласно стандарту ANSI / IEEE 1059, тестирование можно определить как - процесс анализа элемента программного обеспечения для обнаружения различий между существующими и необходимыми условиями (то есть дефектов / ошибок / ошибок) и оценки функций элемента программного обеспечения.
Кто занимается тестированием?
Это зависит от процесса и заинтересованных сторон проекта (ов). В ИТ-индустрии в крупных компаниях есть команда, отвечающая за оценку разработанного программного обеспечения в контексте заданных требований. Кроме того, разработчики также проводят тестирование, которое называетсяUnit Testing. В большинстве случаев следующие профессионалы участвуют в тестировании системы в пределах своих возможностей:
- Тестер программного обеспечения
- Разработчик программного обеспечения
- Руководитель проекта / менеджер
- Конечный пользователь
В разных компаниях есть разные обозначения людей, которые тестируют программное обеспечение на основе своего опыта и знаний, таких как тестировщик программного обеспечения, инженер по обеспечению качества программного обеспечения, аналитик QA и т. Д.
Программное обеспечение невозможно протестировать в любое время в течение его цикла. В следующих двух разделах указано, когда следует начинать тестирование и когда его следует завершить во время SDLC.
Когда начинать тестирование?
Раннее начало тестирования снижает затраты и время на доработку и создание безошибочного программного обеспечения, которое доставляется клиенту. Однако в жизненном цикле разработки программного обеспечения (SDLC) тестирование может быть начато с этапа сбора требований и продолжено до развертывания программного обеспечения.
Это также зависит от модели разработки, которая используется. Например, в модели Waterfall формальное тестирование проводится на этапе тестирования; но в инкрементальной модели тестирование выполняется в конце каждого приращения / итерации, а в конце тестируется все приложение.
Тестирование выполняется в разных формах на каждом этапе SDLC -
На этапе сбора требований анализ и проверка требований также рассматриваются как тестирование.
Проверка проекта на этапе проектирования с целью его улучшения также считается тестированием.
Тестирование, выполняемое разработчиком после завершения кода, также относится к категории тестирования.
Когда прекратить тестирование?
Трудно определить, когда прекратить тестирование, поскольку тестирование - это бесконечный процесс, и никто не может утверждать, что программное обеспечение протестировано на 100%. Для остановки процесса тестирования необходимо учитывать следующие аспекты:
Сроки тестирования
Завершение выполнения тестового примера
Завершение функционального и кодового покрытия до определенного момента
Уровень ошибок падает ниже определенного уровня, и ошибок с высоким приоритетом не обнаружено
Управленческое решение
Проверка и валидация
Эти два термина сбивают с толку большинство людей, которые используют их как синонимы. В следующей таблице показаны различия между верификацией и валидацией.
Sr. No. | Проверка | Проверка |
---|---|---|
1 | Проверка решает вопрос: «Правильно ли вы строите?» | Валидация решает вопрос: «Правильно ли вы строите?» |
2 | Обеспечивает соответствие программного обеспечения всем функциональным возможностям. | Гарантирует, что функциональные возможности соответствуют предполагаемому поведению. |
3 | Сначала происходит проверка и включает проверку документации, кода и т. Д. | Валидация происходит после верификации и в основном включает проверку всего продукта. |
4 | Сделано разработчиками. | Сделано тестировщиками. |
5 | Он имеет статические действия, так как включает сбор обзоров, пошаговых руководств и инспекций для проверки программного обеспечения. | Он имеет динамическую деятельность, поскольку включает выполнение программного обеспечения в соответствии с требованиями. |
6 | Это объективный процесс, и для проверки программного обеспечения не требуется никакого субъективного решения. | Это субъективный процесс, включающий субъективные решения о том, насколько хорошо работает программное обеспечение. |