SlideShare a Scribd company logo
1 of 18
Download to read offline
Scalable eCommerce Platform Solutions
Автоматизатор, копай
глубже, копай шире!
IT Global MeetUp
Saint-Petersburg,
23 July, 2016
Scalable eCommerce Platform Solutions
О выступающих
Работаем тестировщиками-автоматизаторами в компании Grid
Dynamics
Используем в основном Java для back-end тестов и JavaScript для
front-end
Илья Коробицын
talks@korobochka.org
Всеволод Брекелов
vsevolod.brekelov@gmail.com
Scalable eCommerce Platform Solutions
• Философски-мотивационная речь о пользе знаний
• Глубже: чем лучше вы знаете используемые инструменты,
тем эффективней получится их использовать
• Шире: знания вещей, не относящихся напрямую к вашей
работе, могут пригодиться или натолкнуть на новые мысли
“Вещи” здесь это не только инструменты, но и подходы и общая
философия
Вступление
Scalable eCommerce Platform Solutions
Аналитики пишут требования в специальной форме “историй”:
Who, Why, What for
Given -> When -> Then
Тестировщики пишут обвязку, которая интерпретирует
требования и проверяет их автоматически
BDD
Scalable eCommerce Platform Solutions
Specification & Property based
• Декларативность против императивности
• Вместо поведения в нескольких фиксированных ситуациях
можно проверить соответствие некоторым свойствам
• Многие параметры можно выбрать случайным образом
автоматически - позволяет покрыть больше случаев в
перспективе
• Полезней выбирать не совсем случайные значения, а
“нехорошие”, пример: Big List of Naughty Strings для юникода
Scalable eCommerce Platform Solutions
Scalable eCommerce Platform Solutions
CI/CD
• Польза тестов многократно возрастает, когда их запускают 0_о
• CI инструменты позволяют сделать запуск тестов
автоматическим, регулярным и обязательным
• Обычно ещё решает проблему с тем, что собрать проект на
чистой системе нетривиально
Scalable eCommerce Platform Solutions
CI и аналитика
• Бинарный статус: прошли или не прошли тесты - не очень
полезен
• Можно использовать инструмент, который поддерживает
анализ падений, например TeamCity & Youtrack
• Не так сложно написать интеграцию самостоятельно с тем
багтрекером, который вы используете
• В результате у вас будут более подробные отчёты и
возможность автоматически отслеживать исправление
отдельных багов
Scalable eCommerce Platform Solutions
Скорость
• Со временем количество тестов растёт. При наличии CI они
запускаются часто и работают долго
• А если у вас нет CI, то обычно на этом этапе разработчики
начинают лениться запускать тесты
Scalable eCommerce Platform Solutions
Как ускорить тесты?
Параллельный запуск
• Тут пригодится знание конкретных технологий
• Лучше об этом думать заранее
• Отсутствие стейта у большинства сущностей сильно помогает
Компонентные тесты
Scalable eCommerce Platform Solutions
JS Promise callback hell
var e1 = browser.getElement(..);
var e2 = browser.getElement(..);
e1.getText().then(function(text1) {
e2.getText().then(function(text2) {
expect(text1).toEqual(text2);
});
});
Scalable eCommerce Platform Solutions
Haskell and monads
class Monad m where
(>>=) :: m a -> (a -> m b) -> m b
(>>) :: m a -> m b -> m b
return :: a -> m a
fail :: String -> m a
Scalable eCommerce Platform Solutions
Haskell do notation
do x1 <- action1
x2 <- action2
action3 x1 x2
action1 >>=  x1 ->
action2 >>=  x2 ->
action3 x1 x2
Scalable eCommerce Platform Solutions
tj/co
co(function *(){
// resolve multiple promises in parallel
var a = Promise.resolve(1);
var b = Promise.resolve(2);
var c = Promise.resolve(3);
var res = yield [a, b, c];
console.log(res);
// => [1, 2, 3]
}).catch(onerror);
Scalable eCommerce Platform Solutions
jasmine-es6-generator
var testGen = require('jasmine-es6-generator');
it('should done', testGen(function *() {
var res = yield someFn();
expect(res).toEqual(1234);
}));
Scalable eCommerce Platform Solutions
JsonWireProtocol & Protractor
JsonWire - это протокол, лежащий в основе Selenium
Интересно и полезно заглянуть внутрь
Он совсем не сложный
Protractor - это библиотека для тестирования Angular
приложений
Умеет из коробки ждать, где нужно, искать элементы по
биндингам, резолвить промисы и многое другое
Scalable eCommerce Platform Solutions
Спасибо!
talks@korobochka.org
Scalable eCommerce Platform Solutions
Полезные ссылки
https://github.com/minimaxir/big-list-of-naughty-strings
https://www.jetbrains.com/teamcity/
http://stackabuse.com/avoiding-callback-hell-in-node-js/
https://github.com/tj/co
https://github.com/hyzhak/jasmine-es6-generator
https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol
http://www.protractortest.org/

