Selenium WebDriver - это набор многофункциональных библиотек, используя которые в вашем проекте вы можете писать GUI-тесты для web-приложений. При этом каждый тест запускается в реальном браузере и команды Selenium позволяют имитировать действия пользователя с web-приложением. Подробнее об установке и настройке Selenium WebDriver можно почитать в статье: "Работа с Selenium Web Driver". А в этой будет показано, как можно написать свой фреймворк на Python для GUI-тестирования используя WebDriver.
Статьи по автоматизации разработки и тестирования, построение процессов и карьерный рост. DevOps и SecDevOps. Алгоритмический трейдинг и автоматизация торгов на бирже.
пятница, 31 мая 2013 г.
понедельник, 13 мая 2013 г.
Общие подходы и критерии тестирования сканеров безопасности web-приложений
Сканеры информационной безопасности (или сканеры уязвимостей) – это программно-аппаратные средства мониторинга и контроля информационной безопасности сетевой инфраструктуры. Сканеры информационной безопасности (ИБ) позволяют проверять информационные системы: компьютерные сети, отдельные компьютеры и установленные на них приложения на наличие уязвимостей, эксплуатация которых злоумышленниками может нанести ущерб организации, которой принадлежит данная инфосистема. Большинство сканеров безопасности позволяют детектировать уязвимости описанные классификатором WASC Threat Classification.
С тестированием ИБ и основными определениями в этой области можно ознакомиться в нашей прошлой статье: "Основы тестирования безопасности web-приложений". В данной статье попытаемся рассмотреть вопросы, связанные с тестированием сканеров информационной безопасности web-приложений как программных продуктов.
С тестированием ИБ и основными определениями в этой области можно ознакомиться в нашей прошлой статье: "Основы тестирования безопасности web-приложений". В данной статье попытаемся рассмотреть вопросы, связанные с тестированием сканеров информационной безопасности web-приложений как программных продуктов.
понедельник, 4 марта 2013 г.
Подходы к оценке качества релизов программного обеспечения
В современных компаниях по разработке программного обеспечения (ПО), обычно используется подход итеративного создания, развития и улучшения программ, включающий в себя этапы:
- анализ запросов (analysis) заказчика
- планирование и постановка задач разработчикам для очередного цикла разработки (planning);
- разработка ПО (develop) программистами;
- тестирование (testing) решенных программистами задач;
- релиз (release) – итог очередной итерации разработки ПО;
- передача, внедрение (update) и апробация релиза у заказчика.
Разработка функциональных тестов при помощи RobotFramework
Разработка функциональных тестов при помощи Selenium
воскресенье, 3 марта 2013 г.
xPath: идентификация элементов на web-форме
Язык запросов xPath служит для упрощения доступа к элементам web-формы, расположенным в DOM. Очень часто его используют в таких средствах автоматизации тестирования, как Selenium IDE и Selenium WebDriver.
Аутентификация в Linux с помощью ключевой пары
Задача: требуется аутентифицировать машину Клиента (user: client_username, host: client_host) на машине Сервера (remote user: server_username, host: server_host).
Решение:
среда, 27 февраля 2013 г.
Настройка git pre-commit hook под Windows
Задача: запретить коммиты кода в git-е под Windows, если для Python-проекта не прошли все указанные юнит-тесты.
Решение: настроить файл git pre-commit hook.
суббота, 23 февраля 2013 г.
Контроль целостности кода функций
В ходе разработки сложной многокомпонентной системы для автоматизированного тестирования сканера безопасности, возникла проблема контроля целостности и проведения ревизий кода отдельных тестовых функций. Функциональных тестов, запускаемых системой, было написано уже около 2 сотен и их число продолжает увеличивается. В нашем случае один функциональный тест - это одна функция. Как правило, после разработки теста и постановки ему статуса "готов" в некотором трекере, о нём забывают и надолго. Однако, в процессе разработки других тестовых функций часто возникает необходимость проведения рефакторинга, которая по невнимательности тестировщика-автоматизатора может затронуть и уже готовые, отлаженные тесты.
Сам по себе рефакторинг любой программы, даже затрагивающий множество модулей и функций, - явление обычное и полезное. Однако, в случае функций-тестов, это не всегда так. Каждый тест разрабатывается для реализации конкретного алгоритма проверки, и даже при незначительных изменениях в его коде может быть нарушена логика, заложенная автором.
Для снижения последствий от таких ситуаций, предлагается механизм ревизий кода тестовых функций, который позволяет одновременно и контролировать целостность функций и дублировать их код.
понедельник, 15 октября 2012 г.
httest: HTTP Test Tool
httest - набор инструментов для подготовки всех видов тестовых сценариев для приложений, использующих HTTP-протокол. Есть версии под Windows/*NIX/MacOS. Благодаря своей простой конструкции (требуется только бинарный файл httest) он может использоваться на любых серверах для различных аналитических целей. Области применения httest разнообразны и включают в себя как простые тесты, так и технические проверки, тестирование производительности и мониторинга системы. Простой синтаксис позволяет неспециалистам быстро понять и написать тесты.
четверг, 11 октября 2012 г.
httpbin: HTTP Request & Response Service
httpbin - это python-сервер, который возвращает стандартные ответы на запросы клиента.
Часто требуется проверить тот или иной функционал вашего сетевого приложения. httpbin может пригодиться для тестирования корректной работы HTTP-клиента со стандартными ответами HTTP-сервера.
пятница, 28 сентября 2012 г.
Генератор уязвимых динамических сайтов - OWASP Site Generator
OWASP Site Generator - конструктор динамических web-сайтов на основе конфигураций, задаваемых в XML-файлах. Он позволяет быстро создавать Java-приложения, содержащие стандартные уязвимости, как простые, так и сложные, описываемые классификатором WASC. Генератор охватывает широкий круг технологий web-разработки. В конструкторе имеются, например, различные варианты навигации, шаблоны HTML, JavaScript, Flash, Java, форм регистрации и авторизации, поддержка работы с БД и другие возможности. По основному функционалу web-приложения, создаваемые генератором, схожи с уязвимым приложением DVWA, но отличаются тем, что вы можете сами задавать наборы уязвимостей и структуру приложения.
OWASP Site Generator можно использовать:
- для оценки работы сканеров безопасности web-приложений,
- для оценка систем защиты web-приложений,
- для обучения web-разработчиков,
- как Web Honeypot - приложение-ловушку для злоумышленников,
- как web-приложение для penetrating testing конкурсов,
- как учебное пособие для дисциплин, связанных с информационной безопасностью,
- как инструмент тестировщиков для проведения сравнительных тестов сканеров безопасности, и многого другого.
вторник, 25 сентября 2012 г.
Password Bruter - программа для многопоточного подбора учетных данных к страничкам с form-based авторизацией
Перед разработчиками и тестировщиками web-приложений периодически встают задачи тестирования безопасности разрабатываемого продукта. Один из наиболее известных классификаторов угроз и уязвимостей для web-приложений - The Web Application Security Consortium (The WASC) Threat Classification v2.0.
Одна из популярных уязвимостей (Weaknesses - в классификаторе), встречающихся для web-приложений - это недостатки подсистемы авторизации (WASC-02 Insufficient Authorization). На web-приложение, имеющее данную уязвимость, могут попытаться осуществить атаку (Attacks - в классификаторе) типа "Брутфорс" (WASC-11 Brute Force). При этом злоумышленник может попытаться осуществить подбор учетных данных на странице авторизации, если она недостаточно защищена.
К недостаткам защиты страницы авторизации можно отнести:
- отсутствие ограничения по числу попыток авторизации,
- отсутствие поля для ввода дополнительной информации - капчи (capture),
- отсутствие временной задержки между попытками авторизации и другие.
Наличие указанных недостатков в реализации подсистемы авторизации упрощает злоумышленнику доступ к web-приложению.
Одна из разновидностей атаки брутфорсом - подбор учетных данных (Brute Forcing Log-in Credentials) для страницы авторизации (Form-based Auth). Для имитации данного типа атаки был написан свой многопоточный брутфорсер Password Bruter на Python 3.2. В качестве цели было развернуто и использовано уязвимое web-приложение Damn Vulnerable Web Application (DVWA).
четверг, 13 сентября 2012 г.
Краулер ссылок и автоматизация процесса снятия скриншотов
Перед нами стояла задача: автоматизировать процесс снятия скриншотов со страничек web-приложения - некоторого сайта. Требовалось:
- Получать стартовый URL.
- Искать на страничке, полученной по стартовому URL все ссылки на другие странички.
- Переходить по всем найденным ссылкам и делать скриншоты со всех страничек.
- Ограничивать глубину вложенности при прохождении найденных ссылок.
воскресенье, 2 сентября 2012 г.
Безопасность и тестирование
Начинаю выкладывать в данный блог материалы связанные с информационной безопасностью и тестированием программного обеспечения. Статьи, в основном, будут иметь практическую и научную направленность. Статьи и их содержимое будут исправляться и дополняться по ходу изучения новых материалов.
Все материалы, представленные здесь, получены в ходе работ в Казанском государственном техническом университете им. А.Н. Туполева (КАИ), группе компаний Центр (г. Казань), компании Positive Technologies (г. Москва).
В качестве введения в область практического тестирования программного обеспечения, предлагаю ознакомиться со статьями:
Подписаться на:
Сообщения (Atom)