Тестирование программного обеспечения - Обзор

Что такое тестирование?

Тестирование - это процесс оценки системы или ее компонента (ов) с целью определения, удовлетворяет ли она указанным требованиям или нет. Проще говоря, тестирование - это выполнение системы для выявления любых пробелов, ошибок или отсутствующих требований, противоречащих реальным требованиям.

Согласно стандарту ANSI / IEEE 1059, тестирование можно определить как - процесс анализа элемента программного обеспечения для обнаружения различий между существующими и необходимыми условиями (то есть дефектов / ошибок / ошибок) и оценки функций элемента программного обеспечения.

Кто занимается тестированием?

Это зависит от процесса и заинтересованных сторон проекта (ов). В ИТ-индустрии в крупных компаниях есть команда, отвечающая за оценку разработанного программного обеспечения в контексте заданных требований. Кроме того, разработчики также проводят тестирование, которое называетсяUnit Testing. В большинстве случаев следующие профессионалы участвуют в тестировании системы в пределах своих возможностей:

  • Тестер программного обеспечения
  • Разработчик программного обеспечения
  • Руководитель проекта / менеджер
  • Конечный пользователь

В разных компаниях есть разные обозначения людей, которые тестируют программное обеспечение на основе своего опыта и знаний, таких как тестировщик программного обеспечения, инженер по обеспечению качества программного обеспечения, аналитик QA и т. Д.

Программное обеспечение невозможно протестировать в любое время в течение его цикла. В следующих двух разделах указано, когда следует начинать тестирование и когда его следует завершить во время SDLC.

Когда начинать тестирование?

Раннее начало тестирования снижает затраты и время на доработку и создание безошибочного программного обеспечения, которое доставляется клиенту. Однако в жизненном цикле разработки программного обеспечения (SDLC) тестирование может быть начато с этапа сбора требований и продолжено до развертывания программного обеспечения.

Это также зависит от модели разработки, которая используется. Например, в модели Waterfall формальное тестирование проводится на этапе тестирования; но в инкрементальной модели тестирование выполняется в конце каждого приращения / итерации, а в конце тестируется все приложение.

Тестирование выполняется в разных формах на каждом этапе SDLC -

  • На этапе сбора требований анализ и проверка требований также рассматриваются как тестирование.

  • Проверка проекта на этапе проектирования с целью его улучшения также считается тестированием.

  • Тестирование, выполняемое разработчиком после завершения кода, также относится к категории тестирования.

Когда прекратить тестирование?

Трудно определить, когда прекратить тестирование, поскольку тестирование - это бесконечный процесс, и никто не может утверждать, что программное обеспечение протестировано на 100%. Для остановки процесса тестирования необходимо учитывать следующие аспекты:

  • Сроки тестирования

  • Завершение выполнения тестового примера

  • Завершение функционального и кодового покрытия до определенного момента

  • Уровень ошибок падает ниже определенного уровня, и ошибок с высоким приоритетом не обнаружено

  • Управленческое решение

Проверка и валидация

Эти два термина сбивают с толку большинство людей, которые используют их как синонимы. В следующей таблице показаны различия между верификацией и валидацией.

Sr. No. Проверка Проверка
1 Проверка решает вопрос: «Правильно ли вы строите?» Валидация решает вопрос: «Правильно ли вы строите?»
2 Обеспечивает соответствие программного обеспечения всем функциональным возможностям. Гарантирует, что функциональные возможности соответствуют предполагаемому поведению.
3 Сначала происходит проверка и включает проверку документации, кода и т. Д. Валидация происходит после верификации и в основном включает проверку всего продукта.
4 Сделано разработчиками. Сделано тестировщиками.
5 Он имеет статические действия, так как включает сбор обзоров, пошаговых руководств и инспекций для проверки программного обеспечения. Он имеет динамическую деятельность, поскольку включает выполнение программного обеспечения в соответствии с требованиями.
6 Это объективный процесс, и для проверки программного обеспечения не требуется никакого субъективного решения. Это субъективный процесс, включающий субъективные решения о том, насколько хорошо работает программное обеспечение.