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

SQALab
SQALabSQALab
Организация тестового набора при
автоматизированном
функциональном тестировании
Мария Колчинская. Xored Software
Содержание
• Кто мы, что и с помощью чего тестируем
• Цели автоматизации функционального тестирования
• Проблемы анализа результатов тестирования
• Требования к отдельному тесту. Запись теста
• Требования к организации тестового набора
• Достоверность получаемого результата
• Итог работы
Xored Software
• Российская компания, созданная с нуля в
Новосибирском Академгородке. Занимается
созданием средств разработки и продуктов на основе
технологии Eclipse
• Одно из направлений – разработка систем
моделирования для компаний
телекоммуникационного сектора (Cisco Systems,
British Telecom)
• Cобственная разработка – средство автоматизации
функционального тестирования Q7
Тестируемое приложение
Eclipse Tigerstripe – приложение для моделирования –
создания UML диаграмм и кода на их основе.
• Создано на платформе Eclipse
• Содержит большое количество диаграмм и
взаимосвязей между объектами
В данный момент все функциональные тесты
приложения автоматизированы и встроены в систему
непрерывной интеграции Atlassian Bamboo
Инструмент тестирования
Q7 – приложение для автоматизации функционального
тестирования
• Создано на платформе Eclipse и для тестирования
Eclipse приложений
• Поддерживает работу с графическими элементами
• Обеспечивает встраивание тестов в систему
непрерывной интеграции
Цели автоматизации
тестирования
• Получение информации о качестве продукта при
каждой сборке приложения
• Сокращение трудозатрат на тестирование
Шаги автоматизации
тестирования
• Сформировать базу сценариев работы пользователя
с приложением
• На основе сценариев создать автоматизированные
тесты для покрытия основной функциональности
приложения. Тесты полностью повторяют действия
пользователя через UI
• Встроить тесты в систему непрерывной интеграции.
В результате тесты будут выполняться при каждой
сборке приложения на всех указанных платформах
Отчет о результатах
тестирования
Вид страницы с отчетом о результате тестирования:
Test Summary
384 tests in total. 1 New Failures; 1 Existing Failures; 6 Fixed
Tests
New Test Failures (1): UpdateLiteralValue
View Job: Q7 win32
Duration: 15 secs
testcase: Execution failed on line 38 at column 1 (UpdateLiteralValue)
Caused by: The Window "Save Enumeration" could not be found. [get-window
"Save Enumeration"] Information: gef.editparts (1175 more lines...)
Existing Test Failures (1): AddRemoveAnnotationDiagramAttribute
View Job: Q7 win32
Duration: 4 secs
Failing Since Build: #64
Анализ результатов
тестирования
• При просмотре отчета невозможно указать шаг,
который привел к падению теста. В итоге сложно
быстро локализовать проблему
• Падение теста может быть вызвано не только
проблемой в приложении, но и проблемой
инструмента тестирования либо самого теста
Требования к отдельному
тесту
• Чем меньше тест, тем проще локализовать проблему
• Необходимо отделить шаги по подготовке среды
тестирования от шагов самого теста
• Результаты предыдущих тестов не должны влиять на
результат выполняемого теста
Структура теста
• Precondition – подведение системы к состоянию,
пригодному для тестирования
• Steps (Test) – непосредственное проведение теста
• Post Condition – удаление данных, созданных в
процессе выполнения скрипта
Структура
автоматизированного теста
Каждый тест обязательно разделяется на 2 части:
• Context – отдельный скрипт (либо файлы контекста
Eclipse), который удаляет все изменения,
оставшиеся в результате предыдущих действий и
подготавливает условия для теста
• Сценарий – отдельный скрипт с записью шагов теста
Преимущества
• Информация о локализации проблемы (и возможном
шаге) появляется уже при беглом просмотре отчета
• Исключаются ошибки влияния результатов
предыдущего теста
• Появляется возможность переиспользования
скриптов (либо файлов) контекста для подготовки
предварительный условий в разных тестах. Это
ускоряет работу по созданию тестов
Требования к организации
тестов
• Максимальный отказ от ручных тестов
• Тестовая база для всего приложения
• Тесты на новую функциональность
• Отдельный тест на каждый тестовый случай
• Отдельный тест на каждый баг в системе,
полученный от заказчика (для теста создается
«метка» для привязки к участку функциональности)
Достоверность получаемого
результата
Тесты, которые дают ложный результат из-за проблем
инструмента тестирования либо неактуальности
самого теста, неинформативны и искажают общую
картину. Для того чтобы получать достоверный
результат тестирования и не отказываться от
созданных тестов, было решено разделить тестовые
наборы на две части:
• Stable test set
• Unstable test set
Достоверность получаемого
результата
• Stable set – тесты, выполняемые при каждой сборке
приложения. Падение каждого такого теста означает
наличие ошибки в приложении (в крайнем случае –
необходимости актуализировать тест)
• Unstable set – тесты, исключенные из набора из-за
ложных результатов, обычно из-за ошибок системы
автоматизации. По мере исправления ошибок, тесты
перемещаются в основной набор
Достоверность получаемого
результата
В случае падения теста из-за проблемы с самом тесте,
тест быстро актуализируется (до следующей сборки).
В крайнем случае, если требуется больше времени
для обновления теста, он перемещается в unstable
set. Тесты из «нестабильного» набора необходимо
выполнять вручную
Итог организации тестового
набора
• На основе сценариев действий пользователя
создана база автоматизированных тестов для
покрытия основной функциональности приложения.
• Благодаря небольшим размерам тестов, принципу «1
тест на 1 тестовый случай» и выделенным в
отдельный файл предусловиям, при падении теста:
– легко локализовать участок функциональности
даже при просмотре отчета о результатах. Шаги,
которые привели к ошибке, легко воспроизвести
вручную
– результат одного теста не влияет на результаты
последующих тестов
Итог организации тестового
набора
• Вынесение предусловий в отдельный файл, который
можно использовать в нескольких тестах, упрощает
процесс подготовки тестов и их поддержку в
актуальном состоянии
• Запуск только стабильных тестов несколько
уменьшает покрытие, зато обеспечивает
достоверность результатов
Спасибо за внимание!
1 von 20

