SlideShare a Scribd company logo
1 of 27
Download to read offline
Опыт автоматизации тестирования
        механизма обслуживания
              транспортных карт
                       Кутумов Алексей
Алексей Кутумов

                  ЗАО «Золотая Корона»


                  Ведущий разработчик
                    Разработка терминального ПО
                    и хостовых решений




                                                  2
Территория, на которой
представлена система
                                  10 регионов
                                  более 30-ти городов



             Транспортная карта

Терминал
кондуктора




                                                        3
Проблематика


 Недостаточная функциональность оборудования
 Разнообразие парка терминального
  оборудования
 Ручное обновление ПО
 Количество устройств - тысячи
 Устройства территориально разбросаны


                                                4
Цена ошибки


             Дефект в ПО недопустим!


Чем грозит
 Время на замену ПО во всех устройствах – до 1 месяца
 Высокая стоимость процесса обновления




                                                         5
Как было раньше -
     Ручное тестирование




    Ручное создание каждого теста

    Ручная подготовка тестового окружения

    Ручная подготовка входных данных

 Итог: 140 часов на регрессию


                                             6
Как было раньше -
     Частичная автоматизация




    Ручное создание каждого теста

    Скрипты подготовки тестового окружения

    Скрипты подготовки входных данных

 Итог: 80 часов на регрессию


                                              7
Ручное тестирование -
           все еще допустимо?




    80 часов   80 часов   80 часов    80 часов   80 часов




                          400 часов

                             
                                                            8
Цель




   80 часов -> 2 минуты


                          9
Формирование понимания



 Изменение существующего кода
 Поддержка различных терминальных платформ
 Выявление требований
 Понимание цели автоматизации




                                              10
Решение –
     функциональное ядро

Требования:
 Полная абстракция от платформы
 Никаких системных вызовов
 Отсутствие файловой системы
 Учитываем ограниченные ресурсы памяти и процессора


Цель: Единое функциональное ядро для всего парка
терминалов


                                                       11
Промежуточный результат -
          функциональное ядро




    80 часов     80 часов   80 часов   80 часов    80 часов




                                       80 часов


               Ядро общее – тестируется отдельно
     Экономим время на функциональное тестирование
    Тестирование пока по прежнему выполняем вручную
                                                              12
Автоматизация тестов –
          планирование процесса


Создать инструмент, который для каждого теста:
 Загружает в ядро:
   тестовое окружение
   файл с входными параметрами
 Запускает механизм обслуживания
 Сверяет результаты с эталонными



                                                 13
Автоматизация тестов –
          возникли вопросы
 Где взять набор тестов?




 Где брать эталонные данные?




 Как быстро и просто создавать файл с входными параметрами?




                                                               14
Автоматизация тестов –
          как решали вопросы
 Где взять набор тестов?
Существующие «ручные» тесты тестировщиков


 Где брать эталонные данные?
Существующие «ручные» тесты тестировщиков


 Как быстро и просто создавать файл с входными параметрами?
Существующие «ручные» тесты тестировщиков + стандартные
утилиты

                                                               15
Автоматизация тестов –
          как решали вопросы


 Выполнить ручные тесты на ядре
 Получить логи
 Применить к логам утилиту генерации теста
 Получить файл с входными и выходными параметрами


Последний раз было выполнено ручное тестирование ядра,
  в результате получены все необходимые данные для
                     автотестов

                                                         16
Ни один имеющийся тест из набора
  тестировщиков не пострадал


    Ни один тест не был выкинут


    Ни один тест не был изменен




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

 Тесты тестировщиков
    Импортирована вся иерархия тестов
    Тестировщики сами следят за своими тестами
    Сами создают и дополняют


 Тесты разработчиков
    Unit-tests и прочее
    Создание теста на каждый баг

                                                  18
Автоматизация тестов –
          генерация автотеста

 Файл в формате PARAMETER = VALUE
 dump-card-in
 dump-card-out
 Log




                                     19
Continuous integration

 Все тесты хранятся в SVN
 Исходный код хранится в SVN


 Необходим выделенный сервер для сборки




                                           20
Continuous integration



                                 CI
              SVN




     Commit

                                      Feedback


                     developer




                                                 21
Continuous integration




                         22
Continuous integration




                         23
