SlideShare a Scribd company logo
1 of 35
Автотестирование АБС.

Конвейер разработки,
конвейер данных,
конвейер выполнения
Алексей Викторович Надененко
ООО «Сбербанк-технологии», г. Минск
       AVNadenenko.SBT@sberbank.ru
АБС. Тесты - Особенности
• Один документ/операция – тест-кейс длиной 10..15 шагов

• Цепочка тест-кейсов         –    10..15 тест-кейсов на бизнес-процесс

• Тест-кейсы сильно связаны по данным:
  данные, создаваемые одним тест-кейсом, используются последующими

         Пример бизнес-процесса:
          1.        тест-кейс № j создает документ

          2.        АБС присваивает документу уникальный номер

          3.        Над документом выполняется операция (зарегистрировать, оплатить , …)

          4.        Операция порождает
               1.      Записи в журнале операций (нужно проверять)
               2.      Записи в журнале проводок (нужно проверять)
               3.      Новые документы (нужно проверять)

          5.        тест-кейсы №№ j+k, j+l используют созданный документ
АБС. Тестовые данные -
особенности
• 50..100 - констант и переменных в цепочке
  • длиной 10..15 тестов, каждый из которых состоит из 10..15
    шагов

• 3…5 наборов констант и переменных
  • используются с одной цепочкой. Отличие между наборами –
    10..20% значений


• 2..4 час
  • Занимает у тест-аналитика подготовка набора начальных
    значений для цепочки.
КОНВЕЙЕР РАЗРАБОТКИ
20 век - конвейер
аналитик     тестировщик программист       Тест-инженер Тест-менеджер




Разработка    Разработка      Разработка      Прогон        Анализ
требований    тест-кейсов     автотестов    автотестов    результатов


Требования    Тест-кейсы       Автотесты       Логи         Выводы


                              Основное
  КБ                                                        склад
                            производство
21 век - ГАП
аналитик     тестировщик                        Тест-менеджер




Разработка    Разработка                     Прогон          Анализ
требований    тест-кейсов                  тест-кейсов     результатов


Требования                    Тест-кейсы                    Выводы


                              Основное
  КБ                                                         склад
                            производство


                                        Разработка       Инструменты
       Инстру-                         инструментов
    ментальный цех
                                 программист
Инструментальное
производство - цифры
• в себестоимости машиностроительной продукции затраты на
  технологическую оснастку достигают 15%.
• В общих затратах на технологическую подготовку производства затраты на
  оснастку доходят до 60%.
• Проектирование и изготовление технологической оснастки имеет
  значительную трудоемкость.
         •   Источник - http://www.kazedu.kz/referat/176709

• Затраты на технологическую оснастку в массовом производстве достигают
  25-30% стоимости оборудования, в крупносерийном – 10-15%, в
  мелкосерийном и единичном – около 5%. Доля затрат на оснастку (в %): 1,5-
  4, 4-6, 6-8 и 8-15 и выше.

• В инструментальных цехах сосредоточено 10—20% станочного парка и
  занято до 10% работающих.
         •   Источник - http://www.buhucheta.net/referatpage-854-1.html


• на долю проектирования и изготовления технологической оснастки при
  освоении новых изделий приходится более 80% трудоемкости всех работ по
  подготовке производства.
         •   Источник - http://www.grandars.ru/college/biznes/instrumentalnoe-hozyaystvo.html
Как сделать
• Технология
  • keyword-driven подход
  • Предметно-ориентированные Keywords = Bankwords

• Специализация сотрудников
  • Bankwords разрабатываются
     • «инструментальщиками» = программистами автотестов
               по заказу
     • «производственников» - тестировщиков

• Перераспределение функций и смена ролей
  • роль «тест-инженер» выполняет тест-менеджер
  • Тест-кейс запускает на выполнение тест-менеджер
  • Результат прогона , отображаемый в теле тест-кейса,
    анализируется тест-менеджером
Keywords - bankwords
Запуск тест-кейса


   Run
