10 принципов автоматизации, которые я не предам

31
10 принципов автоматизации, которые я не предам Александра Волкова Itera, Киев

Transcript of 10 принципов автоматизации, которые я не предам

Page 1: 10 принципов автоматизации, которые я не предам

10 принципов автоматизации, которые я не предам

Александра ВолковаItera, Киев

Page 2: 10 принципов автоматизации, которые я не предам

2

Александра Волкова

[email protected]

Области экспертизы: Автоматизация тестирования Тестирование SOA систем Test Management Project Management

Page 3: 10 принципов автоматизации, которые я не предам

О нашей команде

Да, у нас действительно классная команда!

>10 автоматизаторов

2 архитектора

>10 проектов по автоматизации

Page 4: 10 принципов автоматизации, которые я не предам

Истории разных проектов

Страховая компанияBankTelecom Provider

Как долго живет решение для автоматизации?

Page 5: 10 принципов автоматизации, которые я не предам

Истории разных проектов

Page 6: 10 принципов автоматизации, которые я не предам

К сожалению...

TA Solution

Page 7: 10 принципов автоматизации, которые я не предам

Общие причины

Сложные нестабильные сценарии

Сложность решения

Заказчик не понимает НА САМОМ ДЕЛЕ необходимость поддержки

Авто-тесты тестируют не то, что нужно

Page 8: 10 принципов автоматизации, которые я не предам

Что мы можем сделать?

Page 9: 10 принципов автоматизации, которые я не предам

Принцип №1:Короткие тестовые сценарии

Краткость – сестра таланта

Page 10: 10 принципов автоматизации, которые я не предам

Принцип №1:Короткие тестовые сценарии

Отдельные компоненты системы Интеграция между компонентами Огромные бизнес сценарии со множеством зависимостей Привлекать автоматизаторов к ревью ТС

А как же full flow?Тесты могут связываться в цепочки, запускаясь последовательно

Page 11: 10 принципов автоматизации, которые я не предам

Принцип №2:Независимость

Page 12: 10 принципов автоматизации, которые я не предам

Принцип №2:Независимость

• Проверить конфигурацию системы

• Изменить

Конфигурация системы

• Создать данные• Искать подходящие данные в

системе

Данные в системе

Preconditions

Page 13: 10 принципов автоматизации, которые я не предам

Принцип №3:Server-side vs UI

Page 14: 10 принципов автоматизации, которые я не предам

Принцип №3:Server-side vs UI

Знать инфраструктуру системы Используем:

DBHTTP запросыWeb servicesAPIsEtc

Ввод данных – backend, проверка – UI Либо ввод данных – UI, проверка - backend

Page 15: 10 принципов автоматизации, которые я не предам

Принцип №4:Разделение тестовых данных и логики теста

Page 16: 10 принципов автоматизации, которые я не предам

Принцип №5:Поддержка

Page 17: 10 принципов автоматизации, которые я не предам

Принцип №5:Поддержка

Кто? Когда? Как? Честность с заказчиком Поддержка – часть контракта Review каждые 3-6 месяцев

Пример оценки затрат на поддержкуType of Change Minor Medium Major

Change in TC 1-2h 4-6h 8-12h

UI change 0,5h 2-4h 10-16h

DB change 2h 4-8h >20h

Page 18: 10 принципов автоматизации, которые я не предам

Принцип №6:Автоматизация с человеческим лицом

Page 19: 10 принципов автоматизации, которые я не предам

Принцип №6:Автоматизация с человеческим лицом

Автоматизация должна быть удобной

Удобный формат хранения данных

Behavior-driven testing

Page 20: 10 принципов автоматизации, которые я не предам

Test Drive

Page 21: 10 принципов автоматизации, которые я не предам

Принцип №7:Keep It Simple

Page 22: 10 принципов автоматизации, которые я не предам

Принцип №8:Документация

Page 23: 10 принципов автоматизации, которые я не предам

Принцип №8:Документация

Инструкция для пользователя

Техническая документация

Page 24: 10 принципов автоматизации, которые я не предам

Принцип №9:QA и автоматизатор

в одном лице

Page 25: 10 принципов автоматизации, которые я не предам

Принцип №10:Понятные отчеты

Page 26: 10 принципов автоматизации, которые я не предам

Принцип №10:Понятные отчеты

Детальные логи теста Скриншоты на ключевых шагах Скриншоты на ошибках Агрегированный отчет для менеджера Встроенного репортинга инструмента

может быть недостаточно

Page 27: 10 принципов автоматизации, которые я не предам

Checklist

Page 28: 10 принципов автоматизации, которые я не предам

Modules

Ranorex

Test Cases

Test DataExcel

AdapterC#

Test Reports

Reporting Module

C#

Environment Selection

ConfigFile

UI

История успеха

interactget results

get datafor env.

get env.

Page 29: 10 принципов автоматизации, которые я не предам

История успеха

ScenariosSteps

Selenium WebDriver

DBAdapter

Java

CSVbasic data

Adapter

Java

 

Services module

Java 

Third-party SystemDB

REST services

UI

get realtest data

interactget results

sendget data

writeread data

DataTablemodule

Java 

Page 30: 10 принципов автоматизации, которые я не предам

P.S. Проанализируйте свои прошедшие проекты по

автоматизации – как они себя чувствуют?

Устройте аудит своим текущим проектам – придерживаетесь ли вы best practices?

Составьте checklist полезных практик по автоматизации, используйте его при старте каждого нового проекта

Дайте возможность вашим решениям жить вечно

Page 31: 10 принципов автоматизации, которые я не предам

Спасибо!

[email protected]