Навіщо потрібна стратегія тестування і що має в ній міститися

Стратегія тестування - відносно невеликий статичний документ, який передує плану тестування. Перш ніж писати об'ємний і детальний план, варто формалізувати деякі базові підходи до тестування і переконатися, що всі зацікавлені особи розуміють однаково, що і як буде тестуватися.

Отже, що варто описати в стратегії тестування?
  • Які види тестування будуть проводитися? Чи планується тестування продуктивності, юзабіліті, конфигурационное і т.д. Чи плануються статичні види тестування, наприклад, рецензування (peer review) вимог тестувальниками? Чи збираєтеся ви виділити час на дослідне тестування, і якщо так, то скільки в процентному відношенні?
  • Корисно перерахувати всі види тестових активностей, які згодом увійдуть в ваш план-графік. Наприклад, дизайн тестів, підготовку тестового середовища і так далі. Навіщо? Щоб ні про що не забути при складанні плану.
  • Що буде служити основою тестів (test basis)? З чого ви збираєтеся виводити тест-кейси? Це можуть бути вимоги, сценарії використання, якісь зовнішні стандарти.
  • Які техніки ви збираєтеся використовувати для створення тест-кейсів?
  • Наскільки детальними повинні бути тест-кейси? Занадто детальні тест-кейси складно підтримувати в актуальному стані, а недостатньо детальні можуть викликати труднощі з відтворенням дефектів. Тут необхідний якийсь баланс, і бажано, щоб тест-кейси були досить однорідними. Описати на словах, наскільки докладними повинні бути тест-кейси, мабуть, важко, проте можна навести кілька прикладів з потрібним рівнем деталізації, на які зможуть орієнтуватися тест-дизайнери при розробці тест-кейсів.
  • У стратегії тестування незайвим буде згадати і про критерії оцінки серйозності і пріоритету дефектів. Оцінка серйозності дефекту часто викликає суперечки, якщо такі критерії відсутні. Краще формалізувати, як ми будемо оцінювати важливість дефекту і пріоритет його виправлення, і місце таких критеріїв - саме в стратегії тестування.
  • Як специфіка об'єкта тестування вплине на процес тестування? Можливо, немає UI, стало бути, необхідні тестові драйвери, розробку яких потрібно окремо запланувати, або ж необхідна якась особлива тестова середу.
  • Які критерії початку і завершення тестування? Критерії початку тестування зазвичай включають готовність необхідного оточення і успішне проходження попереднього рівня тестування (наприклад, успішна прогін Смоук-тестів є умовою початку системного тестування). Критерії завершення тестування залежать від обраних вами метрик, це може бути відсоток виконаних тестів, кількість невиправлених дефектів різного ступеня серйозності або якісь інші показники. У будь-якому випадку, з цим варто визначитися.
  • Які види документації ви плануєте створювати? Тут важливо розуміти, служать ці документи вашим інструментом для внутрішніх потреб або ж ви розглядаєте їх як продукт, який входить в поставку.
Продумана стратегія тестування - відмінна основа для розробки іншої необхідної документації та планування подальшої роботи. Розробка та узгодження із зацікавленими особами (менеджерами, замовником, програмістами) такого невеликого документа на ранніх етапах проекту може допомогти вам уникнути непорозумінь в подальшому.