Как оценить пользу автотестов?
2013-06-19 13:39
На днях меня озадачили "сверху" - попросили оценить, а выгодны ли нам автотесты, которые мы пишем?
И не лучше ли потратить ресурсы, затраченные на их написание и поддержку, на аналогичное тестирование вручную?
В теории, я примерно представляю, что нужно посчитать, сколько времени мы потратили на написание теста, сколько тратим на его поддержку, что он проверяет и много ли багов находит.
Но на практике, все это очень грубо и примерно.
Допустим, я посчитаю, что на написание теста мы потратили неделю и тратим по 10 часов в месяц на поддержку.
И тест нам находит к пример 2 бага в неделю.
И что из того? Могу ли я знать, найдем ли мы эти два бага, если будем вместо поддержки теста проверять всё руками?
А что если тест не находит багов? Вот раньше когда-то находил, а сейчас больше не находит, т.к. разработчики им уже "натренированы". Значит ли это что тест больше не нужен и мы можем отказаться от его поддержки?
Пока у меня вопросов больше, чем ответов.
Проблема еще в том, что у нас с разработкой автотестов не всё складывается гладко. Делаем ошибки, собираем грабли и действительно порой тратим время зря. Банально не хватает опыта и практики. Но чутьё мне подсказывает, что опускать руки рано, и что в перспективе автотесты нам нужны.
Подскажите, как и что можно рассчитать, чтобы убедить руководство, что автотесты нам нужны (или всё-таки убедиться самой, что не нужны)? В какую сторону думать?