Glib Rybalko, GlobalLogic’s Test Lead, consultant and trainer was among 26 known Ukrainian and international experts who took a word on IT Weekend Ukraine 2013. Glib discussed features of automated software testing, benefits and feasibility of using this approach on various projects. During his speech, Glib pointed all necessary steps of automated testing implementation and gave homework for those who were interested in this field and wanted to implement it in their projects.
3. О ЧЕМ ПОГОВОРИМ:
1.Цели, Инструменты, Процесс
2.Архитектура
3.Паттерны проектирования
4.Continuous Integration
5.Логирование результатов
6.Здравый смысл
5. ЗАЧЕМ ВАМ НУЖНА
АВТОМАТИЗАЦИЯ
1. Это модноесть в
GoogleFacebookMicrosoft…?
2. Босс сказал, что нужна ?
3. Прочитал о автоматизации в
интернетеуслышал доклад и решил
попробовать ?
7. ЗАЧЕМ ВАМ НУЖНА
АВТОМАТИЗАЦИЯ
1. Тестов стало очень много. Не успеваем
делать регрессию
2. Нет уверенности в том, что сборки ПО
приходят пригодные для тестирования
3. Клиент продолжает добавлять тестовые
конфигурации, не успеваем проходить
тесты на всех.
4. Нужно протестировать нагрузку на
приложение
5. Нужно провести тестирование
надежности
10. КАКИХ ЦЕЛЕЙ ОНА
ПОМОЖЕТ ДОСТИГНУТЬ
1. Ускоренное прохождение тестов
2. Увеличение надежности и стабильности сборок ПО
для тестирования
3. Быстрая обратная связь о качестве ПО для
программистов и клиента
4. Уменьшение рутинной работы
5. Возможность проведения тестирования, которое
нельзя провести в ручную
16. КАКИЕ ИНСТРУМЕНТЫ
ВЫ СОБИРАЕТЕСЬ
ИСПОЛЬЗОВАТЬ
• Когда мы задумываемся об инструментах мы думаем о:
• Собственном фреймворке
• Коммерческом фреймворке
• Бесплатный инструмент автоматизации
(WebDriver, xUnit, JMeter etc.)
• Коммерческий инструмент автоматизации(Test
Complete, QTP, Load Runner etc)
17. ДОМАШНЕЕ ЗАДАНИЕ
1. Определите области вашего
приложения, с которых вы
начнете автоматизацию
2. Выпишите несколько
инструментов
автоматизации, которыми вы
будете пользоваться
18. АРХИТЕКТУРА
Продумайте архитектуру тестов
перед автоматизацией
• Визуализируйте связи между частями
в приложении
• Разделите архитектуру тестов на
уровни
• Best practices
• Посоветуйтесь с разработчиками
20. ДОМАШНЕЕ ЗАДАНИЕ
1. Визуализируйте компоненты
вашего приложения и связи
между ними
2. Подумайте над тем какие уровни
абстракции нужны вам, для
написания автотестов
22. GANG OF FOUR
• Erich Gamma,
• Richard Helm,
• Ralph Johnson,
• John Vlissides
• Design Patterns: Elements of Reusable
Object-Oriented Software
23. GOF PATTERNS
Порождающие шаблоны
проектирования
позволяют сделать систему независимой от
способа создания, композиции и
представления объектов
• Abstract Factory — Абстрактная фабрика
• Builder — Строитель
• Factory Method — Фабричный метод
• Prototype — Прототип
• Singleton — Одиночка
24. GOF PATTERNS
Структурные шаблоны
проектирования
в которых рассматривается вопрос о том, как из классов
и объектов образуются более крупные структуры
• Adapter — Адаптер
• Bridge — Мост
• Composite — Компоновщик
• Decorator — Декоратор
• Facade — Фасад
• Flyweight — Приспособленец
• Proxy — Заместитель
25. GOF PATTERNS
Поведенческие шаблоны проектирования
определяющие алгоритмы и способы реализации
взаимодействия различных объектов и классов
• Chain of responsibility — Цепочка обязанностей
• Command — Команда
• Interpreter — Интерпретатор
• Iterator — Итератор
• Mediator — Посредник
• Memento — Хранитель
• Observer — Наблюдатель
• …
27. ПРИМЕРЫ: PAGE OBJECT
http://code.google.com/p/selenium/wiki/PageFactory
public class LoginPage {
public HomePage loginAs(String username, String password) {
// ... clever magic happens here
}
public LoginPage loginAsExpectingError(String username, String
password) {
// ... failed login here, maybe because one or both of the
username and password are wrong
}
public String getErrorMessage() {
// So we can verify that the correct error is shown
}
}
28. СОВЕТЫ
• Тестировщик должен знать
что такое Design Patterns
• Используйте шаблоны при
автоматизации
• Думайте о будущем вашего
framework
29. ДОМАШНЕЕ ЗАДАНИЕ
1. Выпишите какие шаблоны
проектирования используются у вас
2. Подумайте какие шаблоны вы еще
могли бы использовать