SlideShare a Scribd company logo
Автоматизация тестирования как
способ получения знаний
Артем Семенов

Align Technology, Inc.
Обо мне



    Артем Семенов
    Автоматизатор тестирования
    Align Technology, Inc.

      asemenov@aligntech.com
      semapt@gmail.com




2
Предметная область

    • Стоматология и ортодонтия




3
Предметная область

    • Стоматология и ортодонтия




4
Предметная область

    • Стоматология и ортодонтия




5
Обычная автоматизация

          - Опыт работы с системой
          - Документация
          - Эксперт


          Знание о системе


              Автоматизация

6
У нас

    • Приобретена компания




7
Ситуация

    • Все, что мы знаем:
       - Тестировщики тратят > 50% времени на подготовку данных
       - Частые проблемы с конфигурацией тестовых стендов
       - Отсутствует автоматизация тестирования




                 Нужна автоматизация

8
Автоматизация наоборот




9
Начало




10 © 2012 Align Technology, Inc. All rights reserved
Сложная система




11
План

     • Автоматизируем прохождение E2E
     • Используем для подготовки данных


                -Получим знания




12
Научный подход




13
Начальные знания

     • Документация
       - Корректная, полная, непротиворечивая?
       - Нет

     • Имеющаяся информация
       - Сложно получаема
       - Вводит в заблуждение

     • Изучим систему сами
       - Составим общее описание системы
       - Опишем прохождение E2E


14
Целесообразность автоматизации

     • время тестировщика (опрос)
     • сложность автоматизации (прототип)
     • проблемные области (опрос)
     • экспертное знания вы используете
          Какие мнение (опрос)              для
          оценки целесообразности
     • наш опыт (интуиция)
         автоматизации тестирования?




15
Приоритезация задач автоматизации

     • Ожидаемый профит
     • Сложность автоматизации и поддержки
       - Прототип шагов E2E на HP QTP
       - Выявление проблем автоматизируемости

     • «Тестовая» коммуникация
       - Как быстро тестировщики и разработчики смогут реагировать
        на наши запросы

     • Экспертное мнение
       - Не всегда отражает реальное состояние дел

16
Решение проблем автоматизируемости

     • По результатам работы над прототипом
       - Wishlist для девелоперов с 3 приоритетами
       - Обговорены сроки для каждого приоритета
       - Пока ждем результат - workarounds

     • Новые тулы для нашей команды
       - Auto IT X
       - Selenium Webdriver


       Бесконечная горизонтальная масштабируемость


17
Автоматизируем

       • Подготовка данных через E2E
       • Оценка работоспособности тестовых стендов
       • Smoke тест для тестовых стендов

     • Почему
       • Снизим затраты на подготовку данных
       • Комплексная работа с системой
       • Быстрая имплементация



18
Скрипты - требования
                   • Быстро разрабатываемые

       • Гибкие




                               • Интегрированные
             • Расширяемые




19
<coding>




20
Инфаструктура «по быстрому»




       • Кластер разнородных машин
21
Кластер разнородных машин

       • Машины
         - Автоконфигурация
         - Доступ по VNC
         - Централизованное обновление скриптов - Git
         - Отдельные микрокластеры для каждого тестового стенда




22
Особенности решения
       • Данные передаются через файлы
         - Data driven

       • Синхронный и асинхронный вызов машин
         - Синхронный вызов – Psexec
         - Асихронный – Очередь задач с приоретизацией

       • Отчет о выполнении формируется Manager
         машиной
         - Каждая машина пишет свой лог
         - Manager агрегирует логи
         - Email отчет по выполнении задачи
         - Manager тоже выполняет задачи

23
Логгер


     • Единый формат лога для python, vbs
     • Данные для отчетов
     • Статистическая информация в DB
     • Скриншоты (используем pil)




24
25-й слайд

                    Отправь резюме : ifomin@aligntech.com




25 © 2012 Align Technology, Inc. All rights reserved
Логгер

     • Email отчеты
       - Фильтры
       - Скриншоты
       - Вложенные файлы




       - Понятны обычному пользователю