More Related Content

What's hot

Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюCOMAQA.BY
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?COMAQA.BY
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Igor Khrol
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеSQALab
 
Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptIgor Khrol
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
TestLink
TestLinkTestLink
TestLinkISsoft
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QAFest
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестовSQALab
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQAFest
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовCodeFest
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019GoQA
 
Об автоматическом тестировании бэкенда в Media markt
Об автоматическом тестировании бэкенда в Media marktОб автоматическом тестировании бэкенда в Media markt
Об автоматическом тестировании бэкенда в Media marktIgor Lyubin
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QAFest
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаIgor Lyubin
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017Adam Sandman
 

What's hot (20)

Allure Framework
Allure FrameworkAllure Framework
Allure Framework
 
Способы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированиюСпособы организаций больших Java проектов по Автоматизированному тестированию
Способы организаций больших Java проектов по Автоматизированному тестированию
 
Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?Слои тестового фрамеворка. Что? Где? Когда?
Слои тестового фрамеворка. Что? Где? Когда?
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...
 
Новый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проектеНовый процесс тестирования на "старом" проекте
Новый процесс тестирования на "старом" проекте
 
Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScript
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
TestLink
TestLinkTestLink
TestLink
 
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
QA Fest 2016. Инна Блажко. ISTQB – What is it? Who needs it? How to prepare a...
 
Архитектура автоматизированных тестов
Архитектура автоматизированных тестовАрхитектура автоматизированных тестов
Архитектура автоматизированных тестов
 
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
 
Autotest
AutotestAutotest
Autotest
 
Yandex allure
Yandex allureYandex allure
Yandex allure
 
Grail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестовGrail: шаги для ваших Python-тестов
Grail: шаги для ваших Python-тестов
 
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
АНТОН СЕРПУТЬКО «Start performance testing from scratch» QADay 2019
 
Об автоматическом тестировании бэкенда в Media markt
Об автоматическом тестировании бэкенда в Media marktОб автоматическом тестировании бэкенда в Media markt
Об автоматическом тестировании бэкенда в Media markt
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматическое тестирование. Моя система
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
 
SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017
 

Viewers also liked

Holidays and traditions
Holidays and traditionsHolidays and traditions
Holidays and traditionsiesmaruxamallo
 
Cara setting email di ms outlock(PPT)
Cara setting email di ms outlock(PPT)Cara setting email di ms outlock(PPT)
Cara setting email di ms outlock(PPT)indopadang
 
Processing from kelleman
Processing from kellemanProcessing from kelleman
Processing from kellemanVision of Hope
 
Decadent Design Colchones
Decadent Design ColchonesDecadent Design Colchones
Decadent Design Colchonesknowakk88
 
Integrating Technology In The Elementary Classroom
Integrating Technology In The Elementary ClassroomIntegrating Technology In The Elementary Classroom
Integrating Technology In The Elementary ClassroomSarah Albright
 
mHealth Insights for Wireless Carrier
mHealth Insights for Wireless CarriermHealth Insights for Wireless Carrier
mHealth Insights for Wireless CarrierKarthik Ethirajan
 
Empower students to write with digital tools slide share
Empower students to write with digital tools slide shareEmpower students to write with digital tools slide share
Empower students to write with digital tools slide shareKevin Amboe
 
Offers App Product Positioning
Offers App Product PositioningOffers App Product Positioning
Offers App Product PositioningKarthik Ethirajan
 
Тайные секреты уникальных технологий для тотализатора
Тайные секреты уникальных технологий для тотализатораТайные секреты уникальных технологий для тотализатора
Тайные секреты уникальных технологий для тотализатораАльберт Коррч
 
Press release world memory championship 2013
Press release world memory championship 2013Press release world memory championship 2013
Press release world memory championship 2013Yudi Lesmana
 
