Найти в Дзене
Mr. Tester

Начало и завершение тестирования. Кретерии входа/выхода. Процедура тестирования.

Когда следует начинать тестирование ПО?

Простой ответ - как только это возможно!

А если более детально:

  • Когда тестирование ПО проводится на ранней стадии, вы можете с легкостью повлиять на дизайн, так как его изменение на этой стадии не столь дорогостоящее чем на более поздних стадиях;
  • В свою очередь, чем раньше обнаруживается ошибка, тем дешевле она стоит компании;
  • Также тестирование может начинаться до фактического получения ПО (статическое тестирование), что действительно немаловажно, так как снижает сложность провождения динамической стадии тестирования. Бытует мнение, что многие ошибки, которые найдены в стадии динамического тестирования, могли и должны были зафиксированные в стадии статического тестирования;
  • Тестирование на ранних стадиях (изучение требований, спецификаций, бизнес случаев и т.д.) обеспечит тестировщику больше знаний о ПО, поможет обнаружить логические и технические ошибки, которые бы влияли на ПО, его конечный дизайн и стоимость.

начало тестирования
начало тестирования

Когда следует заканчивать тестирование ПО?

В основном это управленческое решение, которое вероятней всего будет принято на основе:

  • тестового покрытия;
  • анализа рисков;
  • Ухудшения тестирования.

Что такое критерии входа?

Критерии входа - это набор общих и специфичных условий для продолжения процесса с определенной задачей, например, фаза тестирования.

Цель критериев входа - предотвращение начала задачи, которое может потребовать больше (бесполезных) усилий, чем на устранение не пройденных критериев входа.

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

Примеры критериев входа для тестирования ПО:

  • Все дефекты, которые относятся к ранним стадиям (проектирования) закрыты и проверены;
  • Код проверенный с помощью осуществления «Unit» тестов;
  • Основные функциональные возможности ПО готовы для тестирования;
  • Имеется документация, которая определяет требования;
  • Все тестировщики ознакомлены с архитектурой ПО;
  • Все тестировщики ознакомлены с целями проекта;
  • Готова среда тестирования;
  • Доступные для использования билды;
  • Утверждены план тестирования и/или тестовые случаи.

Что такое критерии выхода?

Критерии выхода - это набор общих и специфичных условий, согласованных заранее с заинтересованными сторонами, для того, чтобы процесс мог официально считаться завершенным.

Цель критериев выхода - предотвращение возможности, когда задание считается завершенным, однако еще существуют отдельные незавершенные части задания. Критерии выхода используются для отчетности, а также планирования того, когда остановить тестирование.

Проще говоря, как критерии входа определяют начало тестирования, так и критерии выхода определяют его окончание и ПО готово к следующему этапу жизненного цикла (внедрение и т.д.).

Примеры критериев выхода для тестирования ПО:

  • Все заранее предопределенные области ПО как «рисковые» протестированы и такой статус понижен/удален;
  • Все ошибки тщательно задокументированы и доведены менеджменту/акционерам/заказчикам;
  • Все тесты с высоким приоритетом пройдены и соответственно помечены как «Pass»;
  • Все требования документации SRS (Спецификация требований ПО);
  • STR утверждено собственником проекта;
  • Протестирована архитектура ПО;
  • Ни одна серьезная или критическая ошибки не остаются открытыми;
  • 90-95% всех тестов сделано.
процедура тестирования
процедура тестирования

Процедура тестирования (Test Procedure)

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

Инспекция кода или просмотр кода - это систематическая проверка исходного кода программы с целью обнаружения и исправления ошибок, которые остались незамеченными в начальной фазе разработки. Целью просмотра является улучшение качества программного продукта и совершенствование навыков разработчика.

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

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

Отладка - это процесс поиска, анализа, и устранения причин отказов и ошибок в ПО.

Чтобы понять, где возникла ошибка, приходится:

  • Узнавать текущие значения переменных;
  • Выяснять, по какому пути выполнялась программа.

Существуют две взаимодополняющие технологии отладки:

  • Использование отладчиков - программ, которые включают в себя пользовательский интерфейс для пошагового выполнения программы: оператор за оператором, функция за функцией, с остановками на некоторых строках исходного кода или при достижении определённого условия;
  • Вывод текущего состояния программы с помощью расположенных в критических точках программы операторов вывода - на экран, принтер, громкоговоритель или в файл. Вывод отладочных сведений в файл называется журналированием.

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

Предположим, что номер версии сборки выглядит так: 1.35.6.2

  • Первый идентификатор - основной номер версии.
  • Второй идентификатор - дополнительный номер версии.
  • Третий идентификатор - номер сборки.
  • Четвёртый идентификатор - номер редакции.

Драйвер - это компонент ПО или средство тестирования, которое заменяет компонент, обеспечивающий управление и/или вызов компонента или системы.

Обвязка - это тестовое окружение, включающее в себя заглушки и драйверы, необходимые для проведения теста.