Code coverage




                24
Используемые продукты

 C – реализация ядра
 C++ – реализация тестовой программы
    gtest –запуск тестов и сбор статистики
 CMake – система сборки
 python - вспомогательные скрипты
 SVN – система контроля версий
 Bamboo – CI сервер
 TestCocoon – code coverage пакет

                                              25
Результаты

 Вся логика обслуживания карты тестируется за 2 минуты
 Ручной тест быстро превращается в автотест
 Каждая сборка проверена




                                                          26
Спасибо за внимание!


     Вопросы?



                       27

More Related Content

What's hot

Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьSQALab
 
20120218 model checking_karpov_lecture02
20120218 model checking_karpov_lecture0220120218 model checking_karpov_lecture02
20120218 model checking_karpov_lecture02Computer Science Club
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...SQALab
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестированиеSPB SQA Group
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QASQALab
 
Тестирование в mail.ru (Дмитрий Зенович)
Тестирование в mail.ru (Дмитрий Зенович)Тестирование в mail.ru (Дмитрий Зенович)
Тестирование в mail.ru (Дмитрий Зенович)Ontico
 
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховИлья Кожухов
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительностиSQALab
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииNikita Lipsky
 
Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?OdessaQA
 
Test Set Generation Based on a Management Stream Model
Test Set Generation Based on a Management Stream ModelTest Set Generation Based on a Management Stream Model
Test Set Generation Based on a Management Stream ModelIosif Itkin
 
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...Nikita Lipsky
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)SPB SQA Group
 
Статический анализ кода: борьба с удорожанием ошибок
Статический анализ кода: борьба с удорожанием ошибокСтатический анализ кода: борьба с удорожанием ошибок
Статический анализ кода: борьба с удорожанием ошибокAndrey Karpov
 
что пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studio
что пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studioчто пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studio
что пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studiocorehard_by
 
Поддержка Java 8 в Excelsior JET
Поддержка Java 8 в Excelsior JET Поддержка Java 8 в Excelsior JET
Поддержка Java 8 в Excelsior JET Nikita Lipsky
 

What's hot (20)

Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
 
20120218 model checking_karpov_lecture02
20120218 model checking_karpov_lecture0220120218 model checking_karpov_lecture02
20120218 model checking_karpov_lecture02
 
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
Автоматизированное тестирование - от сложного к простому, или Запускаем автот...
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестирование
 
Presentation_1369906540313
Presentation_1369906540313Presentation_1369906540313
Presentation_1369906540313
 
Как Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QAКак Cluster Membership Software может помочь QA
Как Cluster Membership Software может помочь QA
 
Тестирование в mail.ru (Дмитрий Зенович)
Тестирование в mail.ru (Дмитрий Зенович)Тестирование в mail.ru (Дмитрий Зенович)
Тестирование в mail.ru (Дмитрий Зенович)
 
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаАндрей Похилько — Нагрузочное тестирование типичного интернет сервиса
Андрей Похилько — Нагрузочное тестирование типичного интернет сервиса
 
Нагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория КожуховНагрузочное тестирование теория Кожухов
Нагрузочное тестирование теория Кожухов
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Настраиваемое тестирование производительности
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительности
 
JVM: краткий курс общей анатомии
JVM: краткий курс общей анатомииJVM: краткий курс общей анатомии
JVM: краткий курс общей анатомии
 
Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?Нагрузочное тестирование. С чего начать?
Нагрузочное тестирование. С чего начать?
 
Test Set Generation Based on a Management Stream Model
Test Set Generation Based on a Management Stream ModelTest Set Generation Based on a Management Stream Model
Test Set Generation Based on a Management Stream Model
 
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
 
Статический анализ кода: борьба с удорожанием ошибок
Статический анализ кода: борьба с удорожанием ошибокСтатический анализ кода: борьба с удорожанием ошибок
Статический анализ кода: борьба с удорожанием ошибок
 
что пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studio
что пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studioчто пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studio
что пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studio
 
Поддержка Java 8 в Excelsior JET
Поддержка Java 8 в Excelsior JET Поддержка Java 8 в Excelsior JET
Поддержка Java 8 в Excelsior JET
 

Viewers also liked