Thi cong cau thanh tri
Thi cong cau thanh triThi cong cau thanh tri
Thi cong cau thanh triNguyen Trung
 
теперь спасён я
теперь спасён ятеперь спасён я
теперь спасён яko63ar
 

Viewers also liked (20)

Holidays and traditions
Holidays and traditionsHolidays and traditions
Holidays and traditions
 
Addiction
AddictionAddiction
Addiction
 
Cara setting email di ms outlock(PPT)
Cara setting email di ms outlock(PPT)Cara setting email di ms outlock(PPT)
Cara setting email di ms outlock(PPT)
 
Chapter 18.key
Chapter 18.keyChapter 18.key
Chapter 18.key
 
Processing from kelleman
Processing from kellemanProcessing from kelleman
Processing from kelleman
 
Our babes
Our babesOur babes
Our babes
 
Decadent Design Colchones
Decadent Design ColchonesDecadent Design Colchones
Decadent Design Colchones
 
An introduction to social media by Thom Corah
An introduction to social media by Thom CorahAn introduction to social media by Thom Corah
An introduction to social media by Thom Corah
 
Integrating Technology In The Elementary Classroom
Integrating Technology In The Elementary ClassroomIntegrating Technology In The Elementary Classroom
Integrating Technology In The Elementary Classroom
 
mHealth Insights for Wireless Carrier
mHealth Insights for Wireless CarriermHealth Insights for Wireless Carrier
mHealth Insights for Wireless Carrier
 
Evaluacion de biologia 10°
Evaluacion de biologia 10°Evaluacion de biologia 10°
Evaluacion de biologia 10°
 
Empower students to write with digital tools slide share
Empower students to write with digital tools slide shareEmpower students to write with digital tools slide share
Empower students to write with digital tools slide share
 
Offers App Product Positioning
Offers App Product PositioningOffers App Product Positioning
Offers App Product Positioning
 
Single Sign On Social Login
Single Sign On Social LoginSingle Sign On Social Login
Single Sign On Social Login
 
Тайные секреты уникальных технологий для тотализатора
Тайные секреты уникальных технологий для тотализатораТайные секреты уникальных технологий для тотализатора
Тайные секреты уникальных технологий для тотализатора
 
Press release world memory championship 2013
Press release world memory championship 2013Press release world memory championship 2013
Press release world memory championship 2013
 
Terrestrial Support of Aquatic Food Webs
Terrestrial Support of Aquatic Food WebsTerrestrial Support of Aquatic Food Webs
Terrestrial Support of Aquatic Food Webs
 
Grammar
GrammarGrammar
Grammar
 
Thi cong cau thanh tri
Thi cong cau thanh triThi cong cau thanh tri
Thi cong cau thanh tri
 
теперь спасён я
теперь спасён ятеперь спасён я
теперь спасён я
 

Similar to ITGM8. Илья Коробицын (Grid Dinamics) Автоматизатор, копай глубже, копай шире!

Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаSkillsWiki
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаgeekfamilyrussia
 
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...SQALab
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileKairat Yussupov
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практикеDenis Tuchin
 
ReSharper: прошлое и будущее
ReSharper: прошлое и будущееReSharper: прошлое и будущее
ReSharper: прошлое и будущееGoSharp
 
ReSharper: прошлое и будущее
ReSharper: прошлое и будущееReSharper: прошлое и будущее
ReSharper: прошлое и будущееgeekfamilyrussia
 
Agile days `16 summary
Agile days `16 summaryAgile days `16 summary
Agile days `16 summaryAnton Zhukov
 
Client Side Autotesting Flash
Client Side Autotesting FlashClient Side Autotesting Flash
Client Side Autotesting Flashguestb0af15
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenchesGleb Rybalko
 
Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Maxim Shulga
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Yurii Kadirov
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0HighLoad2009
 
Automation Overview
Automation OverviewAutomation Overview
Automation OverviewKiraKeiss
 
Больше чем анализ
Больше чем анализБольше чем анализ
Больше чем анализSQALab
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0WRider
 

Similar to ITGM8. Илья Коробицын (Grid Dinamics) Автоматизатор, копай глубже, копай шире! (20)

Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Рейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчикаРейтинг навыков .NET-разработчика
Рейтинг навыков .NET-разработчика
 
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
Тестирование высоконагруженных облачных веб-сервисов в Amazon - подводные кам...
 
