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

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

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

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

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

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

Различные компании имеют разные обозначения для людей, которые тестируют программное обеспечение на основе их опыта и знаний, таких как Software Tester, Software Quality Assurance Engineer, QA Analyst и т. д.

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

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

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

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

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

  • На этапе сбора требований анализ и проверка требований также рассматриваются как тестирование.
  • Рассмотрение дизайна на этапе проектирования с целью улучшения дизайна также рассматривается как тестирование.
  • Тестирование, выполняемое разработчиком по завершении кода, также классифицируется как тестирование.

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

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

  • Сроки тестирования
  • Завершение выполнения тестового примера
  • Завершение функционального и кодового покрытия до определенной точки
  • Уровень ошибок падает ниже определенного уровня, и выявлены ошибки с высоким приоритетом
  • Решение руководства

Проверка и проверка

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

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