Если тестировать легко, вы что-то не так делаете |
09.10.2020 00:00 |
Автор: Рикард Эдгрен (Rikard Edgren) На EuroSTAR 2019 я читал доклад о характеристиках качества вместе с Хенриком Эмильссоном. Больше всего в этих конференциях мне нравится то, что ты никогда не знаешь, что произойдет. Как-то раз я закончил свой ответ фразой "если тестировать легко, вы что-то не так делаете". Помню, как доволен я был, сказав это. Эта фраза отлично подходила для контекста, в каком-то смысле подытоживая мое отношение к тестированию и причины, по которым я его так люблю. Я забыл об этом, читая лекцию, но вспомнил, когда мы получили обратную связь от аудитории. Обратная связь была очень хорошей, но всем понравиться нельзя (если это происходит, вы что-то делаете не так). Один из участников (не помню, кто, да это и не важно) был очень негативно настроен и сказал, что говоря, что "если тестировать легко – вы что-то делаете не так", мы показываем себя плохими, непрофессиональными тестировщиками. Настало время объяснить, что я имею в виду. Кто-то наверняка со мной не согласится, но это может привести к интересным обсуждениям (или неконструктивным комментариям). Тестировать сложно
Тестирование никогда не заканчивается. Мы всегда смотрим только на какую-то часть, и всегда останутся тесты, которые можно было провести, но мы этого не сделали. Это значит, что нам всегда приходится пропускать неимоверное количество тестов. Многие тесты можно запросто отбросить, но если у вас много действительно классных тест-идей, зачастую сложно выбрать, какие из них пойдут под нож. А когда вы наконец-то довольны своим тест-покрытием, мир меняется, и ваши тесты внезапно становятся неидеальными. А какие тесты стоит прогнать еще раз? Сколько должна стоить поддержка вашей автоматизации? Затраты – всегда, по моему опыту, сложная штука. Добиться баланса затрат на тестирование и ценности полученной информации непросто, и куда легче увидеть, когда вы недотестировали, чем когда вы тестируете чересчур много. Мы также активно пользуемся счастливыми случайностями: это часто с нами бывает, но это непредсказуемо, и на это нельзя полагаться (хоть это и важно)! Тестировщики – люди и делают ошибки Я сильно удивлюсь, если вы тот человек, который никогда не ошибается. Ошибки могут быть пустяковыми и серьезными, иногда вы их осознаете, а иногда нет. Иногда ошибки помогают нам выявить важную информацию. Для ошибок есть множество причин, но одна из них в том, что мы имеем дело со сложными штуками, как в отношении технологии, так и в отношении людей. Мы не можем знать все заранее (если бы это было так, тестирование было бы не нужно), а обучение штука очень личная, и иногда "неправильная", но все же полезная. Баги, которые я пропустил, часто попадают в категорию "я об этом не знал". Если что-то очевидно, то ваше незнание можно назвать ошибкой, но в продукте может быть масса интересных вещей, о которых сложно узнать все заранее. Мы также должны иметь в виду, что в определенном климате ошибки считаются недопустимыми – мы можем оказаться в ситуации, когда люди не решаются пробовать что-то (новое), а продуктивность, креативность, благополучие и много чего еще просто испаряются. В то же самое время человечность, обучение, ошибки, креативность и делают тестирование важным и очень интересным! Заключение Я не просто так использую эвристику "Слава богу, это непросто!". Если это кажется слишком простым – я недостаточно в этом разобрался. Конечно, это не уникально для тестирования, и, возможно, применимо к большинству областей, которые имеют дело со сложностью и не дают прямых ответов. Мои мысли тоже не новы, поэтому теперь мне придется прочитать книгу Донны Харауэй Staying with the Trouble. |