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

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

  • Upload
    sqalab

  • View
    125

  • Download
    1

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

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

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

Проблема

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

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

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

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

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

Ситуация

Другие Виды GUI

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

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

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

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

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

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

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

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

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

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

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

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

$message

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

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

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

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

$message

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

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

• 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 12: Способы расширения зоны влияния вашей системы автотестов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разница

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

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

tips and tricks

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

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

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

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

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

Main Test app

input.txt

Ext app

cmd params

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

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

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

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

Main Test app

input.txt or cmd

Ext app

output.txt

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

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

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

hints

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

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

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

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

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

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

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

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

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

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

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

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

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

*

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

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

tips and tricks

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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