Lektsia_6_Testirovanie_web_prilozeniy_v2.pptx
- Количество слайдов: 28
Автоматизация WEB - тестирования Лекция 6 29 июля 2016 Скворцов Олег Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 2460, +1 415 830 38 49 www. exactpro. com 1 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
План курса 1. Что такое автоматизация тестирования 2. Виды тестирования 3. Цели автоматизации тестирования 4. Плюсы автоматизации 5. Минусы автоматизации 6. Подводные камни 7. Автоматизация должна начаться если… 8. Автоматизация безопасности web 9. Автоматизация нагрузочного тестирования 10. Автоматизация функционального тестирования 2 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Что же такое автоматизация? Автоматизация - это комплекс мероприятий, направленных на повышение производительности труда человека посредством замены части этого труда работой машины. Здесь вроде все понятно и я думаю что объяснений не требуется. Автоматизация тестирования - это использование программного обеспечения для выполнения или поддержки тестирования, тест-дизайна, выполнения тестов, анализа результатов выполнения тестов и т. д. Автоматизация тестирвоания это не только и не просто выполнение автоматических тестов, это написание и использование всевозможных скриптов для анализа результатов, подготовки тестовых данных, парсинга документов и т. д. , т. е. автоматизация всех рутинных и повторяющихся задач для облегчения процесса тестирования. 3 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Виды тестирования. Ручное тестирование. Данный вид означает, что все тестирование проводится руками, без использования скриптов и написание автотестов. Т. е. все тестовые данные составляются и забиваются руками; прогон тестов так же осуществляется руками; ну и конечно просходит ручной анализ прогона тестов и ручаня фиксация багов в Bug. Tracker-е. Автоматизированное тестирование. Здесь уже идет максимальная автоматизация процесса тестирования. Т. е. тестовые данные генерируются автоматически; прогон тестов выполняется автоматически; ну и происходит автоматический анализ прогона тестов и автоматическая фиксация багов в Bug. Tracker-е. Частично автоматизированное тестирование. В основном используется в тех случаях, когда либо нет необходимости все автоматизированть, либо нет возможнотиденегвремени на автоматизацию. В данном виде тестирования используется полуавтоматическая генерация тестовых данных; тесты выполняются в автоматическом или полуавтоматическом режиме; просходит ручной анализ прогона тестов и ручаня фиксация багов в Bug. Tracker-е. 4 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Цели автоматизации тестирования. 5 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Плюсы автоматизации. 1. Увеличение скорости тестирования без ущерба для результата. 2. Возможность выполнять тесты 24 часа 7 дней в неделю. 3. Уменьшение объема ручных, рутинных, постоянно повторяющихся операций в процессе тестирования. 4. Снижение стоимости итерации тестирования. 5. Автоматическое формирование отчетов о тестировании. 6. Набор тестов ограничевается в первую очередь производительностью системы, а не доступным резервом времени тестировщиков. 6 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Минусы автоматизации. 1. Автоматизация тестирования - это дорого. 2. Плохо спроектированные или реализованные автоматические тесты ведут к нестабильным результатам и ложным срабатываниям. 3. Требуются люди с высокой квалификацией в области тестирования и знанием языков программирования и технологий. 4. Автоматические тесты "не смотрят" по сторонам. 5. Требуется время на поддержку. 6. Баги в автотестах ведут к пропуску багов в продакшен. 7. Высоая стоимость платных инструментов. 7 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Подводные камни. 1. Не все тест-кейсы можнонужно автоматизировать. 2. Автоматизация тестирования = разработке ПО. Следовательно, тут проявляются все проблемы, связанные с разработкой. 3. Автоматические тесты требуют хорошей проработки архитектуры тестовой системы, в противном случае у вас к ручному тестированию добавится работа по поддержке автоматических тестов. 4. На старте автоматизации нельзя предугадатьпредусмотреть все риски и проблемы, с которыми вы столкнетесь при автоматизации. 8 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Автоматизация должна начаться, если. . . ПРИНЕСЕТ ЭКОНОМИЧЕСКУЮ ВЫГОДУ ТРЕБУЕТ ЗАКАЗЧИК ПРОЕКТ ДЛИТЕЛЬНЫЙ ПО ВРЕМЕНИ МОТИВАЦИЯ СОТРУДНИКОВ Если. . . УЛУЧШИТ ПРОЦЕСС РАЗРАБОТКИ ЕСТЬ ЖЕЛАНИЕ И ВОЗМОЖНОСТИ УМЕНЬШИТ ВРЕМЯ НА ТЕСТИРОВАНИЕ ПРОВЕРКА ВОЗМОЖНА ТОЛЬКО В АВТОМАТИЧЕСКОМ РЕЖИМЕ 9 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Автоматизация тестирования безопасности web - приложений Онлайн сканеры уязвимостей(SQLi, XSS, Port, LFI, RFI) Port Scanner : www. labs. programming-designs. com/portscanner/ www. canyouseeme. org XSS Scanner : www. xss-scanner. com www. domxssscanner. com SQLi Scanner : www. wolfscps. com/gscanner. php www. scan. subhashdasyam. com/sqli-scanner. php www. sunmagazin. com/tools/hack/SQLI-Scan/ www. localvn. biz/Tools/tools/Hack-Shop/SQLI-Scan/ www. antsoldier. co. tv/sql_scanner. php www. be 007. gigfa. com/scanner. php www. hackertarget. com/free-sql-scan/ www. scanner. drie 88. tk LFI & RFI scanner : 10 www. scan. subhashdasyam. com/lfi-scanner. php www. scan. subhashdasyam. com/rfi-scanner. php Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Автоматизация нагрузочного тестирования web - приложений - Нагрузочное тестирование «по-быстренькому» https: //habrahabr. ru/post/77593 - Яндекс. Танк и автоматизация нагрузочного тестирования: https: //habrahabr. ru/company/pt/blog/204224 - Под предельной нагрузкой: обзор программ нагрузочного тестирования веб-серверов https: //xakep. ru/2008/04/21/43327/ 11 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Автоматизация функционального тестирования web – приложений. Что такое селениум? Selenium – это проект, в рамках которого разрабатывается серия программных продуктов с открытым исходным кодом (open source): - Selenium Web. Driver, - Selenium RC, - Selenium Server, - Selenium Grid, - Selenium IDE. Называть просто словом Selenium любой из этих пяти продуктов, вообще говоря, неправильно, хотя так часто делают, если из контекста понятно, о каком именно из продуктов идёт речь, или если речь идёт о нескольких продуктах одновременно, или обо всех сразу. 12 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Selenium Web. Driver 13 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Selenium RC – это предыдущая версия библиотеки для управления браузерами. Аббревиатура RC в названии этого продукта расшифровывается как Remote Control, то есть это средство для «удалённого» управления браузером. Эта версия с функциональной точки зрения значительно уступает Web. Driver. Сейчас она находится в законсервированном состоянии, не развивается и даже известные баги не исправляются. А всем, кто сталкивается с ограничениями Selenium RC, предлагается переходить на использование Web. Driver. Иногда Selenium RC называется также Selenium 1. 0, тогда как Web. Driver называется Selenium 2. 0. Хотя на самом деле дистрибутив версии 2. 0 включает в себя одновременно обе реализации – и Selenium RC, и Web. Driver. А вот когда выйдет версия 3. 0 – в ней останется только Web. Driver. С технической точки зрения Web. Driver не является результатом эволюционного развития Selenium RC, они построены на совершенно разных принципах и у них практически нет общего кода. Объединяет их лишь тот факт, что обе реализации были сделаны в рамках проекта Selenium. Ну, или если быть совсем точным, Web. Driver сначала был самостоятельным проектом, но в 2008 году произошло слияние и сейчас Web. Driver представляет собой основной вектор развития проекта Selenium. 14 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Selenium Server – это сервер, который позволяет управлять браузером с удалённой машины, по сети. Сначала на той машине, где должен работать браузер, устанавливается и запускается сервер. Затем на другой машине (технически можно и на той же самой, конечно) запускается программа, которая, используя специальный драйвер Remote. Web. Driver, соединяется с сервером и отправляет ему команды. Он в свою очередь запускает браузер и выполняет в нём эти команды, используя драйвер, соответствующий этому браузеру: 15 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Selenium Grid – это кластер, состоящий из нескольких Selenium-серверов. Он предназначен для организации распределённой сети, позволяющей параллельно запускать много браузеров на большом количестве машин. Selenium Grid имеет топологию «звезда» , то есть в его составе имеется выделенный сервер, который носит название «хаб» или «коммутатор» , а остальные сервера называются «ноды» или «узлы» . Сеть может быть гетерогенной, то есть коммутатор и узлы могут работать под управлением разных операционных систем, на них могут быть установлены разные браузеры. Одна из задач Selenium Grid заключается в том, чтобы «подбирать» подходящий узел, когда во время старта браузера указываются требования к нему – тип браузера, версия, операционная система, архитектура процессора и ряд других атрибутов. Ранее Selenium Grid был самостоятельным продуктом. Сейчас физически продукт один – Selenium Server, но у него есть несколько режимов запуска: он может работать как самостоятельный сервер, как коммутатор кластера, либо как узел кластера, это определяется параметрами запуска. 16 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Selenium IDE – плагин к браузеру Firefox, который может записывать действия пользователя, воспроизводить их, а также генерировать код для Web. Driver или Selenium RC, в котором выполняются те же самые действия. В общем, это «Seleniumрекордер» . Тестировщики, которые не умеют (или не хотят) программировать, используют Selenium IDE как самостоятельный продукт, без преобразования записанных сценариев в программный код. Это, конечно, не позволяет разрабатывать достаточно сложные тестовые наборы, но некоторым хватает и простых линейных сценариев. 17 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
С чего начать? https: //addons. mozilla. org/en-US/firefox/addon/selenium-ide https: //addons. mozilla. org/en-GB/firefox/addon/selenium-builder Русское сообщество selenium 2 http: //selenium 2. ru/docs/selenium-ide. html 18 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Команды-действия • команда • локатор • дополнительный параметр вводимый текст: type / name=txt / Hello, world! выбираемый элемент: select / id=sel / index=2 координаты смещения: click. At / id=btn / 10, 10 19 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Типы локаторов • • 20 id=<id> name=<name> identifier=<id or name> link=<text pattern> dom=<js expression> xpath=<xpath query> css=<sizzle query> Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
• только для ссылок • текст динамичнее, чем структура link=<text pattern> • ложные срабатывания • старайтесь избегать! 21 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
• самый надёжный id=<id> • самый быстрый • самый короткий • договаривайтесь с разработчиками! 22 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
• быстрый name=<name> • надёжный • короткий • используйте при заполнении форм! 23 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
document. links document. images dom=<js expression> • дублирование имён полей в разных формах: document. forms[0]. username document. forms[1]. username 24 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
• короче, чем XPath (обычно ) css=<sizzle query> • кроссбраузерные различия (Level 1, 2, 3) • на самом деле используется Sizzle! • рекомендуется к использованию! 25 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
• функции xpath=<xpath query> • навигация в любом направлении • подзапросы • рекомендуется к использованию! 26 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Вопросы 27 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Спасибо 28 Open Access Quality Assurance & Related Software Development for Financial Markets Tel: +7 495 640 24 60 , +1 415 830 38 49 www. exactpro. com
Lektsia_6_Testirovanie_web_prilozeniy_v2.pptx