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

Post on 23-Jun-2015

112 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Доклад Даниила Подойницына на SQA Days-15. 18-19 апреля, 2014, Москва. www.sqadays.com

TRANSCRIPT

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

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

Проблема

…Не для тех кто делает так

Что делать если у вас коробочный продукт?

Ситуация

Другие Виды GUI

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

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

Поиски решения.

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

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

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

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

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

$message

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

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

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

$message

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

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

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

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

Main test app

• get $message from GUI

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

One action app

• Check DB by $message

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разница

• Логи• Понятно и читабельно.• Можно в ручную.

tips and tricks

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

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

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

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

Main Test app

input.txt

Ext app

cmd params

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

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

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

Main Test app

input.txt or cmd

Ext app

output.txt

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

hints

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

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

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

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

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

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

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

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

*

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

tips and tricks

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

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

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

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

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

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

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

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

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

Итоги.• Плохие варианты:

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

• Разумный Компромисс: Sikuli

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

Вопросы?

• http://d-podoynitsin.moikrug.ru/• danila@r0.ru

top related