Recomendados

[JAM 1.1] Testing not for Fun (Evgeny Kaziak) von
[JAM 1.1] Testing not for Fun (Evgeny Kaziak)[JAM 1.1] Testing not for Fun (Evgeny Kaziak)
[JAM 1.1] Testing not for Fun (Evgeny Kaziak)Evgeny Kaziak
397 views31 Folien
Процесс тестирования в распределенной команде von
Процесс тестирования в распределенной командеПроцесс тестирования в распределенной команде
Процесс тестирования в распределенной командеSvetlana Fedyanina
3.3K views39 Folien
Test link introduction von
Test link introductionTest link introduction
Test link introductionKateryna Nesmyelova
1.6K views33 Folien
Artem Shabarshin. CSEDays von
Artem Shabarshin. CSEDaysArtem Shabarshin. CSEDays
Artem Shabarshin. CSEDaysLiloSEA
368 views24 Folien
Павел Степанов von
Павел СтепановПавел Степанов
Павел СтепановSQALab
287 views20 Folien
Badger — инструмент для мониторинга качества продуктов von
Badger — инструмент для мониторинга качества продуктовBadger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктовSQALab
1.4K views69 Folien

Más contenido relacionado

Was ist angesagt?

QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников von
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQAFest
3.4K views44 Folien
Андрей Сильчук: "Автоматическое тестирование". von
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".Hub-IT-School
524 views22 Folien
Unit testing von
Unit testingUnit testing
Unit testingISsoft
593 views10 Folien
Использование комбинаторного тестирования для мобильных приложений von
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложенийSQALab
899 views21 Folien
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito) von
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)AvitoTech
504 views34 Folien
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать von
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьSQALab
1.4K views19 Folien

