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

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

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

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

Написание тестов для асинхронного кода с помощью XCTest

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


Если вы когда-нибудь думали о проведении юнит-тестирования в Xcode, вы наверняка обращали внимание на XCTest. Это довольно простой фреймворк на Objective-C и Swift. Однако тестирование асинхронного кода всегда было немного сложным из-за таких конструкций, как делегаты и коллбэки (функции обратного вызова).

В этой статье мы начнём с рассмотрения классического способа тестирования асинхронного кода, чтобы убедиться, что мы все на одной волне относительно плюсов и минусов классического асинхронного теста. После этого мы рассмотрим, как async / await кардинально меняет способ написания юнит-тестов для асинхронного кода, и как он может повлиять на то, что тесты оказываются успешными и неудачными.
Читать далее
Всего голосов 11: ↑10 и ↓1+11
Комментарии1

Как подготовить данные для запроса в Postman через pre-request

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

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

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

Подготовка данных делается через функцию pm.sendRequest() в pre-request скриптах, и в этой статье я покажу, как её использовать. Показывать буду в стиле «бери и повторяй» с примерами на бесплатной системе Users.

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

Python QA: введение в Unit Tests

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

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

Одним из наиболее распространенных методов тестирования в Python являются модульные тесты, или Unit Tests. Эти тесты позволяют разработчикам проверить отдельные компоненты и функции своего кода на соответствие ожидаемому поведению. В результате Unit Tests становятся надежным инструментом для обеспечения качества программного обеспечения и минимизации возможных ошибок.

Данная статья призвана погрузить вас в мир Unit Tests в Python. Мы рассмотрим основные принципы написания тестов, научимся создавать простые и эффективные тесты для вашего кода, а также рассмотрим некоторые лучшие практики и советы по их использованию. После ознакомления с этой статьей вы сможете использовать Unit Tests для обеспечения качества вашего Python‑кода и повысить уверенность в его надежности.

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

7 ножей в спину web-отладки

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

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

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

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

Истории

Можно ли устроиться на работу тестировщиком после курсов? Что они дают?

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

Очень насущный вопрос для многих — можно ли найти работу в тестировании сразу после курсов? Да! (сказал автор курсов, хе-хе-хе)

Я вам больше скажу — можно и БЕЗ курсов устроиться 👀. Более того, грамотные самоучки очень ценятся! Но для такого эффекта надо пахать =))

Об этом и поговорим в статье.

Читать далее
Всего голосов 18: ↑11 и ↓7+9
Комментарии28

Тесты на дженериках: пишем кода в 3 раза меньше. Параметризация AssertJ и сравнение Json через объекты

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

Продолжаю серию публикаций про наши Java-онлайн курсы. Предыдущие посты

Контроллеры на дженериках: пишем кода в 3 раза меньше
Миграция Java Spring Boot на Kotlin
Работа с документами в Java

Сразу предупрежу: точно так же, как в контроллерах на дженериках сами контроллеры не параметризируются, здесь мы НЕ БУДЕМ параметризировать сами классы тестов. Поэтому не спешите писать комментарии, не прочитав статьи, что это «Bad practice». По поводу усложнения кода заранее отвечу так же, как и в комментариях к статье про контроллеры — код тестов и их написание становятся проще, за счет усложнения инструментов (собственно на этом и строится разработка фреймворков и ООП). Можно считать приведенные здесь подходы слоем абстракции, праметризирующий подход популярной библиотеки AssertJ к сравнению объектов и расширяющий его на сравнение json объектов.

Кому интересно:

Добро пожаловать
Всего голосов 8: ↑7 и ↓1+8
Комментарии3

pgAdmin4 CVE-2024-3116

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

22 апреля была зарегистрирована уязвимость CVE-2024–3116, получившая 7.4 баллов по CVSS. Эта уязвимость приводит к удаленному выполнению кода в серверной версии pgAdmin4 ≤ 8.4 на системах Windows.

pgAdmin4 — это графический инструмент, предназначенный для администрирования баз данных PostgreSQL. Он поддерживает работу в двух режимах — desktop и server.

Для эксплуатации этой уязвимости необходимо обладать валидными учетными данными.

Сегодня в данной статье мы подготовим стенд и разберем детали этой уязвимости.

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

Книга: «Сам себе тестировщик. Пошаговое руководство по тестированию ПО»

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

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

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

Интеллект-карта с вопросами для подготовки к собеседованию Junior QA

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

