Как стать автором
Обновить
78.18

Тестирование веб-сервисов *

Семь раз оттесть, один раз деплой

Сначала показывать
Порог рейтинга
Уровень сложности

Обзор продукта «Структура API» и новой функциональности сравнения Open API спецификаций

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.6K

Всем привет!

Сегодня мы хотим вам рассказать о нашем продукте «Структура API» и последних изменениях в нём. Данный продукт позволяет решить одну из важнейших задач в управлении API – это получение актуальной и полной структуры API на основании реального трафика. Результат представляется в привычном swagger виде. На рисунке 1 представлен общий вид пользовательского интерфейса.

Читать далее
Всего голосов 8: ↑7 и ↓1+6
Комментарии0

Красавица и HTML Injection. Почему HTMLi не только про дефейс

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров4.2K

Привет, Хабр. Сегодня мы посмотрим на достаточно тривиальную тему с совсем нетривиальной стороны. Пожалуй, для каждого вебера HTML-инъекции являются темой, которой зачастую уделяют не очень много внимания. Взять даже собеседования: когда в последний раз вас спрашивали не об XSS'ках, а об HTML-инъекциях?

Сегодня я попробую рассказать про большую часть интересных векторов, которые мы можем использовать при ограничении в применении JS. Не стесняйтесь пользоваться оглавлением, потому что статья подготовлена для разного уровня читателей. Чтобы не обделять новичков, я достаточно подробно описал работу HTML, ее структуры и даже то, как HTML парсится браузером!

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Тестирование баз данных

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров4.5K

Тестирование баз данных включает в себя тестирование методом «чёрного ящика», «белого ящика» и набор требований ACID — атомарность, согласованность, изоляция и устойчивость. В этом руководстве я объясню все необходимые определения, расскажу, как оно проводится, и приведу примеры.

Читать далее
Всего голосов 19: ↑13 и ↓6+7
Комментарии3

Как правильно выбрать тестовое покрытие, чтобы уложиться в рамки бюджета на тестирование

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.7K

Автор: Роман Горбунов, руководитель QA-проектов в «Точка качества».

Тестирование — неотъемлемая часть разработки, так как оно обеспечивает надёжность, качество и функциональность программного обеспечения. Однако, чтобы действительно быть эффективным, тестирование должно быть систематическим, планируемым и охватывать все аспекты разрабатываемого бизнес-продукта. Важным аспектом тестирования является уровень тестового покрытия, который определяет, насколько хорошо тесты охватывают функциональность и код ПО.

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

Что такое тестовое покрытие

Тестовое покрытие — это метрика, которая показывает плотность покрытия тестами кода или требований. Если требования отсутствуют, то тестовое покрытие может отражать степень покрытия логической структуры приложения. Тестовое покрытие можно представить в виде сочетания глубины и ширины тестирования.

Ширина тестирования отражает какая функциональность затрагивалась тестированием (модули/функции).

Глубина тестирования отражает вид проверок, которые производились для модуля/функции (например, позитивность/негативность сценариев).

Уровни тестового покрытия по ширине:

Читать далее
Всего голосов 4: ↑0 и ↓4-4
Комментарии1

Лидерство в тестировании — выполнение тестового проекта

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.4K

Цель нашего обсуждения сегодня - разобрать процесс проведения тестирования проекта. Мы затронем следующие темы: 

Классический подход к тестированию 

Анализ успехов и неудач в ходе тестирования 

Проблема уменьшения покрытия(эрозии) тестирования

Управление инцидентами в процессе тестирования 

Управление финальной игрой

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Повышение наглядности интеграционных тестов

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2K

Данная статья предлагает практические рекомендации по написанию интеграционных тестов, демонстрируя, как сосредоточиться на спецификациях взаимодействия с внешними сервисами, делая тесты более читаемыми и легкими для поддержки. Представленный подход не только повышает эффективность тестирования, но и способствует лучшему пониманию интеграционных процессов в приложении. Через призму конкретных примеров будут исследованы различные стратегии и инструменты - DSL-обертки, JsonAssert и Pact, предлагая читателю комплексное руководство по улучшению качества и наглядности интеграционных тестов.