Высоцкий Неортодоксальный дизайн тестов
Высоцкий Неортодоксальный дизайн тестовВысоцкий Неортодоксальный дизайн тестов
Высоцкий Неортодоксальный дизайн тестовqasib
 
Resume bimbingan dan konseling 2
Resume bimbingan dan konseling 2Resume bimbingan dan konseling 2
Resume bimbingan dan konseling 2Ricky Ramadhan
 
East india company.history9
East india company.history9East india company.history9
East india company.history9jcpetito
 
Presentasi Kurikulum dan Pembelajaran
Presentasi Kurikulum dan PembelajaranPresentasi Kurikulum dan Pembelajaran
Presentasi Kurikulum dan PembelajaranRicky Ramadhan
 
Resume bimbingan dan konseling 4
Resume bimbingan dan konseling 4Resume bimbingan dan konseling 4
Resume bimbingan dan konseling 4Ricky Ramadhan
 
Kelompok 1 spai pend. geografi powerpoint
Kelompok 1 spai pend. geografi powerpointKelompok 1 spai pend. geografi powerpoint
Kelompok 1 spai pend. geografi powerpointRicky Ramadhan
 
PRUEBA TICS
PRUEBA TICSPRUEBA TICS
PRUEBA TICSjbd85
 
Frukostmöte om digital marknadsföring hos Resultify
Frukostmöte om digital marknadsföring hos ResultifyFrukostmöte om digital marknadsföring hos Resultify
Frukostmöte om digital marknadsföring hos ResultifyResultify
 
SIN EJERCITO ES MEJOR
SIN EJERCITO ES MEJORSIN EJERCITO ES MEJOR
SIN EJERCITO ES MEJORfrepo
 
050313 lala vitória 5 mar
050313 lala vitória 5 mar050313 lala vitória 5 mar
050313 lala vitória 5 marLala Deheinzelin
 
Trabajo practico nº 20
Trabajo practico nº 20Trabajo practico nº 20
Trabajo practico nº 20germi98
 
Jogo Futsal Moncorvo
Jogo Futsal MoncorvoJogo Futsal Moncorvo
Jogo Futsal Moncorvosandra00
 
Kom igång med WORDPRESS :Bloggcoach
Kom igång med WORDPRESS :BloggcoachKom igång med WORDPRESS :Bloggcoach
Kom igång med WORDPRESS :BloggcoachBloggcoach
 
UNIESP CompMKT Aula 1
UNIESP CompMKT Aula 1UNIESP CompMKT Aula 1
UNIESP CompMKT Aula 1Lais Carvalho
 

Viewers also liked (20)

Высоцкий Неортодоксальный дизайн тестов
Высоцкий Неортодоксальный дизайн тестовВысоцкий Неортодоксальный дизайн тестов
Высоцкий Неортодоксальный дизайн тестов
 
Resume bimbingan dan konseling 2
Resume bimbingan dan konseling 2Resume bimbingan dan konseling 2
Resume bimbingan dan konseling 2
 
East india company.history9
East india company.history9East india company.history9
East india company.history9
 
Presentasi Kurikulum dan Pembelajaran
Presentasi Kurikulum dan PembelajaranPresentasi Kurikulum dan Pembelajaran
Presentasi Kurikulum dan Pembelajaran
 
Resume bimbingan dan konseling 4
Resume bimbingan dan konseling 4Resume bimbingan dan konseling 4
Resume bimbingan dan konseling 4
 
Kelompok 1 spai pend. geografi powerpoint
Kelompok 1 spai pend. geografi powerpointKelompok 1 spai pend. geografi powerpoint
Kelompok 1 spai pend. geografi powerpoint
 
LPJ DPM Geografi 2014
LPJ DPM Geografi 2014LPJ DPM Geografi 2014
LPJ DPM Geografi 2014
 
PRUEBA TICS
PRUEBA TICSPRUEBA TICS
PRUEBA TICS
 
Frukostmöte om digital marknadsföring hos Resultify
Frukostmöte om digital marknadsföring hos ResultifyFrukostmöte om digital marknadsföring hos Resultify
Frukostmöte om digital marknadsföring hos Resultify
 
Digital MKT Certificate
Digital MKT CertificateDigital MKT Certificate
Digital MKT Certificate
 
Sinal verde
Sinal verdeSinal verde
Sinal verde
 