26
Интерфейс для знаний

     • Пользователю доступны
       - Web UI
       - Отчеты
       - Документация

     Это обобщенные знания!
     Know how to do → Know what to do




27
Результаты – что получилось

     • Автоматизация подготовки данных
       - Полная параметризация
       - Экономит время тестировщиков


     • Непрерывные автоматические отчеты о состоянии
       тестового стенда
       - В любой момент времени мы знаем, можно ли проводить
         тестирование


     • Автоматизированные интеграционные тесты
       • Приемочные
       • Регрессионные
       • Запуск в один клик

28
Побочные эффекты

     • Автоконфигурация машин для ручного
       тестирования
        • Мини фреймворк

     • Узнали, как снизить количество машин
       необходимых для тестирования
        • С 40 до 6

     • Служебные инструменты для ручных
       тестировщиков


     • Узнали, чего не хватает
        • Пользователям
        • Нашему репозиторию знаний
29
Результаты – использование

     • Двойной чистый профит в течение 3 месяцев
     • Поддержка финансового UAT
     • Ручное прохождение E2E только для валидации
       обнаруженных дефектов
     • Знания о проблемах тестовых стендов и способах
       их решения
     • Задокументированные знания о системе




30
Получение знаний - результаты

     • Получены знания о тестовой системе в процессе
       автоматизации тестирования
     • Наши знания широко используются в компании - от
       разработчиков до менеджмента
     • Знания постоянно верифицируются и дополняются




     • Мы узнали, что делать дальше
31
Что можно улучшить?

     • Использовать BDD фреймворк
       - Позволить сблизить тесты и документацию
       - Не всегда хорошо на начальном этапе

     • Связать результаты выполнения скрипта с
       документацией
       - Если скрипт перестал работать – помечаем вики страницу
         как потенциально не актуальную
       - Не разрешать коммитить скрипты без документации

     • Тестирование через сервисы/api
     • Автоматизировать конфигурацию серверной части
       системы


32
Автоматизация конфигурации
     серверной части
     • Скрипты часто фейлятся
     • Почему?
       -   Неудачное развертование новой версии на сервер
       -   Неверная server side конфигурация
       -   Хаотичное изменение параметров системы
       -   Недостаточно знаний о системе


     • Решение
       - Автоматизируем деплойменты и конфигурацию
       - Централизованное управление параметрами системы
       - Мониторинг




33
Научный подход к получению
             знаний через автоматизацию
                тестирования (П34АТ©)



34 © 2012 Align Technology, Inc. All rights reserved
П34АТ©



                                Разработка
                                 скриптов



      Получение                                             Верификация
       знаний                                                  знаний
                                Наблюдение




              Распространение                Документация




35
Итеративное использование П34АТ

     • Знаем контрольные точки
       - Не все

     • Знаем о существовании переходов между ними

                     Этап 2

      Этап 1                       Этап n-1     Этап n

                     Этап 3



                      Этап 4




36
Преимущества использования
                    П34АТ©




37 © 2012 Align Technology, Inc. All rights reserved
Преимущества П34АТ©

     • Хорошо написанные скрипты
       - Способ формального описания ожидаемого
         поведения системы
       - Самоверифицирующиеся
       - Существенно снижают влияние человеческого фактора

     • Оставляет историю в виде логов и статистики

     • Создают высокоуровневый интерфейс для знаний



38
Верификация знаний

     • Используем написанные скрипты
       - Скрипт автоматизации – форма храния знаний о системе

     • Если скрипт успешно выполнился – знания
       корректны
     • Больше скриптов – больше знаний
       - Не забываем негативные сценарии
       - Workarounds так же могут хранить знания о системе

     • Непрерывная бесплатная верификация
       • Ежедневные автоматические запуски
       • Случайная выборка E2E сценариев