Идея зародилась еще на этапе моего обучения в Яндекс.Практикуме более двух лет назад. Тогда я только познакомился с инструментом под названием интеллект‑карта и обнаружил в нем действительно полезный способ изучения и закрепления информации. У меня преобладает визуальное мышление, поэтому данный формат идеально подходит.

Зачем нужна данная карта для QA?

Качество покрытия материала: матрица трассировки вам о чем‑нибудь говорит? Если да, то данный формат разбивает и систематизирует необходимые знания на модули, что позволяет убедиться в качестве и полноте покрытия ваших знаний.

Подготовка к собеседованию: Для джуниора‑тестировщика такая карта позволит готовиться по модулям, избегая необходимости учить вопросы наизусть, как перед экзаменом. Каждый вопрос является частью следующего, и в большинстве случаев именно так и устроено собеседование.

Удобство актуализации интеллект‑карты: Исходя из моего опыта работы с таблицами Excel, можно сделать вывод: чем больше таблица, тем выше вероятность дублирования информации. В случае с картой же такое сложно осуществить, так как вы можете реконструировать ветви в модулях. Перетаскивание, редактирование, а также ссылки на другие ветви делают использование карты удобным и понятным.

Лучшее запоминание материала: Мы запоминаем благодаря ассоциативной памяти и нейронным связям. Если вы читали книгу Тони Бьюзена «Интеллект‑карты», то, вероятно, согласитесь со мной.

Отработка навыка: Навык использования mind‑map необходим в работе. Поэтому подготовка к собеседованию или проверке знаний с использованием карты позволит вам заранее ознакомиться с ней, что благоприятно скажется на вашем умении и полноте вашего резюме.

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

Мокирование как хорошая практика тестирования фронтенда

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

Привет, я Фируз Шоев, тестировщик в Отелло — сервисе бронирования отелей от 2ГИС. Мы в стадии активного роста и постоянно усиливаем команду. Несколько месяцев назад я подключился к найму тестировщиков и с тех пор провожу собеседования практически каждую неделю. За это время я стал замечать, что многие кандидаты не уделяют должного внимания тестированию фронтенда.

Почти в каждом втором собеседовании я слышу следующее:

Во фронтенде можно максимум вёрстку протестировать отдельно от бэкенда.

Фронтенд тестируем через end-to-end тесты, но они сложные и нестабильные.

А как вообще тестировать фронтенд изолированно?

Про моки слышали, но не использовали их и не думаем, что на них стоит полагаться.

В этой статье я хочу рассказать о важности тестирования фронтенда и пользе моков. Мокирование вносит весомый вклад в обеспечение качества приложений 2ГИС, поэтому надеюсь, что этот подход принесёт пользу и другим.

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

Новый релиз большого интерактивного «столетнего» учебника по тестированию

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

Гуд ньюз эвриван! Вышло большое обновление учебника «100-Year QA‑Textbook — русскоязычная версия» — одного из самых полных источников по тестированию.

С момента первого релиза (100'000 хабр‑просмотров!) прошло полгода.
За это время столетний учебник стал бесплатным пособием для 10'000+ самообучающихся студентов.

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

Нагрузочное тестирование для интернет-магазина

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

Проведение нагрузочного тестирования стало необходимостью в связи с резким ростом онлайн-аудитории интернет-магазина в периоды маркетинговых рассылок. Если в обычное время количество пользователей составляло около 200 человек одновременно, то во время маркетинговых акций это число выросло до 1500 человек. Этот рост потребовал серьезной подготовки системы к возросшей нагрузке, чтобы обеспечить стабильную работу ресурсов и избежать сбоев, а также недоступности для клиентов. Нагрузочное тестирование стало ключевым шагом в обеспечении бесперебойной работы интернет-магазина в периоды повышенной активности пользователей.

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

Как стать тестировщиком бесплатно? Программа обучения с нуля

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

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

Чтобы разбавить обилие платных курсов, мы подготовили для вас программу обучения «Тестировщик с нуля», которая состоит только из бесплатных курсов.

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

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

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн

В закладки: 50+ полезных ссылок для начинающего QA-инженера

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

Привет, Хабр! Меня зовут Кристина. Я работаю в Яндекс Практикуме ревьюером на курсе «Инженер по тестированию», ментором тестировщиков в Мастерской программирования и руководителем соревновательных видов IT-практики (багатонов, хакатонов и кейс-чемпионатов).

В этой статье я поделюсь полезными материалами для QA-инженеров. Некоторые из них помогут освоить профессию тестировщика с нуля, а другие — расширить знания в начале карьеры.

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

Как мы в 4 раза ускорили мобильную версию ВКонтакте

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

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

Меня зовут Тарас Иванов, уже семь лет я развиваю фронтенд ВКонтакте, а сейчас руковожу командой, которая занимается производительностью и инфраструктурой. В статье я расскажу, как мы с командой ускорили загрузку m.vk.com в 4 раза, на какие метрики обращали внимание и какие сервисы использовали для оценки эффективности. Описанные способы и инструменты помогут повысить производительность в любом проекте: от многостраничных платформ с большим количеством legacy до свежих лаконичных лендингов. Актуально как для мобильной, так и десктопной версий.  

Читать далее
Всего голосов 13: ↑12 и ↓1+20
Комментарии12

Управление API или API Security? Что это такое?

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

В сфере кибербезопасности существует постоянная гонка между атакующими и защитниками. Этот процесс можно сравнить с визуальным процессом гонки, где основная цель - это скорость. Начинается все с фазы разведки, где происходит инвентаризация ресурсов. Затем команды приоритизируют задачи и принимают меры, основанные на этих приоритетах. Важно отметить, что скорость играет ключевую роль в этой гонке. Примером может служить серия событий, начавшаяся с утечки набора инструментов в открытый доступ от группы хакеров «The Shadow Brokers». Через месяц после этого появился шифровальщик WannaCry, а вскоре после этого его модификация NotPetya, использующая те же уязвимости с незначительными изменениями. Это произошло благодаря быстрой адаптации уже существующего кода и техник. Сравнивая сегодняшние события с прошлыми, мы видим, что скорость изменений значительно выросла. Если раньше для появления базовой атаки требовался месяц, то сейчас это может занять менее 10 дней. Это объясняется не только изменениями в инструментарии, но и развитием технологий, включая использование искусственного интеллекта. Однако вместе с увеличением скорости изменений возросла и сложность кибербезопасности. Системы становятся связанными и зависимыми друг от друга, что создает новые вызовы для обеспечения их безопасности. Необходимость защиты таких систем становится все более острой, и скорость реагирования является ключевым фактором в обеспечении безопасности в цифровом мире.

Почему важно быстро реагировать на уязвимости, и какую роль здесь играет Web Application Firewall (WAF).

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

Мифы о работе тестировщиков, на которые всегда один ответ: «Ага, конечно. Ты полностью прав»

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

Привет! Меня зовут Кирилл, я работаю тестировщиком в R‑Style Softlab. Ни для кого не секрет, что работа тестировщика в области информационных технологий окутана мифами и непониманием со стороны обывателей. Я вспомнил несколько самых распространенных и раздражающих меня мифов и постарался объяснить, почему это неправда.

Читать далее
Всего голосов 16: ↑15 и ↓1+19
Комментарии86

Телеграм бот для подготовки к собеседованиям для QA инженеров

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

Всем привет! Я занимаюсь обучением Manual QA инженеров с нуля и стараюсь улучшать подходы и придумывать разные активности, инструменты и задачки в рамках обучения на моем курсе.

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

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

Бот полностью бесплатный.
Ссылка на бот: https://t.me/quality_academy_interview_bot

Контакты для связи:

Мой личный тг канал: https://t.me/realization_spain
Телеграм канал школы: https://t.me/quality_academy

Всем результатов!

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

Кратко про юнит-тесты в Rust

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

Привет!

Юнит-тесты позволяют предотвратить ошибки и значительно упростить процессы рефакторинга и поддержки кода. Их реализация существует во всех языках программирования и Rust - не исключение.

Юнит-тесты в Rust обычно располагаются в том же файле, что и тестируемый код, в специальном модуле с именем tests, аннотированном #[cfg(test)]. Внутри этого модуля размещаются функции тестирования, каждая из которых также аннотируется как #[test].

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

Лучшие альтернативы ChatGPT для QA

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

Привет, Хабр! Меня зовут Иван, я Full Stack QA. Сегодня поговорим про альтернативы ChatGPT, которые работают на территории РФ без костылей и совершенно бесплатно.

Каждую из LLM моделей я использую как в повседневной жизни, так при написании автотестов, изучения нового материала, подготовки ручных тест-кейсов, генерации изображений и т.д.

Главное правило ручного тестировщика - для начала нагугли проблему спроси у GPT и только после обращайся с вопросом к ментору.

🤖 Первый аналог - Coze.com | Открыть модель

Первый ИИ работает в телеграм-боте и всегда будет у вас под рукой...

Читать далее
Всего голосов 14: ↑13 и ↓1+15
Комментарии17

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