Разделы портала

Онлайн-тренинги

.
Автоматизация тестирования
Создание тестов для REST API на Python с использованием запросов. Часть 1: базовые тесты
14.04.2020 00:00

Автор: Баз Дейкстра (Bas Djikstra)
Оригинал статьи
Перевод: Ольга Алифанова

В этой короткой серии статей я хочу исследовать библиотеку запросов Python и то, как ее можно использовать для создания тестов REST API. Это первая статья, и она посвящена тому, как начать и написать первые тесты для выборочного REST API.

Подробнее...
 
Нужно ли переписывать автотесты на другом языке?
08.04.2020 00:00

Автор: Энди Найт (Andy Knight)
Оригинал статьи
Перевод: Ольга Алифанова

Френд в Twitter недавно задал мне вопрос:

"Я работаю в команде Microsoft. У нас 40 разработчиков, использующих .NET (C#). У нас также несколько ручных тестировщиков и 5 автоматизаторов, которые разработали нашу тест-автоматизацию на Python. Однако руководство хочет полностью перенести все на C#.

Что лучше, а) научить 40 .NET-разработчиков Пайтону, чтобы пользоваться имеющимся решением, или б) научить тестировщиков .NET и портировать тесты на C#?"

Это очень сложный вопрос. Ответить на него сложнее, чем на вопрос о наилучшем языке тест-автоматизации, потому что тут уже имеются в наличии люди, позиции и решения. Честно говоря, я не могу дать исчерпывающего ответа без подробного контекста, но могу предложить пять советов.

Подробнее...
 
Прелести Pytest: Pytest-BDD
06.04.2020 00:00

Автор: Джош Грант (Josh Grant)
Оригинал статьи
Перевод: Ольга Алифанова

Продолжая исследовать Pytest и его замечательные возможности, хочу рассказать о плагине pytest, который по сути представляет из себя полноценный инструмент тест-автоматизации. Это pytest-bdd.

Pytest-bdd – это вариация более распространенных фреймворков вроде Cucumber или Behave, который сам по себе – по сути Python Cucumber. BDD – популярный подход, распространенный среди команд – как работающих с автоматизированным тестированием впервые, так и опытных, ищущих зрелую методологию для внедрения. Ключевая особенность BDD – это создание фича-файлов с применением специального неспециализированного синтаксиса, Gherkin. Это позволяет описывать фичи вначале в таком формате:

Подробнее...
 
Функция "main" в Python
02.04.2020 01:00

Автор: Энди Найт (Andy Knight)
Оригинал статьи
Перевод: Ольга Алифанова

Эта статья покажет вам наилучший способ обращения с Python-функциями "main".

Python похож на скриптовый язык: все строки в "модуле" Python (файле .py) выполняются всегда, когда этот файл запускается. Модулям не нужна функция main. Допустим, у нас есть модуль по имени stuff.py вот с каким кодом:

Подробнее...
 
Проверка ответов API целиком
04.03.2020 01:00

Автор: Энджи Джонс (Angie Jones)
Оригинал статьи
Перевод: Ольга Алифанова

Большинство людей тестируют API спустя рукава. В своем воркшопе "Азбука API" я прошу людей вручную протестировать API. Получая ответ, они, как правило, бросают на него взгляд и, возможно, тщательно проверяют некоторые ключевые поля. То же верно и для автотестов – обычно проверяются только ключевые поля.

Подробнее...
 
Руководство по XSS, часть 3
06.02.2020 00:00

Авторы: Джейкоб Каллин и Ирен Лобо Валбуэна (Jakob Kallin, Irene Lobo Valbuena)
Оригинал статьи: https://excess-xss.com/
Перевод: Ольга Алифанова

Руководство по XSS, часть 1

Руководство по XXS, часть 2

Предотвращение XSS

Методы предотвращения XSS

Напомним, что XSS-атака – это тип инъекции кода: вредоносный код ошибочно интерпретируется как пользовательский ввод. Чтобы предотвратить этот тип инъекций, необходимо безопасно обращаться с вводом. Для веб-разработки существует два фундаментально разных подхода к безопасной обработке вводимой информации:

  • Шифрование, когда браузер интерпретирует пользовательский ввод только как данные, а не как код.
  • Валидация, фильтрующая пользовательский ввод – браузер интерпретирует его как код, игнорируя вредоносные команды.
