Обновить
136.82

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

Тестируем все и вся

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

Е2Е-тестирование: как за 2 года вырасти от внепроектной идеи до проекта и увеличить покрытие автотестами в 4 раза

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

Всем привет! Меня зовут Ренат Дасаев, и я продолжаю рассказ о развитии E2E‑тестирования в Московской Бирже. За два года после публикации первой статьи многое изменилось: мы переупаковали процессы, расширили команду и существенно обновили технический стек. Хотите узнать, как нам удалось масштабироваться и какие инструменты сегодня ускоряют работу? Тогда - эта статья для вас!

Читать далее

AI и QA: убьёт ли ChatGPT профессию тестировщика?

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

«ChatGPT убьёт тестировщиков» — миф или реальность? Рассказываю, как AI уже влияет на сферу QA и почему инженеры не останутся без работы.

Читать далее

Тесты не лгут — прислушивайтесь к ним. Часть 2

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

(Статья — результат совместной работы с Максимом Степановым)

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

Хрупкость

Зависимость от внешних систем

Невозможность протестировать пользовательский сценарий в отдельности

Избыточное покрытие.

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

Читать далее

Как выбрать профиль нагрузки: 5 ключевых правил

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

Как выбрать профиль нагрузки, чтобы результаты тестирования имели смысл? Разбираем 5 практических правил, основанных на SLA, данных с продакшена и прогнозах роста, и объясняем, почему важно учитывать не только клиентские, но и системные метрики.

Читать далее

Оверинжиниринг: простое сложным языком

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

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

Читать далее

(Не)случайные числа в VBA Excel Ч. 2

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

Вторая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft.

Читать далее!

Мир, дружба, тестирование: как QA и разработка могут работать вместе

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

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

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

Читать далее

Оптимизация тестов. Часть 2. Внутренние детали

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

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

В прошлой части уже описали некоторые «внешние» инструменты (ссылка). Сегодня поговорим о возможностях внутри самих тестов.

Текст подготовлен по материалам выступления приглашенного спикера внутри компании.

Читать далее

27 миллионов абонентов под угрозой: разбор крупнейшей кибератаки на корейский телеком

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

Что нужно, чтобы скомпрометировать данные 27 миллионов абонентов, обрушить акции телеком-гиганта и поставить под угрозу национальную безопасность одной из самых технологически развитых стран мира? Свежий zero-day? Квантовый компьютер? Гениальная социальная инженерия?

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

Неизвестные злоумышленники с июня 2022 года хозяйничали в критической инфраструктуре крупнейшего корейского сотового оператора. Под катом мы разберем эту громкую историю.

Читать далее

GIMP Script-Fu ООП. Тестирование на «РОМБЕ СМЕРТИ»

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

Библиотека функций к Script-fu

Написание кода на Лисп это тестирование, я не знаю(это не значит что их нет, просто я их действительно не знаю) ни одного языка программирования в котором цикл: написание код - проверка(тестирование) был бы таким коротким. Кстати в Script-fu я работаю через буфер обмена, это не удобно! Там есть возможность работать из Емакс, через сервер Scrip-fu, но я эту возможность не использую(приятно видеть консоль), а с обычной схемой или лиспом, работа в передаче кода заключается в нажатии пары клавиш. Лисперы не пишут многостраничные листинги кода, а затем его тестируют, они пишут функцию, выполняют его в интерпретаторе и сразу тестируют. Всё это благодаря наличию в системе REPL. И всё таки не смотря на это настаёт момент, когда требуются отдельные тесты, которые удобно запустить и проверить консистентное состояние программной системы, а то в процессе такого интенсивного создания-тестирования программы всё равно можно что либо опустить, и какая нибудь функциональность да отвалится.

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

Читать далее

Как вырасти из Manual QA в Automation: пошаговый план

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

Пошаговое руководство для Manual QA, которые хотят перейти в автоматизацию. Как выбрать направление, язык и инструменты, какие шаги пройти и что добавить в портфолио, чтобы уверенно расти в Automation QA.

Читать далее

Как я стал тестировщиком…

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

Всем привет!

С настоящей статьи решил начать своё графоманство на Хабре. Когда‑то писал много и по делу (правда, тематика была иная), поэтому решил вспомнить это занятие. Итак, начнём с незатейливой тематики, а именно — Как я стал тестировщиком… И не просто тестировщиковм, а тестировщиком 1С.

Гордо звучит, а?

Читать далее

Уронили, отключили, обрубили, сломали: четыре сценария отказа метрокластера в прямом эфире

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

Привет, Хабр!

Когда речь заходит об отказоустойчивости между ЦОДами, метрокластер — почти всегда первое, что приходит в голову. Раньше это был стандарт: один ЦОД падает — второй подхватывает. Все работает, данные не теряются. Вместе с уходом западных вендоров их решения ушли вместе с ними либо появились огромные трудности с их конфигурированием и поддержкой.

С 2024 года у нас на тестовом стенде стоят системы хранения AQ440 от «Аэродиск». Мы их активно «мучаем»: имитируем отказы, нагружаем, меряем задержки, устраиваем испытания на выживание. Наш выбор связан с тем, что это единственное решение (на данный момент), у которого есть поддержка метрокластера. И основной фокус сегодняшнего рассказа — описать сценарии работы этой технологии. Не имитацию, не полумеру, а рабочую схему с реальным переключением между площадками, отказами и всем, что из этого следует.

Читать далее

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

Создание собственного фреймворка (в общем смысле этого слова) для автоматизации (API): почему это хорошая идея?

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

Привет, Habr! Меня Женя Паршин, и я инженер по автоматизации тестирования, работающий преимущественно в e-commerce. В этой статье я расскажу, почему создание собственного фреймворка для автоматизации — это не "изобретение велосипеда", а практичное решение.

Подробнее

15 типичных ошибок начинающих автоматизаторов (и как их избежать)

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

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

Читать далее

Альтернативный способ хранения скриншотов в Playwright и способ их обновления

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

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

Одним из инструментов, предоставляющих возможность автоматизации данного вида тестирования, является Playwright.

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

Читать далее

Собрал telegram-бота на Gemma 3, чтобы он отвечал на сообщения вместо меня

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

Собрал чат-бота, чтобы тот отвечал за меня в Телеграм: без ошибок и пассивной агрессии. Бонусом добавил шифрование логов, whitelist для доступа, историю чатов для персонализации и RAG с автообновлением базы знаний через Git.

В статье — пошаговая инструкция, инсайты и нюансы, которые большинство упускают.

Читать далее

(Не)случайные числа в VBA Excel Ч. 1

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

Первая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft.

Погрузиться в мир псевдослучайных чисел!

Как в Postman использовать данные из файла

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

В Postman есть возможность загружать данные из файла — указал в запросе «возьми имя из файла», сделал файл на 100 имен, и вуаля! Запускаешь 1 запрос, а он выполняется 100 раз с разными данными.

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

А вот что с этим файликом делать дальше? Как сказать постману, что мы хотим подставить эти данные в запрос или в автотест? Где какой синтаксис использовать? Об этом и поговорим в статье на примере системы Users.

Читать далее

Правильный старт: как заложить фундамент проекта

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

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

Читать далее