Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Как будто введение автоматического или автоматизированного тестирования что-то меняет,
Или как будто считают возможным сдать очередной билд с явными регрессиями в надежде, что заказчик при приемке не станет тестировать уже проверенную им когда-то функциональность.
Посыл поста в том, чтобы включать его в критерии готовности продукта.
Конечно, меняет. Меняет стоимость разработки.
Ситуации, когда при сдаче билда не проводится регрессионное тестирование под лозунгом «да что там могло сломаться» — весьма распространены.
В посте вроде не указано, что об этом критерии должен знать заказчик.
Это и есть процесс формирования приемочных критериев. Они представляют из себя мини-контракт между заказчиком и командой на реализацию этой функциональности.
Я про организационные вопросы в отношениях с заказчиком.
Я, скорее, про ситуации, когда провели, что-то некритичное сломалось, но билд всё равно выкатывается под лозунгом «дедлайн на носу, дадим что есть, а потом скажем, что нашли регрессию уже после сдачи и вот новый билд с его исправлением».
Ну здрасте пжалста. Цитата (выделение мое):
То, что это должны быть тесты, разработанные исполнителем — лишь одна из опций.
Не вижу я в посте, что это обязательная опция, хотя ещё раз его перечитал. «Мини-контракт» может быть заключен на бумаге, а не апрувом исходников тестов.
По сути ему нужен доступ к инфраструктуре разработчика, чтобы контролировать, что тот не мухлюет с тестами.
Так ломаются (и должны ломаться, если их предварительно не изменить) тесты ниже уровнем, а не того же или выше.
Меняя его зависимости разве вы не меняете го поведение?
Его не надо заставлять ничего писать. Вопросов «а как вы проверите, что это работает», «а давайте рассмотрим на примерах», «а как это будет использоваться» в умелых руках достаточно, чтобы получить набор тестов
— Какие могут быть формальности между друзьями! Вася, сделай мне программу сортировки.
— А что такое сортировка?
— Мне надо, чтобы я вводил любые числа, а программа выдавала УПОРЯДОЧЕННЫЕ числа.
(через неделю)
— Ты что, Вася! Я ввожу 5 4 7 6, а твоя программа выдает 1 2 8 9.
— Так бы и сказал, что она должна использовать ВВЕДЕННЫЕ числа.
(через неделю)
— Ты что, Вася! Я ввожу 5 4 7 6, а она выдает 4 5 6.
— Так бы и сказал, что ВСЕ числа должны присутствовать.
(через неделю)
— Ты что, Вася! Я ввожу 5 4 7 6, а она выдает 4 5 6 7 и 8 и 9.
— Я выдал все, а от себя ДОБАВИЛ, по дружбе, чтобы ты от меня отстал, наконец.
(через неделю)
— Ты что, Вася! Я ввожу 5.4 и 7.6, а она даже два числа отказывается сортировать.
— А откуда я знал, что тебе НЕ ТОЛЬКО целые надо сортировать?
Может тебе завтра взбредет комплексные сортировать?! Последний раз!!!
(через неделю)
— Ты что, Вася! Программа больше девяти чисел не сортирует...
Потому что он получает протестированный продукт, а не абы-что.
И да, по опыту, автоматизаторы выходят не дороже ручных тестеров (из-за того что их значительно меньше нужно). А раз нет ценовой разницы — то какие ещё могут быть аргументы против?
Видимо мы о разных вещах говорим, т.к. я привык называть приёмочными тестами любые функциональные тесты, на основе которых принимается решение о валидности продукта.
Это и есть процесс формирования приемочных критериев. Они представляют из себя мини-контракт между заказчиком и командой на реализацию этой функциональности.
А теперь прикиньте сколько раз, ручные тестеры будут гонять один и тот же тесткейс во время разработки, и Вы сами придёте к тому, что автотесты — банально дешевле
После 3-ей итерации уже будут дешевле. Попробуйте.
Ещё раз — я говорю о удешевлении производства, из-за добавления в него автоматизации.
Но 90% вероятности, что Вы просто не хотите с этим заморачиваться.
Если не секрет — то что у Вас за разработка?
Что мешает создавать свежего пользователя и проверять?
В чём проблема добавлять некую временно-зависимую велечину в ИНН?
В чём проблема попытаться создать подряд 2х пользователей с одинаковым ИНН?
И самый главный вопрос, а «мартышки» то как этот вопрос решают?
Посмотрите внимательно — вместо того, чтоб найти в своём проекте вещи, которые можно начать автоматизировать, Вы старательно пытаетесь найти то, что автоматизировать нельзя.
Подумайте, какие конкретно действия ручных тестеров нельзя автоматизировать?
Отлично, значит автоматизация всё таки возможна. Уже радует.
Просто посчитайте, сколько раз ручные тестеры делают одно и тоже действие, тестируя ВСЮ систему перед каждым релизом (или — ну его нафиг, и так прокатит?)
написаны на языке, понятном заказчику
— если что-то не работает то отлаживаю
Ну и плюс причем здесь «щелкать мышкой в браузере»?
Задумайтесь, стоит ли продолжать обманывать своего заказчика. Или лучше работать так, чтобы можно было гордиться результатами своего труда...
Эта модель выгодна аутсорсинговым компаниям. Ведь в этом случае заказчик «попадает в рабство» и постоянно платит даже за то, что уже давно оплачено и должно работать. А как только регрессионная спираль выходит на новый большой виток, то можно нанять еще тестировщиков, к ним тест-лида, тест-менеджера и понеслась…
Не обманывайте своих заказчиков