В этой презентации я рассказываю не только об автотестах, а о целом комплексе автоматических инструментов для обеспечения качества веб-сервиса на разных этапах разработки.
Как обеспечить проверку формата? Как поддерживать документацию в актуальном виде? Какую архитектуру выбрать для функциональных тестов?
Немного интересного про JSON-схемы и параметризованные тесты, про тестирование API методом чёрного ящика и про выбор исходных данных для тестирования.
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
Вячеслав Марков, QA engineer в Weezlabs
Я расскажу о том, как в нашей фирме организовано тестирование бэкенда с помощью тестового фреймворка TestNG и Java. Расскажу о data-driven тестировании и о том, почему его удобно применять. Покажу и опишу разработанную нами структуру типового тестового проекта. Представлю применяемые нами способы сбора и документирования результатов, а так же их анализ в условиях CI.
В этой презентации я рассказываю не только об автотестах, а о целом комплексе автоматических инструментов для обеспечения качества веб-сервиса на разных этапах разработки.
Как обеспечить проверку формата? Как поддерживать документацию в актуальном виде? Какую архитектуру выбрать для функциональных тестов?
Немного интересного про JSON-схемы и параметризованные тесты, про тестирование API методом чёрного ящика и про выбор исходных данных для тестирования.
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
Вячеслав Марков, QA engineer в Weezlabs
Я расскажу о том, как в нашей фирме организовано тестирование бэкенда с помощью тестового фреймворка TestNG и Java. Расскажу о data-driven тестировании и о том, почему его удобно применять. Покажу и опишу разработанную нами структуру типового тестового проекта. Представлю применяемые нами способы сбора и документирования результатов, а так же их анализ в условиях CI.
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.Positive Hack Days
Будут рассмотрены навыки обнаружения сложных уязвимостей Web-приложений, ручного анализа результатов работы сканеров защищенности Web-приложений, оценки эффективности специализированных средств защиты, таких как Web Application Firewall.
Positive Hack Days. Гольцев. Мастер - класс: Уязвимости Web – сложные случаи.Positive Hack Days
Будут рассмотрены навыки обнаружения сложных уязвимостей Web-приложений, ручного анализа результатов работы сканеров защищенности Web-приложений, оценки эффективности специализированных средств защиты, таких как Web Application Firewall.
Примеры быстрой разработки API на масштабируемом сервере приложений Impress д...Timur Shemsedinov
Примеры кода приложений и конфигурации сервера с доступом к файлам, памяти, базам данных и параллельной асинхронной обработкой различных типов API запросов с состоянием и без состояния.
Как автоматизировать тестирование WebApi, даже если проект завязан на внешние сервисы. Как тестировать WebApi-сервер без постоянных деплоев, как дебажить во время прогона интеграционных тестов.
Видео https://www.youtube.com/watch?v=fuS1IaLSGV0
Семинар по Node.js в КПИ 20 октября 2014. Докладчики: Тимур Шемсединов, Никита Савченко, Максим Петренко. Краткое содержание:
* Что такое Node.js и как работает JavaScript в V8
* Профессионалы расскажут, почему они выбрали Node.js
* Вы узнаете его сильные и слабые стороны и где его лучше применять
* Будет полный обзор особеностей и внутреннего строения Node.js
* Примеры внедрения и Highload-проекты
* Вопросы развертывания, хостинг, тестирования, и отладки
* Где и что учить, что читать, как осваивать
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
Клиент, сервер и их взаимодействие, разработка веб и мобильных приложений, Лебедюк Эдуард /
Client & server overview & communication between them, how to develop mobile apps based on existing webapp, Eduard Lebedyuk
4. Проблемы
Долго и утомительно
Много однообразных действий
И так каждый регресс.
Цена ошибки довольно высока, поскольку это одна из ключевых
функциональностей браузера.
5. Автоматизация – почему нет?
Число обращений к API соцсетей ограничено
Это не классический веб, это браузерные расширения
Потребует большого ресёрча и времени автоматизатора.
6. Полуавтоматизация: как это устроено?
Запрос к API/somePath
Ответ заглушкой
Сравнивает запрос к API
с шаблоном
Шаблон запроса
'httpRequest': {
'method': 'POST',
'path': '/somePath',
'body': {}
},
'httpResponse': {
'statusCode': 200,
'body': { }
}
7. Предварительные настройки среды
• Сохраняем ответы API в виде json-файлов
• Ставим браузер Google Chrome + расширение DHC (Dev HTTP Client)
• Ставим java + mockserver
• Помещаем заглушки в расширение DHC и сохраняем их там в виде
проекта
8. Алгоритм действий
• Перенаправляем API на localhost
• Запускаем Mockserver
• Запускаем расширение DHC
• Посылаем запросы к API
• Смотрим результат
16. Полуавтоматизация – почему да?
По сравнению с полной автоматизацией – простота
Облегчение жизни ручному тестировщику
Сокращение сроков тестирования: 2 дня vs 2 часа
Возможность генерировать самые разные ответы сервера, в том
числе, и невалидные
Легко портируемо
17. Какие минусы?
Проблема с API, использующими механизм форсированного
защищённого протокола hsts
Решение:
Флаг командной строки --ignore-certificate-errors для Google Chrome
18. Какие минусы?
Игнорирование возможных внезапных изменений в сторонних API
Решение:
Отдельные тесты для API с помощью приложения Postman для
Google Chrome