Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 13 лет назад пользователемkhroliz
1 Frameworks Игорь Хрол
2 План Проблемы автоматизации Что такое фреймворк? Как он решает проблемы? Некоторые практики с фреймворка на Selenium RC
3 Проблемы автоматизации В конце цикла разработки – много зависимостей Изменения UI Изменение бизнес-логики и тест-кейсов BA DEV QA Auto QA
4 Что такое Framework? Каркас, структура, сфера деятельности В информационных системах структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. Спасибо, Википедия
5 Зачем нужен Framework? Ре-использование кода – Решение проблем одним изменением – Уменьшение количества изобретателей «велосипедов»
6 Layering Подход к построению архитектуры системы
7 UI Layer Цель: контролировать изменения UI Примеры: – Хранилище локаторов – Object Repository в QTP – Name Mapping в TestComplete – UI-Element в Selenium IDE
8 Business components layer Цель: контролировать изменения бизнес- логики Примеры: – Reusable Actions в QTP – Functions в TestComplete или любом другом инструменте
9 Utilities Цель: вспомогательная Примеры: – Логгирование – Работа с базой данных – Чтение настроек и тестовых данных
10 Типичная схема AUT / SUT Utilities layer UI layer Business layer Test scripts
11 KISS Используйте готовые решения Усложняйте архитектуру тогда, когда это нужно Старайтесь делать всё проще и очевидно
12 Best Practices
13 Запуск тестов из командной строки Ant ( – Запуск selenium server – Компиляция исходных кодов – Запуск тестов – Остановка selenium server
14 Как хранить общий доступ к selenium? Передавать каждой функции Инициализировать изначально и использовать статическое поле для обращения к нему
15 Базовый класс для всех тест кейсов
16 Структура тест-кейса Preconditions Test case Cleanup FlowPreconditionsMainCleanup SuccessfulPassed Failed cleanupPassed Failed Failed test casePassedFailedPassed/Failed Failed preconditionsFailedNot runPassed/Failed
17 Где хранить настройки? Найдите грань между настройками и тестовыми данными: – Selenium host – Selenium port – Timeout – Base URL properties-файлы – стандарт для Java ( api/java/util/Properties.html) api/java/util/Properties.html config.xml – для C#
18 Где хранить тестовые данные? Excel CSV-файлы База данных XML
19 Excel-хранилища данных Табличные данные на каждом sheet Key-value пары в столбец Именованные диапазоны Чем читать excel? – JDBC ( jdbc-connect-ms-excel.html) jdbc-connect-ms-excel.html – POI (
20 Где хранить локаторы? Поля классов
21 Где хранить локаторы? Поля интерфейсов
22 Где хранить локаторы? properties-файлы onsiderations.html#ui-mapping onsiderations.html#ui-mapping
23 Структура UI Layer Разбивка на страницы Сбор «особенных» UI элементов в отдельные классы: – Различные кастомизированные кнопки-поля (нужно вызывать специальные события) – Upload-download файлов Иерархия объектов (GWT, например)
24 Структура Business Layer Набор статических методов, объединённых по классам Чем проще, тем лучше
25 Tracebility с ручным тестированием Соотнесение тест-кейсов Соотнесение тестовых шагов Интеграция с существующей отчётностью – HP Quality Center – TestLink – JIRA
26 Отчёты HTML Группировка по test suite и test case Screenshots Максимально user friendly При возможности – интеграция с существующей системой отчётности
27 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/
28 Вопросы?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.