SlideShare a Scribd company logo
1 of 22
Download to read offline
АВТОМАТИЗИРОВАННОЕ
ТЕСТИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ
ИНСТРУМЕНТОВ BEHAVIOUR DRIVEN
DEVELOPMENT В
СИСТЕМООБРАЗУЮЩЕЙ ФИНАНСОВОЙ
ОРГАНИЗАЦИИ
Василий Михайлов
ЗАО НКО НРД
19 МАРТА 2015, Г. МОСКВА
ВАСИЛИЙ МИХАЙЛОВ
РУКОВОДИТЕЛЬ РАЗРАБОТКИ
АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ С
ИСПОЛЬЗОВАНИЕМ ИНСТРУМЕНТОВ
BEHAVIOUR DRIVEN DEVELOPMENT В
СИСТЕМООБРАЗУЮЩЕЙ ФИНАНСОВОЙ
ОРГАНИЗАЦИИ
КОНТАКТЫ
Михайлов Василий
Tel.: +7 (495) 234-48-27, доб. 4785
Отдел маркетинга:
Tel.: +7 (495) 234-48-27
E-mail: info@nsd.ru
Веб-сайт:
www.nsd.ru, www.isin.ru, www.aecsd.org, www.dcc.ru, www.lei-code.ru
Адрес:
105066, Россия, Москва,
ул. Спартаковская, д.12
ЗАЧЕМ ТЕСТИРОВАТЬ?
4
ЗАЧЕМ ТЕСТИРОВАТЬ?
5
$$
ЭКОНОМИЯ ЗА СЧЕТ ТЕСТИРОВАНИЯ НА РАННИХ СТАДИЯХ
6
1x
4x
7x
14x
Дефект найденный позже
дороже в устранении (*)
Модульное
тестирование
(МТ)
Интеграционое
тестирование
(ИТ)
Приемочное
тестирование
(UAT)
Промышленная
среда
(ПРОМ)
(*) эмпирическая оценка
1x
1,7x
2,7x
МТ + UAT +
ИТ
ИТ + UAT UAT
МТ 37% 0% 0%
ИТ 50% 50% 0%
UAT 8% 40% 60%
ПРОМ 5% 10% 40%
Раннее тестирование снижает
стоимость устранения
дефектов в 2,7 раза
ПРИМЕР ЭКОНОМИИ ЗА СЧЕТ РАННЕГО ТЕСТИРОВАНИЯ
7
Июль 201x Ноябрь 201x
Стадия Часы (*)
Доля устранен-
ных дефектов
Устранено
дефектов
Цена устране-
ния (usd)
Доля устранен-
ных дефектов
Устранено
дефектов
Цена устране-
ния
Модульное
тестирование
2 11% 150 4 500 26% 346 10 380
Интеграционное
тестирование
8 74% 1030 117 420 62% 839 100 680
UAT 14 3% 35 7 350 5% 65 13 650
Промышленная среда 28 12% 171 71 820 8% 102 42 840
100% 1386 207 270 100% 1352 167 550
Экономия тыс USD 39 720
(*) эмпирическая оценка
В ПРИВЕДЕННОМ ПРИМЕРЕ НА СТАДИИ МОДУЛЬНОГО
ТЕСТИРОВАНИЯ НЕ УДАЕТСЯ НАЙТИ 37% ДЕФЕКТОВ
8
Июль 201x Могло бы быть
Стадия Часы (*)
Доля устранен-
ных дефектов
Устранено
дефектов
Цена устране-
ния (usd)
Доля устранен-
ных дефектов
Устранено
дефектов
Цена устране-
ния (usd)
Модульное
тестирование
2 11% 150 4 500 37% 501 15 030
Интеграционное
тестирование
8 74% 1030 117 420 50% 676 81 120
UAT 14 3% 35 7 350 8% 108 22 680
Промышленная среда 28 12% 171 71 820 5% 67 28 140
100% 1386 207 270 100% 1352 146 970
Экономия тыс USD 60 300
ПОЧЕМУ В ПРИВЕДЕННОМ ПРИМЕРЕ НА СТАДИИ
МОДУЛЬНОГО ТЕСТИРОВАНИЯ НЕ УДАЕТСЯ НАЙТИ 37%
ДЕФЕКТОВ?
9
• Недостаточное количество тестировщиков?
• Недостаточная квалификация тестировщиков?
ПОЧЕМУ В ПРИВЕДЕННОМ ПРИМЕРЕ НА СТАДИИ
МОДУЛЬНОГО ТЕСТИРОВАНИЯ НЕ УДАЕТСЯ НАЙТИ 37%
ДЕФЕКТОВ?
10
ВРЕМЯ
ПОЧЕМУ В ПРИВЕДЕННОМ ПРИМЕРЕ НА СТАДИИ
МОДУЛЬНОГО ТЕСТИРОВАНИЯ НЕ УДАЕТСЯ НАЙТИ 37%
ДЕФЕКТОВ?
11
Разработка
Модульное тестирование
План
Разработка
Модульное тести…
Факт
Deadline стадии
модульного
тестирования
11%
ошибок
КАК НАХОДИТЬ 37% ДЕФЕКТОВ?
12
СМЕЩАЕМ АКЦЕНТЫ. ТЕСТИРОВАТЬ БУДЕТ РАЗРАБОТЧИК
13
Разработка
Автоматизация
сценариев
Подготовка
сценариев
Deadline
Исследовательское
тестирование
КАК ОРГАНИЗОВАТЬ?
14
• Вопросы тестировщика: как написать достаточно детальный тест-кейс
на код, которого еще нет? Нет экранных форм, нет названий методов
API, нет описания типов данных - вообще ничего нет
• Вопросы разработчика: что имел ввиду тестировщик???
ТЕСТОВЫЕ СПЕЦИФИКАЦИИ НА BDD
15
• Простые. Всего 4 конструкции - Дано, Если, И, То
• Для написания тестового сценария тестировщику не нужно иметь
реализацию; достаточно знать постановку задачи на систему
• Разработчик и тестировщик не ждут друг друга по пол-дня. Разработчик
тестирует сам.
• Прогресс разработки измеряется количеством passed-сценариев
• При изменении кода не нужно откатывать тест-кейсы и ретестировать
вручную
ПРИМЕР СПЕЦИФИКАЦИИ BDD
16
# language: ru
Функционал: Клиринговый сеанс.
Сценарий: Исключение сделки из клирингового сеанса при отсутствии денег
Дано Новый клиринговый сеанс со сделкой
| NUM_SORT | ORDER_ID | F_RESERVATION | F_SUO | STATUS | EXCLUDE_REASON |
| 1 | 1 | 0 | 0 | P | 0 |
Если финиструменты
| ORDER_ID | LA_D_ID | LA_C_ID | QUANTITY |
| 1 | 1 | 2 | 5 |
И расчеты по деньгам в сделке
| ORDER_ID | BA_D_ID | BA_C_ID | AMOUNT |
| 1 | 1001 | 1003 | 3.1 |
И остатки по лицевым счетам
| LIC_ACC_ID | FACT_VALUE | CALC_VALUE |
| 1 | 5 | 5 |
| 2 | 0 | 0 |
И остаток по денежным счетам
| BANK_ACC_ID | FACT_VALUE | CALC_VALUE | RESERV_VALUE | F_RESERVATION_CALC |
| 1001 | 2.7 | 2.7 | 0 | 0 |
| 1003 | 0 | 0 | 0 | 0 |
То Сделка исключается из клирингового сеанса
| NUM_SORT | ORDER_ID | F_RESERVATION | F_SUO | STATUS | EXCLUDE_REASON |
| 1 | 1 | 0 | 0 | P | 0 |
ПРИМЕР РЕАЛИЗАЦИИ НА JAVA 1 / 2
17
@Дано("^Новый клиринговый сеанс со сделкой$") //таблица TT_CLR_DEAL
public void Новый_клиринговый_сеанс_со_сделкой(DataTable clrDeal) throws Throwable, SQLException {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
con = DriverManager.getConnection("jdbc:oracle:thin:@eprusamw0125:1521/ORA11G", "qa", "qa");
List<Map<String, String>> data = clrDeal.asMaps(String.class, String.class);
for (int i = 0; i < data.size(); i++) {
String sql = ("INSERT INTO TT_CLR_DEAL (NUM_SORT, ORDER_ID, F_RESERVATION, F_SUO, STATUS,
EXCLUDE_REASON)" +
"VALUES (" + data.get(i).get("NUM_SORT") + "," + data.get(i).get("ORDER_ID") + ","
+ data.get(i).get("F_RESERVATION") + "," + data.get(i).get("F_SUO") + ",'"
+ data.get(i).get("STATUS")
+ "'," + data.get(i).get("EXCLUDE_REASON") + ")");
System.out.println(sql);
st = con.createStatement();
st.executeUpdate(sql);
}
}
ПРИМЕР РЕАЛИЗАЦИИ НА JAVA 2 / 2
18
@И("^расчеты по деньгам в сделке$")//таблица TT_CLR_DEAL_MONEY
public void расчеты_по_деньгам_в_сделке(DataTable clrDealMoney) throws Throwable {
List<Map<String, String>> data = clrDealMoney.asMaps(String.class, String.class);
for (int i = 0; i < data.size(); i++) {
String sql = ("INSERT INTO TT_CLR_DEAL_MONEY (ORDER_ID, BA_D_ID, BA_C_ID, AMOUNT)" +
"VALUES (" + data.get(i).get("ORDER_ID") + "," + data.get(i).get("BA_D_ID") + ","
+ data.get(i).get("BA_C_ID") + "," + data.get(i).get("AMOUNT") + ")");
System.out.println(sql);
st = con.createStatement();
st.executeUpdate(sql);
}
}
…
@То("^Сделка исключается из клирингового сеанса$")//таблица TT_CLR_DEAL
public void Сделка_исключается_из_клирингового_сеанса(DataTable expectedClrDeal) {
…
st = con.createStatement();
String sql = "begin execute_clearing_session(1); end;";
System.out.println(sql);
st.executeUpdate(sql);
…
}
ОТСЛЕЖИВАЕМ ГОТОВНОСТЬ РЕЛИЗА ПО PASSED-
СЦЕНАРИЯМ
19
0
100
200
300
400
500
600
Planned
Passed
Failed
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
20
• С чего начать? Развернуть Cucumber, начать писать BDD на баги
• Нужно ли нанимать тестировщиков с навыками написания автотестов?
Нет
• Сколько сценариев делать? Варьируется. В среднем - 1 сценарий на 4
часа разработки
• Сколько нужно модульных тестировщиков? Обычно достаточно одного
модульного тестировщика на шесть разработчиков
CПАСИБО
ЗА ВНИМАНИЕ!
ПРАВОВАЯ ОГОВОРКА
 Настоящая презентация была подготовлена и выпущена НКО ЗАО НРД (далее – «Компания»). Если нет какой-либо оговорки об ином, то Компания считается источником
