Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dmitriy Kovalenko: Minimization of manual QA

611 views

Published on

Published in: Software
  • Be the first to comment

Dmitriy Kovalenko: Minimization of manual QA

  1. 1. или как получить максимальное качество с минимальными усилиями Минимизация мануального тестирования
  2. 2. Вопросы на которые ответит выступление: 1. Как минимизировать ручную работу без потери качества? 2. Как реализовать трудно автоматизируемые сценарии? 3. Чем в итоге заниматься мануальный тестировщик? 4. Какой profit?
  3. 3. Зачем уменьшать количестов ручного тестирования? Для того чтобы: 1. Сократить цикл тестирования релиза 2. Увеличить колличество свободных рук для Progression тестирования 3. Исключить человеческий фактор 4. Избежать “замыливания взгляда” при многократном регрессионном тестировании
  4. 4. Два слона, на которых основано уменьшение ручного тестирования: Подготовка автотестов еще до финального тестирования версии1 2 Практически полное покрытие функциональности автотестами (E2E + Integration automation)
  5. 5. Manual QA sprint Планирование Разработка продукта Progression тестирование Ознакомление с документацией Создание тест плана Сценарии для Integration тестов Cценарии для E2E автоматизации Сценарии для мануальных тестов Релиз кандидат Выполнение progression тестов Заведение баговСоздание отчета Regression тестирование Анализ результатов автотестов Верификация багов QA
  6. 6. E2E automation sprint Планирование Разработка продукта Прогрессивное Тестирование Ознакомление с документацией Проработка и оценка тестовых сценариев Создание логики автотестов Релиз кандидат Добавление GUI селекторов в тест и отладка теста Регрессивное Тестирование Запуск готовых тестов! QA
  7. 7. Что такое Integration тесты? 1. Под интеграционными тестами имеется виду не классические тесты на проверку взаимодействия различных частей системы между собой, а BDD фреймворк (Behavior-Driven Development — Разработка на Основе Поведений) для тестирования JavaScript кода 2. Интеграционное тестирование позволяет выполнять тестовые сценарии, через выполнение команд на языке разработчика. 3. Они являются промежуточным звеном между Unit и E2E тестами. 4. В нашем случае используется JasmineJS фреймворк для интеграционных тестов
  8. 8. Особенности Integration тестов 1. Являются неотрывной частью процесса разработки 2. Разрабатаваются паралельно с основным функционалом 3. В зависимости от функционала и сложности могут писатсья автоматизаторами 4. Заменяют большое количество E2E тестов 5. Покрывают ту функциональность которую нет возможности (рациональности) покрыть E2E тестами
  9. 9. Чем отличаются Integration тесты, от Unit тестов? Integration тесты E2E тесты Тестирование GUI Не используется используется Применение Клиент Клиент + сервер Область тестирования Один фрейм много фреймов + БД Используется Developer/Automation QA Automation QA Скорость Очень быстрая Средняя Модульного тестирования функциональности используется нет Язык Тот же что и основной код (напр. JavaScipt) Любой высокооуровневый (напр. Java/Python) Платформа JasmineJS Selenium
  10. 10. Классический QA Спринт Планирование Создание Тест кейсов Прием билда Running testcases/ bug reporting Bug verification Автоматизация Отчет
  11. 11. Спринт с оптимизированной автоматизацией Создание Tест плана E2E automation (Selenium) Создание manual Тест кейсов Integration automation Запуск автоматизации Bug verification Отчет Прохождение тест-кейсов и анализ автоматизации
  12. 12. Многопоточная разработка и тестирование Цикл 0 Анализ документации и планирование, проработка стратегии и пр. Developer QA automation Manual QA Разработка Создание тест плана Создание логики автотестов Цикл 1 Цикл 2 Создание прогрешен тест кейсов Цикл 3 BugFix Cоздание Integration тестов Отладка и запуск автотестов Выполнение тестов BugFix Верификация багов Цикл n Запуск, анализ автотестов ...
  13. 13. Classic Test sprint Regression cycle Progression cycle Release Automated Test sprint Progression cycle Release Automation cycle 4 - 8 рабочих часов
  14. 14. Задача QA эксперта: - Создание тест плана, которым будут руководствоваться все команды - Проработка тестовых сценариев, которые покроют весь функционал - Разделение тестовых сценариев для E2E и integration тестов - Закрепление написания автотестов за разными командами и включить их в процесс разработки продукта - Создание тест кейсов для мануального тестирования (все, что останется не покрытым) - Создание тесткейсов для приемочного тестирования - Дополнительные средства верификации (Нагрузочное тестирование, кросс-платформенное, безопастность и пр. )
  15. 15. - Создать логику тестов еще до выпуска первого релиз кандидата по usecases - Добавить селекторы в автотесты сразу после релиза - Отладить автотесты - Завести баги найденные при автоматизации - Запустить их во время регрессионного цикла - Модифицировать/поддерживать тесты Задачи E2E Automation QA:
  16. 16. Задачи разработчика: - Написать integration тесты по usecases созданным тест менеджером - Модифицировать/поддерживать тесты - Дать отчет по прохождению integration тестов - Пофиксить баги и выпустить релиз
  17. 17. Задачи manual QA: - Ознакомится с тест планом и спецификацией - Выполнить тест кейсы для прогрессивного тестирования - Завести баги / верифицировать баги - Проанализировать результаты E2E автотестов - Создать отчет версии
  18. 18. Какой Profit в результате? - Значительная экономия времени при финальном регресионном тестировании - Улучшения качества кода - Минимизация рисков - Отсутвие ручного регресивного тестирования при запуске HotFix - Оптимизация рабочего процесса автотестировщиков - Максимальное покрытие проекта автотестами
  19. 19. Спасибо за внимание!

×