Was ist angesagt?(17)

QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников von QAFest
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайниковQA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QA Fest 2016. Андрей Мясников. Тест-дизайн для чайников
QAFest3.4K views
Андрей Сильчук: "Автоматическое тестирование". von Hub-IT-School
Андрей Сильчук: "Автоматическое тестирование".Андрей Сильчук: "Автоматическое тестирование".
Андрей Сильчук: "Автоматическое тестирование".
Hub-IT-School524 views
Unit testing von ISsoft
Unit testingUnit testing
Unit testing
ISsoft593 views
Использование комбинаторного тестирования для мобильных приложений von SQALab
Использование комбинаторного тестирования для мобильных приложенийИспользование комбинаторного тестирования для мобильных приложений
Использование комбинаторного тестирования для мобильных приложений
SQALab899 views
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito) von AvitoTech
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
AvitoTech504 views
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать von SQALab
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежатьОшибки начинающего специалиста по нагрузочному тестированию и как их избежать
Ошибки начинающего специалиста по нагрузочному тестированию и как их избежать
SQALab1.4K views
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru) von AvitoTech
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
AvitoTech529 views
DevOps подходы в инфраструктуре автоматизации тестирования von SQALab
DevOps подходы в инфраструктуре автоматизации тестированияDevOps подходы в инфраструктуре автоматизации тестирования
DevOps подходы в инфраструктуре автоматизации тестирования
SQALab11.3K views
TestLink von ISsoft
TestLinkTestLink
TestLink
ISsoft5.6K views
Автоматическое тестирование. Моя система von Igor Lyubin
Автоматическое тестирование. Моя системаАвтоматическое тестирование. Моя система
Автоматическое тестирование. Моя система
Igor Lyubin201 views
Тимур Шевляков von CodeFest
Тимур ШевляковТимур Шевляков
Тимур Шевляков
CodeFest519 views
Quality Assurance vs Quality Control - так в чем же заключается работа специа... von COMAQA.BY
Quality Assurance vs Quality Control - так в чем же заключается работа специа...Quality Assurance vs Quality Control - так в чем же заключается работа специа...
Quality Assurance vs Quality Control - так в чем же заключается работа специа...
COMAQA.BY 4K views
SQADAYS 21 Москва 2017 von Adam Sandman
SQADAYS 21 Москва 2017SQADAYS 21 Москва 2017
SQADAYS 21 Москва 2017
Adam Sandman1.3K views
Настраиваемое тестирование производительности von SQALab
Настраиваемое тестирование производительностиНастраиваемое тестирование производительности
Настраиваемое тестирование производительности
SQALab515 views

Destacado

Грамотная работа с дефект-трекером -- путь к успеху! von
Грамотная работа с дефект-трекером -- путь к успеху!Грамотная работа с дефект-трекером -- путь к успеху!
Грамотная работа с дефект-трекером -- путь к успеху!SQALab
602 views12 Folien
Александр Калугин - Простота тестирования маленького системного ПО von
Александр Калугин - Простота тестирования маленького системного ПОАлександр Калугин - Простота тестирования маленького системного ПО
Александр Калугин - Простота тестирования маленького системного ПОSQALab
632 views16 Folien
Как заводить баги понятно всем von
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всемSQALab
1.6K views27 Folien
Шаблоны проектирования письменной коммуникации von
Шаблоны проектирования письменной коммуникацииШаблоны проектирования письменной коммуникации
Шаблоны проектирования письменной коммуникацииSQALab
711 views20 Folien
Андрей Уразов - Методы раннего обнаружения ошибок von
Андрей Уразов - Методы раннего обнаружения ошибокАндрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокSQALab
590 views23 Folien
Очир Абушинов - Применение fuzz-тестирования von
Очир Абушинов - Применение fuzz-тестированияОчир Абушинов - Применение fuzz-тестирования
Очир Абушинов - Применение fuzz-тестированияSQALab
2.6K views26 Folien

Destacado(20)

