Обновить
256K+

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

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

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

Anything LLM для каждого [бизнеса]

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

Делюсь опытом. Как я настроил AnythingLLM для небольшой компании на базе VPS и своего домашнего компа. Заказчик хочет оценить все эти ваши GPT на практике, но не готов вкладываться и запрещает отдавать свои тайны публичным языковым моделям. Есть запрос - есть и предложение. Делаем решение из того, что уже есть: VPS на Ubuntu, домашний игровой комп, Mikrotik в качестве роутера. Один вечер и минимум вложений. Заказчик в восторге, я в плюсе!

Читать далее

Новости

Почему компании скоро начнут учитывать AI-действия как новый вид корпоративного актива

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

Токен — это единица текста.

AI-действие — это единица полезного результата.

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

Читать далее

FlakyDetector 2.0: Один комментарий, который перевернул моё представление о нестабильных тестах

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

Полгода назад я написал статью про FlakyDetector — инструмент, который ищет нестабильные тесты по одному лишь исходному коду, Потом была статья FlakyDetector 2.0 . AST + CatBoost, 37 признаков, вроде бы всё круто.

Но один комментарий меня добил.

Пользователь Ariless рассказал реальный кейс: в их проекте тест падал с SLOT_OVERLAP — не потому, что в коде теста было что-то плохое, а потому что фикстура была общая на несколько тестов (shared scope). Предыдущий тест не успел почистить слот — следующий упал.

Читать далее

Webhook в TestY заставил переписать приложение с нуля: от Flask-костылей к FastAPI

Время на прочтение14 мин
Охват и читатели8.5K

Привет, Хабр! Меня зовут Станислав Кулагин, я ведущий инженер отдела сертификационного тестирования компании YADRO. Я разработал ATS Studio — Flask-приложение, которое позволяло запускать автотесты в TestY TMS из браузера, не проставляя статусы руками. За полгода приложение стало популярным в нашей компании теперь экономит по 40 часов в месяц коллегам из KVADRA. 

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

Читать далее

Black-box пентест: как одна панель управления раскрыла 30 поддоменов и Zabbix в открытом доступе

Время на прочтение9 мин
Охват и читатели6K

Недавно мне поступила задача: провести внешний black-box пентест клиентской панели управления. Входных данных — минимум: только URL. Ни IP-диапазонов, ни схемы сети, ни описания архитектуры.

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

Читать далее

Миф о «равных весах»: что на самом деле скрывается внутри малых моделей

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели12K

Последние годы развитие LLM шло по пути экстенсивного масштабирования: считалось, что чем больше весов и данных, тем умнее модель. В индустрии даже сложилась жесткая классификация по количеству параметров: 7B, 8B, 32B. Она же создает иллюзию, что модели одной весовой категории обладают сопоставимыми аналитическими, генеративными и логическими характеристиками, что в корне противоречит современным эмпирическим наблюдениям.

Но действительно ли «вес» модели все еще определяет ее качество в 2026 году? Или компактная архитектура способна конкурировать с гигантами, требующими H100 и сотни гигабайт VRAM? В этой статье мы не будем рассуждать об этом абстрактно: возьмем реальные модели из каталога FMC и посмотрим на практике, как размер влияет на качество reasoning, генерации и прикладную эффективность — и влияет ли вообще.

Читать далее

Тестирование ипотечного процесса в мобильном приложении СБОЛ

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

и как не утонуть между БКИ, Госуслугами и тремя платформами одновременно?

Один QA. Три платформы. Шесть внешних сервисов. Легаси-код. И огромное количество неопределённости — в требованиях, в поведении интеграций, в том, что вообще считать корректным результатом. Рассказываю, как выстроить тестирование сложного финансового процесса так, чтобы до релиза добиралось не более 5–7 багов — и все они были известны заранее.

Читать далее

Page Object Pattern в Selenium на Java: гайд по первому автотестовому проекту

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

UI‑тесты редко ломаются красиво: один редизайн формы — и локаторы приходится чинить по всему проекту.

В статье разберём, как собрать первый автотестовый проект на Java и Selenium с Page Object Pattern: куда класть страницы и компоненты, как писать базовый класс, почему лучше держаться за data-test и какие ошибки быстро превращают аккуратную архитектуру в набор хрупких обёрток.

Читать далее

AI-агентам скоро понадобится собственный Firewall. И вот почему

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

За последние несколько лет искусственный интеллект незаметно перешёл очень важную границу. Сначала нейросети просто отвечали на вопросы, потом начали писать код. Затем уже научились работать с документами, таблицами и базами знаний. А сейчас мы наблюдаем следующий этап развития — AI начинает выполнять действия внутри корпоративной инфраструктуры. Именно здесь начинается история, которую многие пока недооценивают.

Читать далее

Пять ошибок в работе с ожиданиями в UI‑автотестах, из‑за которых тесты падают через раз

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

Ваши UI‑автотесты снова «иногда падают», а команда уже привычно лечит это ретраями? Проблема может быть не в CI и не во фронтенде, а в том, что тест ждёт не то состояние интерфейса.

Разбираем пять ошибок в ожиданиях Selenium, из‑за которых автотесты превращаются в лотерею.

Читать далее

APItizer — конструктор REST API-контрактов

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

Добрый день, уважаемые читатели Хабра.