10_tips_for_become_qa
10_tips_for_become_qa10_tips_for_become_qa
10_tips_for_become_qa
 
Continious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Team workflow
Team workflowTeam workflow
Team workflow
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
ReSharper: прошлое и будущее
ReSharper: прошлое и будущееReSharper: прошлое и будущее
ReSharper: прошлое и будущее
 
ReSharper: прошлое и будущее
ReSharper: прошлое и будущееReSharper: прошлое и будущее
ReSharper: прошлое и будущее
 
Agile days `16 summary
Agile days `16 summaryAgile days `16 summary
Agile days `16 summary
 
Client Side Autotesting Flash
Client Side Autotesting FlashClient Side Autotesting Flash
Client Side Autotesting Flash
 
Automation from the trenches
Automation from the trenchesAutomation from the trenches
Automation from the trenches
 
Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы Автоматизация тестирования - это пот, кровь и слезы
Автоматизация тестирования - это пот, кровь и слезы
 
InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015InterSystems Community and Projects in CIS November 2015
InterSystems Community and Projects in CIS November 2015
 
Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...Презентация системы автоматической проверки решений задач по программированию...
Презентация системы автоматической проверки решений задач по программированию...
 
Developmentmanage1.0
Developmentmanage1.0Developmentmanage1.0
Developmentmanage1.0
 
Automation Overview
Automation OverviewAutomation Overview
Automation Overview
 
Больше чем анализ
Больше чем анализБольше чем анализ
Больше чем анализ
 
Developmentmanage3.0
Developmentmanage3.0Developmentmanage3.0
Developmentmanage3.0
 

More from SPB SQA Group

Обсуждаем главы из “97 Things Every Programmer Should Know”
Обсуждаем главы из “97 Things Every Programmer Should Know”Обсуждаем главы из “97 Things Every Programmer Should Know”
Обсуждаем главы из “97 Things Every Programmer Should Know”SPB SQA Group
 
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!SPB SQA Group
 
ITGM8. Алексей Лянгузов (Grid Dinamics) Как я ходил в стартап и чем это все з...
ITGM8. Алексей Лянгузов (Grid Dinamics) Как я ходил в стартап и чем это все з...ITGM8. Алексей Лянгузов (Grid Dinamics) Как я ходил в стартап и чем это все з...
ITGM8. Алексей Лянгузов (Grid Dinamics) Как я ходил в стартап и чем это все з...SPB SQA Group
 
ITGM8. Юлия Атлыгина (ALM Works) Инструменты, облегчающее тестирование
ITGM8. Юлия Атлыгина (ALM Works) Инструменты, облегчающее тестированиеITGM8. Юлия Атлыгина (ALM Works) Инструменты, облегчающее тестирование
ITGM8. Юлия Атлыгина (ALM Works) Инструменты, облегчающее тестированиеSPB SQA Group
 
ITGM8. Сергей Атрощенков (Еpam) Buzzword driven development и место тестировщ...
ITGM8. Сергей Атрощенков (Еpam) Buzzword driven development и место тестировщ...ITGM8. Сергей Атрощенков (Еpam) Buzzword driven development и место тестировщ...
ITGM8. Сергей Атрощенков (Еpam) Buzzword driven development и место тестировщ...SPB SQA Group
 
Какая польза от метрик?
Какая польза от метрик?Какая польза от метрик?
Какая польза от метрик?SPB SQA Group
 
Автоматизируем тестирование интерфейса мобильных приложений
Автоматизируем тестирование интерфейса мобильных приложенийАвтоматизируем тестирование интерфейса мобильных приложений
Автоматизируем тестирование интерфейса мобильных приложенийSPB SQA Group
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)SPB SQA Group
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестированиеSPB SQA Group
 
Долой отмазки в тестировании!
Долой отмазки в тестировании!Долой отмазки в тестировании!
Долой отмазки в тестировании!SPB SQA Group
 
Вместе весело шагать, или как собрать тестировщиков в своем городе
Вместе весело шагать, или как собрать тестировщиков в своем городеВместе весело шагать, или как собрать тестировщиков в своем городе
Вместе весело шагать, или как собрать тестировщиков в своем городеSPB SQA Group
 
Automating JFC UI application testing with Jemmy
Automating JFC UI application testing with JemmyAutomating JFC UI application testing with Jemmy
Automating JFC UI application testing with JemmySPB SQA Group
 
