SlideShare a Scribd company logo
1 of 28
Frameworks Игорь Хрол
План Проблемы автоматизации Что такое фреймворк? Как он решает проблемы? Некоторые практики с фреймворка на Selenium RC
Проблемы автоматизации В конце цикла разработки – много зависимостей Изменения UI Изменение бизнес-логики и тест-кейсов QA Auto QA BA DEV
Что такое 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 Цель: вспомогательная Примеры: Логгирование Работа с базой данных Чтение настроек и тестовых данных
Типичная схема Utilities layer Test scripts Business layer UI layer AUT / SUT
KISS Используйте готовые решения Усложняйте архитектуру тогда, когда это нужно Старайтесь делать всё проще и очевидно
Best Practices
Запуск тестов из командной строки Ant (http://ant.apache.org/) Запуск selenium server Компиляция исходных кодов Запуск тестов Остановка selenium server
Как хранить общий доступ к selenium? Передавать каждой функции Инициализировать изначально и использовать статическое поле для обращения к нему
Базовый класс для всех тест кейсов
Структура тест-кейса Preconditions Test case Cleanup
Где хранить настройки? Найдите грань между настройками и тестовыми данными: 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#
Где хранить тестовые данные? Excel CSV-файлы База данных XML
Excel-хранилища данных Табличные данные на каждом sheet Key-value пары в столбец Именованные диапазоны Чем читать excel? JDBC (http://www.ehow.com/how_4810548_use-jdbc-connect-ms-excel.html) POI (http://poi.apache.org/)
Где хранить локаторы? Поля классов
Где хранить локаторы? Поля интерфейсов
Где хранить локаторы? properties-файлы http://seleniumhq.org/docs/06_test_design_considerations.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 http://www.cloudtesting.com/blog/2009/06/24/capturing-screen-shots-of-browsers-with-selenium-and-cloud-testing-part-1/
Вопросы?

More Related Content

What's hot

Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIautomated-testing.info
 
Фреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силамиФреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силамиSQALab
 
3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov seleniumqasib
 
Azure - облачные сервисы и приложения
Azure - облачные сервисы и приложенияAzure - облачные сервисы и приложения
Azure - облачные сервисы и приложенияAlexander Babich
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
 
В поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUIВ поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUISQALab
 
Лилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesЛилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesSQADays_2009_Piter
 
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Positive Hack Days
 
Организация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей СоловьевОрганизация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей СоловьевPositive Hack Days
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumvyacheslavmaslov
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumvyacheslavmaslov
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Dmitry Buzdin
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
 
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...sadomovalex
 

What's hot (20)

Автоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UIАвтоматизация тестирования веб-сервисов посредством SOAP UI
Автоматизация тестирования веб-сервисов посредством SOAP UI
 
Фреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силамиФреймворк автотестирования веб-сервисов своими силами
Фреймворк автотестирования веб-сервисов своими силами
 
3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov selenium
 
Azure - облачные сервисы и приложения
Azure - облачные сервисы и приложенияAzure - облачные сервисы и приложения
Azure - облачные сервисы и приложения
 
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровСистема мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
 
В поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUIВ поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUI
 
Лилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesЛилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web Services
 
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
 
Организация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей СоловьевОрганизация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей Соловьев
 
Azure - введение
Azure - введениеAzure - введение
Azure - введение
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Aop
AopAop
Aop
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
ASP.NET MVC: new era?
ASP.NET MVC: new era?ASP.NET MVC: new era?
ASP.NET MVC: new era?
 
Описание и архитектура TFS 2008
Описание и архитектура TFS 2008Описание и архитектура TFS 2008
Описание и архитектура TFS 2008
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
 
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
Data retrieving in Sharepoint. Camlex.NET - tool for building CAML queries us...
 
Azure - обзор DevOps
Azure - обзор DevOpsAzure - обзор DevOps
Azure - обзор DevOps
 

Viewers also liked

Внедрение автоматизации на Selenium в highload-проект
Внедрение автоматизации на Selenium в highload-проектВнедрение автоматизации на Selenium в highload-проект
Внедрение автоматизации на Selenium в highload-проектSQALab
 
тестирование программного обеспечения
тестирование программного обеспечениятестирование программного обеспечения
тестирование программного обеспеченияNatalia Zhelnova
 
Yandex experience-in-screenshot-based-testing-seleniumcamp-2014
Yandex experience-in-screenshot-based-testing-seleniumcamp-2014Yandex experience-in-screenshot-based-testing-seleniumcamp-2014
Yandex experience-in-screenshot-based-testing-seleniumcamp-2014leonsabr
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьIgor Khrol
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Igor Khrol
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverIgor Khrol
 
Automated testing
Automated testingAutomated testing
Automated testingMageCloud
 
XPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverXPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverИлья Кожухов
 

Viewers also liked (8)

Внедрение автоматизации на Selenium в highload-проект
Внедрение автоматизации на Selenium в highload-проектВнедрение автоматизации на Selenium в highload-проект
Внедрение автоматизации на Selenium в highload-проект
 
тестирование программного обеспечения
тестирование программного обеспечениятестирование программного обеспечения
тестирование программного обеспечения
 
Yandex experience-in-screenshot-based-testing-seleniumcamp-2014
Yandex experience-in-screenshot-based-testing-seleniumcamp-2014Yandex experience-in-screenshot-based-testing-seleniumcamp-2014
Yandex experience-in-screenshot-based-testing-seleniumcamp-2014
 
Qa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем сутьQa Automation - отбрасываем лишнее и тестируем суть
Qa Automation - отбрасываем лишнее и тестируем суть
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
 
Automated testing
Automated testingAutomated testing
Automated testing
 
XPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverXPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriver
 

Similar to Meeting #4. Frameworks.

Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Aliaksandr Ikhelis
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...DevDay
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetestingLiloSEA
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Alexander Novichkov
 
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Dmitry Andreev
 
Виртуализация критически важных приложений
Виртуализация критически важных приложенийВиртуализация критически важных приложений
Виртуализация критически важных приложенийJack Chikovany
 
«Oracle Application Quality Management: Средства тестирования и управления те...
«Oracle Application Quality Management: Средства тестирования и управления те...«Oracle Application Quality Management: Средства тестирования и управления те...
«Oracle Application Quality Management: Средства тестирования и управления те...Andrey Akulov
 
Скриптовой язык Groovy и его применение в рамках разработки ПО
Скриптовой язык Groovy и его применение в рамках разработки ПОСкриптовой язык Groovy и его применение в рамках разработки ПО
Скриптовой язык Groovy и его применение в рамках разработки ПОFedor Malyshkin
 
Oracle Application Management and Testing Suites for Siebel CRM
Oracle Application Management and Testing Suites for Siebel CRMOracle Application Management and Testing Suites for Siebel CRM
Oracle Application Management and Testing Suites for Siebel CRMАлексей Распопов
 
Функциональное тестирование. Семейство продуктов Selenium
Функциональное тестирование. Семейство продуктов SeleniumФункциональное тестирование. Семейство продуктов Selenium
Функциональное тестирование. Семейство продуктов SeleniumStanislav Korchagin
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with SeleniumSergey Shvets
 

Similar to Meeting #4. Frameworks. (20)

Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...Building Open Source Test Automation Frameworks. Watir based automation case ...
Building Open Source Test Automation Frameworks. Watir based automation case ...
 
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...Платформа для автоматического тестирования Erlang проектов на примере UserGat...
Платформа для автоматического тестирования Erlang проектов на примере UserGat...
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)
 
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
Оптимизация производительности и нагрузочное тестирование в среде Visual Stud...
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
 
Виртуализация критически важных приложений
Виртуализация критически важных приложенийВиртуализация критически важных приложений
Виртуализация критически важных приложений
 
Selen short regru + demo
Selen short regru + demoSelen short regru + demo
Selen short regru + demo
 
«Oracle Application Quality Management: Средства тестирования и управления те...
«Oracle Application Quality Management: Средства тестирования и управления те...«Oracle Application Quality Management: Средства тестирования и управления те...
«Oracle Application Quality Management: Средства тестирования и управления те...
 
Скриптовой язык Groovy и его применение в рамках разработки ПО
Скриптовой язык Groovy и его применение в рамках разработки ПОСкриптовой язык Groovy и его применение в рамках разработки ПО
Скриптовой язык Groovy и его применение в рамках разработки ПО
 
Oracle Application Management and Testing Suites for Siebel CRM
Oracle Application Management and Testing Suites for Siebel CRMOracle Application Management and Testing Suites for Siebel CRM
Oracle Application Management and Testing Suites for Siebel CRM
 
Функциональное тестирование. Семейство продуктов Selenium
Функциональное тестирование. Семейство продуктов SeleniumФункциональное тестирование. Семейство продуктов Selenium
Функциональное тестирование. Семейство продуктов Selenium
 
Java 2 - Java Intro
Java 2 - Java IntroJava 2 - Java Intro
Java 2 - Java Intro
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with Selenium
 

More from Igor Khrol

SeleniumCamp 2016
SeleniumCamp 2016SeleniumCamp 2016
SeleniumCamp 2016Igor Khrol
 
Agile.by Gathering – 23 января 2016
Agile.by Gathering – 23 января 2016Agile.by Gathering – 23 января 2016
Agile.by Gathering – 23 января 2016Igor Khrol
 
Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Igor Khrol
 
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015Igor Khrol
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in PythonIgor Khrol
 
Increase selenium tests stability via java script
Increase selenium tests stability via java scriptIncrease selenium tests stability via java script
Increase selenium tests stability via java scriptIgor Khrol
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Igor Khrol
 
Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptIgor Khrol
 
Why test automation projects are failing
Why test automation projects are failingWhy test automation projects are failing
Why test automation projects are failingIgor Khrol
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...Igor Khrol
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Igor Khrol
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграцииIgor Khrol
 
Автоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектахАвтоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектахIgor Khrol
 
Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Igor Khrol
 
автоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rcавтоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rcIgor Khrol
 

More from Igor Khrol (15)

SeleniumCamp 2016
SeleniumCamp 2016SeleniumCamp 2016
SeleniumCamp 2016
 
Agile.by Gathering – 23 января 2016
Agile.by Gathering – 23 января 2016Agile.by Gathering – 23 января 2016
Agile.by Gathering – 23 января 2016
 
Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?Тестировщик в Agile - кто он?
Тестировщик в Agile - кто он?
 
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015
 
Webium: Page Objects in Python
Webium: Page Objects in PythonWebium: Page Objects in Python
Webium: Page Objects in Python
 
Increase selenium tests stability via java script
Increase selenium tests stability via java scriptIncrease selenium tests stability via java script
Increase selenium tests stability via java script
 
Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...Cовременный контроль качества: давай сделаем это по-быстрому...
Cовременный контроль качества: давай сделаем это по-быстрому...
 
Повышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScriptПовышаем надёжность тестов через JavaScript
Повышаем надёжность тестов через JavaScript
 
Why test automation projects are failing
Why test automation projects are failingWhy test automation projects are failing
Why test automation projects are failing
 
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
“Можно ли перевернуть пирамиду?” – автоматизируем тестирование с меньшим числ...
 
Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?Автоматизация Тестирования - Почему умирают проекты?
Автоматизация Тестирования - Почему умирают проекты?
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
 
Автоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектахАвтоматизация тестирования на крупных проектах
Автоматизация тестирования на крупных проектах
 
Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?Кому следует писать автоматические тесты?
Кому следует писать автоматические тесты?
 
автоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rcавтоматизация Flex приложений с помощью selenium rc
автоматизация Flex приложений с помощью selenium rc
 

Meeting #4. Frameworks.

  • 2. План Проблемы автоматизации Что такое фреймворк? Как он решает проблемы? Некоторые практики с фреймворка на Selenium RC
  • 3. Проблемы автоматизации В конце цикла разработки – много зависимостей Изменения UI Изменение бизнес-логики и тест-кейсов QA Auto QA BA DEV
  • 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. Типичная схема Utilities layer Test scripts Business layer UI layer AUT / SUT
  • 11. KISS Используйте готовые решения Усложняйте архитектуру тогда, когда это нужно Старайтесь делать всё проще и очевидно
  • 13. Запуск тестов из командной строки Ant (http://ant.apache.org/) Запуск selenium server Компиляция исходных кодов Запуск тестов Остановка selenium server
  • 14. Как хранить общий доступ к selenium? Передавать каждой функции Инициализировать изначально и использовать статическое поле для обращения к нему
  • 15. Базовый класс для всех тест кейсов
  • 17. Где хранить настройки? Найдите грань между настройками и тестовыми данными: 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#
  • 18. Где хранить тестовые данные? Excel CSV-файлы База данных XML
  • 19. Excel-хранилища данных Табличные данные на каждом sheet Key-value пары в столбец Именованные диапазоны Чем читать excel? JDBC (http://www.ehow.com/how_4810548_use-jdbc-connect-ms-excel.html) POI (http://poi.apache.org/)
  • 20. Где хранить локаторы? Поля классов
  • 21. Где хранить локаторы? Поля интерфейсов
  • 22. Где хранить локаторы? properties-файлы http://seleniumhq.org/docs/06_test_design_considerations.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 http://www.cloudtesting.com/blog/2009/06/24/capturing-screen-shots-of-browsers-with-selenium-and-cloud-testing-part-1/