SIN EJERCITO ES MEJOR
SIN EJERCITO ES MEJORSIN EJERCITO ES MEJOR
SIN EJERCITO ES MEJOR
 
Estratégia de Empresas
Estratégia de EmpresasEstratégia de Empresas
Estratégia de Empresas
 
050313 lala vitória 5 mar
050313 lala vitória 5 mar050313 lala vitória 5 mar
050313 lala vitória 5 mar
 
Trabajo practico nº 20
Trabajo practico nº 20Trabajo practico nº 20
Trabajo practico nº 20
 
Jogo Futsal Moncorvo
Jogo Futsal MoncorvoJogo Futsal Moncorvo
Jogo Futsal Moncorvo
 
Toondoo powerpoint
Toondoo powerpointToondoo powerpoint
Toondoo powerpoint
 
Kom igång med WORDPRESS :Bloggcoach
Kom igång med WORDPRESS :BloggcoachKom igång med WORDPRESS :Bloggcoach
Kom igång med WORDPRESS :Bloggcoach
 
Project Manager
Project ManagerProject Manager
Project Manager
 
UNIESP CompMKT Aula 1
UNIESP CompMKT Aula 1UNIESP CompMKT Aula 1
UNIESP CompMKT Aula 1
 

Similar to Кутумов - Автоматизация тестирования транспортных карт

гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )Mobile Developer Day
 
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )Mobile Developer Day
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииSQALab
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийSQALab
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформыSQALab
 
Валерий Сафронов Новый уровень автоматизации тестирования ПО
Валерий Сафронов Новый уровень автоматизации тестирования ПОВалерий Сафронов Новый уровень автоматизации тестирования ПО
Валерий Сафронов Новый уровень автоматизации тестирования ПОТранслируем.бел
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Technopark
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская qasib
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Yurii Kadirov
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьDaria Oreshkina
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQAFest
 
Организация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграцииОрганизация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграцииSQALab
 
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Ontico
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь_itcampus
 
Автоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиАвтоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиSQALab
 

Similar to Кутумов - Автоматизация тестирования транспортных карт (20)

гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
 
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
гибкий подход к тестированию ‘умных’ электронных систем.( а. вдовин, Auriga )
 
Automation testing desktop applications
Automation testing desktop applicationsAutomation testing desktop applications
Automation testing desktop applications
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
 
Автоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знанийАвтоматизация тестирования как способ получения знаний
Автоматизация тестирования как способ получения знаний
 
Опыт тестирования API САПР платформы
Опыт тестирования API САПР платформыОпыт тестирования API САПР платформы
Опыт тестирования API САПР платформы
 
Валерий Сафронов Новый уровень автоматизации тестирования ПО
Валерий Сафронов Новый уровень автоматизации тестирования ПОВалерий Сафронов Новый уровень автоматизации тестирования ПО
Валерий Сафронов Новый уровень автоматизации тестирования ПО
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5 Тестирование осень 2013 лекция 5
Тестирование осень 2013 лекция 5
 
5 колчинская
5 колчинская 5 колчинская
5 колчинская
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...
 
Практика
ПрактикаПрактика
Практика
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать жить
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
 
QAFest. Роль тестирования в Devops
QAFest. Роль тестирования в DevopsQAFest. Роль тестирования в Devops
QAFest. Роль тестирования в Devops
 
Организация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграцииОрганизация автоматического тестирования в схеме непрерывной интеграции
Организация автоматического тестирования в схеме непрерывной интеграции
 
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
Автоматизация тестирования в iOS-проекте на примере ICQ / Д.Куркин, М.Манаев ...
 
Роман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизньРоман Василенко. Continuous delivery или как упростить себе жизнь
Роман Василенко. Continuous delivery или как упростить себе жизнь
 
Автоматизация тестирования многопоточности
Автоматизация тестирования многопоточностиАвтоматизация тестирования многопоточности
Автоматизация тестирования многопоточности
 

More from qasib

Watir&web driver
Watir&web driverWatir&web driver
Watir&web driverqasib
 
Блуждание во тьме. Или как понять состояние продукта
Блуждание во тьме. Или как понять состояние продуктаБлуждание во тьме. Или как понять состояние продукта
Блуждание во тьме. Или как понять состояние продуктаqasib
 
