Способы расширения зоны влияния вашей системы...

28
Способы расширения зоны влияния вашей системы автотестов. Подойницын Даниил Ventra

Upload: sqalab

Post on 14-Nov-2014

542 views

Category:

Education


1 download

DESCRIPTION

Доклад Даниила Подойницына на конференции SQADays-15, 19.04.2014, г.Москва

TRANSCRIPT

Page 1: Способы расширения зоны влияния вашей системы автотестов

Способы расширения зоны влияния вашей системы автотестов.

Подойницын ДаниилVentra

Page 2: Способы расширения зоны влияния вашей системы автотестов

Houston, we have a problem

Другие Виды GUI

Дано:Хороший коробочный инструмент для GUI

Нужно:Встроить в его тесты такие проверки, которые он сам, из коробки, сделать не может.

Page 3: Способы расширения зоны влияния вашей системы автотестов

Задача 1. Без GUI

• Получить данные из базы

• Получить данные из веб сервисов

• Совершить действия другой программой.

Page 4: Способы расширения зоны влияния вашей системы автотестов

Быстрый вариант

Кто-нибудь наверняка предложит по-быстрому написать маленькую программу, которая делает ту самую проверку/действие.

Page 5: Способы расширения зоны влияния вашей системы автотестов

• 1. Берем значение с GUI

$message

Page 6: Способы расширения зоны влияния вашей системы автотестов

• 1. Берем значение с GUI

• 2. Подставляем как параметр в запускаемую строку

$message

Page 7: Способы расширения зоны влияния вашей системы автотестов

• 1. Берем значение с GUI

• 2. Подставляем как параметр в запускаемую строку

• 3. Исполняем

Main test app

• get $message from GUI

cmd • C:\app.exe –P1=$message

One action app

• Check DB by $message

Page 8: Способы расширения зоны влияния вашей системы автотестов

• 1. Берем значение с GUI

• 2. Подставляем как параметр в запускаемую строку

• 3. Исполняем• 4. Слушаем exit code

(0, -1, -2 и тд)

Page 9: Способы расширения зоны влияния вашей системы автотестов

Маленькие C# программы.

• Кол-во .exe выросло с 3 до 40 за 3 месяца.

• Поддерживать каждую нужно отдельно.

• Делать это может только автор.

• Лучше не делать так.

Page 10: Способы расширения зоны влияния вашей системы автотестов

Приемлемый вариант

• Берем хороший инструмент.

Page 11: Способы расширения зоны влияния вашей системы автотестов

Приемлемый вариант

• Берем хороший инструмент.

• По той же схеме, данные отправляем через cmd. Во внешнем проекте строим сложную логику их обработки.

Page 12: Способы расширения зоны влияния вашей системы автотестов

Приемлемый вариант

• Берем хороший инструмент.

• По той же схеме, данные отправляем через cmd. Во внешнем проекте строим сложную логику их обработки.

• И слушаем exit code.

Page 13: Способы расширения зоны влияния вашей системы автотестов

tips and tricks

• Если уперлись в 255 символов cmd — сокращайте имена параметров до P1, P2...

• Аккуратней с кавычками, знаками равно, и другими спец. символами

Page 14: Способы расширения зоны влияния вашей системы автотестов

Двустороннее общение.

• Исходящие данные в виде cmd или записи в txt файл. Main

Test app

input.txt

Ext app

cmd params

Page 15: Способы расширения зоны влияния вашей системы автотестов

Двустороннее общение.

• Исходящие данные в виде cmd или записи в txt файл.

• Вывод из консоли в txt файл. Считываем нужное.

Main Test app

input.txt or cmd

Ext app

output.txt

Page 16: Способы расширения зоны влияния вашей системы автотестов

tips and tricks

• Std out не подходит.• Если txt файл

заблокирован — скопируйте его.

• Можно заложить разветвленную логику.

Page 17: Способы расширения зоны влияния вашей системы автотестов

Задача 2. На GUI внешней системы

Page 18: Способы расширения зоны влияния вашей системы автотестов

Автокликер по координатам.

Page 19: Способы расширения зоны влияния вашей системы автотестов

Плохой вариант.

Page 20: Способы расширения зоны влияния вашей системы автотестов

Автокликер 2.0!

Page 21: Способы расширения зоны влияния вашей системы автотестов

Последняя надежда для нестандартных GUI.

*

* Фрагмент модифицированного GUI Oracle Forms 6

Page 22: Способы расширения зоны влияния вашей системы автотестов

tips and tricks

• Sikuli любит капризничать в связи с точкой запуска.

• Хорошо различает форму, но не цвет.

Page 23: Способы расширения зоны влияния вашей системы автотестов

Будущее…

Компьютерное зрение

Ускорение видеокартой

OCR*

*Optical character recognition – Оптическое распознавание символов,например известный FineReader

Page 24: Способы расширения зоны влияния вашей системы автотестов

...Уже здесь.

Page 25: Способы расширения зоны влияния вашей системы автотестов

Добавить нужный функционал самому.

• - Требует много времени.

• - Не факт что получится.

• + Даст много опыта• + Интересно.

Page 26: Способы расширения зоны влияния вашей системы автотестов

Сменить инструмент

• Крайняя мера• Новые тесты, не

повторять работающие.

Page 27: Способы расширения зоны влияния вашей системы автотестов

Итоги.

• Плохие варианты:-просто автокликер.-самописные проги на любой чих.

• Хорошие варианты:+Интегрировать с хорошими сторонними приложениями+Заглянуть в исходники главного инструмента+Сменить инструмент