Каждый проект по разработке программного обеспечения и соответствующих продуктов по-своему уникален и включает в себя: ресурсы, финансы, технологии, процессы, методологии, инструменты, и т.д. А это подразумевает необходимость создания такой же уникальной стратегии тестирования.
С чего начать стратегию?
Стоит определится, что тестовая стратегия — это набор планов, мыслей, методик и философии тестового процесса, а тестовый план — это конкретная инструкция к тому, как мы будем выполнять тестирование. В этой статье мы рассмотрим те известные и популярные методологии для создания тестовой стратегии, а также перейдем к практическим советам. И тому, как реализовать стратегию на практике, для того чтобы мы с вами поняли, во что превратилась тестовая стратегия в 2020 году. За последние годы тестовая стратегия кардинально изменилась и сильно отличается от тестовых стратегий, использовавшихся 3-4 года назад. Этому уделяют внимание на QA обучении онлайн.
Как определить стратегию?
В первую очередь, стратегия — это постоянный процесс, это ежедневная рутина и все аспекты работы команды тестирования. Показатель того, как ведем свои активы.
Тестовая стратегия — это набор идей и мыслей о том, как сам процесс разработки и тестирования должен происходить.
Тестировать без стратегии и плана — это как водить машину с завязанными глазами. Вы вроде едете, вроде жмете на газ, но непонятно — куда и зачем движетесь.
Как создать тестовую стратегию?
Чтобы сформулировать подходы, нам необходимо черпать вдохновение. И самым удобным способом для вдохновения является ознакомление с уже готовыми методологиями или просмотр существующих тестовых планов, найти их можно на просторах интернета. Каждый раз принимаясь за какую-то работу, необходимо проверять — не появились ли новые идеи и методологии, статьи и шаблоны на интересующую тему. Всегда можно что-то взять за основу и сформировать структуру стратегии.
Вдохновляемся различными источниками и создаем checklist:
- Собираем идеи (для того, чтобы смотреть на них под разным углом и формировать свое мнение);
- Сохраняем данные (для дальнейшего использования);
- Формируем данные для checkpoint (для создания своего подхода к тестированию).
Рекомендуем курс по теме
Зачем формировать тестовую стратегию?
Главная задача для тестирования стратегии — это цель. Стратегия без цели не является стратегией как таковой. И как же нам её сформулировать? Делим на две категории:
1. Бизнес-цели
Это цели бизнеса по достижению тех или иных результатов на рынке (повышение доли рынка, борьба с конкурентами, продвижение бренда и т.д.).
2. Внутренние нужды
Опишу на примере автоматизации. Если необходима автоматизация, то есть была поставлена цель или выбрано, что какая-то часть проекта будет автоматизирована. To что будет автоматизировано? На каком языке? Где? Как? Документ, который это будет описывать? Подход будет сформирован, а автоматизатор не будет автоматизировать в хаотичном порядке данный продукт. Он подходит к автоматизации с конкретной целью, чтобы помочь, например, минимизировать мануальное тестирование или уменьшить время на регрессию, то есть, то, что хорошо автоматизируется и дает хороший результат.
И когда мы определяем, для чего нужна автоматизация — это и есть тот момент, когда определяем конкретную цель. Это одна из сторон формирования тестовой стратегии.
Цели могут быть такими:
● Обеспечить покрытие до приемлемого уровня (вы не можете предоставить 100% покрытие, но вы должны сделать все возможное и гарантировать, что очевидные ошибки исправлены);
● Убедиться, что продукт отвечает оригинальным требованиям и спецификации;
● Обеспечить уверенность в надёжности ПО (пользователям, заказчикам и т.д.).
Вы хотите достигнуть более высоких оценок вашего пользователя. В результате от того, что вы будете достигать и будет формироваться ваша стратегия.
Goal-Analysis-Plan
Хорошо, с целью определились, что дальше? Проанализировать — насколько цель реальна.
Оптимально организовать цель по принципу SMART:
● S - Specific (Конкретность) - Описываем нашу цель в терминах конкретного результата;
● M - Measurable (Измеримость) - Измеряем с помощью конкретных индикаторов и стандартов процедур;
● A - Attainable (Достижимость) - Цель должна быть реалистичной, достижимой в принципе;
● R - Relevant (Уместность) - Следующий этап — обосновать, доказать, что цель необходима;
● T - Time-bound (Ограниченность во времени) - Цель должна быть четко определена во времени (конкретные сроки и конкретные точки).
Если наша цель измерима, то измерение цели — это фиксация данного результата, что и является частью нашего тестового плана.
На этом этапе появляется понимание задания и точки отсчета, в которой мы находимся в данный момент, то есть наше текущее состояние.
В 2020 году мы должны адаптировать стратегию под реалии. Новые реалии изменяют стратегию и этапы тестирования, но не изменяют поставленную цель.
Какие подходы стоит применять?
Все изложенные ниже подходы и активности в большей или меньшей мере используются и выполняются тестировщиками на практике. Методы будут полезен для представителей всех технических направлений, особенно для QA Lead и тех, кто пока лишь задумывается о том, как построить процесс тестирования в компании.
● Подход, основанный на теории ограничений
Теория ограничений заключается во влиянии ограничений внутри процесса, необходимых для удержания качества продукта или тестирования на стабильно высоком уровне в целях повышения положительного результата. Подход настаивает на фокусировании внимания на самых жестких ограничителях и построении критической цепи. Плюсом такого метода является достижение быстрых результатов, на которые мы можем повлиять.
● Японский подход
Японский подход настаивает на подробной декомпозиции задач, разбиении их на более мелкие. Такой подход выступает за постепенное улучшение всех процессов, улучшая все аспекты одномерно и небольшими порциями.
● Принцип Парето
Принцип Парето основан на эмпирическом правиле «20% усилий дают 80% результата, а остальные 80% усилий –— лишь 20% результата». Когда беремся за все аспекты одновременно, то за наибольшее количество действий в каждом из направлений мы получим высокий результат от процесса.
● Методология «TPI Next model»
Такая методология основана на зрелости. Эта модель объясняет, как поэтапно или в каких процессных областях необходимо достигать определенных результатов для формирования качественного тестового процесса. Методология сконцентрирована на необходимых действиях, чтобы улучшить тестовый процесс.
● Метод швейцарского сыра
Если вы не можете представить и увидеть какой-то процесс и как в целом выглядит задача — берёте малоизвестный, но проверенный опытом, метод швейцарского сыра. Сначала видим в сыре дырки и начинаем их прогрызать. Делать дырки можно в произвольном порядке, начиная с тех мест, что уже можем выполнить и знаем, как это их выполнить. Помогает метод не только при построении стратегии, но и при решении больших задач. Чем сильнее «изъедена» задача, тем меньше времени уйдет на ее решение.
Тестовая стратегия помогает только в том случае, если мы имеем конкретную цель. В качестве цели можно выбрать улучшение качества, достижение высокого покрытия, ускорение процесса тестирования, уменьшение количества багов. По каждому из этих пунктов главной целью является хороший результат. Поэтому затраты сил на разработку и внедрение стратегии того стоят.
Постоянно вдохновляйтесь новыми статьями, шаблонами, подходами и формируйте свое мнение для тестового плана. При этом каждую активность проверяйте, анализируйте и аргументируйте.
Наполняйте свой checklist идеями. Смотрите, какие появились новые идеи и методологии, планы и шаблоны на интересующую тему.
И обязательно адаптируйте подход под реалии — это отличная страховка в очень переменчивом мире.