Статья представляет примеры интеграционных тестов, выполненных с использованием Spock Framework на языке Groovy для тестирования HTTP-взаимодействий в Spring-приложениях. В то же время, основные методики и подходы, предложенные в ней, могут быть эффективно применены к различным типам взаимодействий за пределами HTTP.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

Как защитить PROD от багов и себя от стресса

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.9K

Сегодня хочу поговорить про баги на ПРОДе и о том как защитить команду от этого, ведь для реализации необходима помощь всей команды в выстраивании процессов разработки ПО. Прекрасное название этой статьи говорит само за себя - если не получается защитить команду от багов, то точно получиться защитить себя от стресса, ведь не все зависит от QA.

Важно подсветить, что под багом подразумевается отличие ожидаемого результата от фактического. Мы ожидали, что при нажатии кнопки А будет окно В, но происходит совершенно другое. На схеме выше отображаются риски не только появления бага, но и не предусмотренных ошибок в виде программа не делает лучше, а только затрудняет использование.

Первый риск: Идея попадает к аналитику

Владелец продукта и аналитик на этапе проектирования тех. требований могут некорректно описать логику нового функционала (флоу). Заказчик имел ввиду одно, а по итогу в спецификациях совершенно другое. Решение данной проблемы может зависеть от правил взаимодействия с заказчиком в вашей команде.

Второй риск: разработка по тех. требованиям

Frontend и Backend разработчики берут задачи из бэклога в спринт, но в задаче может быть прикреплена устаревшая документация, ее может и вовсе не быть.

Читать далее
Всего голосов 17: ↑5 и ↓12-7
Комментарии4

Как вручную протестировать веб-API

Время на прочтение4 мин
Количество просмотров4.8K


Ранее я рассказывал об основных понятиях и терминологии API. В этой статье я покажу, как применить эти знания и попробовать API с помощью тестирования вручную.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии1

Профессия — инженер по автоматизации тестирования: работодатели в поисках фулстеков

Время на прочтение6 мин
Количество просмотров6.4K

Команда Яндекс Практикума изучила требования работодателей к инженерам по автоматизации тестирования. Рассказываем о том, что чаще используют для автоматизации — Java или Python, есть ли разделение внутри профессии на тех, кто пишет автотесты только на бэк или только на UI, и о других наблюдениях.

Читать далее
Всего голосов 8: ↑6 и ↓2+4
Комментарии4

Тесты: 100% покрытия и юниты не нужны

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров7.5K

Мы покрываем код тестами, когда хотим быть уверенными, что в негативных сценариях он сработает надёжно. Хочется, чтобы тесты были не бланковой заглушкой, а полезной нагрузкой, которая позволит считать, что наше поведение достаточно валидное. Так мы можем обеспечить корректное взаимодействие системы с пользователем.

Меня зовут Максим Вишневский, я Senior Frontend-разработчик в Циан. В этой статье поделюсь историей, как наша команда реформировала подходы к тестированию: как мы отказались от 100% покрытия и unit-тестов, чем их заменили и какой получили результат. Поговорим о проблемах с Enzyme, пользе Playwright, мокинге данных для бэка и взаимодействии с QA.

Читать далее
Всего голосов 22: ↑18 и ↓4+14
Комментарии11

Третий год борюсь с инфоцыганами. Теперь за мной следит наблюдательный совет

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров46K

Никто доподлинно не знает, что происходит на рынке IT-образования.

Бизнес по торговле людьми явно более честный, прозрачный и социально ориентированный, чем то, что происходит в EdTech. Во всяком случае, чем дольше провожу исследование IT-курсов, тем сильнее у меня именно такие ощущения.

И чем больше подобных ощущений, тем сложнее оставаться эмоционально выключенным и непредвзятым.

