Уровень 7                         Этапы тестирования

Этапы тестирования

Перед тем, как начать планировать процесс тестирования, нужно разбить весь процесс на этапы:

 

  • Этапами процесса тестирования ПО являются группы работ, определяющие  основное направление активностей для достижения заданного и определённого для всего этапа результата

 

  • Выделение основных активностей и группировка их в этапы работ позволяет проводить планирование всех активностей и оценку трудозатрат на определённый этап работ по тестированию ПО

Из каких этапов состоит процесс тестирования:

Это важно знать каждому тестировщику!

 Тестирование состоит из таких этапов:

 

  • Планирование тестирования                                                                                                            

  • Проектирование тестов                                                                                                              

  • Реализация/запись тестовых процедур                                                                                                   

  • Выполнение тестов

  • Отладка тестов                                                                                                                                         

  • Анализ полученных результатов

  • Документация полученных результатов

 

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

 

И вот, настало время решающего этапа в битве со злом. Мы готовимся взорвать Звезду Смерти! Для того, чтобы поразить врага, нам нужно составить грамотный план, выстроить тактику и последовательность действий в четком порядке.

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

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

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

"Зачем вообще нужен план тестирования? - спросите вы. - Ведь у меня есть тест кейсы, техническое задание, в конце то концов, я и так знаю что делать, могу на пальцах все рассказать!"

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

Например, если вам предстоит протестировать только форму отправки данных как в 4 уровне, тест план вам для этого не нужен - вы потратите на него времени больше, чем на само тестирование.

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

 

 

Важные факты о плане тестирования:

 

  • План тестирования содержит: объём работ, сроки выполнения работ, пути решения задач по выполнению работ, ресурсы, календарный план выполнения работ

 

  • Это основной артефакт, согласующий планы групп разработки и тестирования

 

  • Необходимый артефакт для выполнения работ по планированию проекта разработки и сдачи ПО

 
Основные разделы плана тестирования
  • Название, Проект    

 

  • Журнал изменений

   

  • Введение

    • Идентификация проекта

    • Область применения 

    • Исходные данные      

    • Назначение    

 

  • Тестовые требования                          

    • Стратегия тестирования (далее)

    • Ресурсы             

    • Расписание  

 

  • Материалы, подлежащие сдаче

                             

 

Пока ты все еще учишься, C3PO дошел до 23 уровня, стал тестировщиком и теперь кайфует

Стратегия тестирования

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

  • Работа с входящей технической документацией (как ТЗ)

  • Генерация тестовой документации

  • Выбор типов тестирования, создание тестового скрипта:

    • Инсталляционное тестирование                                                                                  

    • Конфигурационное тестирование             

    • Тестирование безопасности и управления доступом  

    • Нагрузочное тестирование       

    • Тестирование данных и целостности базы данных  

    • Тестирование пользовательского интерфейса     

    • Тестирование бизнес-циклов       

    • Функциональное тестирование

    • Инструментальные средства тестирования

 
Ресурсы

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

Ресурсы в тестировании бывают: человеческие - это те роли, которые вам понадобятся для работы над проектом и технические - вся техника, необходимая для тестирования.

  • Роли

    • Конструктор

    • Проектировщик           

    • Администратор базы данных                   

    • Администратор тестируемой системы     

    • Тестировщик                    

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

    • Менеджер по тестированию

 

  • Техническая система

    • Тестовая БД     

    • Тестовый сервер  

    • Тестовые окружения   

    • Тестовый репозиторий

Расписание тестирования
  • Определение объемов тестирования    

  • Определение порядка проведения тестирования                                                               

  • Определение порядка измерения результатов тестирования                                            

  • Календарный план

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

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

 

В дополнение к основному подходу в оценке, основанному на исторических знаниях, члены команды в Agile часто применяют относительные модели оценки, при которых команды развивают повествования (истории), определяющие потребности пользователей. Эти истории анализируются командами и каждой истории сопоставляются числовые значения (Story Points). Story Points (SP) могут быть выражены в абстрактных единицах измерения, например, в виде числовых значений, или в форме идеальных дней разработчика (Ideal Developer Days, IDDs).

В тестировании, как и во всех бизнес-процессах, время, затраченное на проект, будет равно объему проекта (количество story points) деленное на количество тестировщиков, участвующих в проекте. 

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

 
Материалы, подлежащие сдаче
  • Модель тестирования        

               

  • Протоколы тестирования                                                                                                                  

  • Отчеты об обнаруженных дефектах системы

Я думаю, тут все понятно и так. Сдается в начале работы тест план, а уже в процессе самого тестирования - баг репорты. Под протоколами имеются ввиду тест кейсы  и чек-листы с отметками прохождения.

Мы приближаемся к цели
 
 
Проектирование тестирования

Проектирование состоит из четырех основных этапов. Когда вы пройдете их - основная часть тест-плана будет готова.

 

  1. Определить и описать тестовые сценарии    

На первом этапе вы продумываете и намечаете какие тест-кейсы вам нужно написать. Затем, по этой структуре, будете писать чек-листы или тест-кейсы в зависимости от требований к детализации документов.

  

   2. Подготовить анализ ожидаемой рабочей нагрузки (для нагрузочного тестирования)

В этом случае, согласовывается с руководством ожидаемая нагрузка проекта:

количество пользователей, количество шагов в user story для среднего пользователя. Время сессии, пиковая нагрузка и прочее... 

 

   3. Определить и структурировать тестовые процедуры              

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

                            

   4. Просмотреть и оценить тестовое покрытие

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

Шаблоны тест планов

Моя дать тебе шаблоны, ознакомься. Это интересно.

По версии Rational Unified Process 

По версии IEEE (ANSI/IEEE Standard 829-1983)

По мой личной версии  WIX.com (english)

Реализация тестирования
  • Записать или запрограммировать тестовые скрипты              

                                

  • Определить специальную тестовую функциональность в дизайн-модели и модели реализации

Иногда в компаниях существует тестовая функциональность, которая упрощает рутинные операции. Например, скрипт, который добавит n страниц на сайт, чтобы не делать это вручную.

 

  •  Установить внешние наборы данных для тестирования

Собрать необходимый набор данных для тестирования, если требуется. Например, данные карт для проведения тестовых платежей.

Моя миссия - помогать. Буду давать тебе комментарии по каждому пункту тест-плана

Выполнение тестирования
  • Выполнить тестовые процедуры          

 

  • Оценить выполнение тестирования (завершено, не завершено)

 

  • Исправить «провалившиеся» тесты   

                                   

  • Исправить, если нужно, тестовые процедуры  

 

  • Проверить результаты  

 

  • Проанализировать неожиданные результаты

 

  • Запротоколировать дефекты

Оценка тестирования
  • Оценить покрытие функциональности тестовыми сценариями

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

 

  • Оценить покрытие кода тестовыми сценариями

Оценивается % кода, который покрыт тестами.

 

  • Проанализировать дефекты

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

 

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

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

Практические cоветы:
  • Тестовый скрипт должен работать в каждом тестовом прогоне или должен быть полностью исключен из тестового набора      

 

  • Тестовые скрипты должны воспроизводиться с момента разработки

 

  • Покрывайте автоматизированными скриптами обнаруженные ошибки критичного приоритета

 

  • Зафиксируйте основные положения работы с автоматизированным тестированием в Плане Качества продукта

 

  • Установите в метрике автоматизированного покрытия приоритет «запрета выпуска версии»

  • Не старайтесь создать тест-план в точности таким же, как было предложено. Каждый проект уникален

 

  • Попробуйте применить концепцию «живых документов»                                                              

    • Используйте здравый смысл…                                                                                                        

    • и здравый смысл!                                                                                                                

    • и задавайте правильные вопросы :)

 

Полезные статьи для прочтения:

Метрики тестирования

Чувствую, что материал усвоил ты. Задумайся над этими вопросами, мой ученик. Ты найдешь ответ в понимании того уровня.  

Этот уровень очень важный на пути тестировщика. Чубака говорит, что этот и следующий уровень были самыми сложными в его жизни!

Еще бы, тебе ведь придется исследовать Звезду Смерти в конце следующего уровня. Сделай решающий шаг в этом курсе - пройди тест и сделай задание. Тогда ты наверняка станешь уже наполовину тестировщиком.

Уровень 8

R2D2,  не приставай к юному тестировщику со своими тестами!

Пускай на практике себя попробует.

Для перехода на уровень 8, необходимо набрать минимум 12 баллов (60%)  за задания уровня 7.