Геннадий Алпаев - "Оптимальное покрытие...

Preview:

DESCRIPTION

При автоматизации тестирования один из самых главных параметров - покрытие кода. Насколько хорошо тестируется приложение в автоматическом режиме и можно ли доверять результатам тестирования? Как можно увеличить покрытие кода, не увеличивая при этом время выполнения автоматических скриптов? Какие проблемы при этом возникают и как их можно решить? Что такое model-based тестирование и как его можно применить в условиях ограниченного времени на тестирование? На эти вопросы я попытаюсь ответить с примерами из реального проекта, объясню с какими проблемами мы столкнулись и как их решали.

Citation preview

Оптимальное покрытие автотестами:

генерация случайных данныхГеннадий Алпаев

Ciklum

Покрытие приложения автотестами

Насколько полным является покрытие кода автоматическими скриптами?

2

• покрытие спецификаций• покрытие ручных тестов• покрытие кода

Покрытие кода

Критерии охвата:

3

• охват строк (каждая строка выполняется как минимум один раз)

• охват ветвлений (if…then…else)

• охват условийif(A>B or B>C)

Тестирование данных

• Тестирование граничных и средних значений

4

• Тестирование «опасных» значений (A=B/C)

Model-based testing

Проблемы:

5

данные условие

Путь 1

Путь 2

результат

• время выполнения• ресурсозатратно

• генерировать пути• генерировать данные• делать обход всех путей с разными данными

Решение проблемы

Continuous Integration + Random Path/Data

6

данные условие

Путь 1

Путь 2

результат

Недостатки подхода• Отслеживание пути в случае возникновения ошибки (решение: каждый раз при осуществлении выбора оставлять «следы»)

7

• Сложность написания и отладки кода

• Сложность воспроизведения ситуации в автоматическом режиме (решение: ручной прогон + автоматизация конкретного сценария

Вопросы 8

?Геннадий Алпаев

Skype: gennadiy.alpaevE-mail: karkadil@gmail.com

Recommended