Подробнее...
 
Путь автоматизатора к непрерывной интеграции
29.01.2020 00:00

Непрерывная интеграция – основная цель внедрения автоматизации тестирования на проекте, без нее смысл автоматизации меркнет. Однако единственно верного рецепта построения CI на проекте не существует, т.к. CI это практика и глобальный подход, который строится на конкретных технических решениях, коих сегодня великое множество. На прошлой конференции Вадим Зубович рассмотрел различные подходы к организации процесса непрерывной интеграции и показал множество «подводных камней», с которыми можно столкнуться при применении тех или иных инструментов и подходов

С 31 марта по 2 апреля ждем вас на четвертом выпуске конференции TestCon Moscow 2020. Уже составлена программа конференции. А всем подписчикам портала мы предлагаем дополнительную скидку в 10% по промо коду SOFTWARE10.

 
Советы по Cypress, часть 1: как соблюдать принцип DRY при помощи кастомных команд
16.01.2020 00:00

Автор: Филип Рик (Pilip Hric)
Оригинал статьи
Перевод: Ольга Алифанова

Принцип DRY = Don’t repeat yourself (не повторяйтесь).

End-to-end тесты иногда начинают повторять сами себя. Вы можете делать все, что в ваших силах, чтобы удерживать количество тестов на оптимальном уровне, но в некоторых случаях избежать повторяемости просто невозможно.

Приведу пример. Мы будем тестировать админ-интерфейс Slido. Slido дает пользователям возможность модерировать вопросы участников в ходе события. Одобренные вопросы отображаются для аудитории. В приложении есть различные фильтры вопросов, и у всех из них своя сортировка.

Пользователям по разным причинам может понадобиться сортировать входящие вопросы, а также живые, отмеченные звездой и архивированные.

Подробнее...
 
Революция или эволюция Page Object Model?
09.01.2020 00:00

Всем привет! Меня зовут Артём Соковец. Хочу поделиться переводом своей статьи об Atlas: реинкарнации фреймворка HTML Elements, где представлен совершенно иной подход работы с Page Object.

Перед тем, как перейти к деталям, хочу спросить: сколько обёрток для Page Object вы знаете? Page Element, ScreenPlay, Loadable Component, Chain of invocations…

А что будет, если взять Page Object с реализацией на интерфейсе, прикрутить Proxy Pattern и добавить немного функциональности Java 8?

Если интересно, предлагаю перейти под кат.

Подробнее...
 
Почему для нового проекта я взял Robot Framework
02.12.2019 00:00

Автор статьи: Владимир Васяев

Блог компании Maxilect

Недавно я сменил проект — пришел в новую разработку, где до меня не было никакого тестирования, ни ручного, ни автоматического. Условий на инструментарий (за исключением того, что это Python) заказчик не накладывал, так что я сделал собственный выбор. В этой статье я расскажу, почему в таких условиях предпочел Robot Framework. А в конце будет немного специально написанных под статью примеров, иллюстрирующих, о чем речь.

image

Автоматизацией тестирования я занимаюсь уже более 10 лет, а с Robot Framework взаимодействовал порядка трех из них.

Как я отметил выше, не так давно я пришел на новый проект, где начал автоматизацию тестирования с нуля. Подробностей о проекте рассказать не могу — NDA. Отмечу лишь, что это крутой инструмент автоматизации, который в перспективе должен сэкономить массу человеческих ресурсов. Построен он из микросервисов. Пока что моя работа касается четырех из них, но в будущем я расширю свою деятельность и на другие — все упирается в то, что у меня лишь 8 рабочих часов в сутки. На все нужно время.

Отсутствие тестирования в случае этого проекта было тождественно отсутствию рекомендуемого инструментария. В рамках стека Python у меня была свобода выбора. И я ей воспользовался.

Подробнее...
 



Страница 15 из 41