2013-08-03 01 Михаил Подгурский. АБС - 20 лет внутренней разработки
Автотестирование АБС. Конвейер разработки, конвейер...
description
Transcript of Автотестирование АБС. Конвейер разработки, конвейер...
![Page 1: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/1.jpg)
. АвтотестированиеАБС
, Конвейерразработки , конвейерданных конвейервыполнения
Алексей Викторович Надененко
ООО «Сбербанк-технологии», г. Минск[email protected]
![Page 2: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/2.jpg)
. - АБС Тесты Особенности• Один документ/операция – тест-кейс длиной 10..15 шагов
• Цепочка тест-кейсов – 10..15 тест-кейсов на бизнес-процесс
• Тест-кейсы сильно связаны по данным: данные, создаваемые одним тест-кейсом, используются последующими
Пример бизнес-процесса: 1. тест-кейс № j создает документ
2. АБС присваивает документу уникальный номер
3. Над документом выполняется операция (зарегистрировать, оплатить , …)
4. Операция порождает1. Записи в журнале операций (нужно проверять)2. Записи в журнале проводок (нужно проверять)3. Новые документы (нужно проверять)
5. тест-кейсы №№ j+k, j+l используют созданный документ
![Page 3: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/3.jpg)
. - АБС Тестовыеданныеособенности• 50..100 - констант и переменных в цепочке • длиной 10..15 тестов, каждый из которых состоит из 10..15
шагов
• 3…5 наборов констант и переменных • используются с одной цепочкой. Отличие между наборами –
10..20% значений
• 2..4 час • Занимает у тест-аналитика подготовка набора начальных
значений для цепочки.
![Page 4: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/4.jpg)
КОНВЕЙЕРРАЗРАБОТКИ
![Page 5: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/5.jpg)
20 - век конвейер
Разработкатребований
Разработка тест-кейсов
Разработкаавтотестов
Прогон автотестов
Анализ результатов
Требования Тест-кейсы Автотесты Логи
аналитик тестировщик программист Тест-инженер Тест-менеджер
Выводы
КБ Основное производство склад
![Page 6: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/6.jpg)
21 - век ГАП
Разработкатребований
Разработка тест-кейсов
Прогон тест-кейсов
Анализ результатов
Требования Тест-кейсы
аналитик тестировщик Тест-менеджер
Выводы
КБ Основное производство склад
Разработка инструментов
программист
ИнструментыИнстру-ментальный цех
![Page 7: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/7.jpg)
Инструментальное - производство цифры
• в себестоимости машиностроительной продукции затраты на технологическую оснастку достигают 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
![Page 8: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/8.jpg)
Каксделать• Технология• keyword-driven подход• Предметно-ориентированные Keywords = Bankwords
• Специализация сотрудников• Bankwords разрабатываются
• «инструментальщиками» = программистами автотестов по заказу
• «производственников» - тестировщиков
• Перераспределение функций и смена ролей• роль «тест-инженер» выполняет тест-менеджер• Тест-кейс запускает на выполнение тест-менеджер• Результат прогона , отображаемый в теле тест-кейса,
анализируется тест-менеджером
![Page 9: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/9.jpg)
Keywords - bankwords
![Page 10: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/10.jpg)
-Запуск тест кейса
Run
![Page 11: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/11.jpg)
-Результат в тест кейсе
![Page 12: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/12.jpg)
Результат• Итог:• Трудоемкость оформления тесткейса увеличивается на 10..20%, • Трудоемкость разработки атотеста уменьшается на 80-90%• Типовой автотест готов за 4..8 2..4 часа• Тест-кейсы легким движением при помощи xslt превращаются в точную
техдокументацию по системе
• Источники выгоды:• Программистам автотестов не нужно изучать приложение • Тест-менеджер эффективнее работает с привычной формой тест-кейса
• В 80-90% случаев нет этапа разработки автотеста
• Издержки (как же без них)• Повышаются требования программистам – нужно писать универсальные механизмы• Строже требования к ручным тестерам – нужно писать детальные и формализованные тест-
кейсы
![Page 13: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/13.jpg)
КОНВЕЙЕРДАННЫХ
![Page 14: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/14.jpg)
Схемаобменаданными
Данные, созданные автотестом i, используются автотестами j,kДиаграмма – строится динамически, используется GraphvizДиаграмма строится до и после прогона. Значения переменных прогона видны по линкам на диаграмме просто анализировать обмен данными между отдельными тестами цепочки
![Page 15: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/15.jpg)
Организацияконвейераданных• Кто проектирует: Тест-аналитик • Кто реализует: программист автор тест-кейса• Как реализует:• 1. Формулирует правила обмена данными между тестами
цепочки• 2. Задает начальные значения переменных цепочки
![Page 16: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/16.jpg)
Правилаобмена
Значение с атрибутом«импорт» - извлекается из набора переменных цепочки«экспорт» - помещается в набор переменных цепочки
Первый тест цепочки как правило задает основные параметры, последующие их используют.
Параметр идентифицируется именем, например «ДатаОперДня»
![Page 17: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/17.jpg)
КОНВЕЙЕРВЫПОЛНЕНИЯ
![Page 18: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/18.jpg)
Цепочка 0
тест1 тест2 тест3 тест4
![Page 19: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/19.jpg)
Цепочка 1
тест1 тест2 тест3 тест4
datapool
.xls.xmlDB
![Page 20: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/20.jpg)
Цепочка 2
тест1 тест2 тест3 тест4
data1
.xls.xmlDB
data2 data3 data4
![Page 21: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/21.jpg)
Цепочка 3
тест1 тест2 тест3 тест4
data1
.xls.xmlDB
data2 data3 data4
![Page 22: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/22.jpg)
Цепочка 4
тест0
data1
.xml
data2 data3 data4
![Page 23: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/23.jpg)
Цепочка 5
тест0
data1
.xml
data2 data3 data4
data0
![Page 24: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/24.jpg)
Цепочка 6
тест0
data1
.xml
data2 data3 data4
data0 Data_out
![Page 25: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/25.jpg)
Цепочки 1
Тест1.1 Тест1.2 Тест1.3 Тест1.4
Тест2.1 Тест2.2 Тест2.3 Тест2.4
![Page 26: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/26.jpg)
Цепочки 2
Тест1.1 Тест1.2 Тест1.3 Тест1.4
Тест2.1 Тест2.2 Тест2.3 Тест2.4
Data_out 1
Data_out 2
![Page 27: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/27.jpg)
Цепочки 3
Цепочка 1Data_out
1 Цепочка 2Data_out
2
10 час стенд1
![Page 28: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/28.jpg)
Цепочки 4
Цепочка 1Data_out
1
5 час стенд1
Цепочка 2Data_out
2
5 час стенд2
![Page 29: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/29.jpg)
Цепочки 5
Цепочка 1
стенд1
Цепочка 2
стенд2
Цепочка 3
стенд3
Цепочка 4
стенд4
Цепочка 6
Цепочка 5
![Page 30: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/30.jpg)
Результат• До 5 потоков параллельно• 300..400 тестов во всех цепочках• Около 12 час общего времени• Около 3..4 час астрономического времени
![Page 31: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/31.jpg)
ПОДГОТОВКАДАННЫХ
![Page 32: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/32.jpg)
– Нехватаетданных чтоделать• Тестовый комплект генерации данных разных типов• Данные для блока АБС «Расчетно-кассовое обслуживание»• Типов данных -20..30
(клиенты, кассиры, кассы, клиенты, счета, тарифы, ….)• Данных каждого типа 1..100
(счет Петрова, Иванова, …; касса 1,2,…; …)• Время генерации 2..5 час
• Комплект может запустить ручной тестировщик
![Page 33: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/33.jpg)
Ручныетестировщики – мешаютдруг другу что
делать• Если бы для каждого тестировщика был свой банк – он и
бы не мешали друг другу• Создать (настроить ) банк ручной тестировщик может за
40..80 час. Вообще, говоря, этим занимаются внедренцы за существенные деньги.
• Теоретически можно было бы иметь свою копию БД для каждого ручного тестировщика. На практике • 1 . не хватает железа• 2. не хватает админов• 3. нет скриптов клонирования БД• 4. расходы на сопровождение N копий БД неприемлемы
![Page 34: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/34.jpg)
Ручныетестировщики – немешаютдруг другу
как• Делаем тестовый комплект для замены • Тестовый комплект способен создать обособленное отделение банка. Отделение
банка = функциональный аналог банка.• Тестовый комплект способен создать платежную систему – компонент АБС,
обеспечивающий платежи между отделениями• Ручной тестировщик может создать для себя отделение банка (читай
обособленный банк)• Комплект использует данные для блока АБС «Расчетно-кассовое обслуживание»
• Типов данных -20..30 (клиенты, кассиры, кассы, клиенты, счета, тарифы, ….)
• Данных каждого типа 1..100(счет Петрова, Иванова, …; касса 1,2,…; …)
• Время генерации 2..5 час• Комплект может запустить ручной тестировщик• Время создания банка - 12..14 часов (в 4..5 потоков)
![Page 35: Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения](https://reader037.fdocuments.net/reader037/viewer/2022102902/558c943dd8b42af9248b457c/html5/thumbnails/35.jpg)
Спасибо завниманиеАлексей Надененко.ООО «Сбербанк – технологии», г.Минск