В этой статье я хочу рассказать о продукте APItizer, почему появилась потребность в его создании и какой путь привёл от небольшого Python-скрипта к полноценному инструменту для проектирования REST API-контрактов.

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

Читать далее

Evals для чайников. Как тестировать AI-агента, чтобы понимать, где именно он ломается

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

Большинство команд оценивают производительность AI-агентов через end-to-end метрики: success rate, количество токенов, tool usage, стоимость запроса, долю успешных задач. Это полезно для общего контроля ситуации, но почти бесполезно для реальной диагностики системы.

Например, если success rate упал с 85% до 72%, то само по себе число не объясняет причину деградации. Команда вынуждена гадать, какая часть системы вдруг начала допускать ошибки. Сломался retrieval? Модель хуже начала выбирать инструменты? Контекст загрязняется после нескольких ходов? Или система уперлась в возможности base model? При росте проекта и увеличении сложности кодовой базы, сбои начинают расти мультипликативно – ошибки всех систем начинают перемножаться между собой. В конечном итоге, команда теряет реальный контроль.

Проблему решает внедрение покомпонентных eval. Они дополняют end-to-end метрики, показывая, какой слой AI-агента работает, какой деградировал – и где именно искать причину. То есть внедрение evals помогает получать метрики производительности каждого компонента вашего агента.

Читать далее

GHOST-01: soft delete — это не delete

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

Как удалённый пользователь получил appointment. И что это говорит о том, что значит «удалить» сущность в системе с soft delete.

Пользователь удалён. Appointment создан.

Для удалённого пользователя.

Контекст

Система клиники: пациенты бронируют слоты к врачам. Если слот занят — попадают в вейтлист. Когда appointment отменяется — первый из вейтлиста автоматически получает слот.

Удаление пользователей реализовано через soft delete: в таблице users есть поле deletedAt. «Удалённый» пользователь — это обычная запись с заполненным deletedAt. Физически запись никуда не исчезает.

Это стандартная практика: soft delete позволяет сохранить историю, восстановить данные, не нарушать foreign key constraints.

Soft delete — это не удаление

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

Нагрузочное тестирование: не просто скриптики и кнопка «Запуск»

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели6.3K

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

Сразу — не надо так!

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

Почитать про нагрузку

«70% соответствия ТЗ — это уже хорошо»: три мифа заказной разработки

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

Привет, Хабр! Меня зовут Александр Сахаров, я директор по работе с партнерами компании "Диасофт".

За двадцать с лишним лет в индустрии никто из нас не видел идеального ТЗ. Ни разу. При этом каждый новый проект начинается с уверенного «у нас всё прописано». Компании теряют сотни миллионов на выборе стека, который считают «деталью». А low-code продолжают высмеивать, не заметив, что инструмент за десять лет стал другим.

Есть три мифа, за которые индустрия стабильно платит: «у нас всё написано в ТЗ», «архитектура и стек — детали, разработчики разберутся», и «low-code — для тех, кому лень писать настоящий код». Я собрал практиков из заказной разработки, чтобы разобрать каждый из них. Получился один из редких разговоров, где люди активно спорят, защищая свою точку зрения.

Полная запись на Youtube. Обсуждение — в Telegram-канале Департамент разработки.

Читать далее

Тест кейсы как код

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

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

Дано:

* Растущее количество ручных тестов (иногда переваливающее за тысячи), которые сложно поддерживать.

* Отсутствие нормального переиспользования шагов в стандартных системах, из-за чего приходится постоянно дублировать общие шаги.

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

* Сложности с параллельной работой в ветках, ревью изменений и плохой аудит удалений, где один клик может снести целую группу тестов.

Найти:

* Единый источник правды для всех тестов на проекте.

* Механизм, обеспечивающий прозрачный процесс работы с разными ветками, ревью изменений и т.д.

Читать далее

Контекст для LLM в тестировании: от калькулятора страховой премии до ТЗ на сотню страниц

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

Всем привет! Продолжаю цикл статей про применение ИИ в тестирование. Сегодня поговорим про тестирование требований, а именно про первый и самый важный этап — подготовку контекста. 

В своей статье под контекстом я буду подразумевать структурированную информацию о продукте: описания компонентов, бизнес-правила, сценарии использования, связи между сущностями — то есть всё то, что нужно ИИ для понимания предметной области.

Читать далее

Git для QA Engineer

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

Git — один из базовых инструментов современного QA Engineer. Даже если тестировщик не пишет production-код, ему всё равно приходится работать с репозиториями, ветками, pull request и merge conflict.

В статье разберём:
— как устроен Git;
— какие команды реально нужны тестировщику;
— как работать с ветками;
— как не ломать чужой код;
— и как Git помогает QA в ежедневной работе.

Материал подойдёт начинающим и middle QA, а также будет полезен при подготовке к собеседованиям.

Читать далее

Моки, стабы и фейки: в чем разница и что выбрать для автотестов?

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

Разбираемся с терминологией Test Doubles без лишней воды. В чем реальная разница между Mock, Stub и Fake? В статье разберем классификацию на живых примерах: поднимем умный стаб-сервер на FastAPI, напишем мок-шпион для проверки сайд-эффектов и ускорим тесты с помощью фейковых БД.

Читать далее

Как оценивать ИИ‑агентов в проде: нижняя планка, трассы и кодовые проверки

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

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

Читать далее
1
23 ...