Frameworks Игорь Хрол. План Проблемы автоматизации Что такое фреймворк? Как он решает проблемы? Некоторые практики с фреймворка на Selenium RC.

Презентация:



Advertisements
Похожие презентации
Team System - фреймворк для автоматизации тестирования от Microsoft Футорняк Елена Apriorit Сообщество Тестировщиков Днепропетровска 29/09/2011.
Advertisements

Константин Прищенко Selenium RC и Python: История одного проекта.
Разработка бизнес- приложений с использованием СПО Хомченко В.М. Новый подход к разработке бизнес-приложений на базе систем управления бизнес-процессами.
Дипломная работа Выполнил: Чернилевский Денис, 518 гр. Научный руководитель: к.ф.-м.н. Луковников Иван Васильевич.
Симпозиум 2008 Сергей Шутов, ДИМАС Борис Егоров, Интерсистемс Практика использования Zen и Прототип-6.
Решения для автоматизации тестирования Web-приложений на базе Selenium Быкадоров Дмитрий. ЗАО Мастерхост.
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов Александр Ихелис. EPAM Systems.
3. СОЗДАНИЕ ТЕСТОВ НА JMETER Разработка Моделирование Запуск.
Эффективная разработка отчётов на платформе.NET Александр Федяшов Fast Reports Inc.
Selenium Selenium 2 WebDriver. Что такое Selenium? Selenium это набор инструментов для автоматизации тестирования веб-приложений, эмулирующий действия.
Татьяна Сметанина. Автоматизированное тестирование веб-приложений Coded UI тесты и сценарии применения.
Microsoft TechDays Прукс Александр
Сервис On-Line доступ ПП Парус 8 Применение для разработки WEB- интерфейса.
SAX Simple API for XML Презентацию подготовила Иванова Анна, гр. 950б.
Платформа J2EE Сервис: Java Naming Directory (JNDI) – универсальный сервис хранения объектов в иерархической структуре имен (аналогично файловой системе)
Selenium: Начало.. Особенности WEB-приложений Множество браузеров, отличающиеся реализацией Отсутсвие строгих правил в HTML Различные конфигурации на.
Внедрение Microsoft Team Foundation Server Серебряков Станислав Руководитель проектов Перфоманс Лаб.
Microsoft TechDays Сергей Попов Независимый разработчик.
Object Relational Mapping (ORM) Объектно-реляционное отображение.
Software engineering Дмитриев Андрей Владиславович ©
Транксрипт:

Frameworks Игорь Хрол

План Проблемы автоматизации Что такое фреймворк? Как он решает проблемы? Некоторые практики с фреймворка на Selenium RC

Проблемы автоматизации В конце цикла разработки – много зависимостей Изменения UI Изменение бизнес-логики и тест-кейсов BA DEV QA Auto QA

Что такое Framework? Каркас, структура, сфера деятельности В информационных системах структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Спасибо, Википедия

Зачем нужен Framework? Ре-использование кода – Решение проблем одним изменением – Уменьшение количества изобретателей «велосипедов»

Layering Подход к построению архитектуры системы

UI Layer Цель: контролировать изменения UI Примеры: – Хранилище локаторов – Object Repository в QTP – Name Mapping в TestComplete – UI-Element в Selenium IDE

Business components layer Цель: контролировать изменения бизнес- логики Примеры: – Reusable Actions в QTP – Functions в TestComplete или любом другом инструменте

Utilities Цель: вспомогательная Примеры: – Логгирование – Работа с базой данных – Чтение настроек и тестовых данных

Типичная схема AUT / SUT Utilities layer UI layer Business layer Test scripts

KISS Используйте готовые решения Усложняйте архитектуру тогда, когда это нужно Старайтесь делать всё проще и очевидно

Best Practices

Запуск тестов из командной строки Ant ( – Запуск selenium server – Компиляция исходных кодов – Запуск тестов – Остановка selenium server

Как хранить общий доступ к selenium? Передавать каждой функции Инициализировать изначально и использовать статическое поле для обращения к нему

Базовый класс для всех тест кейсов

Структура тест-кейса Preconditions Test case Cleanup FlowPreconditionsMainCleanup SuccessfulPassed Failed cleanupPassed Failed Failed test casePassedFailedPassed/Failed Failed preconditionsFailedNot runPassed/Failed

Где хранить настройки? Найдите грань между настройками и тестовыми данными: – Selenium host – Selenium port – Timeout – Base URL properties-файлы – стандарт для Java ( api/java/util/Properties.html) api/java/util/Properties.html config.xml – для C#

Где хранить тестовые данные? Excel CSV-файлы База данных XML

Excel-хранилища данных Табличные данные на каждом sheet Key-value пары в столбец Именованные диапазоны Чем читать excel? – JDBC ( jdbc-connect-ms-excel.html) jdbc-connect-ms-excel.html – POI (

Где хранить локаторы? Поля классов

Где хранить локаторы? Поля интерфейсов

Где хранить локаторы? properties-файлы onsiderations.html#ui-mapping onsiderations.html#ui-mapping

Структура UI Layer Разбивка на страницы Сбор «особенных» UI элементов в отдельные классы: – Различные кастомизированные кнопки-поля (нужно вызывать специальные события) – Upload-download файлов Иерархия объектов (GWT, например)

Структура Business Layer Набор статических методов, объединённых по классам Чем проще, тем лучше

Tracebility с ручным тестированием Соотнесение тест-кейсов Соотнесение тестовых шагов Интеграция с существующей отчётностью – HP Quality Center – TestLink – JIRA

Отчёты HTML Группировка по test suite и test case Screenshots Максимально user friendly При возможности – интеграция с существующей системой отчётности

Screenshots void captureScreenshot (String filename); Обычно делается во время ошибки – Try-catch в BaseTest – Listener в JUnit 06/24/capturing-screen-shots-of- browsers-with-selenium-and-cloud- testing-part-1/ 06/24/capturing-screen-shots-of- browsers-with-selenium-and-cloud- testing-part-1/

Вопросы?