Читать далее
Всего голосов 50: ↑35 и ↓15+20
Комментарии95

Знакомьтесь, SafeTest — новый подход к тестированию фронтенда

Время на прочтение8 мин
Количество просмотров3.9K


В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.
Читать далее
Всего голосов 19: ↑18 и ↓1+17
Комментарии2

Книга «Тестирование веб-API»

Время на прочтение22 мин
Количество просмотров4K
imageПривет, Хаброжители!

Веб-интерфейсы — лицо приложения, и они должны быть совершенными. Внедрение программы автоматизированного тестирования — лучший способ убедиться, что ваши API готовы к работе.

«Тестирование веб-API» — это уникальное практическое руководство, включающее в себя описание всех этапов: от начального проектирования набора тестов до методов документирования, реализации и предоставления высококачественных API. Вы познакомитесь с обширным набором методов тестирования — от исследовательского до тестирования продакшен-кода, а также узнаете, как сэкономить время за счет автоматизации с использованием стандартных инструментов. Книга поможет избежать многих трудностей при тестировании API.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Ближайшие события

Как проверить локаторы с помощью Playwright

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.2K

В этой статье мы поговорим о том, что можно проверить у локатора (элемента) и какие вообще есть возможности проверок. Более того, в этой статье я описал упражнения, которые вы можете выполнить и отработать в качестве практики.
Обычно мои статьи были холиварными, а не техническими. Но в этот раз решила выложить что-то действительно техническое и полезное. Тестировщики, налетай! Очень хочу, чтобы опытные ребята, которые с playwright работают давно, поделиться своим мнением о примерах в тексте статьи. Достаточно ли они информативны.

Проверки локаторов

Это могут быть как интерактивные элементы (кнопки, поля ввода, чек-боксы, ...), так и статика (картинки, текст, иконки и т.д.).

Каждый элемент на странице может давать пользователю обратную связь: поле ввода подсвечивается красным, если вы ввели невалидные данные, иконка "Сохранить" неактивна, потому что вы еще не внесли изменения в документ, цвет всплывающего уведомления должен быть красным, потому что случилась ошибка. Чаще всего, нам нужно получить какое-то свойство элемента только для того, чтобы сразу же проверить его значение. Мы хотим проверить, что отображается правильный текст или элементу присвоен нужный CSS-класс.

С другой стороны, иногда нам нужно, все же, уметь получать свойства элементов для промежуточных действий. Например, мы хотим посмотреть, сколько сейчас строк в таблице, удалить одну и проверить, что строк стало меньше на одну. Для того, чтобы организовать такую проверку, нам нужно вычислить, сколько всего строк было до того, как мы удалили последнюю строчку. Если в таблице было X строк, то, после нажатия, должно быть X-1. Найдите икс, получается? И вот тут нам нужна "ручка", которую мы дернем и получим число, без всяких assert'ов.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Автоматическое тестирование ускорило разработку в 50 раз. Сказка от создателей FoundationDB

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8.5K
Автоматическое тестирование по сравнению с обычным, источник

Стартап Antithesis Operations LLC создан разработчиками известной системы FoundationDB. Они говорят, что между двумя продуктами много общего: «Когда в 2010 году мы взялись за создание масштабируемой, отказоустойчивой распределённой базы данных с ACID-транзакциями, большинство людей не думали, что такое возможно. Вот и сейчас многие не верят в полную автоматизацию тестирования».

Сейчас они уверены, что произвели революцию в разработке программного обеспечения. Они сделали полностью автономную и детерминированную систему автоматического тестирования. Внедрение системы в их собственной компании ускорило разработку в 50 раз, потому что программисты теперь думают только о коде и не боятся ошибок. 100% багов выявляется автоматически. Вручную писать тесты не надо, никаких тестировщиков, SDET и QA. Двое-трое программистов выполняют работу за 100−150 человек. Настоящая сказка!
Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии13

