| Какие тесты мне автоматизировать? | 
| 17.01.2022 00:00 | 
| 
 Вместо того, чтобы спрашивать, какие тесты вам автоматизировать, задавайте более точные вопросы. Если вы подразумеваете "Как мне расценивать использование инструментов в тестировании", прочитайте статьи "Контекстно-ориентированный подход к автоматизации в тестировании", и "Тестирование и проверки". Если вы спрашиваете о проверке результата или других фактов о состоянии продукта, продолжайте чтение. По-настоящему хорошая проверка фактов выигрывает от учета вашего статуса, чтобы вы не тратили время зря: 
 Если ответ "нет", то лучше глубже изучить продукт, делая заметки о риске по ходу дела. Если ответ "да", дайте ответ на ряд вопросов, начиная с этих: 
 Затем подумайте о продуктовых рисках: 
 Возможно, при наличии серьезного риска лучше обсудить риск, а не продумывать тестирование или проверки. Предположим, что это значимый факт. Подумайте о том, как его проверить, и о затратах на проверку. 
 Подумайте об альтернативных издержках, особенно если проверяете на уровне GUI: 
 Подумайте о долгосрочной перспективе. С одной стороны, продукт и некоторые факты о нем могут быть очень стабильными: 
 С другой стороны, продукт, платформа, данные или тест-окружение могут стать нестабильными. Возможно, они уже нестабильны: 
 Остерегайтесь химеричной надежности. Этот отличный термин я впервые прочитал у Кирка и Миллера в книге Reliability and Validity in Qualitative Research. Он относится к ситуации, когда мы наблюдаем постоянный результат, который обманывает нас – например, сломанный термометр верно сообщает о 37 градусах Цельсия (у Кирка и Миллера сказаны важные вещи и про подтверждающее исследование). 
 Чтобы справиться с риском химеричной надежности и получить преимущество от полученной информации, хорошо бы периодически присматриваться к каждой проверке: 
 Достаточно большой набор проверок сложен для понимания, поэтому нет смысла запускать проверки, которые более не нужны: 
 Следующие вопросы особенно важны, если вы тестировщик. Проверки дешевле и ценнее, когда они дают быструю обратную связь разработчикам – настолько, что неплохой идеей будет проверка кода до того, как он вообще попадет к вам. 
 Учитывая все вышесказанное, подумайте о полезности – функции затрат, риска и ценности: 
 Задав эти вопросы, переходите к следующему факту. Вы можете ответить, что ответ на эти вопросы займет кучу времени. Да нет, не кучу. Теперь, когда вы подготовлены, вы будете держать этот набор идей в уме и пробегать по списку вопросов со скоростью мысли. Сравните ответ на эти вопросы со временем, которое вы потратите на создание, прогон, интерпретацию, пересмотр, исправление и поддержку даже одной бессмысленной проверки. Верно, можно сберечь время и силы, не занимаясь интерпретацией, пересмотром и поддержкой. То есть игнорируя проверку после ее создания. Но если вам все равно, что вам говорит эта проверка, зачем вы вообще ее затеяли? Все еще проще вообще ее не создавать. С опытом ответы на эти вопросы станут обычным делом. Не думайте, что это полный список; задавайте собственные вопросы. Если вы обращаете внимание на ответы, это повысит вашу уверенность в том, что ваши проверки мощны, ценны и дешевы. |