1. Подготовительный этап
    1. Определяем и согласуем стратегию тестирования ЮС
      1. Определяем необходимые уровни тестирования ЮС
      2. Учитываем Риски по проекту/продукту
        1. Heuristic Risk-Based Testing
          1. Пример
        2. PRISMA
      3. Учитываем матрицу взаимодействия компонентов
        1. Пример
      4. Определяем какой функционал будем тестировать, а какой нет
      5. Определяем глубину тестирования, % приемлемого тестового покрытия и критерии выхода
      6. Определяем временные рамки
      7. Учитываем ролевую матрицу
      8. Учитываем пользовательские конфигурации
        1. Пример
    2. Выполняем тестирование ЮС
      1. Например: Informal review
  2. Определяем необходимые виды тестирования ЮС
    1. Функциональное
    2. Нефункциональное (ISTQB)
      1. Reliability testing
      2. Usability testing
      3. Efficiency testing
      4. Maintainability testing
      5. Portability testing
      6. Baseline testing
      7. Compliance testing
      8. Documentation testing
      9. Endurance testing
      10. Load testing
      11. Performance testing
      12. Compatibility testing
      13. Security testing
      14. Scalability testing
      15. Volume testing
      16. Stress testing
      17. Recovery testing
      18. Internationalization testing and Localization testing
  3. Учитываем предъявляемые требования к характеристикам качества продукта
  4. Анализируем новый функционал по ЮС
    1. Поле для ввода: Даты
      1. Способ ввода
        1. С клавиатуры
        2. Из буфера
        3. Drag and Drop
      2. Безопасность
        1. Разные типы инъекций
        2. Ролевая модель
          1. Пользователю с одной ролью не должны быть доступны функции другой
        3. Защищенность персональных данных/настроек
      3. Вводимые значение
        1. Различные форматы записи
        2. Не валидные
          1. 29е февраля в не високосный год
          2. 31е число в месяце с 30 днями
          3. Буквы, спецсимволы
      4. Разница между пользовательскими настройками и настройками сервера
        1. Различные часовые пояса
  5. Рассматриваем применение техник тест-дизайна
    1. Black Box Testing Techniques
      1. Equivalence Class Testing
      2. Boundary Value Testing
      3. Combinatorial e.g.
        1. Pairwise Testing
        2. Orthogonal arrays
      4. Decision Table Testing
      5. State-Transition Testing
      6. Domain Analysis Testing
      7. Use Case Testing
      8. Classification trees
      9. Test Trees
      10. Cause Effect graphing
      11. ...
    2. White Box Testing Techniques
      1. Control Flow Testing
      2. Data Flow Testing
    3. Experience-based
      1. Error guessing
      2. Exploratory Testing
  6. Формулируем список возможных багов по Error guessing
  7. Анализ Рисков
    1. Проводим анализ новых рисков, возможных при реализации текущей ЮС
    2. Проводим анализ взаимодействия новых и имеющихся рисков
    3. Доопределяем стратегию работы с ними
  8. Анализ матрицы взаимодействия функциональных модулей
    1. Анализируем как новый функционал влияет/изменяет существующую матрицу взаимодействия
    2. Корректируем ее
  9. Использование автоматизации
    1. Автотесты
      1. Проводим анализ ЮС с точки зрения создания новых автотестов, доработки имеющихся
    2. Подготовка тестовых данных
    3. Конфигурация и развертывание тестовых стендов
    4. Обработка полученных данных
    5. Генерации тест-кейсов
      1. Для Paiswise
      2. Для STT
    6. ...
  10. Регресс
    1. Проводим анализ ЮС с точки зрения создания новых/доработки имеющихся сценариев регрессионного тест-плана
  11. Определяем способ и место фиксации тестов
    1. Скриптовый подход
      1. Тест-кейсы
        1. Приемочные тест-кейсы
      2. Чек-листы
    2. Исследовательское тестирование
      1. Фиксация сессии
  12. Производим командную оценку временных трудозатрат (Покер)
    1. Создание тест-кейсов
    2. Подготовка тестовых данных, настройка окружений
    3. Непосредственно тестирование функционала
    4. Нефункциональное тестирование
    5. Работа с автотестами