Результат в тест-кейсе
Результат
• Итог:
  •   Трудоемкость оформления тесткейса увеличивается на 10..20%,
  •   Трудоемкость разработки атотеста уменьшается на 80-90%
  •   Типовой автотест готов за 4..8 2..4 часа
  •   Тест-кейсы легким движением при помощи xslt превращаются в
      точную техдокументацию по системе

• Источники выгоды:
  • Программистам автотестов не нужно изучать приложение
  • Тест-менеджер эффективнее работает с привычной формой тест-
    кейса
  • В 80-90% случаев нет этапа разработки автотеста

• Издержки (как же без них)
  • Повышаются требования программистам – нужно писать универсальные механизмы
  • Строже требования к ручным тестерам – нужно писать детальные и
    формализованные тест-кейсы
КОНВЕЙЕР ДАННЫХ
Схема обмена данными




Данные, созданные автотестом i, используются автотестами j,k
Диаграмма – строится динамически, используется Graphviz
Диаграмма строится до и после прогона.
Значения переменных прогона видны по линкам на диаграмме просто анализировать обмен данными между
отдельными тестами цепочки
Организация конвейера
данных
• Кто проектирует: Тест-аналитик
• Кто реализует: программист автор тест-кейса
• Как реализует:
• 1. Формулирует правила обмена данными между тестами
  цепочки
• 2. Задает начальные значения переменных цепочки
Правила обмена




Значение с атрибутом
«импорт» - извлекается из набора переменных цепочки
«экспорт» - помещается в набор переменных цепочки

Первый тест цепочки как правило задает основные параметры,
последующие их используют.

Параметр идентифицируется именем, например «ДатаОперДня»
КОНВЕЙЕР ВЫПОЛНЕНИЯ
Цепочка 0

 тест1   тест2   тест3   тест4
Цепочка 1

 тест1   тест2         тест3       тест4




            datapool



                            .xls
                           .xml
                            DB
Цепочка 2

 тест1   тест2   тест3       тест4




 data1   data2   data3       data4



                      .xls
                     .xml
                      DB
Цепочка 3

 тест1   тест2   тест3       тест4




 data1   data2   data3       data4



                      .xls
                     .xml
                      DB
Цепочка 4

         тест0




 data1   data2   data3     data4




                    .xml
Цепочка 5

data0    тест0




 data1   data2   data3     data4




                    .xml
Цепочка 6

data0    тест0                Data_out




 data1   data2   data3     data4




                    .xml
Цепочки 1

 Тест1.1        Тест1.2        Тест1.3        Тест1.4




           Тест2.1        Тест2.2        Тест2.3        Тест2.4
Цепочки 2

                                                              Data_out
 Тест1.1        Тест1.2        Тест1.3        Тест1.4
                                                                 1




                                                                     Data_out
           Тест2.1        Тест2.2        Тест2.3        Тест2.4
                                                                        2
Цепочки 3

             Data_out               Data_out
 Цепочка 1              Цепочка 2
                1                      2




             10 час                   стенд1
Цепочки 4

               Data_out
 Цепочка 1
                  1




       5 час              стенд1



               Data_out
 Цепочка 2
                  2




       5 час              стенд2
Цепочки 5
стенд1
                             Цепочка 5
   Цепочка 1


стенд2
                Цепочка 2    Цепочка 6


стенд3

    Цепочка 3


стенд4

                 Цепочка 4
Результат
•   До 5 потоков параллельно
•   300..400 тестов во всех цепочках
•   Около 12 час общего времени
•   Около 3..4 час астрономического времени
ПОДГОТОВКА ДАННЫХ
Не хватает данных – что
делать
• Тестовый комплект генерации данных разных типов
• Данные для блока АБС «Расчетно-кассовое обслуживание»
  • Типов данных -20..30
    (клиенты, кассиры, кассы, клиенты, счета, тарифы, ….)
  • Данных каждого типа 1..100
    (счет Петрова, Иванова, …; касса 1,2,…; …)
  • Время генерации 2..5 час