Грамотная работа с дефект-трекером -- путь к успеху! von SQALab
Грамотная работа с дефект-трекером -- путь к успеху!Грамотная работа с дефект-трекером -- путь к успеху!
Грамотная работа с дефект-трекером -- путь к успеху!
SQALab602 views
Александр Калугин - Простота тестирования маленького системного ПО von SQALab
Александр Калугин - Простота тестирования маленького системного ПОАлександр Калугин - Простота тестирования маленького системного ПО
Александр Калугин - Простота тестирования маленького системного ПО
SQALab632 views
Как заводить баги понятно всем von SQALab
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всем
SQALab1.6K views
Шаблоны проектирования письменной коммуникации von SQALab
Шаблоны проектирования письменной коммуникацииШаблоны проектирования письменной коммуникации
Шаблоны проектирования письменной коммуникации
SQALab711 views
Андрей Уразов - Методы раннего обнаружения ошибок von SQALab
Андрей Уразов - Методы раннего обнаружения ошибокАндрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибок
SQALab590 views
Очир Абушинов - Применение fuzz-тестирования von SQALab
Очир Абушинов - Применение fuzz-тестированияОчир Абушинов - Применение fuzz-тестирования
Очир Абушинов - Применение fuzz-тестирования
SQALab2.6K views
Александр Орлов, Вячеслав Панкратов - Работа с неконструктивными моделями пов... von SQALab
Александр Орлов, Вячеслав Панкратов - Работа с неконструктивными моделями пов...Александр Орлов, Вячеслав Панкратов - Работа с неконструктивными моделями пов...
Александр Орлов, Вячеслав Панкратов - Работа с неконструктивными моделями пов...
SQALab1.1K views
Добавляем гибкости в тестирование von SQALab
Добавляем гибкости в тестированиеДобавляем гибкости в тестирование
Добавляем гибкости в тестирование
SQALab501 views
Методика проведения независимой оценки процесса тестирования в проектах von SQALab
Методика проведения независимой оценки процесса тестирования в проектахМетодика проведения независимой оценки процесса тестирования в проектах
Методика проведения независимой оценки процесса тестирования в проектах
SQALab552 views
Становление программы внутренних аудитов: от требований сертификации до обесп... von SQALab
Становление программы внутренних аудитов: от требований сертификации до обесп...Становление программы внутренних аудитов: от требований сертификации до обесп...
Становление программы внутренних аудитов: от требований сертификации до обесп...
SQALab591 views
Выбор и внедрение инструмента - с чего начать? von SQALab
Выбор и внедрение инструмента - с чего начать?Выбор и внедрение инструмента - с чего начать?
Выбор и внедрение инструмента - с чего начать?
SQALab443 views
Жизненный цикл коммуникативных дефектов von SQALab
Жизненный цикл коммуникативных дефектовЖизненный цикл коммуникативных дефектов
Жизненный цикл коммуникативных дефектов
SQALab729 views
Непрерывное тестирование для улучшения качества кода von SQALab
Непрерывное тестирование для улучшения качества кодаНепрерывное тестирование для улучшения качества кода
Непрерывное тестирование для улучшения качества кода
SQALab985 views
Особенности тестирования сloud-приложений von SQALab
Особенности тестирования сloud-приложенийОсобенности тестирования сloud-приложений
Особенности тестирования сloud-приложений
SQALab802 views
О чем мы забываем в QA или “Знакомьтесь – Manageability!” von SQALab
О чем мы забываем в QA или “Знакомьтесь – Manageability!”О чем мы забываем в QA или “Знакомьтесь – Manageability!”
О чем мы забываем в QA или “Знакомьтесь – Manageability!”
SQALab724 views
Качество отсутствует, коль баги присутствуют von SQALab
Качество отсутствует, коль баги присутствуютКачество отсутствует, коль баги присутствуют
Качество отсутствует, коль баги присутствуют
SQALab590 views
Тестирование и техподдержка брак или сотрудничество? von SQALab
Тестирование и техподдержка брак или сотрудничество?Тестирование и техподдержка брак или сотрудничество?
Тестирование и техподдержка брак или сотрудничество?
SQALab1.5K views
Тестирование в среде заказчика (Live Environment). Зачем мы это делаем? von SQALab
Тестирование в среде заказчика (Live Environment). Зачем мы это делаем?Тестирование в среде заказчика (Live Environment). Зачем мы это делаем?
Тестирование в среде заказчика (Live Environment). Зачем мы это делаем?
SQALab916 views
Разработка методики тестирования производительности комплекса систем von SQALab
Разработка методики тестирования производительности комплекса системРазработка методики тестирования производительности комплекса систем
Разработка методики тестирования производительности комплекса систем
SQALab1.1K views
Эволюция средств тестирования от HP von SQALab
Эволюция средств тестирования от HPЭволюция средств тестирования от HP
Эволюция средств тестирования от HP
SQALab642 views

