Автоматизация тестирования ПО на редких платформах
DESCRIPTION
Доклад Дмитрия Химиона, SQA Days-13, 26-27 апреля 2013, www.sqadays.comTRANSCRIPT
Автоматизация тестирования ПО на редких платформах
Дмитрий Химион. Performance Lab
Приветствие
• Дмитрий Химион – руководитель направления автоматизации тестирования;
• Занимаюсь автоматизацией тестирования банковских систем;
• Разработкой не стандартной автоматизации тестирования.
План доклада
• Обозначение и раскрытие проблемы автоматизации
• Поиск решений проблемы• Выбор решения и его описание• Обоснование почему выбрано
данное решение• Проблемы, возникшие при
реализации данного решения
Редкая система
• Примеры систем с устаревшей, редкой платформой или сильно измененной платформой
Ограничения инструментов
• Факторы определяющие проблему
• Как мы пришли к проблеме автоматизации тестирования ПО на неподдерживаемой или редкой платформе
Поиск решения не стандартной задачи
• Внутренние разработки, старые системы отвечающие требованиям бизнеса, поддерживаемые и разрабатываемые более 8-12 лет
Появляется потребность автоматизации
• Есть потребность и отсутствует прямое решение;
• Способы решения – текст и графика.
Интерфейс консольного приложения
• Что такое интерфейс консольного приложения• Анализ псевдографики
Подход от сущности платформы
• Анализ псевдографики – Text Based Pattern
Рассмотрение примера на основе псевдографики
• Анализ псевдографики – Text Based Pattern
Разбор интерфейса – know how• RegExp, способы идентификации объектов;• Проблематика однозначного выбора объекта.
Графический подход• Конвертация псевдографики для работы с картинками,
концепция.
Концепция графического подхода
• Рассматриваем конвертов и интеграцию с инструментом
• Работа с картинкой, путь от генерации до обработки, надо сделать слайды с картинками
Runtime
Files
Сравнение подходов, «оголение» сути решений.
• Сравнение подходов;• Переход к разработке – доверяй но проверяй.
Критерии сравнения Text ГрафикаРазработка решения для работы с консольным приложением «-» «-»\«+»Необходимость разработки Framework, модулей конфигурирования, логирования и т.п. «-» «+»Разработка обработчиков действий пользователя и отслеживания событий. «-» «-»\«+»Возможность разработки оптимального решения для конкретного проекта «+» «-»Сложность интеграции с инструментами автоматизации «+» «-»\«+»Логирование и формирование отчётов о проведении тестирования «+» «-»\«+»
Отпуск в начале проекта
• Поучительный отпуск ведущего автоматизатора
Планируйте, делайте и контролируйте
• По возвращению на работу
Технический экскурс в разработку
• Рассмотрение паттернов, элементов архитектуры и структуры самой разработки
Важнейшие элементы Framework
• Взаимодействие с интерфейсом - setters;• Считывание значений из интерфейса - getters;• Выбор из перечня одинаковых элементов - choosers;• Ожидание пользователем ответа от системы - handlers.
Базовая структура Framework• Структура в привязке к выбранному паттерну;• Аргументация разработанной структуры.
Trunk
Source
TestData
Test Data Gen
DB Connect
Framework
Console Client
Core
Modules
Commons
Common Code
Test Utils
Test Projects
Project 1
Project X
Runner
Красивое, легко поддерживаемое, масштабируемое и развивающееся решение
Вечная, нерушимая автоматизация?!
Возможные проблемы и их предупреждение
• Использовать шаблоны проектирования;
• Однозначность определения объектов;
• Отказоустойчивое решение для подключения к консоли;
• Простой в использовании и гибкий функционал разработки скриптов;
Подведение итогов
• Разработка нескольких решение проблемы;• Выбор и разработка оптимального для нас;• Поддерживаемая и развиваемая автоматизация.
Ход разработки и как обстоят дела
• Описание полученного в решения, примеры – где можно использовать подобное решение
Вопросы и ответы
Контакты: Skype: Picasso-Key Email: [email protected]