Automation for-non-automation - Автоматизация для...

Post on 21-Jan-2018

28 views 3 download

Transcript of Automation for-non-automation - Автоматизация для...

Автоматизация для не-автоматизаторов:

Хотелки и реальность

Андрей Ладутько

Ноябрь 5, 2016

АНДРЕЙ ЛАДУТЬКО

Минск, Беларусь

Тест-лид, Эксперт ЦКТ

8+ лет опыта

Процессы, аудиты, тест-дизайн, личная эффективность

SQA Days-12-20 – докладчик и куратор

ISTQB Full Advanced Level

ladutko_andrey@tut.by, andrey_ladutko@epam.com

ladutko_andrey

sof_minsk

http://qastugama.blogspot.comp://qastugama.blog

spot.com

3CONFIDENTIAL

О ЧЕМ ПОГОВОРИМ

•Почему я здесь

•Плюсы и минусы автоматизации

•Обходим минусы

•Вывод

•Ваши вопросы

4CONFIDENTIAL

ЗАКАЗЧИКИ ЛЮБЯТ АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ

http://www.istqb.org/documents/ISTQB_Worldwide_Software_Testing_Practices_Report.pdf

5CONFIDENTIAL

АВТОМАТИЗАЦИЯ И ПРОЦЕССЫ ТЕСТИРОВАНИЯ

6CONFIDENTIAL

ПЛЮСЫ АВТОМАТИЗАЦИИ

1. Заказчики любят автоматизацию

2. Автоматизацию легко продавать

3. Автоматизация - тренд

4. CI невозможна без АТ

5. АТ ускоряет релиз

6. АТ минимизирует влияние человеческого фактора

7. Экономит деньги?

7CONFIDENTIAL

… И МИНУСЫ

1. Дорого

2. Находит мало дефектов

3. Много времени на сопровождение

4. Нужны опытные специалисты

5. АТ нестабильны

6. Может потребовать много времени для запуска

8CONFIDENTIAL

1. АВТОМАТИЗАЦИЯ ДОРОГАЯ

9CONFIDENTIAL

ТРЕУГОЛЬНИК КАЧЕСТВА

Time

Costs

Quality

Visibility

Automation

10CONFIDENTIAL

ОЖИДАНИЯ ЗАКАЗЧИКА ОТ АВТОМАТИЗАЦИИ

Деньги(экономия на

ручном

тестировании)

Улучшить

Качество

Время(ускорить релиз)

11CONFIDENTIAL

ЗАКАЗЧИК ХОЧЕТ СЭКОНОМИТЬ

1. Посчитать ROI (чем чаще релизы – тем

эффективнее автоматизация)

2. Подумать о других способах сэкономить

деньги (например, не тестировать области

с малым риском)

3. Обсудить эти пункты с заказчиком перед

началом автоматизации

Деньги(экономия на

ручном

тестировании)

12CONFIDENTIAL

ЗАКАЗЧИК ХОЧЕТ УСКОРИТЬ РЕЛИЗЫ

1. Определите желаемую частоту релизов

2. Внедрите CI

3. Увеличьте объем API и юнит-тестов вместо

UI-тестов

4. Увеличьте скорость запуска тестов

(параллель)

5. Подумайте о стабилизации тестов

(инструмент, фреймворк, взаимодействие

с разработчиками чтобы подготовить UI для

автоматизации)

Время(ускорить релиз)

13CONFIDENTIAL

ПИРАМИДА АВТОМАТИЗАЦИИ

В идеале* Заказчик хочет

14CONFIDENTIAL

КУДА РАСХОДУЕТСЯ БЮДЖЕТ

http://www.istqb.org/documents/ISTQB_Worldwide_Software_Testing_Practices_Report.pdf

15CONFIDENTIAL

• Юнит-тесты всегда красные – процесс не работает

• Юнит тесты всегда зеленые – есть вероятность, что они ничего не

проверяют. Как проверить?

МОДУЛЬНОЕ ТЕСТИРОВАНИЕ. КАК ПРОВЕРИТЬ?

16CONFIDENTIAL

МУТАЦИОННОЕ ТЕСТИРОВАНИЕ

Test suites are measured by the percentage of mutants that they kill.

Execute SAME test

Mutant killed

Execute SAME test

Mutant survived

17CONFIDENTIAL

ЮНИТ VS МУТАЦИОННОЕ ТЕСТИРОВАНИЕ

Industry Target Value:

>85% for mutation testing coverage

Mutation coverage =# 𝑜𝑓 𝑚𝑢𝑡𝑎𝑡𝑖𝑜𝑛𝑠 𝑘𝑖𝑙𝑙𝑒𝑑

# 𝑜𝑓 𝑎𝑙𝑙 𝑚𝑢𝑡𝑎𝑡𝑖𝑜𝑛𝑠

18CONFIDENTIAL

ЗАКАЗЧИК ХОЧЕТ УЛУЧШИТЬ КАЧЕСТВО

1. Тщательно подумайте, может ли

автоматизация улучшить качество

2. Посчитайте метрики, проведите аудит

проекта

3. Разработайте улучшения

Улучшить

Качество

19CONFIDENTIAL

2. АВТОМАТИЗАЦИЯ НАХОДИТ МАЛО ДЕФЕКТОВ

20CONFIDENTIAL

1. Заносите в багтрекер и отмечайте все дефекты, найденные автоматизацией (more visibility)

2. Проанализируйте области, выделите те, в которых автоматизация принесет наибольший эффект

3. Посмотрите перекрытия в тестах по уровням, нет ли избыточности

4. Посчитайте на % невалидных дефектов, переоткрытых дефектов, которые заводит автоматизация,

проанализируйте причины их возникновения

Метрики и измерения в помощь:

• % покрытия АТ (тесты с высоким приоритетом)

• Частота регрессии

• # дефектов на АТ

• Время разработки АТ

СОВЕТЫ

21CONFIDENTIAL

3. АТ ТРЕБУЕТ МНОГО ВРЕМЕНИ НА СОПРОВОЖДЕНИЕ

22CONFIDENTIAL

1. Используйте инструменты для ускорения анализа результатов АТ (Allure, EPAM RP и т.д.):

нестабильные тесты, тесты по открытым дефектам, визуализация результатов запуска АТ

2. Проанализируйте, есть ли необходимость запускать все тесты: какие можно исключить, и/или

запускать реже

3. Разбейте тесты по группам и уровням (приоритеты + модули)

4. Подумайте о низкоуровневой автоматизации (Unit, API)

Метрики и измерения в помощь:

• Сколько времени уходит на анализ автотестов

• % тестов, поддающихся автоматизации

• Стабильность АТ

• % времени необходимого на сопровождение АТ

• # дефектов на 1 запуск автотеста

СОВЕТЫ

23CONFIDENTIAL

goal

ВЫВОД

24CONFIDENTIAL

ladutko_andrey@tut.by, andrey_ladutko@epam.com

ladutko_andrey

sof_minsk

http://qastugama.blogspot.com

СПАСИБО!