'

Frameworks

Понравилась презентация – покажи это...





Слайд 0

Frameworks Игорь Хрол


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

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


Слайд 5

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


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

Best Practices


Слайд 12

Запуск тестов из командной строки Ant (http://ant.apache.org/) Запуск selenium server Компиляция исходных кодов Запуск тестов Остановка selenium server


Слайд 13

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


Слайд 14

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


Слайд 15

Структура тест-кейса Preconditions Test case Cleanup


Слайд 16

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


Слайд 17

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


Слайд 18

Excel-хранилища данных Табличные данные на каждом sheet Key-value пары в столбец Именованные диапазоны Чем читать excel? JDBC (http://www.ehow.com/how_4810548_use-jdbc-connect-ms-excel.html) POI (http://poi.apache.org/)


Слайд 19

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


Слайд 20

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


Слайд 21

Где хранить локаторы? properties-файлы http://seleniumhq.org/docs/06_test_design_considerations.html#ui-mapping


Слайд 22

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


Слайд 23

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


Слайд 24

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


Слайд 25

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


Слайд 26

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


Слайд 27

Вопросы?


×

HTML:





Ссылка: