Как стать автором
Поиск
Написать публикацию
Обновить
92.8

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

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

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

Когда юнит-тестирование действительно необходимо

Время на прочтение5 мин
Количество просмотров13K
Представим, что вы разработчик на JavaScript, Ruby, Python или PHP. Ваш язык программирования не ищет ошибок во время компиляции. Собственно, у него компиляции, как таковой, нету. Если вы допустите синтаксическую ошибку, вы, конечно, о ней узнаете. Когда запустите программу.

Если вы ответственный разработчик, то напишите тесты сами. Так поступают все ответственные разработчики. Но что вы будете тестировать?
Читать дальше →

Отчёт с прошедшего 17 июня QA MeetUp

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


17 июня в Нижнем Новгороде прошла встреча QA MeetUp для всех, кто имеет отношение к сфере тестирования и просто неравнодушных. На встрече выступили целых шесть докладчиков, и мы предлагаем вам посмотреть видеозаписи и презентации их выступлений.
Читать дальше →

QA MeetUp 17 июня в Нижнем Новгороде

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


17 июня в Нижнем Новгороде Mail.Ru Group снова проведет QA MeetUp. Событие будет интересно всем, кто работает в сфере тестирования. Приглашаем вас пообщаться с профессионалами из разных IT-компаний, передать свой опыт и получить новый. В программе встречи пять докладов.
Читать дальше →

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

Время на прочтение11 мин
Количество просмотров44K
В этой статье хотелось бы поделиться одним из способов простого и удобного интеграционного тестирования http-сервиса, написанного на Go. Интеграционные тесты бывает непросто создавать так, чтобы обходиться без сложных скриптов, но на помощь нам придет Docker, пакет из стандартной библиотеки httptest и билд-теги. Для примера мы будем использовать MySQL базу данных с миграциями, управляемыми пакетом goose. Финальной целью является получить простое и удобное кроссплатформенное интеграционное тестирование простым запуском команды go test, будь это рабочий ноутбук или Continuous Integration сервер.

image
Читать дальше →

SpiderTest: автотесты своими руками

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


Довольно часто среди начинающих (и даже не очень) тестировщиков приходится слышать: «вот если бы я умел писать автотесты, я бы…». Как правило этим «если бы» ребята и ограничиваются. На вопрос: «А почему не учишься писать?» чаще всего отвечают: «Программирование это не мое». Действительно, тем для кого программирование темный лес, погрузиться в мир автотестов довольно затруднительно, ведь скрипт сам себя не напишет. В этой статье я хотел бы поговорить о том, как из ручного тестировщика стать крутым автотестером.
Читать дальше →

Подводные камни A/Б-тестирования или почему 99% ваших сплит-тестов проводятся неверно?

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

«Горячая» и часто обсуждаемая сегодня тема оптимизации конверсии привела к безусловной популяризации А/Б-тестирования, как единственного объективного способа узнать правду о работоспособности тех или иных технологий/решений, связанных с увеличением экономической эффективности для онлайн-бизнеса.

За этой популярностью скрывается практически полное отсутствие культуры в организации, проведении и анализе результатов экспериментов. В Retail Rocket мы накопили большую экспертизу в оценке экономической эффективности от систем персонализации в электронной коммерции. За два года был отстроен идеальный процесс проведения A/Б-тестов, которым мы и хотим поделиться в рамках этой статьи.
Читать дальше →

HP StormRunner Load. Практическое руководство. Часть III

Время на прочтение3 мин
Количество просмотров4.3K
Привет Хабр! Сегодня предлагаем вашему вниманию третью часть цикла статей, посвящённого HP StormRunner Load. Предыдущие части: I и II.



В этой части поговорим про анализ результатов.
Читать дальше →

HP StormRunner Load. Практическое руководство. Часть II

Время на прочтение8 мин
Количество просмотров5.6K
Продолжаем серию статей, посвященных HP StormRunner Load.
Первую часть вы можете почитать здесь

УПРАЖНЕНИЕ 2. Создание скрипта HP TruClient


РОЛЬ: Инженер производительности
В этом упражнении мы рассмотрим нагрузочный тест с использованием HP TruClient – агента записи, подключаемого к браузеру Firefox.

Что представляет собой HP TruClient?


HP TruClient – это передовой механизм записи, который подключается к браузеру Firefox (существует также версия TruClient для Internet Explorer, версия для Chrome находится в стадии разработки), чтобы записывать ваши действия в ходе навигации по браузеру. TruClient создает скрипт этих действий, запуск которого может быть воспроизведен несколькими виртуальными пользователями. Число таких пользователей затем может быть увеличено, чтобы создать требуемую нагрузку на сервер.
Скрипты HP TruClient отличаются от некоторых других типов скриптов, поскольку они более реалистично отражают действия пользователя браузера. Скрипт на основе API (Application Programming Interface) точно воспроизводит нагрузку на сервер, но не содержит всех тех задач, которые могут быть возложены на сервер с точки зрения человека, использующего браузер.
Преимущество скриптов TruClient заключается в том, что их гораздо проще создавать и поддерживать. Браузеры (и TruClient) автоматически выполняют корреляцию данных конкретной сессии, в то время как в скриптах HTTP/HTML она должны быть тщательно запрограммирована. Оба типа записей формируют необходимую нагрузку, однако HP TruClient создает более простую имитацию реальных пользователей и их полного взаимодействия с браузером.
Единственный недостаток, характерный для скриптов HP TruClient, связан с масштабируемостью. При воспроизведении записи API на сервере требуется очень небольшое количество ресурсов (процессора и памяти). Это означает, что на данном аппаратном обеспечении можно запустить больше таких виртуальных пользователей, чем виртуальных пользователей TruClient. Тем не менее, учитывая низкую стоимость облачных генераторов нагрузки, использование скриптов TruClient может оказаться вполне выгодным.
Читать дальше →

PODAM Java объекты для Unit-тестирования

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


Добрый день!
При unit-тестировании часто сталкиваешься с необходимостью заполнять сложные объекты, чтобы возвращать их со стороны заглушек или наоборот — давать их на вход методам и тестам. Некоторые разработчики игнорируют get-set конвенции Java, а даже если геттеры и сеттеры есть, то заполнение объекта достаточно сложной структуры порой требует больше кода, чем сам тест. Это анти-паттерн Excessive Setup, и хочется научиться с ним бороться. В этой статье я расскажу, как с помощью библиотеки PODAM заполнять объекты быстро и красиво, продолжая идеи разумной рандомизации как входных данных для тестов, так и данных, возвращаемых заглушками — покажу на примерах, пороюсь в исходниках.
Итак, чтобы долго не думать, но и не заниматься миром животных, сгенерим страну.
Читать дальше →

Сравнение онлайн-консультантов для сайта: муки выбора

Время на прочтение5 мин
Количество просмотров30K
Сразу предупрежу, что статья не носит рекламный характер. Написана она исключительно с целью поделиться своим опытом в подборе качественного инструмента для онлайн-консультирования, так как сами, пока искали, не могли нигде найти подходящий материал с подробным анализом.

Когда мы решили завести на своих сайтах онлайн-чат, мы не очень ясно понимали, какой у него должен быть функционал. Единственное, что мы сразу четко понимали: это не будет чатик, куда любой случайный посетитель сможет написать «эй, есть кто живой?». И не такой, где отвечать на сообщения посетителей будет девочка-консультант, толком не разбирающаяся в технических особенностях нашего продукта.


Читать дальше →

Тестирование производительности API: улучшаем пользовательский опыт

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

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

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

Читать далее

Рутину — ИИ, исследование — людям: новая реальность Surf QA

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

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

Тест-документация рождается в 5 раз быстрее, а свободное время инженеры используют для исследовательских тестирований, погружения в продукт и проработки нефункциональных требований. И всё это вместо монотонного создания проверок по требованиям.

Читать далее

От слепых котят к ИИ-гуру: история автоматизации тестирования в Сбере

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

Всем привет! На связи команда Take it easy. Название говорит само за себя: мы упрощаем жизнь другим командам в релизном цикле и повышаем эффективность производственного процесса. 