• Комплект может запустить ручной тестировщик
Ручные тестировщики
мешают друг другу – что
делать
• Если бы для каждого тестировщика был свой банк – он и
  бы не мешали друг другу
• Создать (настроить ) банк ручной тестировщик может за
  40..80 час. Вообще, говоря, этим занимаются внедренцы за
  существенные деньги.
• Теоретически можно было бы иметь свою копию БД для
  каждого ручного тестировщика. На практике
  •   1 . не хватает железа
  •   2. не хватает админов
  •   3. нет скриптов клонирования БД
  •   4. расходы на сопровождение N копий БД неприемлемы
Ручные тестировщики не
мешают друг другу – как
• Делаем тестовый комплект для замены
• Тестовый комплект способен создать обособленное отделение банка.
  Отделение банка = функциональный аналог банка.
• Тестовый комплект способен создать платежную систему – компонент АБС,
  обеспечивающий платежи между отделениями
• Ручной тестировщик может создать для себя отделение банка (читай
  обособленный банк)
• Комплект использует данные для блока АБС «Расчетно-кассовое
  обслуживание»
   • Типов данных -20..30
     (клиенты, кассиры, кассы, клиенты, счета, тарифы, ….)
   • Данных каждого типа 1..100
     (счет Петрова, Иванова, …; касса 1,2,…; …)
   • Время генерации 2..5 час
• Комплект может запустить ручной тестировщик
• Время создания банка - 12..14 часов (в 4..5 потоков)
Спасибо за
внимание
Алексей Надененко.
ООО «Сбербанк – технологии», г.Минск

More Related Content

What's hot

Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2
Technopark
 
Cache2012 administrationbasics
Cache2012 administrationbasicsCache2012 administrationbasics
Cache2012 administrationbasics
Denis Pavlov
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
yaevents
 
Victor Kuliamin.CSEDays
Victor Kuliamin.CSEDaysVictor Kuliamin.CSEDays
Victor Kuliamin.CSEDays
LiloSEA
 

What's hot (17)

Контроль качества высоконагруженных систем / Андрей Дроздов (Avito)
Контроль качества высоконагруженных систем / Андрей Дроздов (Avito)Контроль качества высоконагруженных систем / Андрей Дроздов (Avito)
Контроль качества высоконагруженных систем / Андрей Дроздов (Avito)
 
Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2Тестирование осень 2013 лекция 2
Тестирование осень 2013 лекция 2
 
Евгений Сафронов "Тестирование. точка зрения разработчика"
Евгений Сафронов "Тестирование. точка зрения разработчика"Евгений Сафронов "Тестирование. точка зрения разработчика"
Евгений Сафронов "Тестирование. точка зрения разработчика"
 
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
Проблемы документирования в долгосрочных проектах - хотите поговорить об этом?
 
Тестирование spring boot приложений
Тестирование spring boot приложенийТестирование spring boot приложений
Тестирование spring boot приложений
 
О тестировании в EDI
О тестировании в EDIО тестировании в EDI
О тестировании в EDI
 
Unit testing iOS Applications
Unit testing iOS ApplicationsUnit testing iOS Applications
Unit testing iOS Applications
 
Илья Гаврилов
Илья ГавриловИлья Гаврилов
Илья Гаврилов
 
Cache2012 administrationbasics
Cache2012 administrationbasicsCache2012 administrationbasics
Cache2012 administrationbasics
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
 
Unit test быстрый старт
Unit test быстрый стартUnit test быстрый старт
Unit test быстрый старт
 
Victor Kuliamin.CSEDays
Victor Kuliamin.CSEDaysVictor Kuliamin.CSEDays
Victor Kuliamin.CSEDays
 
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
JavaDay'14
JavaDay'14JavaDay'14
JavaDay'14
 