Domain-тестирование
Domain-тестированиеDomain-тестирование
Domain-тестированиеSPB SQA Group
 
Оптимизация интерактивного тестирования с использованием метрики Покрытие кода
Оптимизация интерактивного тестирования с использованием метрики Покрытие кодаОптимизация интерактивного тестирования с использованием метрики Покрытие кода
Оптимизация интерактивного тестирования с использованием метрики Покрытие кодаSPB SQA Group
 

More from SPB SQA Group (16)

Обсуждаем главы из “97 Things Every Programmer Should Know”
Обсуждаем главы из “97 Things Every Programmer Should Know”Обсуждаем главы из “97 Things Every Programmer Should Know”
Обсуждаем главы из “97 Things Every Programmer Should Know”
 
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
ITGM8. Всеволод Брекелов (Grid Dinamics) Component tests. let's do that!
 
ITGM8. Алексей Лянгузов (Grid Dinamics) Как я ходил в стартап и чем это все з...
ITGM8. Алексей Лянгузов (Grid Dinamics) Как я ходил в стартап и чем это все з...ITGM8. Алексей Лянгузов (Grid Dinamics) Как я ходил в стартап и чем это все з...
ITGM8. Алексей Лянгузов (Grid Dinamics) Как я ходил в стартап и чем это все з...
 
ITGM8. Юлия Атлыгина (ALM Works) Инструменты, облегчающее тестирование
ITGM8. Юлия Атлыгина (ALM Works) Инструменты, облегчающее тестированиеITGM8. Юлия Атлыгина (ALM Works) Инструменты, облегчающее тестирование
ITGM8. Юлия Атлыгина (ALM Works) Инструменты, облегчающее тестирование
 
ITGM8. Сергей Атрощенков (Еpam) Buzzword driven development и место тестировщ...
ITGM8. Сергей Атрощенков (Еpam) Buzzword driven development и место тестировщ...ITGM8. Сергей Атрощенков (Еpam) Buzzword driven development и место тестировщ...
ITGM8. Сергей Атрощенков (Еpam) Buzzword driven development и место тестировщ...
 
Agile testing
Agile testingAgile testing
Agile testing
 
Какая польза от метрик?
Какая польза от метрик?Какая польза от метрик?
Какая польза от метрик?
 
Автоматизируем тестирование интерфейса мобильных приложений
Автоматизируем тестирование интерфейса мобильных приложенийАвтоматизируем тестирование интерфейса мобильных приложений
Автоматизируем тестирование интерфейса мобильных приложений
 
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
"Опыт создания системы управления сборкой и тестированием" (слайдкаст)
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
Нагрузочное тестирование
Нагрузочное тестированиеНагрузочное тестирование
Нагрузочное тестирование
 
Долой отмазки в тестировании!
Долой отмазки в тестировании!Долой отмазки в тестировании!
Долой отмазки в тестировании!
 
Вместе весело шагать, или как собрать тестировщиков в своем городе
Вместе весело шагать, или как собрать тестировщиков в своем городеВместе весело шагать, или как собрать тестировщиков в своем городе
Вместе весело шагать, или как собрать тестировщиков в своем городе
 
Automating JFC UI application testing with Jemmy
Automating JFC UI application testing with JemmyAutomating JFC UI application testing with Jemmy
Automating JFC UI application testing with Jemmy
 
Domain-тестирование
Domain-тестированиеDomain-тестирование
Domain-тестирование
 
Оптимизация интерактивного тестирования с использованием метрики Покрытие кода
Оптимизация интерактивного тестирования с использованием метрики Покрытие кодаОптимизация интерактивного тестирования с использованием метрики Покрытие кода
Оптимизация интерактивного тестирования с использованием метрики Покрытие кода
 

