Автоматическое тестирование

Содержание

Слайд 2

Что такое автоматическое тестирование (АТ)? Автоматизированное (автоматическое) тестирование является составной частью

Что такое автоматическое тестирование (АТ)?

Автоматизированное (автоматическое) тестирование является составной частью процесса тестирования.

Оно использует программные средства для выполнения тестов и проверки результатов пробега этих тестов, что помогает сократить время тестирования и упростить его процесс.
Automation QA - это QA engineer обеспечивающий создание, отладку и поддержку работоспособного состояния тест скриптов, тестовых наборов и инструментов для автоматизированного тестирования.
Слайд 3

Подходы к АТ Тестировние на GUI уровне. Эмуляция дествий пользователя, часто

Подходы к АТ
Тестировние на GUI уровне. Эмуляция дествий пользователя, часто record-replay

мехнизм. Автоматизация black-box тестирования (иногда с элементами серого ящика)
Тестирование на уровне кода, автоматизация Unit-тестирвоания (модульное тестирование)

End-user testing/UI testing

Code-level testing

Слайд 4

End-User testing VS Unit testing

End-User testing VS Unit testing

Слайд 5

Основные инструменты АТ Selenium QTP JUnit Microsoft UI Automation Coded UI Load Runner

Основные инструменты АТ

Selenium
QTP
JUnit
Microsoft UI Automation
Coded UI
Load Runner

Слайд 6

Что может быть покрыто АТ? Functional: Unit tests Integration testing End-User

Что может быть покрыто АТ?

Functional:
Unit tests
Integration testing
End-User testing
UI:
Позиция элементов, внешний вид,

наполнение, типы ввода и фильтрация ввода
Performance and stability
Слайд 7

Manual vs Automation

Manual vs Automation

Слайд 8

Manual vs Automation Плюсы ручного тестирования: Возможность неформального тестирования Возможность гибкой

Manual vs Automation

Плюсы ручного тестирования:
Возможность неформального тестирования
Возможность гибкой оценки результатов
Возможность использования

исследовательской техники тестирования
Возможность полностью имитировать работу пользователя, использовать пользовательские сценарии
Не очень чувствителен к изменению продукта
Минусы ручного тестирования:
Занимает много времени и ресурсов
Не всегда надежно
В ряде случаев практически невозможно
Слайд 9

Manual vs Automation Плюсы автоматического тестирования: Занимают меньше время на выполнение

Manual vs Automation

Плюсы автоматического тестирования:
Занимают меньше время на выполнение
Имеют высокую надежность
Позволяют

выполнить тестирование, практически невыполнимое человеком(например нагрузочное тестирование)
Минусы автоматического тестирования:
Чувствителен к малейшим изменениям в продукте
Редко позволяет сделать гибкое тестирование и гибкую оценку результатов
Нет возможности тестировать неформально и используя исследовательскую технику тестирования
Часто требует много времени на создание и поддержку тестов
Слайд 10

Когда стоит применять АТ? Экономическая целесообразность Часть функционала на которую запланирована

Когда стоит применять АТ?

Экономическая целесообразность
Часть функционала на которую запланирована автоматизация готова

и протестирована мануально
Большое кол-во предварительных данных для тестирования (DB, XML, etc.)
UI стабилен
Необходима длительная нагрузка на систему/компонент и т.д.
Существует большое кол-во мелких деталей, которые необходимо проверить
Короткие циклы тестирования продукта
Performance
Слайд 11

Предпочтительные тесты с точки зрения автоматизации

Предпочтительные тесты с точки зрения автоматизации

Слайд 12

Стадии процесса АТ 1/2 Решение об автоматизации Опр-ся набор требований к

Стадии процесса АТ 1/2

Решение об автоматизации
Опр-ся набор требований к средству АТ

и само средство
Предварительное планирование - цели, стратегии определены и при необходимости модифицированы. Определяются виды тестов, пригодные для автоматизации, проверяется совместимость средств автоматизации и тестируемого приложения, а также тестового окружения
Слайд 13

Стадии процесса АТ 2/2 Планирование. Определяются стандарты разработки тестовых скриптов, руководств,

Стадии процесса АТ 2/2

Планирование. Определяются стандарты разработки тестовых скриптов, руководств, требования

к аппаратному и программному обеспечению, сетевому окружению, наборам тестовых данных. Составляется предварительный график тестирования, определяются методы контроля тестовых конфигураций и окружения, а также система мониторинга дефектов системы
Разработка тестовых скриптов (предварительно методы тестирования, условия, оценка кол-ва необходимых тестов)
Выполнение тестовых скриптов (документирование ошибок)
Отчёт
Слайд 14

Стадии процесса АТ Final

Стадии процесса АТ Final

Слайд 15

ROI ROI = (Gain - Investments)/Gain *100% Gain - расчётная стоимость

ROI

ROI = (Gain - Investments)/Gain *100%
Gain - расчётная стоимость тестирования

без автоматизации
Investments - расходы на создание и выполнение автоматической библиотеки тестов за тот же период, что был использован для вычисления расчётной стоимости тестирования без автоматизации
Слайд 16

ROI Первая версия: (Время на выполнение тестирования вручную) - (Время на

ROI

Первая версия:
(Время на выполнение тестирования вручную) -
(Время на изучение +

время на реорганизацию процесса + время на создание тестов + время на выполнение + время на поддержу + время на исследование дефекта) = Экономия времени при использовании автоматического тестирования
Все последующие версии:
Время на выполнение тестирвоания вручную – (время на поодержу тестов + время на выполнение автоматических тестов + время на исследование дефекта) = Экономия времение при использовании автоматического тестирования
Ручное тестирование и автоматизированное – два совершенно разных процесса, точнее, два способа выполнить один и тот же процесс. Их динамика отличается,  и типы ошибок, которые они пытаются обнаружить, также отличаются. Соответственно, напрямую их сравнивать по стоимости или по количеству обнаруженных ошибок, бессмысленно.
Слайд 17

Manual VS Auto Время Кол-во тестов

Manual VS Auto

Время

Кол-во тестов

Слайд 18

Домашнее задание Выучить всё теоретическую часть этого занятия Продолжаем работу с

Домашнее задание

Выучить всё теоретическую часть этого занятия
Продолжаем работу с java (на

протяжении следующих 3-4 недель)
Выучить теорию по всей лекции
Научиться расчитывать когда выгодно, а когда нет внедрять автоматизацию