Upload
-
View
36
Download
0
Embed Size (px)
Citation preview
Методики автоматизации: Record/Play
Чувствительность к:● Изменениям интерфейса● Изменениям в функционале● Внешним данным
Методики автоматизации: Record/Play
● Виртуальный пользователь ● Встроенная поддержка
Система
Интерфейс
Rec/Play
Система
Интерфейс
Rec/Play
Методики автоматизации: Record/Play
Факторы успешного применения● Независимость от контекста● Функциональная стабильность● Независимость от UI● Разделение тестов на UI и логику
Методики автоматизации: Record/Play
● Старый код● Ручные сценарии
неоправданны● Неизменность
интерфейса как требование
● Поведение будет значительно меняться
● Невозможно зафиксировать состояние данных
● Тесты как часть спецификации системы
Методики автоматизации: Plain coding
driver.Url= baseUrl+ "/login/";
driver.FindElement(By.Id("username")).Clear();
driver.FindElement(By.Id("username")).SendKeys("admin");
driver.FindElement(By.Name("password")).Clear();
driver.FindElement(By.Name("password")).SendKeys("admin");
driver.FindElement(By.Name("submit")).Click();
driver.FindElement(By.LinkText("Log out")).Click();
driver.SwitchTo().Alert().Accept();
Методики автоматизации: Plain coding
Факторы успешного применения● Тесты как полноценный программный
продукт● Высокий уровень владения навыками
программирования
Методики автоматизации: Keyword driven
Window Component Action Data Expected Value
LoginPage DomainComboBox Select CompanyDomain
LoginPage UserIDTextBox EnterText <username>
LoginPage UserPasswordTextBox EnterText <password>
LoginPage LoginButton VerifyAction "loggedIn"
Методики автоматизации: Keyword driven
Факторы успешного применения● Разделение деятельности сценаристов и
разработчиков● Определение уровня абстракции
Методики автоматизации: Data driven
Факторы успешного применения
● Параметризация тестов● Сочетание с другими методами
Методики автоматизации: TDD
Факторы успешного применения
● Поддержка со стороны менеджмента● Фокус на качестве тестов ● Старые тесты - самые ценные ● Ревью и перекрестное написание тестов/кода● Ложное чувство идеальности
Методики автоматизации: BDD
Факторы успешного применения● Выяснение целей владельцев продукта● Фичи в соответствуют целям● Спецификация наглядным тестом● Вовлечение владельцев в разработку фич и
сценариев.
Стек автоматизации
● Непосредственно тесты
● Драйвер для работы с системой
Система
Драйвер системы
Тесты
Стек автоматизации
● Фреймворк запуска тестов
● Непосредственно тесты
● Драйвер для работы с системой
Система
Драйвер системы
Фреймворк
Тесты
Стек автоматизации
● Сборщик проекта
● Фреймворк запуска тестов
● Непосредственно тесты
● Драйвер для работы с системой
Система
Драйвер системы
Фреймворк
Сборщик
Тесты
Стек автоматизации
● Сервер CI
● Сборщик проекта
● Фреймворк запуска тестов
● Непосредственно тесты
● Драйвер для работы с системой
Система
Драйвер системы
Фреймворк
Сборщик
CI
Тесты
Язы
к
Стек автоматизации
● Сервер CI
● Сборщик проекта
● Фреймворк запуска тестов
● Непосредственно тесты
● Драйвер для работы с системой
● Язык разработки
Система
Драйвер системы
Фреймворк
Сборщик
CI
Тесты
Язы
к
Стек автоматизации
● Сервер CI
● Сборщик проекта
● Фреймворк запуска тестов
● Непосредственно тесты
● Драйвер для работы с системой
● Язык разработки
● IDE Система
Драйвер системы
Фреймворк
Сборщик
CI
Тесты
IDE
Репозиторий
Стек автоматизации
● Сервер CI
● Сборщик проекта
● Фреймворк запуска тестов
● Непосредственно тесты
● Драйвер для работы с системой
● Язык разработки
● IDE
● Репозиторий
Система
Драйвер системы
Фреймворк
Сборщик
CI
Тесты
Язы
к
IDE
Репозиторий
Стек автоматизации
● TFS, Travis, Jenkins, QAComplete
● CMake, MSBuils, Ant, TestComplete
● xUnit, MSTest, TestComplete
● Непосредственно тесты
● WebDriver, CodedUI, TestComplete
Система
Драйвер системы
Фреймворк
Сборщик
CI
Тесты
Язы
к
IDE
Стек автоматизации: как выбрать?
Тестируемая система
● доступные инструменты● требуемое покрытие по платформам
Стек автоматизации: как выбрать?
Язык разработки тестов
● доступность специалистов● возможность обучения● «кто нам поможет?»● возможности языка● среда разработки
Стек автоматизации: стоимость владения
Внешняя
● лицензии● консультации● обучение● доработка
Внутренняя
● зарплата● обучение● доработка