Gostev 2
Gostev 2Gostev 2
Gostev 2qasib
 
Белов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхБелов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхqasib
 
3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov seleniumqasib
 
2 kurnosova presentation
2 kurnosova presentation2 kurnosova presentation
2 kurnosova presentationqasib
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев кировqasib
 
4 kazakov clouds-intesting
4 kazakov clouds-intesting4 kazakov clouds-intesting
4 kazakov clouds-intestingqasib
 
1 щербина
1 щербина1 щербина
1 щербинаqasib
 
Oсобенности тестирования игр
Oсобенности тестирования игрOсобенности тестирования игр
Oсобенности тестирования игрqasib
 
Я бы в тестеры пошел. Татьяна Богданова
Я бы в тестеры пошел. Татьяна БогдановаЯ бы в тестеры пошел. Татьяна Богданова
Я бы в тестеры пошел. Татьяна Богдановаqasib
 
Управление рисками в тестировании. Сергей Олейников
Управление рисками в тестировании. Сергей ОлейниковУправление рисками в тестировании. Сергей Олейников
Управление рисками в тестировании. Сергей Олейниковqasib
 
Роль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана ФедянинаРоль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана Федянинаqasib
 
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынинаqasib
 
Сергей Высоцкий - Automated Software Testing- Сказки и реальность
Сергей Высоцкий - Automated Software Testing- Сказки и реальностьСергей Высоцкий - Automated Software Testing- Сказки и реальность
Сергей Высоцкий - Automated Software Testing- Сказки и реальностьqasib
 
Дмитрий Пиликов - Юзабилити тестирование
Дмитрий Пиликов - Юзабилити тестированиеДмитрий Пиликов - Юзабилити тестирование
Дмитрий Пиликов - Юзабилити тестированиеqasib
 

More from qasib (16)

Watir&web driver
Watir&web driverWatir&web driver
Watir&web driver
 
Блуждание во тьме. Или как понять состояние продукта
Блуждание во тьме. Или как понять состояние продуктаБлуждание во тьме. Или как понять состояние продукта
Блуждание во тьме. Или как понять состояние продукта
 
Gostev 2
Gostev 2Gostev 2
Gostev 2
 
Белов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложенияхБелов наиболее часто уязвимые места в веб приложениях
Белов наиболее часто уязвимые места в веб приложениях
 
3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov selenium
 
2 kurnosova presentation
2 kurnosova presentation2 kurnosova presentation
2 kurnosova presentation
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев киров
 
4 kazakov clouds-intesting
4 kazakov clouds-intesting4 kazakov clouds-intesting
4 kazakov clouds-intesting
 
1 щербина
1 щербина1 щербина
1 щербина
 
Oсобенности тестирования игр
Oсобенности тестирования игрOсобенности тестирования игр
Oсобенности тестирования игр
 
Я бы в тестеры пошел. Татьяна Богданова
Я бы в тестеры пошел. Татьяна БогдановаЯ бы в тестеры пошел. Татьяна Богданова
Я бы в тестеры пошел. Татьяна Богданова
 
Управление рисками в тестировании. Сергей Олейников
Управление рисками в тестировании. Сергей ОлейниковУправление рисками в тестировании. Сергей Олейников
Управление рисками в тестировании. Сергей Олейников
 
Роль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана ФедянинаРоль тестировщика в Lean. Светлана Федянина
Роль тестировщика в Lean. Светлана Федянина
 
Тест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна ДобрынинаТест-менеджмент в Jira. Анна Добрынина
Тест-менеджмент в Jira. Анна Добрынина
 
Сергей Высоцкий - Automated Software Testing- Сказки и реальность
Сергей Высоцкий - Automated Software Testing- Сказки и реальностьСергей Высоцкий - Automated Software Testing- Сказки и реальность
Сергей Высоцкий - Automated Software Testing- Сказки и реальность
 
Дмитрий Пиликов - Юзабилити тестирование
Дмитрий Пиликов - Юзабилити тестированиеДмитрий Пиликов - Юзабилити тестирование
Дмитрий Пиликов - Юзабилити тестирование
 