всей информации, изложенной в настоящем документе. Данная информация предоставляется по состоянию на дату настоящего документа и может быть изменена без
какого-либо уведомления.
 Данный документ не является, не формирует и не должен рассматриваться в качестве предложения или же приглашения для продажи или участия в подписке, или же, как
побуждение к приобретению или же к подписке на какие-либо ценные бумаги, а также этот документ или его часть или же факт его распространения не являются
основанием и на них нельзя полагаться в связи с каким-либо предложением, договором, обязательством или же инвестиционным решением, связанными с ним, равно как
и он не является рекомендацией относительно ценных бумаг компании.
 Изложенная в данном документе информация не являлась предметом независимой проверки. В нем также не содержится каких-либо заверений или гарантий,
сформулированных или подразумеваемых и никто не должен полагаться на достоверность, точность и полноту информации или мнения, изложенного здесь. Никто из
Компании или каких-либо ее дочерних обществ или аффилированных лиц или их директоров, сотрудников или работников, консультантов или их представителей не
принимает какой-либо ответственности (независимо от того, возникла ли она в результате халатности или чего-то другого), прямо или косвенно связанной с
использованием этого документа или иным образом возникшей из него.
 Данная презентация содержит прогнозные заявления. Все включенные в настоящую презентацию заявления, за исключением заявлений об исторических фактах, включая,
но, не ограничиваясь, заявлениями, относящимися к нашему финансовому положению, бизнес-стратегии, планам менеджмента и целям по будущим операциям являются
прогнозными заявлениями. Эти прогнозные заявления включают в себя известные и неизвестные риски, факторы неопределенности и иные факторы, которые могут стать
причиной того, что наши нынешние показатели, достижения, свершения или же производственные показатели, будут существенно отличаться от тех, которые
сформулированы или подразумеваются под этими прогнозными заявлениями. Данные прогнозные заявления основаны на многочисленных презумпциях относительно
нашей нынешней и будущей бизнес-стратегии и среды, в которой мы ожидаем осуществлять свою деятельность в будущем. Важнейшими факторами, которые могут
повлиять на наши нынешние показатели, достижения, свершения или же производственные показатели, которые могут существенно отличаться от тех, которые
сформулированы или подразумеваются этими прогнозными заявлениями являются, помимо иных факторов, следующие:
 восприятие рыночных услуг, предоставляемых Компанией и ее дочерними обществами;
 волатильность (а) Российской экономики и рынка ценных бумаг и (b) секторов с высоким уровнем конкуренции, в которых Компания и ее дочерние общества