Онбординг-рулетка: о том, как мы ежедневно удаляем аккаунты своих сотрудников

Время на прочтение7 мин
Количество просмотров6K


Я твердо убежден в необходимости автоматизированных тестов и весьма дисциплинированно подхожу к их написанию. В программировании невероятно сложно соблюдать функциональную корректность и еще сложнее не допускать регрессионных ошибок. Как говорил автор Майкл Физерс, «Legacy-код – это любой код, в котором не хватает теста».

Для некоторых вещей – конечных точек серверов, схем баз данных, компонентов UI-библиотек – тестирование проходит довольно незамысловато. Другие тестировать сложнее, например конечные точки, которые вызывают сторонние API, веб-страницы react со сложными состояниями или асинхронные процессы, требующие подробной записи в базе данных. Когда я работал в Airbnb, то испытывал затруднения при тестировании смены пароля через электронную почту из-за того, что отправка писем обычно осуществляется на стороне.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии4

Большая шпаргалка по Docker: как распилить монолитный проект на части

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров21K

Погружение в мир контейнеризации с докером — это путь к оптимизации развёртыванию приложений, а также ключ к упрощению жизни разработчиков и системных администраторов. Меня зовут Андрей Аверков, в IT c 2008 начинал пусть с аналитика-проектировщика IT систем, 11 лет в роли разработчика и последние годы на руководящих должностях. Сейчас я тимлид команды разработки из 9 человек в группе компании Кокос. Мы занимаемся созданием и поддержкой CPA платформ (gdeslon.ru, fxpartners.ru, ads.mobisharks.com), а также проектом по генерации лендингов — lpgenerator.ru. У нас большой опыт в разделении продуктов на части, поэтому, сегодня мы собрали самое основное и необходимое для работы с Docker. В нашей шпаргалке вы найдете все необходимое для успешного старта с докером: от базовых концепций и установки до продвинутых техник работы с контейнерами.

Читать далее
Всего голосов 23: ↑18 и ↓5+13
Комментарии11

Миграция критически важного трафика в больших масштабах без простоев: опыт Netflix

Время на прочтение10 мин
Количество просмотров905

Сотни миллионов пользователей ежедневно заходят на Netflix, ожидая получить непрерывный иммерсивный пользовательский опыт. Вместе с тем в организации правильного опыта участвуют множество систем и служб. Чтобы оправдать и превзойти ожидания клиентов, эти бэкенд-системы постоянно совершенствуются и оптимизируются.

При миграции систем одна из главных задач — обеспечить плавный переход трафика на обновлённую архитектуру без негативного влияния на пользовательский опыт. В этой публикации мы рассмотрим инструменты, техники и стратегии, которые мы использовали для достижения этой цели.
Читать далее
Всего голосов 16: ↑12 и ↓4+8
Комментарии6

Частые ошибки при освоении профессии QA Engineer

Время на прочтение2 мин
Количество просмотров3.7K

Уже больше двух лет я занимаюсь обучением ребят с нуля одному из IT направлений, в котором, как мне кажется я неплохо разобрался за время своей практики. Сегодня хотел бы разобрать некоторые частые ошибки, которые допускают абсолютно все ученики и начинающие специалисты.

Читать далее
Всего голосов 10: ↑2 и ↓8-6
Комментарии4

WordPress: разбор уязвимости в Discount Rules for WooCommerce

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.4K

Добрый день, уважаемые читатели! Сегодня мы разберем одну старую уязвимость в плагине Discount Rules for WooCommerce < 2.2.0 для WordPress.

WooCommerce - это плагин для создания онлайн-магазина на движке WordPress, а WooCommerce Discout Rules - дополнение для WooCommerсe для предоставления и управления скидками на товары.

Суть уязвимости заключается в возможности использовать некоторые методы плагина через admin-ajax.php, которые позволяют перечислять товары, пользователей, а самое главное - сделать товар бесплатным посредством добавления правила на скидку.

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии6

Вклад авторов