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