осуществляют свою деятельность;
 изменения в (a) отечественном и международном законодательстве и налоговом регулировании и (b) государственных программах, относящихся к финансовым
рынкам и рынкам ценных бумаг;
 ростом уровня конкуренции со стороны новых игроков на рынке России;
 способность успевать за быстрыми изменениями в научно-технической среде, включая способность использовать расширенные функциональные возможности,
которые популярны среди клиентов Компании и ее дочерних обществ;
 способность сохранять преемственность процесса внедрения новых конкурентных продуктов и услуг, равно как и поддержка конкурентоспособности;
 способность привлекать новых клиентов на отечественный рынок и в зарубежных юрисдикциях;
 способность увеличивать предложение продукции в зарубежных юрисдикциях.
 Прогнозные заявления делаются только на дату настоящей презентации, и мы точно отрицаем наличие любых обязательств по обновлению или пересмотру прогнозных
заявлений в настоящей презентации в связи с изменениями наших ожиданий, или перемен в условиях или обстоятельствах, на которых основаны эти прогнозные
заявления.

More Related Content

What's hot

Управление рисками
Управление рискамиУправление рисками
Управление рисками
Boris Volfson
 
управление рисками
управление рискамиуправление рисками
управление рисками
Irina Erofeeva
 
олег афанасьев результативный менеджмент девять шагов к вершинам мастерства...
олег афанасьев  результативный менеджмент  девять шагов к вершинам мастерства...олег афанасьев  результативный менеджмент  девять шагов к вершинам мастерства...
олег афанасьев результативный менеджмент девять шагов к вершинам мастерства...
Oleg Afanasyev
 
Управление рисками в проектах. Попытка сравнения
Управление рисками в проектах. Попытка сравнения Управление рисками в проектах. Попытка сравнения
Управление рисками в проектах. Попытка сравнения
Евгений Пикулев
 

What's hot (20)

История развития системы мотивации.
История развития системы мотивации.История развития системы мотивации.
История развития системы мотивации.
 
Управление рисками
Управление рискамиУправление рисками
Управление рисками
 
Устранение потерь. Свод знаний участника тренинга
Устранение потерь. Свод знаний участника тренингаУстранение потерь. Свод знаний участника тренинга
Устранение потерь. Свод знаний участника тренинга
 
презентация кпс (пред)
презентация кпс (пред)презентация кпс (пред)
презентация кпс (пред)
 
управление рисками
управление рискамиуправление рисками
управление рисками
 
Дмитрий Маев: Управленческие поединки. Эффективная технология развития перего...
Дмитрий Маев: Управленческие поединки. Эффективная технология развития перего...Дмитрий Маев: Управленческие поединки. Эффективная технология развития перего...
Дмитрий Маев: Управленческие поединки. Эффективная технология развития перего...
 
Улучшение процесса продаж. Денис Рябов 16.01.2012
Улучшение процесса продаж. Денис Рябов 16.01.2012Улучшение процесса продаж. Денис Рябов 16.01.2012
Улучшение процесса продаж. Денис Рябов 16.01.2012
 
олег афанасьев результативный менеджмент девять шагов к вершинам мастерства...
олег афанасьев  результативный менеджмент  девять шагов к вершинам мастерства...олег афанасьев  результативный менеджмент  девять шагов к вершинам мастерства...
олег афанасьев результативный менеджмент девять шагов к вершинам мастерства...
 
Cl cup technical engineering-corrected
Cl cup technical engineering-correctedCl cup technical engineering-corrected
Cl cup technical engineering-corrected
 
Cl mt guide_semifinal_v2
Cl mt guide_semifinal_v2Cl mt guide_semifinal_v2
Cl mt guide_semifinal_v2
 
мастер класс риски ет 70715
мастер класс риски ет 70715мастер класс риски ет 70715
мастер класс риски ет 70715
 
101 инструмент вашего проекта шести сигм
101 инструмент вашего проекта шести сигм101 инструмент вашего проекта шести сигм
101 инструмент вашего проекта шести сигм
 
Profiles international методика повышения эффективности управления-2012
Profiles international   методика повышения эффективности управления-2012Profiles international   методика повышения эффективности управления-2012
Profiles international методика повышения эффективности управления-2012
 
Развиваем безопасность на производстве
Развиваем безопасность на производствеРазвиваем безопасность на производстве
Развиваем безопасность на производстве
 
Управление рисками в проектах. Попытка сравнения
Управление рисками в проектах. Попытка сравнения Управление рисками в проектах. Попытка сравнения
Управление рисками в проектах. Попытка сравнения
 
Управление рисками
Управление рискамиУправление рисками
Управление рисками
 
Lean Six Sigma Белый Пояс 1
Lean Six Sigma Белый Пояс 1Lean Six Sigma Белый Пояс 1
Lean Six Sigma Белый Пояс 1
 
Prince2 на практике
Prince2 на практикеPrince2 на практике
Prince2 на практике
 
Как раскрыть и реализовать потенциал организации
Как раскрыть и реализовать потенциал организацииКак раскрыть и реализовать потенциал организации
Как раскрыть и реализовать потенциал организации
 
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUAREТехники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
Техники аналитика - CATWOE, H-METHOD, MOSCOW, SQUARE
 

Viewers also liked

Коллектив Яндекс.Картинок и Adoption Curve
Коллектив Яндекс.Картинок и Adoption CurveКоллектив Яндекс.Картинок и Adoption Curve
Коллектив Яндекс.Картинок и Adoption Curve
Magneta AI
 
тенишев научить и зажечь
тенишев   научить и зажечьтенишев   научить и зажечь
тенишев научить и зажечь
Magneta AI
 
DevOps - очередное красивое слово или следующая ступень эволюции?
DevOps - очередное красивое слово или следующая ступень эволюции?DevOps - очередное красивое слово или следующая ступень эволюции?
DevOps - очередное красивое слово или следующая ступень эволюции?
Magneta AI
 
зимин метрики в стиле Heart - как понять, что продукт хороший и нравится по...
зимин   метрики в стиле Heart - как понять, что продукт хороший и нравится по...зимин   метрики в стиле Heart - как понять, что продукт хороший и нравится по...
зимин метрики в стиле Heart - как понять, что продукт хороший и нравится по...
Magneta AI
 
