Як створювати тестову стратегію в 2020 році

Як створювати тестову стратегію в 2020 році

  • 21 вересня, 2020
Вячеслав Сахаров
Вячеслав Сахаров Release Manager у Patrianna, Викладач Комп'ютерної школи Hillel.

Кожен проект з розробки програмного забезпечення та відповідних продуктів по-своєму унікальний і включає в себе: ресурси, фінанси, технології, процеси, методології, інструменти, і т.д. А це має передбачає необхідність створення такої ж унікальною стратегії тестування.

З чого почати стратегію?

Варто визначиться, що тестова стратегія — це набір планів, думок, методик і філософії тестового процесу, а тестовий план — це конкретна інструкція до того, як ми будемо виконувати тестування. У цій статті ми розглянемо ті відомі і популярні методології для створення тестової стратегії, а також перейдемо до практичних порад. І до того, як реалізувати стратегію на практиці, для того щоб ми з вами зрозуміли, на що перетворилася тестова стратегія в 2020 році. За останні роки тестова стратегія кардинально змінилася і сильно відрізняється від тестових стратегій, що використовувалися 3-4 роки тому.

Як визначити стратегію?

В першу чергу, стратегія — це постійний процес, це щоденна рутина і всі аспекти роботи команди тестування. Показник того, як ведемо свої активи.

Тестова стратегія — це набір ідей і думок про те, як сам процес розробки і тестування повинен відбуватися.

Тестувати без стратегії і плану — це як водити машину із зав'язаними очима. Ви начебто їдете, на кшталт тиснете на газ, але незрозуміло - куди і навіщо рухаєтеся.

Як створити тестову стратегію?

Щоб сформулювати підходи, нам необхідно черпати натхнення. І найзручнішим способом для натхнення є ознайомлення з уже готовими методологіями або перегляд існуючих тестових планів, знайти їх можна на просторах інтернету. Кожен раз беручись за якусь роботу, необхідно перевіряти — чи не з'явилися нові ідеї та методології, статті та шаблони на тему, що цікавить. Завжди можна щось взяти за основу і сформувати структуру стратегії.

Надихаємося різними джерелами і створюємо checklist:

  • Збираємо ідеї (для того, щоб дивитися на них під різним кутом і формувати свою думку);
  • Зберігаємо дані (для подальшого використання);
  • Формуємо дані для checkpoint (для створення свого підходу до тестування).

Рекомендуємо курс по темі

Надихаємося різними джерелами і створюємо checklist

Навіщо формувати тестову стратегію?

Головне завдання для тестування стратегії — це мета. Стратегія без мети не є стратегією як такою. І як же нам її сформулювати? Ділимо на дві категорії:

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 ідеями. Дивіться, які з'явилися нові ідеї та методології, плани і шаблони на тему, що цікавить.

І обов'язково адаптуйте підхід під реалії — це відмінна страховка в дуже мінливому світі.