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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стартап 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 мин
Количество просмотров920

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

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

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

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

Уже больше двух лет я занимаюсь обучением ребят с нуля одному из 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

Беда «войти в айти» или курсы тестировщика отзывы: Сколько студентов на самом деле находит работу после Skillbox

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

В 2021 году я начал масштабное исследование трудоустройства 400 QA-студентов более десятка различных курсов. Исследование получилось настолько длинным, что превратилось в дюжину хабр-статей с 500'000 просмотрами, а некоторые из его участников успели пройти путь от "какой курс посоветуете?" до "поздравьте, мне предложили позицию сеньора".

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

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

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

Читать далее
Всего голосов 53: ↑45 и ↓8+37
Комментарии143

Тестирование без моков: язык паттернов. Часть 2

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

Язык паттернов помогает избежать многих проблем: не использует широкие тесты, не использует моки, не игнорирует инфраструктуру и не требует архитектурных изменений. Он обладает мощью широких тестов, а также скоростью, надёжностью и удобством сопровождения, присущим модульным тестам. Хотя и не обошлось без компромиссов. В этой публикации подробнее рассмотрим паттерны инфраструктуры, паттерны Nullability и паттерны тестирования легаси-кода.

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

Fullstack QA — путь самурая, или раскрытие потенциала тестировщика

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

Специалисты fullstack QA весьма востребованы работодателями. В сегодняшней статье расскажу, в чем ценность таких сотрудников, какие hard и soft skills нужны и почему будущее именно за fullstack QA.

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

В помощь IT-команде — «Регламент создания баг-репортов» или «Как сделать задачу ясной для тебя из отпуска»

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

Данный регламент я написал на основании опыта работы лидом в IT компании с веб-приложением. Пункты из него прошли проверку практикой. Изначальные версии были основаны на best practice из интернета, agile и опыта предыдущих и текущих руководителей.

Здесь нет привязки на какую-то определенную систему трекинга задач. Использование возможно как для JIRA, Kaiten, GitLab, Trello, так и для excel-таблицы.

К регламенту
Всего голосов 13: ↑10 и ↓3+7
Комментарии1

Долой баги! Рандомизация веб-тестирования

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

В своей книге "Методы тестирования программного обеспечения" Борис Бейзер описывает парадокс пестицидов. В контексте тестирования программного обеспечения - независимо от того, какой метод тестирования вы выберете, вы все равно пропустите более незаметных “вредителей”, то есть баги.

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

Как же с этим справиться? Расширить охват тестирования, добавив в свой процесс фаззинг.

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

Анонс Asserts

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

Представляем вам Asserts — платформу для анализа и отслеживания метрик. Сканируя метрики вашего приложения в любой совместимой с Prometheus базе данных временных рядов (time-series database, TSDB), Asserts в реальном времени: 

— создаёт карту архитектуры приложения и инфраструктуры, 
— строит дашборды, 
— отслеживает цели уровня обслуживания (service level objectives, SLOs) 
— и запускает автоматические проверки для выявления изменений и потенциальных проблем. 

Наша задача — снизить усталость от предупреждений и сократить время поиска первопричины.

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

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

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

Как эффективно использовать Chrome DevTools для QA: подборка интересных возможностей

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

Chrome DevTools — это консоль разработчика, набор инструментов в браузере для создания и отладки сайтов и приложений. С их помощью можно в том числе тестировать уже разработанную функциональность.

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

Отмечу, что говорить мы будем именно о Chrome DevTools, хотя и в других браузерах есть аналогичные консоли разработчиков. Сам их частенько использую — это удобно. Поскольку инструменты неочевидные, рекомендую заглянуть под кат и начинающим, и опытным тестировщикам — точно почерпнёте для себя что-то новое.

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

Стать QA инженером в 2024 году и начать зарабатывать первые деньги?

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

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

Если вы начитались мотивационных статей о том, что тестирование - самый легкий способ работать в IT, и вы будете попивать сок с ноутбуком на берегу моря с мыслями "ну, это же не программирование", то спешу вас немного разочаровать. Тестирование и программирование - это две разные области, каждая из которых имеет свои сложности и требования. Вот несколько причин, по которым тестирование не всегда является более легкой, а иногда и более тяжелой задачей, чем программирование:

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

Как обрести самостоятельность, перестать быть Мидлом QA и мыслить как Сеньор

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров10K
Многие предполагают, что ключевое отличие между Middle QA и Senior QA заключается в уровне опыта и профессиональной экспертизе. Также существует мнение, что за переход из одной категории в другую должна отвечать компания, предоставляя четкий план действий. Однако, на деле, главное различие кроется в способности принимать решения, что на практике оказывается не так просто. Проблема для работодателей заключается в том, что не всегда ясно, кто из соискателей действительно соответствует уровню Сеньора. Были случаи в моей практике, когда сеньоры не оправдывали возложенных на них ожиданий, несмотря на успешное прохождение собеседования. В то же время, некоторые Мидлы, через полгода работы демонстрировали, что заслуживают позиции Сеньора благодаря своим решениям и подходу к работе.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии12

Тестирование без моков: язык паттернов. Часть 1

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

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

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

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

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

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

Что можно и стоит писать в поле Pre-conditions в тест-кейсах

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

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

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

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

Тест-дизайн на практике: комбинируем разные техники тестирования, на примере проверки систем оплаты

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

Привет, Хабр! Меня зовут Сергей, я тестировщик в “Петрович-Тех”. В этой статье хочу поговорить о комбинировании различных техник тестирования и поделиться опытом тест-дизайна для проверки системы оплаты.

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

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

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

Приступим!

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

9 советов как ускорить автоматизированные UI тесты

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

Интересуетесь, как ускорить автоматизированные UI тесты? Узнайте эффективные и действенные советы, которые помогут вам быстрее и эффективнее выполнять UI автотесты.

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

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