Кутумов - Автоматизация тестирования транспортных карт

  • 1. Опыт автоматизации тестирования механизма обслуживания транспортных карт Кутумов Алексей
  • 2. Алексей Кутумов ЗАО «Золотая Корона» Ведущий разработчик Разработка терминального ПО и хостовых решений 2
  • 3. Территория, на которой представлена система 10 регионов более 30-ти городов Транспортная карта Терминал кондуктора 3
  • 4. Проблематика  Недостаточная функциональность оборудования  Разнообразие парка терминального оборудования  Ручное обновление ПО  Количество устройств - тысячи  Устройства территориально разбросаны 4
  • 5. Цена ошибки Дефект в ПО недопустим! Чем грозит  Время на замену ПО во всех устройствах – до 1 месяца  Высокая стоимость процесса обновления 5
  • 6. Как было раньше - Ручное тестирование  Ручное создание каждого теста  Ручная подготовка тестового окружения  Ручная подготовка входных данных Итог: 140 часов на регрессию 6
  • 7. Как было раньше - Частичная автоматизация  Ручное создание каждого теста  Скрипты подготовки тестового окружения  Скрипты подготовки входных данных Итог: 80 часов на регрессию 7
  • 8. Ручное тестирование - все еще допустимо? 80 часов 80 часов 80 часов 80 часов 80 часов 400 часов  8
  • 9. Цель 80 часов -> 2 минуты 9
  • 10. Формирование понимания  Изменение существующего кода  Поддержка различных терминальных платформ  Выявление требований  Понимание цели автоматизации 10
  • 11. Решение – функциональное ядро Требования:  Полная абстракция от платформы  Никаких системных вызовов  Отсутствие файловой системы  Учитываем ограниченные ресурсы памяти и процессора Цель: Единое функциональное ядро для всего парка терминалов 11
  • 12. Промежуточный результат - функциональное ядро 80 часов 80 часов 80 часов 80 часов 80 часов 80 часов Ядро общее – тестируется отдельно Экономим время на функциональное тестирование Тестирование пока по прежнему выполняем вручную 12
  • 13. Автоматизация тестов – планирование процесса Создать инструмент, который для каждого теста:  Загружает в ядро:  тестовое окружение  файл с входными параметрами  Запускает механизм обслуживания  Сверяет результаты с эталонными 13
  • 14. Автоматизация тестов – возникли вопросы  Где взять набор тестов?  Где брать эталонные данные?  Как быстро и просто создавать файл с входными параметрами? 14
  • 15. Автоматизация тестов – как решали вопросы  Где взять набор тестов? Существующие «ручные» тесты тестировщиков  Где брать эталонные данные? Существующие «ручные» тесты тестировщиков  Как быстро и просто создавать файл с входными параметрами? Существующие «ручные» тесты тестировщиков + стандартные утилиты 15
  • 16. Автоматизация тестов – как решали вопросы  Выполнить ручные тесты на ядре  Получить логи  Применить к логам утилиту генерации теста  Получить файл с входными и выходными параметрами Последний раз было выполнено ручное тестирование ядра, в результате получены все необходимые данные для автотестов 16
  • 17. Ни один имеющийся тест из набора тестировщиков не пострадал Ни один тест не был выкинут Ни один тест не был изменен 17
  • 18. Автоматизация тестов – два набора автотестов  Тесты тестировщиков  Импортирована вся иерархия тестов  Тестировщики сами следят за своими тестами  Сами создают и дополняют  Тесты разработчиков  Unit-tests и прочее  Создание теста на каждый баг 18
  • 19. Автоматизация тестов – генерация автотеста  Файл в формате PARAMETER = VALUE  dump-card-in  dump-card-out  Log 19
  • 20. Continuous integration  Все тесты хранятся в SVN  Исходный код хранится в SVN  Необходим выделенный сервер для сборки 20
  • 21. Continuous integration CI SVN Commit Feedback developer 21
  • 25. Используемые продукты  C – реализация ядра  C++ – реализация тестовой программы  gtest –запуск тестов и сбор статистики  CMake – система сборки  python - вспомогательные скрипты  SVN – система контроля версий  Bamboo – CI сервер  TestCocoon – code coverage пакет 25
  • 26. Результаты  Вся логика обслуживания карты тестируется за 2 минуты  Ручной тест быстро превращается в автотест  Каждая сборка проверена 26