Similar a Организация тестового набора при автоматизированном функциональном тестировании

Тестирование ПО von
Тестирование ПОТестирование ПО
Тестирование ПОseleznev_stas
1.9K views15 Folien
Unit tests Python examples von
Unit tests Python examplesUnit tests Python examples
Unit tests Python examplesssuserd327fe1
12 views8 Folien
Simonova sql server-enginetesting von
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetestingComputer Science Club
258 views35 Folien
Simonova CSEDays von
Simonova CSEDaysSimonova CSEDays
Simonova CSEDaysLiloSEA
216 views35 Folien
Katerina Simonova CSEDays von
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
278 views35 Folien
Katerina Simonova CSEDays von
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
1 view35 Folien

Similar a Организация тестового набора при автоматизированном функциональном тестировании(20)

Тестирование ПО von seleznev_stas
Тестирование ПОТестирование ПО
Тестирование ПО
seleznev_stas1.9K views
Simonova CSEDays von LiloSEA
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
LiloSEA216 views
Katerina Simonova CSEDays von LiloSEA
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
LiloSEA278 views
Katerina Simonova CSEDays von LiloSEA
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
LiloSEA1 view
Continious integration-Automated Testing-Solid-Agile von Kairat Yussupov
Continious integration-Automated Testing-Solid-AgileContinious integration-Automated Testing-Solid-Agile
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov412 views
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops von QAFest
QA Fes 2016. Анастасия Асеева. Роль тестирования в DevopsQA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest1.6K views
Simonova sql server-enginetesting von LiloSEA
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
LiloSEA254 views
Светлана Федянина - Процесс тестирования в распределенной команде von SQALab
Светлана Федянина - Процесс тестирования в распределенной командеСветлана Федянина - Процесс тестирования в распределенной команде
Светлана Федянина - Процесс тестирования в распределенной команде
SQALab580 views
5 колчинская von qasib
5 колчинская 5 колчинская
5 колчинская
qasib466 views
А вы знаете что тестируют ваши тесты? von SQALab
А вы знаете что тестируют ваши тесты?А вы знаете что тестируют ваши тесты?
А вы знаете что тестируют ваши тесты?
SQALab502 views
Марина Широчкина — «Тестирование» von Yandex
Марина Широчкина — «Тестирование»Марина Широчкина — «Тестирование»
Марина Широчкина — «Тестирование»
Yandex2.2K views
Сергей Ревко von SQALab
Сергей РевкоСергей Ревко
Сергей Ревко
SQALab393 views
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды von SQALab
Маргарита Сафарова - Аудит процессов тестирования при смене проектной командыМаргарита Сафарова - Аудит процессов тестирования при смене проектной команды
Маргарита Сафарова - Аудит процессов тестирования при смене проектной команды
SQALab1.4K views
Тестирование весна 2013 лекция 5 von Technopark
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
Technopark438 views

Más de SQALab

