Большая часть работы тестировщика выглядит со стороны скучно: на каждую фичу надо расписать десятки проверок, перебрать очевидные сценарии, оформить найденное в аккуратный баг-репорт. Эта рутина съедает время, которое хочется тратить на настоящую охоту за хитрыми дефектами, а не на выписывание того, что очевидно. Я стал подключать нейросеть для тестировщика не затем, чтобы она тестировала за меня, а чтобы скинуть на неё черновую часть: накидать базовый набор тест-кейсов, подсказать граничные случаи, причесать формулировку бага. Когда машина закрывает очевидное, у меня остаётся голова на то, что она не умеет: на исследование, чутьё, проверку руками.
Сразу про рамку, в этой профессии она важна: машина накидывает варианты и оформляет, но проверять, оценивать риск и отвечать за качество буду я. Она не запускает продукт, не видит реального поведения, выдумывает шаги и спокойно пропускает неочевидный дефект, потому что про него не написано в требованиях. Поэтому её кейсы я беру как заготовку и опору для памяти, а не как готовый план тестирования. Дальше расскажу: почему ручной перебор выматывает, что я отдаю машине, как прошу собрать кейсы, где она подводит и что остаётся за тестировщиком. Расклад тут такой: рутину перебора и оформления машине, а исследование, оценку риска и решение о релизе себе.
Почему ручной перебор кейсов выматывает
Объясню, в чём ловушка работы. На любую функцию приходится продумать кучу проверок: позитивные сценарии, негативные, граничные значения, пустые поля, неверные форматы, поведение при сбое сети. Половина из них однообразна и предсказуема, но пропустить нельзя ни одну, ведь дыра обычно прячется именно в скучном месте, которое поленились проверить. Эта дотошность необходима, но она же быстро притупляет внимание, а ведь именно внимание это главный инструмент тестировщика.
Беда в том, что на десятой однотипной проверке глаз замыливается, и легко не заметить пробел в покрытии. Машина тут полезна как генератор полноты: я описываю функцию и требования, а она быстро разворачивает их в список кейсов, включая те негативные и граничные варианты, о которых под конец дня забываешь. Это не готовый набор к исполнению, а каркас покрытия: из него я выкидываю лишнее, дополняю специфику системы и расставляю приоритеты. Базовый список она собирает за 5 минут, тогда как вручную я бы выписывал его долго и с риском что-то упустить. Особенно это выручает на старте задачи, когда страшно не неизвестное, а именно банальное: легко с головой уйти в хитрый сценарий и забыть проверить пустое поле или нажатие кнопки дважды. Машина закрывает этот базовый слой ровно и без усталости, а я уже сверху достраиваю то, до чего она не додумается. По сути, она гарантирует, что фундамент покрытия заложен, и освобождает меня для верхних этажей.