ITGM8. Илья Коробицын (Grid Dinamics) Автоматизатор, копай глубже, копай шире!

  • 1. Scalable eCommerce Platform Solutions Автоматизатор, копай глубже, копай шире! IT Global MeetUp Saint-Petersburg, 23 July, 2016
  • 2. Scalable eCommerce Platform Solutions О выступающих Работаем тестировщиками-автоматизаторами в компании Grid Dynamics Используем в основном Java для back-end тестов и JavaScript для front-end Илья Коробицын talks@korobochka.org Всеволод Брекелов vsevolod.brekelov@gmail.com
  • 3. Scalable eCommerce Platform Solutions • Философски-мотивационная речь о пользе знаний • Глубже: чем лучше вы знаете используемые инструменты, тем эффективней получится их использовать • Шире: знания вещей, не относящихся напрямую к вашей работе, могут пригодиться или натолкнуть на новые мысли “Вещи” здесь это не только инструменты, но и подходы и общая философия Вступление
  • 4. Scalable eCommerce Platform Solutions Аналитики пишут требования в специальной форме “историй”: Who, Why, What for Given -> When -> Then Тестировщики пишут обвязку, которая интерпретирует требования и проверяет их автоматически BDD
  • 5. Scalable eCommerce Platform Solutions Specification & Property based • Декларативность против императивности • Вместо поведения в нескольких фиксированных ситуациях можно проверить соответствие некоторым свойствам • Многие параметры можно выбрать случайным образом автоматически - позволяет покрыть больше случаев в перспективе • Полезней выбирать не совсем случайные значения, а “нехорошие”, пример: Big List of Naughty Strings для юникода
  • 7. Scalable eCommerce Platform Solutions CI/CD • Польза тестов многократно возрастает, когда их запускают 0_о • CI инструменты позволяют сделать запуск тестов автоматическим, регулярным и обязательным • Обычно ещё решает проблему с тем, что собрать проект на чистой системе нетривиально
  • 8. Scalable eCommerce Platform Solutions CI и аналитика • Бинарный статус: прошли или не прошли тесты - не очень полезен • Можно использовать инструмент, который поддерживает анализ падений, например TeamCity & Youtrack • Не так сложно написать интеграцию самостоятельно с тем багтрекером, который вы используете • В результате у вас будут более подробные отчёты и возможность автоматически отслеживать исправление отдельных багов
  • 9. Scalable eCommerce Platform Solutions Скорость • Со временем количество тестов растёт. При наличии CI они запускаются часто и работают долго • А если у вас нет CI, то обычно на этом этапе разработчики начинают лениться запускать тесты
  • 10. Scalable eCommerce Platform Solutions Как ускорить тесты? Параллельный запуск • Тут пригодится знание конкретных технологий • Лучше об этом думать заранее • Отсутствие стейта у большинства сущностей сильно помогает Компонентные тесты
  • 11. Scalable eCommerce Platform Solutions JS Promise callback hell var e1 = browser.getElement(..); var e2 = browser.getElement(..); e1.getText().then(function(text1) { e2.getText().then(function(text2) { expect(text1).toEqual(text2); }); });
  • 12. Scalable eCommerce Platform Solutions Haskell and monads class Monad m where (>>=) :: m a -> (a -> m b) -> m b (>>) :: m a -> m b -> m b return :: a -> m a fail :: String -> m a
  • 13. Scalable eCommerce Platform Solutions Haskell do notation do x1 <- action1 x2 <- action2 action3 x1 x2 action1 >>= x1 -> action2 >>= x2 -> action3 x1 x2
  • 14. Scalable eCommerce Platform Solutions tj/co co(function *(){ // resolve multiple promises in parallel var a = Promise.resolve(1); var b = Promise.resolve(2); var c = Promise.resolve(3); var res = yield [a, b, c]; console.log(res); // => [1, 2, 3] }).catch(onerror);
  • 15. Scalable eCommerce Platform Solutions jasmine-es6-generator var testGen = require('jasmine-es6-generator'); it('should done', testGen(function *() { var res = yield someFn(); expect(res).toEqual(1234); }));
  • 16. Scalable eCommerce Platform Solutions JsonWireProtocol & Protractor JsonWire - это протокол, лежащий в основе Selenium Интересно и полезно заглянуть внутрь Он совсем не сложный Protractor - это библиотека для тестирования Angular приложений Умеет из коробки ждать, где нужно, искать элементы по биндингам, резолвить промисы и многое другое
  • 17. Scalable eCommerce Platform Solutions Спасибо! talks@korobochka.org
  • 18. Scalable eCommerce Platform Solutions Полезные ссылки https://github.com/minimaxir/big-list-of-naughty-strings https://www.jetbrains.com/teamcity/ http://stackabuse.com/avoiding-callback-hell-in-node-js/ https://github.com/tj/co https://github.com/hyzhak/jasmine-es6-generator https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol http://www.protractortest.org/