ГЕНЕРАЦИЯ ТЕСТОВ ДЛЯ ОЛИМПИАДНЫХ ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ С ИСПОЛЬЗОВАНИЕМ Г...
ГЕНЕРАЦИЯ ТЕСТОВ ДЛЯ ОЛИМПИАДНЫХ ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ С ИСПОЛЬЗОВАНИЕМ Г...ГЕНЕРАЦИЯ ТЕСТОВ ДЛЯ ОЛИМПИАДНЫХ ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ С ИСПОЛЬЗОВАНИЕМ Г...
ГЕНЕРАЦИЯ ТЕСТОВ ДЛЯ ОЛИМПИАДНЫХ ЗАДАЧ ПО ПРОГРАММИРОВАНИЮ С ИСПОЛЬЗОВАНИЕМ Г...
 

Similar to Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения

Инна Слизовская - Тест-менеджмент: статистика, документация и планы
Инна Слизовская - Тест-менеджмент: статистика, документация и планыИнна Слизовская - Тест-менеджмент: статистика, документация и планы
Инна Слизовская - Тест-менеджмент: статистика, документация и планы
Yandex
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
SQALab
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Maksim Grinevich
 
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Dmitry Andreev
 
Artem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysArtem Shabarshin. CSEDays
Artem Shabarshin. CSEDays
LiloSEA
 
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
dchernilevskiy
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
SQALab
 

Similar to Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения (20)

Организация процесса ручного тестирования
Организация процесса ручного тестированияОрганизация процесса ручного тестирования
Организация процесса ручного тестирования
 
Денис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийДенис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требований
 
Человеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкойЧеловеко-дни на тестирование или как не ошибиться с оценкой
Человеко-дни на тестирование или как не ошибиться с оценкой
 
Инна Слизовская - Тест-менеджмент: статистика, документация и планы
Инна Слизовская - Тест-менеджмент: статистика, документация и планыИнна Слизовская - Тест-менеджмент: статистика, документация и планы
Инна Слизовская - Тест-менеджмент: статистика, документация и планы
 
Оценка трудозатрат на тестирование в проектах сопровождения
Оценка трудозатрат на тестирование в проектах сопровожденияОценка трудозатрат на тестирование в проектах сопровождения
Оценка трудозатрат на тестирование в проектах сопровождения
 
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Test-Cases: избавьтесь от тест-кейсов в тестировании
 
Лекция 11. Тестирование.
Лекция 11. Тестирование.Лекция 11. Тестирование.
Лекция 11. Тестирование.
 
Автоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производстваАвтоматизация сборки и тестирования в разрезе эффективного производства
Автоматизация сборки и тестирования в разрезе эффективного производства
 
10M tests per day
10M tests per day10M tests per day
10M tests per day
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
 
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
Промышленный подход к автоматизации тестирования или Keyword-driven testing в...
 
Илья Гаврилов, Оценка затрат на автоматизацию тестирования
Илья Гаврилов, Оценка затрат на автоматизацию тестированияИлья Гаврилов, Оценка затрат на автоматизацию тестирования
Илья Гаврилов, Оценка затрат на автоматизацию тестирования
 
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
 
Организация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестированииОрганизация тестового набора при автоматизированном функциональном тестировании
Организация тестового набора при автоматизированном функциональном тестировании
 
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестированииМетод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
Метод No-Tests-Cases: избавьтесь от тест-кейсов в тестировании
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Artem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysArtem Shabarshin. CSEDays
Artem Shabarshin. CSEDays
 
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
Parallels, Денис Чернилевский, "Проблемы роста системы тестирования большого ...
 
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 

