Жизненный цикл тестирования ПО (STLC — Software Testing Lifecycle) — это процесс тестирования, который включает в себя определенную последовательность шагов, чтобы гарантировать достижение целей в области качества. В процессе STLC каждое действие выполняется планомерно и систематически.
ISTQB определяет следующие шаги:
1) Анализ требований, общее планирование и уточнение критериев приёмки (Test Planning
2) Тест-дизайн и тест-анализ (Test Analysis and Design);
3) Выполнение тест-кейсов и фиксация дефектов (Test Implementation and Execution);
4) Анализ результатов тестирования и отчётность(Evaluating Exit Criteria and reporting);
5) Завершение цикла испытаний (Test Closure).
Стоит заметить, что при переводе на русский я раскрыл название этапов чуть шире.
Анализ требований, общее планирование и уточнение критериев приёмки
На этом этапе необходимо определиться, что конкретно предстоит тестировать (какой продукт, приложение, из какой предметной области, с каким набором технологий), ожидаемый объём работы, возможные риски. Чтобы оценить перечисленное выше, необходимо провести анализ требований.
Интенсив по тестированию / Тема 3. Этапы тестирования
В ходе анализа требований анализируется спецификация продукта. Результатом этапа является список всех проверяемых требований, технико-экономическое обоснование автоматизации (если применимо).
Также на этом этапе формируется план тестирования , т.е. мы определяем действия и ресурсы, которые помогут достичь целей тестирования (участники и их роли, инструменты, окружение). Во время планирования мы также пытаемся определить метрики, метод сбора и отслеживания этих метрик. План составляют исходя из требований, тестовой стратегии и анализа рисков. Также указываются критерии (признаки и метрики) руководствуясь которыми можно начать, приостановить тестирование (например, количество дефектов к объёму пройденных тестов) и снова его возобновить, а также критерии завершения тестирования.
Источник: dzen.ru
Что такое тестирование программы из каких этапов оно состоит
Очень важно понимать, что QA, это не только непосредственный поиск ошибок в ПО. Это процесс состоящий из множества этапов, которые выполняются практически в течение всего жизненного цикла разработки программного обеспечения: от анализа и тестирования начальных требований, до приемки и тестирования инцидентов с продуктивной среды. В этой статье рассмотрены этапы, процессы и подходы к тестированию. В целом, методы тестирования, это достаточно объемная тема и она будет обязательно разобрана отдельно. А сейчас я выделю только самые основные из этапов процесса QA, которые нужно себе хорошо представлять и не будет лишним вспомнить их перед прохождением собеседования.
Чем веб-приложения отличаются от веб-сайтов | Иван Петриченко
1. Анализ документации: бизнес требований и функциональных спецификаций
На этом этапе мы понимаем, с чем имеем дело. В процессе анализа документации, чтобы разобраться с функциональностью мы задаем вопросы другим членам команды, например аналитику или разработчику. Часто эти вопросу позволяют выявить какие-либо нелогичные моменты в требованиях, противоречия, возможное негативное влияние новых требований на текущий функционал ПО. Все это – потенциальные ошибки, которые мы можем заметить и исключить еще на этапе документации.
2. Оценка и планирование тестирования
- Основываясь на знаниях, полученных на этапе анализа мы оцениваем время тестирования. Оценка также обширная и важная тема, ей посвящен целый раздел данного руководства ( Требования к тестировщику ч.9: оценка времени на тестирование )
- Далее выполняется планирование. Подробно про планирование я расскажу в статье для менеджеров и руководителей групп тестирования. Однако, тестировщику необходимо знать, что на этом этапе формируются (обычно тест менеджером) стратегия и план тестирования, в которых сводиться воедино вся информация о том, какой функционал мы тестируем, на каком окружении, с какими данным, кто участвует в процессе, какие критерии качества используем и т.д. Подробно – в статье про тестовую стратегию. На интервью тестировщику часто задают вопрос, что такое стратегия тестирования, из чего она состоит и для чего нужна. Поэтому рекомендую ознакомиться с материалом, чтобы получить представление.
Если процесс, по которому мы работаем, достаточно сильно формализован и включает множество отчетов, репортов и прочих сопроводительных документов, то на этом этапе мы также готовим все необходимы шаблоны для этих документов
3. Разработка сценариев тестирования
На данном этапе мы описываем сценарии, по которым будем тестировать продукт. Здесь важны две темы: как определить необходимые сценарии и как их описать.
- Для того, чтобы определить какие проверки необходимо выполнить существуют множество техник и способов. В этой статье я не буду их описывать (можно по названию найти подробное описание на WiKi), только перечислю некоторые из них:
- Traceability matrix
- Decision Table
- Boundary value analysis and Equivalence partitioning
- Pairwise Technique
- Use-Case
Для прохождения интервью самое главное ответить на вопросы:
- Как планируете формировать список проверок?
- Как поймете насколько полно этот список проверок охватывает функционал, который необходимо проверить?
Если какими-то техниками раньше не пользовались, интервьюеру сразу будет ясно, что знания только теоретические, а вы можете легко запутаться. В этом случае обязательно разберитесь с методом тестирования граничных значений и классами эквивалентности (Boundary value analysis and Equivalence partitioning) и отталкивайтесь от функций ПО. Следите, чтобы на каждую функцию и состояние продукта был как минимум один тест. Если у функциональности сложная логика работы, то делайте проверку на каждое условие алгоритма. Также обязательно ориентируйтесь на бизнес смысл функционала, на то как ПО в реальности будет использоваться (Use-Case), создавая тест на каждый сценарий.
Естественно тест кейс может содержать и множество других параметров, я привел только самые важные без которых точно не обойтись. Более полное описание составляющих теста приведено тут.
4. Выполнение тестирования ПО
Непосредственно тестирование проводиться в несколько этапов, а внутри каждого этапа – цикл (тестирование -> анализ и исправление ошибки -> ретест), или общая проверка работоспособности (поставкафункциональность работает или не работает). Пока рассмотрим только ручное тестирование, а автоматизацию оставим на для отдельной темы. В качестве основных этапов тестирования ПО, которые выполняет QA команда, можно выделить следующие:
- Smoke testing и Sanity testing – предварительная проверка системы и поставки ПО. На этом этапе наша задача убедиться, что тестовая среда настроена и работает, а полученный билд содержит необходимый функционал или изменения и с ним можно продолжать работать. Т.о. мы делаем самые основные, базовые проверки.
- Functional non-functional testing.
- Integration User Acceptance Testing – этап демонстрации ПО заказчику пользователям, которые в свою очередь также могут (и в идеале должны) проводить свое тестирование продукта – UAT
Более наглядно этапы тестирования ПО представлены на схеме Этапы и участники процесса тестирования . Также там указаны другие команды, которые также участвуют в процессе тестирования, чтобы получилась более полная картина.
5. Подведение итогов и подготовка результатов тестирования
На этом этапе мы делаем следующее:
- Проводим качественный и количественный анализ обнаруженных во время тестирования ошибок и проблем
- Формализуем эти результаты в виде метрик тестирования
- Готовим отчет о результатах тестирования с заключением рекомендуется ли данный билд к поставке в продуктив, какие есть риски, какие меры необходимо предпринять для того, чтобы предотвратить или минимизировать сбои
В качестве результатов и метрик тестирования мы можем использовать такие показатели как (подробнее про метрики тестирования в отдельной статье):
- Количество открытых дефектов по уровню их критичности
Например, у нас могут быть четкие критерии, что с открытыми дефектами уровня Critical мы не выходим в продуктив, а открытый дефект уровня High может быть только один и при этом должна быть дополнительная инструкция как бороться с его последствиями и план по устранению
- Количество открытых дефектов к общему числу дефектов
Так мы показываем какая часть ошибок не исправлена и какое количество таких ошибок, чтобы принять решение о продолжении тестирования или релизе ПО
- Количество дефектов к общему числу тестов
Эта метрика показывает среднюю эффективность одного теста
- Число раз, которое в среднем переоткрывался дефект
Эта метрика показывает сложность иили качество кода. Если показатель высокий, значит также высоки потенциальные риски, особенно если впоследствии в продукт будут вноситься изменения
6. Поддержка во время установки в продуктив
На данном этапе задача тестирования предоставить команде поддержки, которая будет проводить установку в продуктив всю необходимую информацию о тестировании продукта, возможных рисках, сложностях.
7. Поддержка во время сопровождения продукта
- Анализ и воспроизведение ошибок, найденных на продуктивной среде
- Выполнения регрeсcионных проверок после исправления ошибок
Список требований к тестировщику ПО
- Требования к тестировщику ч.1: ожидания и вопросы на собеседовании
- Требования к тестировщику ч.2: процессы и этапы разработки ПО
- Требования к тестировщику ч.3: термины и определения
- Требования к тестировщику ч.4: этапы тестирования ПО
- Требования к тестировщику ч.5: среды тестирования
- Требования к тестировщику ч.6: инструменты тестирования ПО
- Требования к тестировщику ч.7: разработка тестов
- Требования к тестировщику ч.8: дефекты и ошибки ПО
- Требования к тестировщику ч.9: оценка времени на тестирование
- Требования к тестировщику ч.10: мотивация кандидата
- Назад
- Вперед
Источник: doitsmartly.ru
Этапы (активности) тестирования
Продолжаем цикл статей по основам тестирования.
Как мы уже выяснили, тестирование — это процесс. Процесс не может быть чем-то хаотичным. И процесс тестирования не исключение. Он состоит из определенных этапов. По ISTQB они называются активности.
Каждый из них важен и помогает понять, для чего мы выполняем то или иное действие.
Процесс тестирования состоит из следующих этапов (активностей):
- Планирование тестирования
- Мониторинг и контроль тестирования
- Анализ тестирования
- Проектирование тестов
- Реализация тестов
- Выполнение тестов
- Завершение тестирования
Это не строгая последовательность выполнения действий. Активности могут меняться местами во время всего процесса тестирования, идти параллельно или даже исключаться.
Планирование тестирования
Планирование дает ответы на вопросы:
- что нам предстоит тестировать,
- как много будет работы,
- какие есть сложности,
- всё ли необходимое у нас есть и тому подобные.
Как правило, получить ответы на эти вопросы невозможно без анализа требований, так как они являются первичным источником ответов.
На этом же этапе определяется стратегия тестирования и пишется тест-план.
Тестировщику необходимо продумать объемы тестирования, сколько потребуется людей, какие нужны девайсы, какие есть риски и так далее. А для этого надо хорошо знать продукт, чтобы декомпозировать его на составные части и оценить объем проверки каждой.
Мониторинг и контроль тестирования
Мониторинг тестирования предполагает непрерывное сравнение фактического хода работы с планом тестирования, используя любые метрики мониторинга тестирования (которые мы определили в плане тестирования).
Цель мониторинга — сбор информации и обеспечение обратной связи о состоянии тестирования. То есть если что-то у нас идет не так как задумано, мы должны узнать об этом как можно раньше, чтобы минимизировать риски для разработки продукта.
Здесь же мы корректируем первоначальный план, чтобы исправить текущую ситуацию.
Например, в ходе выполнения тестирования мы вдруг поняли, что ошиблись в оценке тестирования и объем работы оказался намного больше ожидаемого. Варианты корректировки: добавляем людей на проект, изменяем количество тестов, сдвигаем сроки. То есть делаем то, что исправит ситуацию.
Этот этап характерен для любой активности в тестировании и даже во время всего жизненного цикла разработки ПО.
Анализ тестирования
На этом этапе мы детально определяем, что мы будем тестировать с точки зрения измеримых критериев покрытия.
Анализ тестирования состоит из нескольких активностей. Одна из них — анализ базиса тестирования. В роли базиса выступают техническое задание (ТЗ), документация по проекту, которая дает примерное представление о продукте. Например, спецификации требований такие как бизнес-требования, функциональные требования, системные требования, пользовательские истории. Это такие документы, которые описывают функциональные и нефункциональные компоненты или поведение системы в целом.
Выявление дефектов в ходе анализа тестирования является важным потенциальным преимуществом. Такие активности по анализу тестирования не только проверяют, являются ли требования согласованными, сформулированными должным образом и полными, но также проверяют, правильно ли требования отражают потребности клиентов, пользователей и других заинтересованных лиц.
Проектирование тестов
Теперь необходимо понять, как будем тестировать. Нашей основной задачей на этом этапе является создание тест-кейсов и чек-листов, которые будут описывать ход проверки.
На этом этапе важно обеспечить максимально полное и эффективное покрытие тестами проект, чтобы он стал качественным в итоге.
Реализация тестов
Если проектирование тестов отвечает на вопрос «как проверить?», то реализация тестов отвечает на вопрос: «теперь есть все для запуска тестов?».
На этом этапе определяется все ли готово к тестированию, например, настроено ли тестовое окружение (все ли устройства, на которых будет проводиться тестирование, есть), поставлены ли нужные браузеры. Здесь тест-кейсы выстраиваются в определенном порядке, чтобы облегчить выполнение тестов.
Выполнение тестов
И только на этапе выполнения тестов, мы с вами приступаем непосредственно к тестированию продукта.
Здесь мы находим ошибки и создаем баг-репорты на каждую из них (советы по их составлению https://vk.com/wall-172009645_243 ). Также проверяем исправление багов, то есть факт того, что программисты исправили проблему и она больше не воспроизводится (подробнее можно почитать тут https://vk.com/wall-172009645_1231).
Завершение тестирования
На этом этапе создаются итоговые отчеты о результате тестирования и передача их всем заинтересованным лицам. Проверяется, что все необходимые отчеты о баг-репортах исправлены, проверены и закрыты. Анализируется полученный опыт, чтобы определить изменения, необходимые для обеспечения более качественного тестирования в будущем. Другими словами, проводится работа над ошибками.
Теперь вы видите, что тестирование — это не поиск ошибок? Это целый слаженный процесс, который направлен на проверку соответствия продукта заявленным требованиям. Если мы будем просто и бездумно искать ошибки, то никогда не выпустим качественный продукт. Да мы даже не сможем понять сколько времени и людей понадобится для этого.
Напомню, что данные этапы (или активности) могут идти в любой последовательности и даже исключаться из процесса.
Источник: sedtest-school.ru