39
Верификация знаний

     • А если скрипт выполнился неуспешно?
       - И это не проблема программирования
       - И это не проблема тестового стенда


     • Наши знания не прошли проверку
       - Дополним их на следующей итерации


     • Каждую итерацию мы узнаем о системе что-то
       новое
       - Что мы хотели узнать
       - О чем мы даже не подозревали
       - Что мы хотим узнать в будущем


40
Выводы


     • Автоматизация тестирования – это средство

       • получения

       • хранения

       • верификации

       • распространения

                       знаний о системе

41
Контакты

     • Артем Семенов
       - Skype: SW.Peewee
       - E-Mail: semapt@gmail.com




42
•Вопросы?




43

More Related Content

What's hot

Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Yandex
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
Yandex
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practicenikolay_vasiliev
 
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
Илья Фомин - Проблемы автоматизируемости тестирования и их решенияИлья Фомин - Проблемы автоматизируемости тестирования и их решения
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
SQALab
 
Ui testing how intel does this
Ui testing   how intel does thisUi testing   how intel does this
Ui testing how intel does thisAlexei Lupan
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
Svetlana Fedyanina
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
Anton Konushin
 
Тестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложностиТестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложности
SQALab
 
Как перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьКак перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизировать
SQALab
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
Анастасия Асеева
 
TMPA-2015: Formal Methods in Robotics
TMPA-2015: Formal Methods in RoboticsTMPA-2015: Formal Methods in Robotics
TMPA-2015: Formal Methods in Robotics
Iosif Itkin
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...
SQALab
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспечения
Rauan Ibraikhan
 
Введение в специальность. Якин Дмитрий - QA: полицейский, нянька и прочие рол...
Введение в специальность. Якин Дмитрий - QA: полицейский, нянька и прочие рол...Введение в специальность. Якин Дмитрий - QA: полицейский, нянька и прочие рол...
Введение в специальность. Якин Дмитрий - QA: полицейский, нянька и прочие рол...
kontur_student
 
Технический долг: взгляд и действия со стороны QA / QC&AT
Технический долг: взгляд и действия со стороны QA / QC&ATТехнический долг: взгляд и действия со стороны QA / QC&AT
Технический долг: взгляд и действия со стороны QA / QC&AT
CodeFest
 
Keyword-driven framework
Keyword-driven frameworkKeyword-driven framework
Keyword-driven framework
SQALab
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
SQALab
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QAFest
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...
Rina Uzhevko
 

What's hot (20)

Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
 
Марина Широчкина - Тестирование
Марина Широчкина - ТестированиеМарина Широчкина - Тестирование
Марина Широчкина - Тестирование
 
Software testing in practice
Software testing in practiceSoftware testing in practice
Software testing in practice
 
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
Илья Фомин - Проблемы автоматизируемости тестирования и их решенияИлья Фомин - Проблемы автоматизируемости тестирования и их решения
Илья Фомин - Проблемы автоматизируемости тестирования и их решения
 
Ui testing how intel does this
Ui testing   how intel does thisUi testing   how intel does this
Ui testing how intel does this
 
Процесс тестирования в распределенной команде
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной команде
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
Тестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложностиТестирование систем процессинга банковских карт. Особенности и сложности
Тестирование систем процессинга банковских карт. Особенности и сложности
 
Как перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизироватьКак перестать бояться и начать автоматизировать
Как перестать бояться и начать автоматизировать
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
TMPA-2015: Formal Methods in Robotics
TMPA-2015: Formal Methods in RoboticsTMPA-2015: Formal Methods in Robotics
TMPA-2015: Formal Methods in Robotics
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...
 
презентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспеченияпрезентация по дисциплине технология разработки программного обеспечения
презентация по дисциплине технология разработки программного обеспечения
 
Введение в специальность. Якин Дмитрий - QA: полицейский, нянька и прочие рол...
Введение в специальность. Якин Дмитрий - QA: полицейский, нянька и прочие рол...Введение в специальность. Якин Дмитрий - QA: полицейский, нянька и прочие рол...
Введение в специальность. Якин Дмитрий - QA: полицейский, нянька и прочие рол...
 
