Стр: 152/301
2.4.7.
Логика создания эффективных проверок
Теперь, когда мы рассмотрели принципы построения чек-листов
{115}
и оформ-
ления тест-кейсов
{124}
,
свойства качественных тест-кейсов
{136}
, а также принципы объ-
единения тест-кейсов в наборы
{150}
, настало время перейти к самой сложной, «фи-
лософской» части, в которой мы будем рассуждать уже не о том, что и как писать,
а о том, как думать.
Ранее уже было сказано: если у тест-кейса не указаны входные данные,
условия выполнения и ожидаемые результаты, и/или не ясна цель тест-кейса —
это плохой тест-кейс. И здесь во главе угла стоит
цель
. Если мы чётко понимаем,
что и зачем мы делаем, мы или быстро находим всю остальную недостающую ин-
формацию, или столь же быстро формулируем правильные вопросы и адресуем их
правильным людям.
Вся суть работы тестировщика в конечном итоге направлена на повышение
качества (процессов, продуктов и т.д.). Но что такое качество? Да, существует сухое
официальное определение
306
, но даже там сказано про «user/customer needs and
expectations
» (потребности и ожидания пользователя/заказчика).
И здесь проявляется главная мысль:
качество — это некая ценность для
конечного пользователя
(
заказчика). Человек в любом случае платит за исполь-
зование продукта — деньгами, своим временем, какими-то усилиями (даже если вы
не получаете эту «оплату», человек вполне обоснованно считает, что что-то уже на
вас потратил, и он прав). Но получает ли он то, на что рассчитывал (предположим,
что его ожидания — здравы и реалистичны)?
Если мы подходим к тестированию формально, мы рискуем получить про-
дукт, который по документам (метрикам и т.д.) выглядит идеально, но в реальности
никому не нужен.
Поскольку практически любой современный программный продукт представ-
ляет собой непростую систему, среди широкого множества её свойств и функций
объективно есть самые важные, менее важные и совсем незначительные по важ-
ности для пользователей.
Если усилия тестировщиков будут сконцентрированы на первой и второй ка-
тегории (самом важном и чуть менее важном), наши шансы создать приложение,
удовлетворяющее заказчика, резко увеличиваются.
Есть простая логика:
•
Тесты ищут ошибки.
•
Но все ошибки найти невозможно.
•
Значит, наша задача — найти максимум ВАЖНЫХ ошибок за имеющееся
время.
Под важными ошибками здесь мы понимаем такие, которые приводят к нару-
шению важных для пользователя функций или свойств продукта. Функции и свой-
ства разделены не случайно — безопасность, производительность, удобство и т.д.
не относятся к функциям, но играют ничуть не менее важную роль в формировании
удовлетворённости заказчика и конечных пользователей.
Ситуация усугубляется следующими фактами:
•
в силу множества экономических и технических причин мы не можем выпол-
нить «все тесты, что придут нам в голову» (да ещё и многократно) — прихо-
дится тщательно выбирать, что и как мы будем тестировать, принимая во
внимание только что упомянутую мысль: качество — это некая ценность для
конечного пользователя (заказчика);
306
Достарыңызбен бөлісу: |