More from 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-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
Истинная сила тестировщика - информация
Истинная сила тестировщика - информацияИстинная сила тестировщика - информация
Истинная сила тестировщика - информация
 

Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения

  • 1. Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения Алексей Викторович Надененко ООО «Сбербанк-технологии», г. Минск AVNadenenko.SBT@sberbank.ru
  • 2. АБС. Тесты - Особенности • Один документ/операция – тест-кейс длиной 10..15 шагов • Цепочка тест-кейсов – 10..15 тест-кейсов на бизнес-процесс • Тест-кейсы сильно связаны по данным: данные, создаваемые одним тест-кейсом, используются последующими Пример бизнес-процесса: 1. тест-кейс № j создает документ 2. АБС присваивает документу уникальный номер 3. Над документом выполняется операция (зарегистрировать, оплатить , …) 4. Операция порождает 1. Записи в журнале операций (нужно проверять) 2. Записи в журнале проводок (нужно проверять) 3. Новые документы (нужно проверять) 5. тест-кейсы №№ j+k, j+l используют созданный документ
  • 3. АБС. Тестовые данные - особенности • 50..100 - констант и переменных в цепочке • длиной 10..15 тестов, каждый из которых состоит из 10..15 шагов • 3…5 наборов констант и переменных • используются с одной цепочкой. Отличие между наборами – 10..20% значений • 2..4 час • Занимает у тест-аналитика подготовка набора начальных значений для цепочки.
  • 5. 20 век - конвейер аналитик тестировщик программист Тест-инженер Тест-менеджер Разработка Разработка Разработка Прогон Анализ требований тест-кейсов автотестов автотестов результатов Требования Тест-кейсы Автотесты Логи Выводы Основное КБ склад производство
  • 6. 21 век - ГАП аналитик тестировщик Тест-менеджер Разработка Разработка Прогон Анализ требований тест-кейсов тест-кейсов результатов Требования Тест-кейсы Выводы Основное КБ склад производство Разработка Инструменты Инстру- инструментов ментальный цех программист
  • 7. Инструментальное производство - цифры • в себестоимости машиностроительной продукции затраты на технологическую оснастку достигают 15%. • В общих затратах на технологическую подготовку производства затраты на оснастку доходят до 60%. • Проектирование и изготовление технологической оснастки имеет значительную трудоемкость. • Источник - http://www.kazedu.kz/referat/176709 • Затраты на технологическую оснастку в массовом производстве достигают 25-30% стоимости оборудования, в крупносерийном – 10-15%, в мелкосерийном и единичном – около 5%. Доля затрат на оснастку (в %): 1,5- 4, 4-6, 6-8 и 8-15 и выше. • В инструментальных цехах сосредоточено 10—20% станочного парка и занято до 10% работающих. • Источник - http://www.buhucheta.net/referatpage-854-1.html • на долю проектирования и изготовления технологической оснастки при освоении новых изделий приходится более 80% трудоемкости всех работ по подготовке производства. • Источник - http://www.grandars.ru/college/biznes/instrumentalnoe-hozyaystvo.html
  • 8. Как сделать • Технология • keyword-driven подход • Предметно-ориентированные Keywords = Bankwords • Специализация сотрудников • Bankwords разрабатываются • «инструментальщиками» = программистами автотестов по заказу • «производственников» - тестировщиков • Перераспределение функций и смена ролей • роль «тест-инженер» выполняет тест-менеджер • Тест-кейс запускает на выполнение тест-менеджер • Результат прогона , отображаемый в теле тест-кейса, анализируется тест-менеджером
  • 12. Результат • Итог: • Трудоемкость оформления тесткейса увеличивается на 10..20%, • Трудоемкость разработки атотеста уменьшается на 80-90% • Типовой автотест готов за 4..8 2..4 часа • Тест-кейсы легким движением при помощи xslt превращаются в точную техдокументацию по системе • Источники выгоды: • Программистам автотестов не нужно изучать приложение • Тест-менеджер эффективнее работает с привычной формой тест- кейса • В 80-90% случаев нет этапа разработки автотеста • Издержки (как же без них) • Повышаются требования программистам – нужно писать универсальные механизмы • Строже требования к ручным тестерам – нужно писать детальные и формализованные тест-кейсы
  • 14. Схема обмена данными Данные, созданные автотестом i, используются автотестами j,k Диаграмма – строится динамически, используется Graphviz Диаграмма строится до и после прогона. Значения переменных прогона видны по линкам на диаграмме просто анализировать обмен данными между отдельными тестами цепочки
  • 15. Организация конвейера данных • Кто проектирует: Тест-аналитик • Кто реализует: программист автор тест-кейса • Как реализует: • 1. Формулирует правила обмена данными между тестами цепочки • 2. Задает начальные значения переменных цепочки
  • 16. Правила обмена Значение с атрибутом «импорт» - извлекается из набора переменных цепочки «экспорт» - помещается в набор переменных цепочки Первый тест цепочки как правило задает основные параметры, последующие их используют. Параметр идентифицируется именем, например «ДатаОперДня»
  • 18. Цепочка 0 тест1 тест2 тест3 тест4
  • 19. Цепочка 1 тест1 тест2 тест3 тест4 datapool .xls .xml DB
  • 20. Цепочка 2 тест1 тест2 тест3 тест4 data1 data2 data3 data4 .xls .xml DB
  • 21. Цепочка 3 тест1 тест2 тест3 тест4 data1 data2 data3 data4 .xls .xml DB
  • 22. Цепочка 4 тест0 data1 data2 data3 data4 .xml
  • 23. Цепочка 5 data0 тест0 data1 data2 data3 data4 .xml
  • 24. Цепочка 6 data0 тест0 Data_out data1 data2 data3 data4 .xml
  • 25. Цепочки 1 Тест1.1 Тест1.2 Тест1.3 Тест1.4 Тест2.1 Тест2.2 Тест2.3 Тест2.4
  • 26. Цепочки 2 Data_out Тест1.1 Тест1.2 Тест1.3 Тест1.4 1 Data_out Тест2.1 Тест2.2 Тест2.3 Тест2.4 2
  • 27. Цепочки 3 Data_out Data_out Цепочка 1 Цепочка 2 1 2 10 час стенд1
  • 28. Цепочки 4 Data_out Цепочка 1 1 5 час стенд1 Data_out Цепочка 2 2 5 час стенд2
  • 29. Цепочки 5 стенд1 Цепочка 5 Цепочка 1 стенд2 Цепочка 2 Цепочка 6 стенд3 Цепочка 3 стенд4 Цепочка 4
  • 30. Результат • До 5 потоков параллельно • 300..400 тестов во всех цепочках • Около 12 час общего времени • Около 3..4 час астрономического времени
  • 32. Не хватает данных – что делать • Тестовый комплект генерации данных разных типов • Данные для блока АБС «Расчетно-кассовое обслуживание» • Типов данных -20..30 (клиенты, кассиры, кассы, клиенты, счета, тарифы, ….) • Данных каждого типа 1..100 (счет Петрова, Иванова, …; касса 1,2,…; …) • Время генерации 2..5 час • Комплект может запустить ручной тестировщик
  • 33. Ручные тестировщики мешают друг другу – что делать • Если бы для каждого тестировщика был свой банк – он и бы не мешали друг другу • Создать (настроить ) банк ручной тестировщик может за 40..80 час. Вообще, говоря, этим занимаются внедренцы за существенные деньги. • Теоретически можно было бы иметь свою копию БД для каждого ручного тестировщика. На практике • 1 . не хватает железа • 2. не хватает админов • 3. нет скриптов клонирования БД • 4. расходы на сопровождение N копий БД неприемлемы
  • 34. Ручные тестировщики не мешают друг другу – как • Делаем тестовый комплект для замены • Тестовый комплект способен создать обособленное отделение банка. Отделение банка = функциональный аналог банка. • Тестовый комплект способен создать платежную систему – компонент АБС, обеспечивающий платежи между отделениями • Ручной тестировщик может создать для себя отделение банка (читай обособленный банк) • Комплект использует данные для блока АБС «Расчетно-кассовое обслуживание» • Типов данных -20..30 (клиенты, кассиры, кассы, клиенты, счета, тарифы, ….) • Данных каждого типа 1..100 (счет Петрова, Иванова, …; касса 1,2,…; …) • Время генерации 2..5 час • Комплект может запустить ручной тестировщик • Время создания банка - 12..14 часов (в 4..5 потоков)
  • 35. Спасибо за внимание Алексей Надененко. ООО «Сбербанк – технологии», г.Минск