разумовская роль эмпатии в создании продукта. как найти реальную боль клиен...
разумовская   роль эмпатии в создании продукта. как найти реальную боль клиен...разумовская   роль эмпатии в создании продукта. как найти реальную боль клиен...
разумовская роль эмпатии в создании продукта. как найти реальную боль клиен...
Magneta AI
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипирование
Maxim Gaponov
 
кривошеев архитектура как функция от . или как недостаток здравого смысла у...
кривошеев   архитектура как функция от . или как недостаток здравого смысла у...кривошеев   архитектура как функция от . или как недостаток здравого смысла у...
кривошеев архитектура как функция от . или как недостаток здравого смысла у...
Magneta AI
 
Современные тренды разработки ПО - это должен знать каждый(Agile, Lean, Lean ...
Современные тренды разработки ПО - это должен знать каждый(Agile, Lean, Lean ...Современные тренды разработки ПО - это должен знать каждый(Agile, Lean, Lean ...
Современные тренды разработки ПО - это должен знать каждый(Agile, Lean, Lean ...
Magneta AI
 
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
HappyDev
 

Viewers also liked (20)

Внедрение изменений без длинных документов, долгих согласований и формальных ...
Внедрение изменений без длинных документов, долгих согласований и формальных ...Внедрение изменений без длинных документов, долгих согласований и формальных ...
Внедрение изменений без длинных документов, долгих согласований и формальных ...
 
Коллектив Яндекс.Картинок и Adoption Curve
Коллектив Яндекс.Картинок и Adoption CurveКоллектив Яндекс.Картинок и Adoption Curve
Коллектив Яндекс.Картинок и Adoption Curve
 
зуева татьяна - опыт автоматизации тестирования в Agile проекте
зуева татьяна -  опыт автоматизации тестирования в Agile проектезуева татьяна -  опыт автоматизации тестирования в Agile проекте
зуева татьяна - опыт автоматизации тестирования в Agile проекте
 
тенишев научить и зажечь
тенишев   научить и зажечьтенишев   научить и зажечь
тенишев научить и зажечь
 
DevOps - очередное красивое слово или следующая ступень эволюции?
DevOps - очередное красивое слово или следующая ступень эволюции?DevOps - очередное красивое слово или следующая ступень эволюции?
DevOps - очередное красивое слово или следующая ступень эволюции?
 
Менеджер - глупая идея!
Менеджер - глупая идея!Менеджер - глупая идея!
Менеджер - глупая идея!
 
Как вовлечь команду проекта в работу с бэклогом
Как вовлечь команду проекта в работу с бэклогомКак вовлечь команду проекта в работу с бэклогом
Как вовлечь команду проекта в работу с бэклогом
 
зимин метрики в стиле Heart - как понять, что продукт хороший и нравится по...
зимин   метрики в стиле Heart - как понять, что продукт хороший и нравится по...зимин   метрики в стиле Heart - как понять, что продукт хороший и нравится по...
зимин метрики в стиле Heart - как понять, что продукт хороший и нравится по...
 
Agile/Scrum
Agile/ScrumAgile/Scrum
Agile/Scrum
 
разумовская роль эмпатии в создании продукта. как найти реальную боль клиен...
разумовская   роль эмпатии в создании продукта. как найти реальную боль клиен...разумовская   роль эмпатии в создании продукта. как найти реальную боль клиен...
разумовская роль эмпатии в создании продукта. как найти реальную боль клиен...
 
Тестирование веб-проектов в Agile
Тестирование веб-проектов в AgileТестирование веб-проектов в Agile
Тестирование веб-проектов в Agile
 
Бумажное прототипирование
Бумажное прототипированиеБумажное прототипирование
Бумажное прототипирование
 
кривошеев архитектура как функция от . или как недостаток здравого смысла у...
кривошеев   архитектура как функция от . или как недостаток здравого смысла у...кривошеев   архитектура как функция от . или как недостаток здравого смысла у...
кривошеев архитектура как функция от . или как недостаток здравого смысла у...
 
Современные тренды разработки ПО - это должен знать каждый(Agile, Lean, Lean ...
Современные тренды разработки ПО - это должен знать каждый(Agile, Lean, Lean ...Современные тренды разработки ПО - это должен знать каждый(Agile, Lean, Lean ...
Современные тренды разработки ПО - это должен знать каждый(Agile, Lean, Lean ...
 
Доски проектов и продуктов на TFS: Agile-визуализация на уровне компании
Доски проектов и продуктов на TFS: Agile-визуализация на уровне компанииДоски проектов и продуктов на TFS: Agile-визуализация на уровне компании
Доски проектов и продуктов на TFS: Agile-визуализация на уровне компании
 
Code review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспеченияCode review как средство обеспечения качества программного обеспечения
Code review как средство обеспечения качества программного обеспечения
 
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
2015-12-05 Александр Бындю, Андрей Шапиро - Пять самых важных составляющих пр...
 
Cтатические анализаторы систем 1с AgileDays 2015
Cтатические анализаторы систем 1с AgileDays 2015Cтатические анализаторы систем 1с AgileDays 2015
Cтатические анализаторы систем 1с AgileDays 2015
 
Rugby, Scrum и командная работа
Rugby, Scrum и командная работаRugby, Scrum и командная работа
Rugby, Scrum и командная работа
 
Развитие навыков 1с специалиста до 5 го уровня
Развитие навыков 1с специалиста до 5 го уровняРазвитие навыков 1с специалиста до 5 го уровня
Развитие навыков 1с специалиста до 5 го уровня
 

Similar to михайлов автоматизированное тестирование с использованием инструментов Behaviour driven development в системообразующей финансовой организации

Автоматизированное тестирование с использованием инструментов Behaviour drive...
Автоматизированное тестирование с использованием инструментов Behaviour drive...Автоматизированное тестирование с использованием инструментов Behaviour drive...
Автоматизированное тестирование с использованием инструментов Behaviour drive...
Magneta AI
 
Сломанное изобилие, или Что делать, если реклама не работает
Сломанное изобилие, или Что делать, если реклама не работаетСломанное изобилие, или Что делать, если реклама не работает
Сломанное изобилие, или Что делать, если реклама не работает
Клуб бизнесменов WISE Украины
 
ЦИФРЫ: БИЗНЕС-ПЛАН И РАСЧЕТЫ
ЦИФРЫ: БИЗНЕС-ПЛАН И РАСЧЕТЫЦИФРЫ: БИЗНЕС-ПЛАН И РАСЧЕТЫ
ЦИФРЫ: БИЗНЕС-ПЛАН И РАСЧЕТЫ
startupvillage2014
 
Е. Галушко - «ЭТАПЫ УСПЕШНОГО СОСТАВЛЕНИЯ БИЗНЕС-ПЛАНА»
Е. Галушко - «ЭТАПЫ  УСПЕШНОГО  СОСТАВЛЕНИЯ  БИЗНЕС-ПЛАНА»Е. Галушко - «ЭТАПЫ  УСПЕШНОГО  СОСТАВЛЕНИЯ  БИЗНЕС-ПЛАНА»
Е. Галушко - «ЭТАПЫ УСПЕШНОГО СОСТАВЛЕНИЯ БИЗНЕС-ПЛАНА»
Global Management Challenge
 
2. организационное сканирование и анализ.
2. организационное сканирование и анализ.2. организационное сканирование и анализ.
2. организационное сканирование и анализ.
akavnezna
 
аутплейсмент эффективный инструмент в условиях нестабильной экономической сит...
аутплейсмент эффективный инструмент в условиях нестабильной экономической сит...аутплейсмент эффективный инструмент в условиях нестабильной экономической сит...
аутплейсмент эффективный инструмент в условиях нестабильной экономической сит...
Elena Ryuse
 
Василий Михайлов. ИТ-блок и предпринимательство в системообразующей финансово...
Василий Михайлов. ИТ-блок и предпринимательство в системообразующей финансово...Василий Михайлов. ИТ-блок и предпринимательство в системообразующей финансово...
Василий Михайлов. ИТ-блок и предпринимательство в системообразующей финансово...
ScrumTrek
 
Финансовое планирование бюджета IT-компании
Финансовое планирование бюджета IT-компанииФинансовое планирование бюджета IT-компании
Финансовое планирование бюджета IT-компании
ITCP Community
 
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
Dmitriy Pryadko
 

Similar to михайлов автоматизированное тестирование с использованием инструментов Behaviour driven development в системообразующей финансовой организации (20)

Автоматизированное тестирование с использованием инструментов Behaviour drive...
Автоматизированное тестирование с использованием инструментов Behaviour drive...Автоматизированное тестирование с использованием инструментов Behaviour drive...
Автоматизированное тестирование с использованием инструментов Behaviour drive...
 
Сломанное изобилие, или Что делать, если реклама не работает
Сломанное изобилие, или Что делать, если реклама не работаетСломанное изобилие, или Что делать, если реклама не работает
Сломанное изобилие, или Что делать, если реклама не работает
 
Самурай оптимизации: как отличить эффектность от эффективности?
Самурай оптимизации: как отличить эффектность от эффективности?Самурай оптимизации: как отличить эффектность от эффективности?
Самурай оптимизации: как отличить эффектность от эффективности?
 
ЦИФРЫ: БИЗНЕС-ПЛАН И РАСЧЕТЫ
ЦИФРЫ: БИЗНЕС-ПЛАН И РАСЧЕТЫЦИФРЫ: БИЗНЕС-ПЛАН И РАСЧЕТЫ
ЦИФРЫ: БИЗНЕС-ПЛАН И РАСЧЕТЫ
 
PwC: Финансовые модели для стартапов
PwC: Финансовые модели для стартапов PwC: Финансовые модели для стартапов
PwC: Финансовые модели для стартапов
 
Леонид Блайвас. Аэрофлот. Инновации в методологии. Эффективность и простота.
Леонид Блайвас. Аэрофлот. Инновации в методологии. Эффективность и простота.Леонид Блайвас. Аэрофлот. Инновации в методологии. Эффективность и простота.
Леонид Блайвас. Аэрофлот. Инновации в методологии. Эффективность и простота.
 
Е. Галушко - «ЭТАПЫ УСПЕШНОГО СОСТАВЛЕНИЯ БИЗНЕС-ПЛАНА»
Е. Галушко - «ЭТАПЫ  УСПЕШНОГО  СОСТАВЛЕНИЯ  БИЗНЕС-ПЛАНА»Е. Галушко - «ЭТАПЫ  УСПЕШНОГО  СОСТАВЛЕНИЯ  БИЗНЕС-ПЛАНА»
Е. Галушко - «ЭТАПЫ УСПЕШНОГО СОСТАВЛЕНИЯ БИЗНЕС-ПЛАНА»
 
Панель KPI при контроле бизнес-кейса проекта PRINCE2
Панель KPI при контроле бизнес-кейса проекта PRINCE2Панель KPI при контроле бизнес-кейса проекта PRINCE2
Панель KPI при контроле бизнес-кейса проекта PRINCE2
 
2. организационное сканирование и анализ.
2. организационное сканирование и анализ.2. организационное сканирование и анализ.
2. организационное сканирование и анализ.
 
SAP Process Mining by Celonis
SAP Process Mining by CelonisSAP Process Mining by Celonis
SAP Process Mining by Celonis
 
аутплейсмент эффективный инструмент в условиях нестабильной экономической сит...
аутплейсмент эффективный инструмент в условиях нестабильной экономической сит...аутплейсмент эффективный инструмент в условиях нестабильной экономической сит...
аутплейсмент эффективный инструмент в условиях нестабильной экономической сит...
 
Василий Михайлов. ИТ-блок и предпринимательство в системообразующей финансово...
Василий Михайлов. ИТ-блок и предпринимательство в системообразующей финансово...Василий Михайлов. ИТ-блок и предпринимательство в системообразующей финансово...
Василий Михайлов. ИТ-блок и предпринимательство в системообразующей финансово...
 
6 открытие 3
6 открытие 36 открытие 3
6 открытие 3
 
Повышение эффективности компании через бизнес-анализ в ИТ
Повышение эффективности компании через бизнес-анализ в ИТПовышение эффективности компании через бизнес-анализ в ИТ
Повышение эффективности компании через бизнес-анализ в ИТ
 
Предприниматель-инноватор: КАК ПРИВЛЕЧЬ ВЕНЧУРНОГО ИНВЕСТОРА
Предприниматель-инноватор: КАК ПРИВЛЕЧЬ ВЕНЧУРНОГО ИНВЕСТОРАПредприниматель-инноватор: КАК ПРИВЛЕЧЬ ВЕНЧУРНОГО ИНВЕСТОРА
Предприниматель-инноватор: КАК ПРИВЛЕЧЬ ВЕНЧУРНОГО ИНВЕСТОРА
 
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
AUR 2012 Управление уровнями зрелости предприятия. Управление сопротивлением ...
 
IRCIT marketing kit_2015
IRCIT marketing kit_2015IRCIT marketing kit_2015
IRCIT marketing kit_2015
 
Финансовое планирование бюджета IT-компании
Финансовое планирование бюджета IT-компанииФинансовое планирование бюджета IT-компании
Финансовое планирование бюджета IT-компании
 
Integrator.expert
Integrator.expertIntegrator.expert
Integrator.expert
 
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
1603 Ukrainian Procurement Forum - Доклад Сергея Николаева
 

More from Magneta AI

зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokia
Magneta AI
 
абраменко как сделать нужный людям продукт
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продукт
Magneta AI
 
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
Magneta AI
 
тучин как внедрить Agile, чтобы никто не заметил
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметил
Magneta AI
 
ткаченко качество без этапа тестирования
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестирования
Magneta AI
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
Magneta AI
 
мациевский путь самурая. уволить нельзя оставить
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставить
Magneta AI
 
лустин статические анализаторы систем 1с ad2015
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015
Magneta AI
 
лосев контрольные карты шухарта в анализе деятельности Scrum команд
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum команд
Magneta AI
 
корецкий как мы улучшили экспертную оценку проектов
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектов
Magneta AI
 
зиновьева повышение эффективности команды. ретроспектива как инструмент
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструмент
Magneta AI
 
виноградова внедрение изменений без длинных документов, долгих согласований...
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...
Magneta AI
 
верещак. построение культуры Dev ops. v0.5 copy
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copy
Magneta AI
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработке
Magneta AI
 
богуславский Agile days непрерывное качество в непрерывной разработке
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработке
Magneta AI
 

More from Magneta AI (20)

From outsource to productsource!
From outsource to productsource!From outsource to productsource!
From outsource to productsource!
 
BDD test structure
BDD test structureBDD test structure
BDD test structure
 
AgileCamp15. Процессный трек
AgileCamp15. Процессный трекAgileCamp15. Процессный трек
AgileCamp15. Процессный трек
 
Как создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean CanvasКак создать концепцию продукта в виде Lean Canvas
Как создать концепцию продукта в виде Lean Canvas
 
Эффективные ретроспективы
Эффективные ретроспективыЭффективные ретроспективы
Эффективные ретроспективы
 
зотин Scrum, kanban, что дальше. история nokia
зотин   Scrum, kanban, что дальше. история nokiaзотин   Scrum, kanban, что дальше. история nokia
зотин Scrum, kanban, что дальше. история nokia
 
абраменко как сделать нужный людям продукт
абраменко   как сделать нужный людям продуктабраменко   как сделать нужный людям продукт
абраменко как сделать нужный людям продукт
 
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
павлов   все, что вы хотели знать о юнит тестах, но боялись спроситьпавлов   все, что вы хотели знать о юнит тестах, но боялись спросить
павлов все, что вы хотели знать о юнит тестах, но боялись спросить
 
тучин как внедрить Agile, чтобы никто не заметил
тучин   как внедрить Agile, чтобы никто не заметилтучин   как внедрить Agile, чтобы никто не заметил
тучин как внедрить Agile, чтобы никто не заметил
 
ткаченко качество без этапа тестирования
ткаченко   качество без этапа тестированияткаченко   качество без этапа тестирования
ткаченко качество без этапа тестирования
 
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
сенькова   разное ретро для разных команд (как провести ретро для новичков, с...сенькова   разное ретро для разных команд (как провести ретро для новичков, с...
сенькова разное ретро для разных команд (как провести ретро для новичков, с...
 
мациевский путь самурая. уволить нельзя оставить
мациевский   путь самурая. уволить нельзя оставитьмациевский   путь самурая. уволить нельзя оставить
мациевский путь самурая. уволить нельзя оставить
 
лустин статические анализаторы систем 1с ad2015
лустин   статические анализаторы систем 1с ad2015лустин   статические анализаторы систем 1с ad2015
лустин статические анализаторы систем 1с ad2015
 
лосев контрольные карты шухарта в анализе деятельности Scrum команд
лосев   контрольные карты шухарта в анализе деятельности Scrum командлосев   контрольные карты шухарта в анализе деятельности Scrum команд
лосев контрольные карты шухарта в анализе деятельности Scrum команд
 
корецкий как мы улучшили экспертную оценку проектов
корецкий   как мы улучшили экспертную оценку проектовкорецкий   как мы улучшили экспертную оценку проектов
корецкий как мы улучшили экспертную оценку проектов
 
зиновьева повышение эффективности команды. ретроспектива как инструмент
зиновьева   повышение эффективности команды. ретроспектива как инструментзиновьева   повышение эффективности команды. ретроспектива как инструмент
зиновьева повышение эффективности команды. ретроспектива как инструмент
 
виноградова внедрение изменений без длинных документов, долгих согласований...
виноградова   внедрение изменений без длинных документов, долгих согласований...виноградова   внедрение изменений без длинных документов, долгих согласований...
виноградова внедрение изменений без длинных документов, долгих согласований...
 
верещак. построение культуры Dev ops. v0.5 copy
верещак. построение  культуры Dev ops. v0.5 copyверещак. построение  культуры Dev ops. v0.5 copy
верещак. построение культуры Dev ops. v0.5 copy
 
бородин об эмпирической разработке
бородин   об эмпирической разработкебородин   об эмпирической разработке
бородин об эмпирической разработке
 
богуславский Agile days непрерывное качество в непрерывной разработке
богуславский   Agile days непрерывное качество в непрерывной разработкебогуславский   Agile days непрерывное качество в непрерывной разработке
богуславский Agile days непрерывное качество в непрерывной разработке
 

михайлов автоматизированное тестирование с использованием инструментов Behaviour driven development в системообразующей финансовой организации

  • 1. АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ИНСТРУМЕНТОВ BEHAVIOUR DRIVEN DEVELOPMENT В СИСТЕМООБРАЗУЮЩЕЙ ФИНАНСОВОЙ ОРГАНИЗАЦИИ Василий Михайлов ЗАО НКО НРД
  • 2. 19 МАРТА 2015, Г. МОСКВА ВАСИЛИЙ МИХАЙЛОВ РУКОВОДИТЕЛЬ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ИНСТРУМЕНТОВ BEHAVIOUR DRIVEN DEVELOPMENT В СИСТЕМООБРАЗУЮЩЕЙ ФИНАНСОВОЙ ОРГАНИЗАЦИИ
  • 3. КОНТАКТЫ Михайлов Василий Tel.: +7 (495) 234-48-27, доб. 4785 Отдел маркетинга: Tel.: +7 (495) 234-48-27 E-mail: info@nsd.ru Веб-сайт: www.nsd.ru, www.isin.ru, www.aecsd.org, www.dcc.ru, www.lei-code.ru Адрес: 105066, Россия, Москва, ул. Спартаковская, д.12
  • 6. ЭКОНОМИЯ ЗА СЧЕТ ТЕСТИРОВАНИЯ НА РАННИХ СТАДИЯХ 6 1x 4x 7x 14x Дефект найденный позже дороже в устранении (*) Модульное тестирование (МТ) Интеграционое тестирование (ИТ) Приемочное тестирование (UAT) Промышленная среда (ПРОМ) (*) эмпирическая оценка 1x 1,7x 2,7x МТ + UAT + ИТ ИТ + UAT UAT МТ 37% 0% 0% ИТ 50% 50% 0% UAT 8% 40% 60% ПРОМ 5% 10% 40% Раннее тестирование снижает стоимость устранения дефектов в 2,7 раза
  • 7. ПРИМЕР ЭКОНОМИИ ЗА СЧЕТ РАННЕГО ТЕСТИРОВАНИЯ 7 Июль 201x Ноябрь 201x Стадия Часы (*) Доля устранен- ных дефектов Устранено дефектов Цена устране- ния (usd) Доля устранен- ных дефектов Устранено дефектов Цена устране- ния Модульное тестирование 2 11% 150 4 500 26% 346 10 380 Интеграционное тестирование 8 74% 1030 117 420 62% 839 100 680 UAT 14 3% 35 7 350 5% 65 13 650 Промышленная среда 28 12% 171 71 820 8% 102 42 840 100% 1386 207 270 100% 1352 167 550 Экономия тыс USD 39 720 (*) эмпирическая оценка
  • 8. В ПРИВЕДЕННОМ ПРИМЕРЕ НА СТАДИИ МОДУЛЬНОГО ТЕСТИРОВАНИЯ НЕ УДАЕТСЯ НАЙТИ 37% ДЕФЕКТОВ 8 Июль 201x Могло бы быть Стадия Часы (*) Доля устранен- ных дефектов Устранено дефектов Цена устране- ния (usd) Доля устранен- ных дефектов Устранено дефектов Цена устране- ния (usd) Модульное тестирование 2 11% 150 4 500 37% 501 15 030 Интеграционное тестирование 8 74% 1030 117 420 50% 676 81 120 UAT 14 3% 35 7 350 8% 108 22 680 Промышленная среда 28 12% 171 71 820 5% 67 28 140 100% 1386 207 270 100% 1352 146 970 Экономия тыс USD 60 300
  • 9. ПОЧЕМУ В ПРИВЕДЕННОМ ПРИМЕРЕ НА СТАДИИ МОДУЛЬНОГО ТЕСТИРОВАНИЯ НЕ УДАЕТСЯ НАЙТИ 37% ДЕФЕКТОВ? 9 • Недостаточное количество тестировщиков? • Недостаточная квалификация тестировщиков?
  • 10. ПОЧЕМУ В ПРИВЕДЕННОМ ПРИМЕРЕ НА СТАДИИ МОДУЛЬНОГО ТЕСТИРОВАНИЯ НЕ УДАЕТСЯ НАЙТИ 37% ДЕФЕКТОВ? 10 ВРЕМЯ
  • 11. ПОЧЕМУ В ПРИВЕДЕННОМ ПРИМЕРЕ НА СТАДИИ МОДУЛЬНОГО ТЕСТИРОВАНИЯ НЕ УДАЕТСЯ НАЙТИ 37% ДЕФЕКТОВ? 11 Разработка Модульное тестирование План Разработка Модульное тести… Факт Deadline стадии модульного тестирования 11% ошибок
  • 12. КАК НАХОДИТЬ 37% ДЕФЕКТОВ? 12
  • 13. СМЕЩАЕМ АКЦЕНТЫ. ТЕСТИРОВАТЬ БУДЕТ РАЗРАБОТЧИК 13 Разработка Автоматизация сценариев Подготовка сценариев Deadline Исследовательское тестирование
  • 14. КАК ОРГАНИЗОВАТЬ? 14 • Вопросы тестировщика: как написать достаточно детальный тест-кейс на код, которого еще нет? Нет экранных форм, нет названий методов API, нет описания типов данных - вообще ничего нет • Вопросы разработчика: что имел ввиду тестировщик???
  • 15. ТЕСТОВЫЕ СПЕЦИФИКАЦИИ НА BDD 15 • Простые. Всего 4 конструкции - Дано, Если, И, То • Для написания тестового сценария тестировщику не нужно иметь реализацию; достаточно знать постановку задачи на систему • Разработчик и тестировщик не ждут друг друга по пол-дня. Разработчик тестирует сам. • Прогресс разработки измеряется количеством passed-сценариев • При изменении кода не нужно откатывать тест-кейсы и ретестировать вручную
  • 16. ПРИМЕР СПЕЦИФИКАЦИИ BDD 16 # language: ru Функционал: Клиринговый сеанс. Сценарий: Исключение сделки из клирингового сеанса при отсутствии денег Дано Новый клиринговый сеанс со сделкой | NUM_SORT | ORDER_ID | F_RESERVATION | F_SUO | STATUS | EXCLUDE_REASON | | 1 | 1 | 0 | 0 | P | 0 | Если финиструменты | ORDER_ID | LA_D_ID | LA_C_ID | QUANTITY | | 1 | 1 | 2 | 5 | И расчеты по деньгам в сделке | ORDER_ID | BA_D_ID | BA_C_ID | AMOUNT | | 1 | 1001 | 1003 | 3.1 | И остатки по лицевым счетам | LIC_ACC_ID | FACT_VALUE | CALC_VALUE | | 1 | 5 | 5 | | 2 | 0 | 0 | И остаток по денежным счетам | BANK_ACC_ID | FACT_VALUE | CALC_VALUE | RESERV_VALUE | F_RESERVATION_CALC | | 1001 | 2.7 | 2.7 | 0 | 0 | | 1003 | 0 | 0 | 0 | 0 | То Сделка исключается из клирингового сеанса | NUM_SORT | ORDER_ID | F_RESERVATION | F_SUO | STATUS | EXCLUDE_REASON | | 1 | 1 | 0 | 0 | P | 0 |
  • 17. ПРИМЕР РЕАЛИЗАЦИИ НА JAVA 1 / 2 17 @Дано("^Новый клиринговый сеанс со сделкой$") //таблица TT_CLR_DEAL public void Новый_клиринговый_сеанс_со_сделкой(DataTable clrDeal) throws Throwable, SQLException { DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); con = DriverManager.getConnection("jdbc:oracle:thin:@eprusamw0125:1521/ORA11G", "qa", "qa"); List<Map<String, String>> data = clrDeal.asMaps(String.class, String.class); for (int i = 0; i < data.size(); i++) { String sql = ("INSERT INTO TT_CLR_DEAL (NUM_SORT, ORDER_ID, F_RESERVATION, F_SUO, STATUS, EXCLUDE_REASON)" + "VALUES (" + data.get(i).get("NUM_SORT") + "," + data.get(i).get("ORDER_ID") + "," + data.get(i).get("F_RESERVATION") + "," + data.get(i).get("F_SUO") + ",'" + data.get(i).get("STATUS") + "'," + data.get(i).get("EXCLUDE_REASON") + ")"); System.out.println(sql); st = con.createStatement(); st.executeUpdate(sql); } }
  • 18. ПРИМЕР РЕАЛИЗАЦИИ НА JAVA 2 / 2 18 @И("^расчеты по деньгам в сделке$")//таблица TT_CLR_DEAL_MONEY public void расчеты_по_деньгам_в_сделке(DataTable clrDealMoney) throws Throwable { List<Map<String, String>> data = clrDealMoney.asMaps(String.class, String.class); for (int i = 0; i < data.size(); i++) { String sql = ("INSERT INTO TT_CLR_DEAL_MONEY (ORDER_ID, BA_D_ID, BA_C_ID, AMOUNT)" + "VALUES (" + data.get(i).get("ORDER_ID") + "," + data.get(i).get("BA_D_ID") + "," + data.get(i).get("BA_C_ID") + "," + data.get(i).get("AMOUNT") + ")"); System.out.println(sql); st = con.createStatement(); st.executeUpdate(sql); } } … @То("^Сделка исключается из клирингового сеанса$")//таблица TT_CLR_DEAL public void Сделка_исключается_из_клирингового_сеанса(DataTable expectedClrDeal) { … st = con.createStatement(); String sql = "begin execute_clearing_session(1); end;"; System.out.println(sql); st.executeUpdate(sql); … }
  • 19. ОТСЛЕЖИВАЕМ ГОТОВНОСТЬ РЕЛИЗА ПО PASSED- СЦЕНАРИЯМ 19 0 100 200 300 400 500 600 Planned Passed Failed
  • 20. ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ 20 • С чего начать? Развернуть Cucumber, начать писать BDD на баги • Нужно ли нанимать тестировщиков с навыками написания автотестов? Нет • Сколько сценариев делать? Варьируется. В среднем - 1 сценарий на 4 часа разработки • Сколько нужно модульных тестировщиков? Обычно достаточно одного модульного тестировщика на шесть разработчиков
  • 22. ПРАВОВАЯ ОГОВОРКА  Настоящая презентация была подготовлена и выпущена НКО ЗАО НРД (далее – «Компания»). Если нет какой-либо оговорки об ином, то Компания считается источником всей информации, изложенной в настоящем документе. Данная информация предоставляется по состоянию на дату настоящего документа и может быть изменена без какого-либо уведомления.  Данный документ не является, не формирует и не должен рассматриваться в качестве предложения или же приглашения для продажи или участия в подписке, или же, как побуждение к приобретению или же к подписке на какие-либо ценные бумаги, а также этот документ или его часть или же факт его распространения не являются основанием и на них нельзя полагаться в связи с каким-либо предложением, договором, обязательством или же инвестиционным решением, связанными с ним, равно как и он не является рекомендацией относительно ценных бумаг компании.  Изложенная в данном документе информация не являлась предметом независимой проверки. В нем также не содержится каких-либо заверений или гарантий, сформулированных или подразумеваемых и никто не должен полагаться на достоверность, точность и полноту информации или мнения, изложенного здесь. Никто из Компании или каких-либо ее дочерних обществ или аффилированных лиц или их директоров, сотрудников или работников, консультантов или их представителей не принимает какой-либо ответственности (независимо от того, возникла ли она в результате халатности или чего-то другого), прямо или косвенно связанной с использованием этого документа или иным образом возникшей из него.  Данная презентация содержит прогнозные заявления. Все включенные в настоящую презентацию заявления, за исключением заявлений об исторических фактах, включая, но, не ограничиваясь, заявлениями, относящимися к нашему финансовому положению, бизнес-стратегии, планам менеджмента и целям по будущим операциям являются прогнозными заявлениями. Эти прогнозные заявления включают в себя известные и неизвестные риски, факторы неопределенности и иные факторы, которые могут стать причиной того, что наши нынешние показатели, достижения, свершения или же производственные показатели, будут существенно отличаться от тех, которые сформулированы или подразумеваются под этими прогнозными заявлениями. Данные прогнозные заявления основаны на многочисленных презумпциях относительно нашей нынешней и будущей бизнес-стратегии и среды, в которой мы ожидаем осуществлять свою деятельность в будущем. Важнейшими факторами, которые могут повлиять на наши нынешние показатели, достижения, свершения или же производственные показатели, которые могут существенно отличаться от тех, которые сформулированы или подразумеваются этими прогнозными заявлениями являются, помимо иных факторов, следующие:  восприятие рыночных услуг, предоставляемых Компанией и ее дочерними обществами;  волатильность (а) Российской экономики и рынка ценных бумаг и (b) секторов с высоким уровнем конкуренции, в которых Компания и ее дочерние общества осуществляют свою деятельность;  изменения в (a) отечественном и международном законодательстве и налоговом регулировании и (b) государственных программах, относящихся к финансовым рынкам и рынкам ценных бумаг;  ростом уровня конкуренции со стороны новых игроков на рынке России;  способность успевать за быстрыми изменениями в научно-технической среде, включая способность использовать расширенные функциональные возможности, которые популярны среди клиентов Компании и ее дочерних обществ;  способность сохранять преемственность процесса внедрения новых конкурентных продуктов и услуг, равно как и поддержка конкурентоспособности;  способность привлекать новых клиентов на отечественный рынок и в зарубежных юрисдикциях;  способность увеличивать предложение продукции в зарубежных юрисдикциях.  Прогнозные заявления делаются только на дату настоящей презентации, и мы точно отрицаем наличие любых обязательств по обновлению или пересмотру прогнозных заявлений в настоящей презентации в связи с изменениями наших ожиданий, или перемен в условиях или обстоятельствах, на которых основаны эти прогнозные заявления.