Андрей Сильчук: "Автоматическое тестирование".

Post on 15-Apr-2017

413 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

Transcript

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

его едятHub QA meetup

Кто этот парень перед нами?

Кто этот парень перед нами?

Имя: Андрей СильчукВозраст: 27 летМесто работы: DataArtДолжность: Project ManagerУвлечения: фигурное катание, Star Wars, snowboarding

Agenda• Автоматизация? Какая еще автоматизация? • Автоматическое тестирование ПО. Зачем вообще?• Отличие от мануального тестирования ПО, или Ручник vs человек разумный.• Имею желание, но не имею возможности, или какие знания были бы полезны в этой области.• Когда стоит внедрять автоматизацию. ROI и другие непонятные слова на три буквы.

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

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

• Тестирование на уровне кода, автоматизация Unit-тестирвоания (модульное тестирование)

End-user testing/UI testing

Code-level testing

End-User testing VS Unit testing

• Реальная система• Record & Replay• End to end• Выполняются QA

End User Tests

• А что если UI не готов?• Высокий Maintenance - UI меняется• Покрытие• Flexibility – Не видна обратная связь с компонентами

• Code level тесты.• Написаны на AUT языке • Маленький maintenance • Выполняются Dev

Unit Tests

• Стерильная система (mock)• Не находит интеграционных проблем• Узкие тесты – используют один метод • Обычно пишутся Dev, который и написал сам компонент

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

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

•UI:•Позиция элементов, внешний вид, наполнение, типы ввода и фильтрация ввода

• Performance and stability

Manual vs AutomationРучное Автоматизированное

Задание входных значений

Гибкость в задании данных. Позволяет использовать разные значения на разных циклах прогона тестов, расширяя покрытие

Входные значения строго заданы

Проверка результата Гибкая, позволяет тестировщику оценивать нечетко сформулиррованные критерии

Строгая. Нечетко сформулированные критерии могут быть проверены только путём сравнения с эталоном

Повторяемость Низкая. Человеческий фактор и нечеткое определение данных приводят к неповторяемости тестирования

Высокая

Надежность Низкая. Длительные тестовые циклы приводят к снижению внимания у тестировщика

Высокая, не зависит от длины тестового цикла

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

Зависит от детальности описания процедурыю Обычно тестировщик в состоянии выполнить тест, если внешний вид продукта и текст сообщений несколько изменились

Высокая. Незначительные изменения в интерфейсе часто ведут к коррекции эталонов

Скорость выполнения тестового набора

Низкая Высокая

+ Manual vs Automation• Возможность неформального тестирования• Возможность гибкой оценки результатов• Возможность использования

исследовательской техники тестирования• Возможность полностью имитировать

работу пользователя, использовать пользовательские сценарии

• Не очень чувствителен к изменению продукта

- Manual vs Automation• Занимает много времени и ресурсов• Не всегда надежно• В ряде случаев практически невозможно

+ Automation vs Manual• Занимают меньше время на выполнение• Имеют высокую надежность• Позволяют выполнить тестирование,

практически невыполнимое человеком(например нагрузочное тестирование)

- Automation vs Manual• Чувствителен к малейшим изменениям в

продукте• Редко позволяет сделать гибкое

тестирование и гибкую оценку результатов• Нет возможности тестировать неформально

и используя исследовательскую технику тестирования

• Часто требует много времени на создание и поддержку тестов

Когда стоит приступать к АТ?• Часть функционала на которую

запланирована автоматизация готова и протестирована мануально

• Большое кол-во предварительных данных для тестирования (DB, XML, etc.), большое количество деталей для проверки

• UI стабилен• Необходима длительная нагрузка на

систему (Performance)• Большое количество регрессии

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

Принятие решения о внедрении

автоматического

тестирования

Выбор инструментальных средств

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

ого тестирования

Планирование,

проетирование и

разработка

Выполнение тестов,

упарвление процессом

тестирования

Оценка и усовершенств

ование процесса

ROIROI = (Gain - Investments)/Gain *100%

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

ROIПервая версия:(Время на выполнение тестирования вручную) - (Время на изучение + время на реорганизацию процесса + время на создание тестов + время на поддержу + время на исследование дефекта и анализ результатов) = Экономия времени при использовании автоматического тестирования

ROIВсе последующие версии:Время на выполнение тестирования вручную – (время на поддержу тестов + время на создание тестов + время на исследование дефекта и анализ результатов) = Экономия времение при использовании автоматического тестирования

Manual VS Auto

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 240

50100150200250300350400450

Manual

Auto

Время

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

Что может пригодиться юному автоматизатору?• Знания основ мануального тестирования https://www.google.com.ua• Скриптование. Начиная от простейших cmd и shell скриптов и заканчивая более сложными вещами (например js)• Знания WebServices , SOAPUI (Rest and SOAP) http://www.w3schools.com/ • XML and XPATH•DHTML•ООП https://www.udemy.com/java-tutorial/ • Регулярные выражения ( http://regexone.com/ )

Вопросы?

top related