Готовим стажировку von
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
2.6K views18 Folien
Куда приводят мечты? или Искусство развития тестировщика von
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
1.7K views16 Folien
Оптимизация Selenium тестов и ускорение их поддержки von
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
1.2K views36 Folien
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования von
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
774 views21 Folien
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J... von
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
800 views18 Folien
Continuous performance testing von
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
645 views23 Folien

Más de SQALab(20)

Готовим стажировку von SQALab
Готовим стажировкуГотовим стажировку
Готовим стажировку
SQALab2.6K views
Куда приводят мечты? или Искусство развития тестировщика von SQALab
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
SQALab1.7K views
Оптимизация Selenium тестов и ускорение их поддержки von SQALab
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
SQALab1.2K views
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования von SQALab
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
SQALab774 views
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J... von SQALab
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
SQALab800 views
Continuous performance testing von SQALab
Continuous performance testingContinuous performance testing
Continuous performance testing
SQALab645 views
Конфиги вместо костылей. Pytestconfig и зачем он нужен von SQALab
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
SQALab717 views
Команда чемпионов в ИТ стихии von SQALab
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
SQALab727 views
API. Серебряная пуля в магазине советов von SQALab
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
SQALab539 views
Добиваемся эффективности каждого из 9000+ UI-тестов von SQALab
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
SQALab580 views
Делаем автоматизацию проектных KPIs von SQALab
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
SQALab361 views
Вредные привычки в тест-менеджменте von SQALab
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
SQALab655 views
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации von SQALab
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
SQALab453 views
Как hh.ru дошли до 500 релизов в квартал без потери в качестве von SQALab
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
SQALab722 views
Стили лидерства и тестирование von SQALab
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
SQALab463 views
"Давайте не будем про качество" von SQALab
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
SQALab543 views
Apache.JMeter для .NET-проектов von SQALab
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
SQALab715 views
Тестирование геолокационных систем von SQALab
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
SQALab340 views
Лидер или босс? Вот в чем вопрос von SQALab
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
SQALab600 views
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут... von SQALab
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
SQALab1.6K views

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

  • 1. Организация тестового набора при автоматизированном функциональном тестировании Мария Колчинская. Xored Software
  • 2. Содержание • Кто мы, что и с помощью чего тестируем • Цели автоматизации функционального тестирования • Проблемы анализа результатов тестирования • Требования к отдельному тесту. Запись теста • Требования к организации тестового набора • Достоверность получаемого результата • Итог работы
  • 3. Xored Software • Российская компания, созданная с нуля в Новосибирском Академгородке. Занимается созданием средств разработки и продуктов на основе технологии Eclipse • Одно из направлений – разработка систем моделирования для компаний телекоммуникационного сектора (Cisco Systems, British Telecom) • Cобственная разработка – средство автоматизации функционального тестирования Q7
  • 4. Тестируемое приложение Eclipse Tigerstripe – приложение для моделирования – создания UML диаграмм и кода на их основе. • Создано на платформе Eclipse • Содержит большое количество диаграмм и взаимосвязей между объектами В данный момент все функциональные тесты приложения автоматизированы и встроены в систему непрерывной интеграции Atlassian Bamboo
  • 5. Инструмент тестирования Q7 – приложение для автоматизации функционального тестирования • Создано на платформе Eclipse и для тестирования Eclipse приложений • Поддерживает работу с графическими элементами • Обеспечивает встраивание тестов в систему непрерывной интеграции
  • 6. Цели автоматизации тестирования • Получение информации о качестве продукта при каждой сборке приложения • Сокращение трудозатрат на тестирование
  • 7. Шаги автоматизации тестирования • Сформировать базу сценариев работы пользователя с приложением • На основе сценариев создать автоматизированные тесты для покрытия основной функциональности приложения. Тесты полностью повторяют действия пользователя через UI • Встроить тесты в систему непрерывной интеграции. В результате тесты будут выполняться при каждой сборке приложения на всех указанных платформах
  • 8. Отчет о результатах тестирования Вид страницы с отчетом о результате тестирования: Test Summary 384 tests in total. 1 New Failures; 1 Existing Failures; 6 Fixed Tests New Test Failures (1): UpdateLiteralValue View Job: Q7 win32 Duration: 15 secs testcase: Execution failed on line 38 at column 1 (UpdateLiteralValue) Caused by: The Window "Save Enumeration" could not be found. [get-window "Save Enumeration"] Information: gef.editparts (1175 more lines...) Existing Test Failures (1): AddRemoveAnnotationDiagramAttribute View Job: Q7 win32 Duration: 4 secs Failing Since Build: #64
  • 9. Анализ результатов тестирования • При просмотре отчета невозможно указать шаг, который привел к падению теста. В итоге сложно быстро локализовать проблему • Падение теста может быть вызвано не только проблемой в приложении, но и проблемой инструмента тестирования либо самого теста
  • 10. Требования к отдельному тесту • Чем меньше тест, тем проще локализовать проблему • Необходимо отделить шаги по подготовке среды тестирования от шагов самого теста • Результаты предыдущих тестов не должны влиять на результат выполняемого теста
  • 11. Структура теста • Precondition – подведение системы к состоянию, пригодному для тестирования • Steps (Test) – непосредственное проведение теста • Post Condition – удаление данных, созданных в процессе выполнения скрипта
  • 12. Структура автоматизированного теста Каждый тест обязательно разделяется на 2 части: • Context – отдельный скрипт (либо файлы контекста Eclipse), который удаляет все изменения, оставшиеся в результате предыдущих действий и подготавливает условия для теста • Сценарий – отдельный скрипт с записью шагов теста
  • 13. Преимущества • Информация о локализации проблемы (и возможном шаге) появляется уже при беглом просмотре отчета • Исключаются ошибки влияния результатов предыдущего теста • Появляется возможность переиспользования скриптов (либо файлов) контекста для подготовки предварительный условий в разных тестах. Это ускоряет работу по созданию тестов
  • 14. Требования к организации тестов • Максимальный отказ от ручных тестов • Тестовая база для всего приложения • Тесты на новую функциональность • Отдельный тест на каждый тестовый случай • Отдельный тест на каждый баг в системе, полученный от заказчика (для теста создается «метка» для привязки к участку функциональности)
  • 15. Достоверность получаемого результата Тесты, которые дают ложный результат из-за проблем инструмента тестирования либо неактуальности самого теста, неинформативны и искажают общую картину. Для того чтобы получать достоверный результат тестирования и не отказываться от созданных тестов, было решено разделить тестовые наборы на две части: • Stable test set • Unstable test set
  • 16. Достоверность получаемого результата • Stable set – тесты, выполняемые при каждой сборке приложения. Падение каждого такого теста означает наличие ошибки в приложении (в крайнем случае – необходимости актуализировать тест) • Unstable set – тесты, исключенные из набора из-за ложных результатов, обычно из-за ошибок системы автоматизации. По мере исправления ошибок, тесты перемещаются в основной набор
  • 17. Достоверность получаемого результата В случае падения теста из-за проблемы с самом тесте, тест быстро актуализируется (до следующей сборки). В крайнем случае, если требуется больше времени для обновления теста, он перемещается в unstable set. Тесты из «нестабильного» набора необходимо выполнять вручную
  • 18. Итог организации тестового набора • На основе сценариев действий пользователя создана база автоматизированных тестов для покрытия основной функциональности приложения. • Благодаря небольшим размерам тестов, принципу «1 тест на 1 тестовый случай» и выделенным в отдельный файл предусловиям, при падении теста: – легко локализовать участок функциональности даже при просмотре отчета о результатах. Шаги, которые привели к ошибке, легко воспроизвести вручную – результат одного теста не влияет на результаты последующих тестов
  • 19. Итог организации тестового набора • Вынесение предусловий в отдельный файл, который можно использовать в нескольких тестах, упрощает процесс подготовки тестов и их поддержку в актуальном состоянии • Запуск только стабильных тестов несколько уменьшает покрытие, зато обеспечивает достоверность результатов