вторник, 30 июня 2026 г.

Как ИИ нам проверку уязвимостей сломал

Сегодня я расскажу историю о том, как ИИ умеет косячить! А то только success-story везде…

У нас есть автотесты на уязвимости по базе NVD. И вот что-то эти сборки посыпались пачкой. Тестировщик пошел смотреть… И потом рассказал, в чем дело было:


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


Вот, будьте бдительны)


Почему использовался агент — вполне понятно, правка была массовая, в нескольких гит-проектах сделать однотипную правку. Но и следить надо, что там этот ИИ натворил!


А ведь такое даже не заметишь сходу, символ то невидимый… В общем, мы молодцы, пресекли его варварство благодаря автотестам, а вы имейте в виду!


четверг, 25 июня 2026 г.

Настраиваем IDEA с ИИ, часть 2

С вами рубрика «где тестировщик может применять ИИ в своей работе»!

Продолжаем настраивать компьютер с помощью ИИ (начинала тут). Что ещё я спрашивала у чат-бота?



1. Какой путь указывать для Java?

Разработчик посоветовал в настройках грейдла указать путь для JAVA, скинув пример. Но у него пример на линуксе, а у меня винда. Часть инструментов надо указывать до директории bin, часть нет... Решила уточнить, у ИИ, конечно, а не у разработчика:

org.gradle.java.home — на винде какой путь надо указывать, до бин или самой папки? C:\Program Files\Eclipse Adoptium\jdk-25.0.3.9-hotspot\bin

понедельник, 22 июня 2026 г.

ИИ, помоги мне настроить IDE

С вами рубрика «где тестировщик может применять ИИ в своей работе»!

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


1. Как открыть gradle проект в IDEA

Мой основной проект собирается через Maven, я помню как его открывать в IDEA (у меня сейчас GIGA IDE, но по сути это та же IDEA) — через pom-ник.

А вот другой проект собирается на gradle, и как открывать его — я забыла... Но это же не рокет-сайнс именно моего проекта, а что-то общее, так что я пошла к ИИ чат-боту в телеге, которому можно кидать изображения.

Сделала скрин проекта в гите и задала вопрос:

- как открыть проект в идее, какой файл выбрать?

ИИ понимает даже убогую "русификацию", так что нет нужды писать ему правильное название — IDEA, он и так все понял и выдал подробную инструкцию.

Типы границ для классов эквивалентности

 


Ссылка на Хабр


Про типы границ я впервые услышала на тренинге Алексея Баранцева. Зачем они нужны? Да просто чтобы не забыть всё проверить. Написал чек-лист, потом проверяешь себя:

— Все учел? Вот эти классы эквивалентности, какие границы логические? А какие технологические? ...

Так можно вспомнить о проверке, про которую забыл или просто не подумал! Полезная штука.

Алексей дал нам тогда про такую типизацию границ:

  • Физическая — которую физически нельзя преодолеть.

  • Логическая — ограничение, накладываемое логикой, не программой.

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

  • Произвольная — ограничение, наложенное аналитиком или заказчиком.

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

Но то, что физически сделать нельзя, часто в программе сделать можно. Например, ввести в количество участников митапа «1,5 человека» — физически невозможно, но программа то позволяет. Значит, для программы это уже логическая, мы же понимаем, что это невозможно.

Так что в моей классификации есть всего три типа границ (сокращенно ЛТП):

  1. Логическая — ограничение, накладываемое логикой, не программой.

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

  3. Произвольная — ограничение, накладываемое аналитиком или разработчиком.

Рассмотрим каждую из них!