Testing mistakes
Testing mistakesTesting mistakes
Testing mistakes
 
Технический долг: взгляд и действия со стороны QA / QC&AT
Технический долг: взгляд и действия со стороны QA / QC&ATТехнический долг: взгляд и действия со стороны QA / QC&AT
Технический долг: взгляд и действия со стороны QA / QC&AT
 
Keyword-driven framework
Keyword-driven frameworkKeyword-driven framework
Keyword-driven framework
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
QA Fest 2016. Алексей Виноградов. Цель тестирования. А на самом деле?
 
ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...ROCS 2 - advanced platform for automated test execution in clustered environm...
ROCS 2 - advanced platform for automated test execution in clustered environm...
 

Similar to Автоматизация тестирования как способ получения знаний

Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
Igor Lyubin
 
Automation Overview
Automation OverviewAutomation Overview
Automation OverviewKiraKeiss
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкой
SQALab
 
Performance Tester's Professional Roadmap
Performance Tester's Professional RoadmapPerformance Tester's Professional Roadmap
Performance Tester's Professional Roadmapundera
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...
Alexandra Varfolomeeva
 
Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?
Mykhailo Poliarush
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
Mikhail Payson
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...
Yurii Kadirov
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
SQALab
 
Кутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картКутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картqasib
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казаниmargo-qa
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest
 
лившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифлившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование миф
Magneta AI
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
Alexei Lupan
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab
 
Метрики автоматизированного тестирования на пальцах
Метрики автоматизированного тестирования на пальцахМетрики автоматизированного тестирования на пальцах
Метрики автоматизированного тестирования на пальцах
SQALab
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
Denis Tuchin
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
IT61
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
SQALab
 

Similar to Автоматизация тестирования как способ получения знаний (20)

Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкой
 
Performance Tester's Professional Roadmap
Performance Tester's Professional RoadmapPerformance Tester's Professional Roadmap
Performance Tester's Professional Roadmap
 
Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...Практические аспекты организации процесса тестирования в государственных учре...
Практические аспекты организации процесса тестирования в государственных учре...
 
Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?Что такое проект по автоматизации тестирования ПО?
Что такое проект по автоматизации тестирования ПО?
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...
 
Светлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
 
Кутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных картКутумов - Автоматизация тестирования транспортных карт
Кутумов - Автоматизация тестирования транспортных карт
 
доклад на SQADays 2011 в Казани
доклад на SQADays  2011 в Казанидоклад на SQADays  2011 в Казани
доклад на SQADays 2011 в Казани
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
лившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование мифлившиц владимир - независимое тестирование миф
лившиц владимир - независимое тестирование миф
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Сергей Ревко
Сергей РевкоСергей Ревко
Сергей Ревко
 