В любой разработке много времени отнимает тестирование. Поэтому мы решили автоматизировать создание тестовых сценариев API, чтобы помочь тестировщикам. Применили ИИ-инструмент APISpecGen для анализа спецификаций новых API-требований, генерации соответствующих тестовых сценариев, обезличенных тестовых данных по схемам запрос/ответ и select-запросов с помощью GigaChat.

Читать далее

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

87% валидных тест-кейсов: как ChatGPT справляется с их генерацией

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

Что, если рутинную и трудоёмкую задачу по написанию тест-кейсов можно было бы поручить ИИ? Мы решили проверить, насколько хорошо ChatGPT справится с генерацией тест-кейсов на основе документа Software Requirements Specification (SRS) — спецификации требований к программному обеспечению. В эксперименте участвовали реальные студенческие проекты, а качество сгенерированных кейсов оценивали сами разработчики. В статье — методика, результаты и выводы о том, где ИИ оказался полезным, а где — всё ещё промахивается.

Читать далее

19 лучших инструментов для тестирования игр

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

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

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

Читать далее

Начинаем в багбаунти: доступно об уязвимостях типа Broken Access Control

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

Привет, меня зовут Александр (aka bytehope). Прежде чем прийти к багхантингу, я пять лет занимался коммерческой разработкой. Однако меня всегда больше интересовал поиск уязвимостей, поэтому сейчас свое свободное время я провожу на площадках багбаунти.

Эту статью я решил посвятить уязвимостям, связанным с недостатками контроля прав (Broken Access Control). Вы узнаете, что это очень распространенный баг, который может проявляться самыми разными способами. Конечно, особый акцент будет сделан на практике: я покажу, как отловить четыре разных вида этой уязвимости в лабах Web Security Academy. Начнем с самых простых примеров, поэтому статья подойдет для начинающих охотников. Смело заглядывайте под кат!

Начнем хантить баги?

Скилл-нутриенты для тестировщика и не только: зачем выращивать в себе технолога

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

Однажды я задумался, почему одни QA-инженеры застревают в мидлах, а другие — дорастают до CTO. Я исследовал эту тему, проводил интервью и пришёл к определённым выводам, которыми готов поделиться. 

Дисклеймер: везде, где далее будет использован термин «тестировщики», можно подставлять «разработчики», «аналитики» и даже «менеджеры», ведь скилл-нутриенты полезны вообще всем айтишным специалистам. 

Читать далее

Как мы работаем с QA-метриками: опыт Рунити

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

Привет, Хабр! Я — Ольга Султанова, руководитель тестирования в Рунити. Сегодня я расскажу о QA-метриках, которые мы применяем в работе: как мы их внедряли, как собираем данные, как автоматизируем и анализируем. А также о том, какие у нас стоят пороговые значения и о том, какие действия мы предпринимаем, когда они нарушаются.

Читать далее

Где и как искать этот ваш SSRF: первые шаги в багхантинге

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

Привет, меня зовут Олег Уланов (aka brain). Я занимаюсь пентестами веб-приложений и активно участвую в багбаунти, зарабатывая на чужих ошибках. Свой путь в наступательной безопасности я начал совсем недавно, но, несмотря на это, меньше чем за год мне удалось ворваться в топ-10 исследователей на Standoff Bug Bounty (сейчас я на 5-м месте — можете проверить 😉).

В своем дебютном посте кратко расскажу об уязвимости с подделкой запросов на стороне сервера (SSRF) и ее видах, покажу, как обнаруживать этот баг и почему его стоит искать даже на статических сайтах, а заодно подсвечу особенности работы с Burp Suite, Collaborator Everywhere и Wappalyzer. Статья будет полезна для прокачки скилов и поможет легче и быстрее обнаруживать SSRF в сервисах, размещенных на площадках багбаунти.

Начнем хантить баги?

Где и как использовать сниффер для тестирования веб-приложений на примере Proxyman

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

Когда я только начинала работать тестировщиком, снифферы трафика казались мне чем-то далеким. В голове было что-то типа: "Ну, это для тестировщиков мобилок и для разработчиков. Мне оно не надо". Но потом я постепенно начала их использовать и поняла, что сниффер это маст хэв вещь в некоторых случаях!

В этой статье расскажу о нескольких кейсах, где снифферы трафика могут реально сохранить кучу времени и некоторое количество нервов. Let's go!

Читать далее