Тестирование ПО – это своего рода повествование двух параллельно проходящих историй: истории конкретного веб-продукта и непосредственно самого процесса тестирования.
Тест-фрейминг – это базовое умение, которое позволяет строить, изменять, рассказывать и доказывать историю тестирования по логическим цепочкам качественно и быстро. Базовая цель тест-фрейминга – постараться увязать абсолютно все типы деятельности по тестированию с определенной тест-миссией.
Базовые элементы тест-фрейминга
Важно помнить, что в абсолютно любом случае, связанном с тестированием, присутствуют следующие моменты:
- Миссия по поиску информации (но со временем она может кардинальным образом меняться).
- Информация о первоначальных требованиях: иногда она бывает явной, а порой – наоборот, с вероятностью изменений в будущем.
- Риски, изначально заложенные в основу миссии тестирования. Познания о рисках и их базовые приоритеты могут (и будут) меняться.
- Знания о том, что может придать ценность определенному ПО и какие угрозы могут помешать этому. При процессе тестирования подобные ценности будут совершенствоваться.
- Определенный контекст, над которым вы трудитесь, и со временем он будет постоянно меняться.
- Оракулы – особые механизмы, принципы и стратегии, с помощью которых можно находить баги. Вы сможете усовершенствовать имеющиеся оракулы и найти другие.
- Определенные модели продукта, которые нужно покрывать. В ходе проверки они будут улучшаться.
- Установленные процедуры, которые нужно выполнять. Время от времени, им можно следовать в полной степени.
- Навыки и эвристики, которые можно когда-то использовать. Подобные эвристики будут дополнительно развиваться в ходе проверок.
- Ситуации, связанные с балансом стоимости/ценности труда, затраченного во время тестирования ПО.
- Группа тестов, которые необходимо выполнить. Их немного меньше, чем проверок, которые вы хотели бы выполнить. В любом случае вы выбираете свои тесты из множества допустимых проверок.
- Время на выполнение всех проверок. Зафиксированное время на тесты, как правило, крайне ограниченно, особенно по сравнению со временем, требующимся на тесты, которые вы бы желали провести. Выделенное время на тесты асимптотически стремится к нулю по отношению ко времени, необходимому для выполнения всех допустимых проверок.
Настоящий тест-фрейминг – это определенная способность при любых обстоятельствах и в любое время следовать исключительно прямой логике, которая позволяет соединять миссию с проверками и документально выражать эту логику. Данная линия раздумий, традиционно, затрагивает все элементы вышеописанного перечня.
Цели тест-фрейминга
Первостепенная цель тест-фрейминга – предоставить понятные, логически обоснованные и доступные ответы на вопросы, подобные следующим:
- Зачем проводить именно эти тесты?
- Почему выполнять тот или иной тест именно сейчас?
- Зачем тестировать требование Х, но не проверять требование Y?
- Как правильно протестировать требование Х?
- Каким образом конфигурация, которую применяют в тестах, может быть связана с конфигурацией реального ПО?
- Насколько связаны итоги тестов и изначальное содержание тест-дизайна?
- Какие риски связаны с тестами?
- Чем тесты разнятся между собой?
- Достаточно ли знаний у QA, чтобы выполнять те или иные проверки?
- Где была проблема, и знал ли тестер о ней изначально?
Форма тест-фрейминга
Касательно формы тест-фрейминга, то здесь можно отметить, что это логическая линия утверждений, которые позволяют связывать тест с миссией, затрагивая все вышеназванные объекты тестирования.
Тезис – это простое предположение, которое в полной мере выражает концепцию теста. Оно может быть как ложным, так и корректным. Внутри тест-фрейминга, обычно, применяются тезисы в форме утверждений или предложений. Порой тезисы могут применяться в качестве базы для вероятных гипотез, которые нужно тщательным образом протестировать, либо же в полной степени опровергнуть.
Связи – это фразы и слова, которые могут связывать или соотносить некоторые тезисы, которые косвенно создают новые. Примеры могут включать «и», «не», «если», «кроме случаев, когда» и так далее. Язык, который используется в тест-фрейминге, не всегда должен быть в строго формальной форме. Главные требования к нему – это максимальная эвристичность и достаточно корректная структура.
Если пользователи используют проверки вне тест-фрейминга, это нужно исправить. Может быть так, что с какой-то проверкой это не получится сделать сразу же, и это нормально. Почему так происходит? Все потому, что в ходе проверки пользователь не только внедряет данные, он еще и находит их.
А значит, это хорошая идея выполнять переключение между концентрацией и процедурой расфокусировки. После тщательного выполнения нескольких тестов с хорошим оформлением стоит внедрить тесты, которые вы сейчас не можете обосновать.
В заключение
Как показывает практика, многим тестировщикам нужна помощь в одном или нескольких аспектах тест-фрейминга – разработке тестов, оценке результатов, рассказе истории тестирования или установлении связи между миссией тестирования и выполненным тестом. Понимая и правильно применяя все это на практике, QA-специалист сможет обеспечить надлежащее качество любого программного продукта.
Оставить комментарий