Метрики автоматизированного тестирования на пальцах
Метрики автоматизированного тестирования на пальцахМетрики автоматизированного тестирования на пальцах
Метрики автоматизированного тестирования на пальцах
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
SQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
SQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
SQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
SQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
SQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
SQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
SQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
SQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
SQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
SQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
SQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Автоматизация тестирования как способ получения знаний

  • 1. Автоматизация тестирования как способ получения знаний Артем Семенов Align Technology, Inc.
  • 2. Обо мне Артем Семенов Автоматизатор тестирования Align Technology, Inc. asemenov@aligntech.com semapt@gmail.com 2
  • 3. Предметная область • Стоматология и ортодонтия 3
  • 4. Предметная область • Стоматология и ортодонтия 4
  • 5. Предметная область • Стоматология и ортодонтия 5
  • 6. Обычная автоматизация - Опыт работы с системой - Документация - Эксперт Знание о системе Автоматизация 6
  • 7. У нас • Приобретена компания 7
  • 8. Ситуация • Все, что мы знаем: - Тестировщики тратят > 50% времени на подготовку данных - Частые проблемы с конфигурацией тестовых стендов - Отсутствует автоматизация тестирования Нужна автоматизация 8
  • 10. Начало 10 © 2012 Align Technology, Inc. All rights reserved
  • 12. План • Автоматизируем прохождение E2E • Используем для подготовки данных -Получим знания 12
  • 14. Начальные знания • Документация - Корректная, полная, непротиворечивая? - Нет • Имеющаяся информация - Сложно получаема - Вводит в заблуждение • Изучим систему сами - Составим общее описание системы - Опишем прохождение E2E 14
  • 15. Целесообразность автоматизации • время тестировщика (опрос) • сложность автоматизации (прототип) • проблемные области (опрос) • экспертное знания вы используете Какие мнение (опрос) для оценки целесообразности • наш опыт (интуиция) автоматизации тестирования? 15
  • 16. Приоритезация задач автоматизации • Ожидаемый профит • Сложность автоматизации и поддержки - Прототип шагов E2E на HP QTP - Выявление проблем автоматизируемости • «Тестовая» коммуникация - Как быстро тестировщики и разработчики смогут реагировать на наши запросы • Экспертное мнение - Не всегда отражает реальное состояние дел 16
  • 17. Решение проблем автоматизируемости • По результатам работы над прототипом - Wishlist для девелоперов с 3 приоритетами - Обговорены сроки для каждого приоритета - Пока ждем результат - workarounds • Новые тулы для нашей команды - Auto IT X - Selenium Webdriver Бесконечная горизонтальная масштабируемость 17
  • 18. Автоматизируем • Подготовка данных через E2E • Оценка работоспособности тестовых стендов • Smoke тест для тестовых стендов • Почему • Снизим затраты на подготовку данных • Комплексная работа с системой • Быстрая имплементация 18
  • 19. Скрипты - требования • Быстро разрабатываемые • Гибкие • Интегрированные • Расширяемые 19
  • 21. Инфаструктура «по быстрому» • Кластер разнородных машин 21
  • 22. Кластер разнородных машин • Машины - Автоконфигурация - Доступ по VNC - Централизованное обновление скриптов - Git - Отдельные микрокластеры для каждого тестового стенда 22
  • 23. Особенности решения • Данные передаются через файлы - Data driven • Синхронный и асинхронный вызов машин - Синхронный вызов – Psexec - Асихронный – Очередь задач с приоретизацией • Отчет о выполнении формируется Manager машиной - Каждая машина пишет свой лог - Manager агрегирует логи - Email отчет по выполнении задачи - Manager тоже выполняет задачи 23
  • 24. Логгер • Единый формат лога для python, vbs • Данные для отчетов • Статистическая информация в DB • Скриншоты (используем pil) 24
  • 25. 25-й слайд Отправь резюме : ifomin@aligntech.com 25 © 2012 Align Technology, Inc. All rights reserved
  • 26. Логгер • Email отчеты - Фильтры - Скриншоты - Вложенные файлы - Понятны обычному пользователю 26
  • 27. Интерфейс для знаний • Пользователю доступны - Web UI - Отчеты - Документация Это обобщенные знания! Know how to do → Know what to do 27
  • 28. Результаты – что получилось • Автоматизация подготовки данных - Полная параметризация - Экономит время тестировщиков • Непрерывные автоматические отчеты о состоянии тестового стенда - В любой момент времени мы знаем, можно ли проводить тестирование • Автоматизированные интеграционные тесты • Приемочные • Регрессионные • Запуск в один клик 28
  • 29. Побочные эффекты • Автоконфигурация машин для ручного тестирования • Мини фреймворк • Узнали, как снизить количество машин необходимых для тестирования • С 40 до 6 • Служебные инструменты для ручных тестировщиков • Узнали, чего не хватает • Пользователям • Нашему репозиторию знаний 29
  • 30. Результаты – использование • Двойной чистый профит в течение 3 месяцев • Поддержка финансового UAT • Ручное прохождение E2E только для валидации обнаруженных дефектов • Знания о проблемах тестовых стендов и способах их решения • Задокументированные знания о системе 30
  • 31. Получение знаний - результаты • Получены знания о тестовой системе в процессе автоматизации тестирования • Наши знания широко используются в компании - от разработчиков до менеджмента • Знания постоянно верифицируются и дополняются • Мы узнали, что делать дальше 31
  • 32. Что можно улучшить? • Использовать BDD фреймворк - Позволить сблизить тесты и документацию - Не всегда хорошо на начальном этапе • Связать результаты выполнения скрипта с документацией - Если скрипт перестал работать – помечаем вики страницу как потенциально не актуальную - Не разрешать коммитить скрипты без документации • Тестирование через сервисы/api • Автоматизировать конфигурацию серверной части системы 32
  • 33. Автоматизация конфигурации серверной части • Скрипты часто фейлятся • Почему? - Неудачное развертование новой версии на сервер - Неверная server side конфигурация - Хаотичное изменение параметров системы - Недостаточно знаний о системе • Решение - Автоматизируем деплойменты и конфигурацию - Централизованное управление параметрами системы - Мониторинг 33
  • 34. Научный подход к получению знаний через автоматизацию тестирования (П34АТ©) 34 © 2012 Align Technology, Inc. All rights reserved
  • 35. П34АТ© Разработка скриптов Получение Верификация знаний знаний Наблюдение Распространение Документация 35
  • 36. Итеративное использование П34АТ • Знаем контрольные точки - Не все • Знаем о существовании переходов между ними Этап 2 Этап 1 Этап n-1 Этап n Этап 3 Этап 4 36
  • 37. Преимущества использования П34АТ© 37 © 2012 Align Technology, Inc. All rights reserved
  • 38. Преимущества П34АТ© • Хорошо написанные скрипты - Способ формального описания ожидаемого поведения системы - Самоверифицирующиеся - Существенно снижают влияние человеческого фактора • Оставляет историю в виде логов и статистики • Создают высокоуровневый интерфейс для знаний 38
  • 39. Верификация знаний • Используем написанные скрипты - Скрипт автоматизации – форма храния знаний о системе • Если скрипт успешно выполнился – знания корректны • Больше скриптов – больше знаний - Не забываем негативные сценарии - Workarounds так же могут хранить знания о системе • Непрерывная бесплатная верификация • Ежедневные автоматические запуски • Случайная выборка E2E сценариев 39
  • 40. Верификация знаний • А если скрипт выполнился неуспешно? - И это не проблема программирования - И это не проблема тестового стенда • Наши знания не прошли проверку - Дополним их на следующей итерации • Каждую итерацию мы узнаем о системе что-то новое - Что мы хотели узнать - О чем мы даже не подозревали - Что мы хотим узнать в будущем 40
  • 41. Выводы • Автоматизация тестирования – это средство • получения • хранения • верификации • распространения знаний о системе 41
  • 42. Контакты • Артем Семенов - Skype: SW.Peewee - E-Mail: semapt@gmail.com 42

Editor's Notes

  1. Инструмент получения
  2. Нет и не было автоматизации Нет экперта Нет документации
  3. Можно ли тут исползьовать схему со стадиями?
  4. Почему бы не посмотреть в документацию? Она корректная? Она полная? В процессе автоматизации Проверим Дополним
  5. QTP – есть фреймворк, есть опыт
  6. Первые два пункта требований
  7. Больше частей системы покрываем, больше данных получаем
  8. Какие требования к нашим скриптам с точки зрения итеративного процесса получения знаний
  9. Я расскажу почему простая и гибкая инфраструктура важна для эффективного получения знаний. Меньше времени на инфраструктуру – больше времени на изучение системы и проверку полученных знаний. Второй тезис – нам не достаточно знаний о системе для построения архитектуры автоматизации. Вторые два пункта требований.
  10. Переходим от знания как что либо сделать К тому что нужно сделать, чтобы получить нужный результат.
  11. Мы не только получили знания о системе, но и получили решения по автоматизации тестирования
  12. Не знаем доменного языка на начальном этапе
  13. Документируем непрерывно – wiki Количество знаний увеличивается каждую итерацию