SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
Gremlins.js
monkey- и стресс тестирование веб
приложений
Какие бывают автотесты
● Функциональные - поведение приложения
● Модульные - поведение отдельных
объектов или классов
Например
selenium = new DefaultSelenium(...
,"http://www.google.com/");
selenium.Start();
selenium.open("/");
selenium.type("q", "some text");
selenium.click("btnG");
selenium.waitForPageToLoad("30000");
assertTrue("Expected text: 'some text'"
, selenium.isTextPresent(s));
describe("Date Formatting", function(){
it("Can convert Date to String", function(){
var to_string =date.date_to_str("%Y-%m-%d %H:%i:%s");
var datestr = to_string(new Date(2014, 5, 1, 2, 3, 4));
expect(datestr).equal("2014-06-01 02:03:04");
});
});
Функциональный тест: Модульный тест:
● быстро узнаем об ошибках и быстро
исправляем
● если тесты проходят - скорее всего что-то
работает как и задумано.
● Profit!
Но...
Gremlins.js!
Имитируем хаотичные действия
пользователя:
● кликаем куда можно
● заполняем формы
● жмем на кнопки
пока не закончится тест, либо пока что-
нибудь не сломается
Например
gremlins.createHorde()
.gremlin(gremlins.species.formFiller())
.gremlin(gremlins.species.clicker())
.gremlin(gremlins.species.typer())
.gremlin(gremlins.species.scroller())
.unleash();
Демо!
Что внутри?
● библиотека, которая вставляется на страницу
● гремлин - просто JS функция
● вызываются в случайном порядке, много раз с
интервалом
● и генерируют браузерные события на случайных
элементах страницы
Что еще можно делать?
● touch события
● drag&drop
● задерживать аякс запросы
● возвращать ошибки из аякс запросов
● настраивать гремлинов и сам тест
● и объявлять своих гремлинов:
gremlins.createHorde()
.gremlin(function(){
doSomethingStupid();
})
.unleash();
Недостатки
● Документация и примеры
● Определение ошибок
● Расширяемость
● Все равно нужно настраивать
Gremlins.js - https://github.com/marmelab/gremlins.js
Applause!

Weitere ähnliche Inhalte

Andere mochten auch

детский сад
детский саддетский сад
детский сад
nataaugust80
 

Andere mochten auch (10)

детский сад
детский саддетский сад
детский сад
 
Περιβαλλοντικό ΓΕΛ Ερυμάνθειας
Περιβαλλοντικό ΓΕΛ ΕρυμάνθειαςΠεριβαλλοντικό ΓΕΛ Ερυμάνθειας
Περιβαλλοντικό ΓΕΛ Ερυμάνθειας
 
Arboles parque
Arboles parqueArboles parque
Arboles parque
 
Leibimar paradas
 Leibimar paradas  Leibimar paradas
Leibimar paradas
 
What's Your Element? - Ignite Presentation
What's Your Element? - Ignite PresentationWhat's Your Element? - Ignite Presentation
What's Your Element? - Ignite Presentation
 
Infra [ initiatives ]
Infra [ initiatives ]Infra [ initiatives ]
Infra [ initiatives ]
 
Animales salvajes2 A
Animales salvajes2 AAnimales salvajes2 A
Animales salvajes2 A
 
Memory potion project
Memory potion projectMemory potion project
Memory potion project
 
Liverpool Biennial 2014 A Needle Walks into a Haystack
Liverpool Biennial 2014 A Needle Walks into a HaystackLiverpool Biennial 2014 A Needle Walks into a Haystack
Liverpool Biennial 2014 A Needle Walks into a Haystack
 
생명게임프로젝트
생명게임프로젝트생명게임프로젝트
생명게임프로젝트
 

Ähnlich wie Gremlins.js: monkey- и стресс-тестирование веб-приложений

Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
 
Web весна 2013 лекция 9
Web весна 2013 лекция 9Web весна 2013 лекция 9
Web весна 2013 лекция 9
Technopark
 
Web весна 2012 лекция 9
Web весна 2012 лекция 9Web весна 2012 лекция 9
Web весна 2012 лекция 9
Technopark
 
Web осень 2012 лекция 9
Web осень 2012 лекция 9Web осень 2012 лекция 9
Web осень 2012 лекция 9
Technopark
 
Selenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностейSelenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностей
Paul Stashevsky
 
JavaScript & modern scala backend
JavaScript & modern scala backendJavaScript & modern scala backend
JavaScript & modern scala backend
GeeksLab Odessa
 

Ähnlich wie Gremlins.js: monkey- и стресс-тестирование веб-приложений (20)

Selenium: приемы работы
Selenium: приемы работыSelenium: приемы работы
Selenium: приемы работы
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
 
Web весна 2013 лекция 9
Web весна 2013 лекция 9Web весна 2013 лекция 9
Web весна 2013 лекция 9
 
Javascript
JavascriptJavascript
Javascript
 
Web весна 2012 лекция 9
Web весна 2012 лекция 9Web весна 2012 лекция 9
Web весна 2012 лекция 9
 
Jsfwdays 2013-2
Jsfwdays 2013-2Jsfwdays 2013-2
Jsfwdays 2013-2
 
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...
 
Unit тестирование
Unit тестированиеUnit тестирование
Unit тестирование
 
course js day 4
course js day 4course js day 4
course js day 4
 
Web осень 2012 лекция 9
Web осень 2012 лекция 9Web осень 2012 лекция 9
Web осень 2012 лекция 9
 
JavaScript как объектно-ориентированный язык программирования
JavaScript как объектно-ориентированный язык программированияJavaScript как объектно-ориентированный язык программирования
JavaScript как объектно-ориентированный язык программирования
 
Javascript
JavascriptJavascript
Javascript
 
Тестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и SeleniumТестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и Selenium
 
Unit test быстрый старт
Unit test быстрый стартUnit test быстрый старт
Unit test быстрый старт
 
Selenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностейSelenium 2.0: обзор новых возможностей
Selenium 2.0: обзор новых возможностей
 
Плюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизниПлюсы и минусы автоматизации, пример из жизни
Плюсы и минусы автоматизации, пример из жизни
 
Средства разработки web приложений (Web frameworks)
Средства разработки web приложений
(Web frameworks)Средства разработки web приложений
(Web frameworks)
Средства разработки web приложений (Web frameworks)
 
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
2014-10-04 02 Владислав Безверхий. Mocha - покрой frontend по полной
 
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...
 
JavaScript & modern scala backend
JavaScript & modern scala backendJavaScript & modern scala backend
JavaScript & modern scala backend
 

Gremlins.js: monkey- и стресс-тестирование веб-приложений