Хирург: Моя профессия является древнейшей, потому что Богу нужны

были знания по хирургии, чтобы извлечь из Адама ребро.

Инженер: Но еще до этого был хаос, и, чтобы сделать мир из хаоса,

Богу нужны были инженерные знания.

Программист: Ха! Кто же, как вы думаете, создал весь этот хаос?

Нигилистический настрой и практическая методология

177

Теперь, настроенные и решительные, переходим к профессио-

нальным прикладным знаниям, а именно к методологии соз-

дания тест-кейсов (testcase design methodology) (далее — мето-

дология).

В одной из прошлых бесед мы говорили

о первой части методологии — формальной стороне построе-

ния тест-кейса.

Сегодня же речь пойдет

о второй ее части — содержательной стороне тест-кейса.

Искусство создания содержательной части тест-кейсов заключа-

ется в нахождении тех "золотых"

идей тест-кейсов,

сценариев и

ожидаемых результатов,

которые при исполнении тестирования помогли бы обнару-

жить больные, багосодержащие места тестируемого ПО.

Какие два этапа составляют процесс, называемый "выбор"?

1. Сначала нам нужно увидеть, что имеется в наличии.

2. Затем, используя некий критерий (-ии), мы выбираем или

не выбираем.

Например, выбирая щенка,

1) мы должны увидеть одного или больше щенков (что имеется в на-

личии) и затем

2) посмотреть, как весело он (они) бегает, как блестят его глазенки

и пр. И посмотрев, решить — брать или не брать.

Подход к выбору сценариев концептуально схож:

1. Что имеется в наличии, мы видим после использования

методов генерирования тестов (methods of test generation);

2. Орудиями отбора являются методы отбора тестов (test se-

lection criterion).

Развертываем:

Методы генерирования тестов:

1. Черновик-чистовик (dirty list-white list);

2. Матричная раскладка (matrices);

3. Блок-схемы (flowchart).

178

Тестирование Дот Ком. Часть 3

Методы отбора тестов:

1. Оценка риска (risk estimate);

2. Эквивалентные классы (equivalent classes);

3. Пограничные значения (boundary values).

Методы генерирования тестов

1. Черновик-чистовик (dirty list-white list).

2. Матричная раскладка (matrices).

3. Блок-схемы (flowchart).

1. "ЧЕРНОВИК-ЧИСТОВИК"

Это самый простой и практичный метод. Суть проста. Два этапа:

а. Черновик (dirty list)

В процессе (и/или после) прочтения спека, эксплоринга ПО и/или

получения информации о ПО другим способом, не анализируя и

отдавшись вдохновению и фантазии, мы просто набрасываем на

лист бумаги (или в файл Ворда), являющийся черновиком (dirty

list), ВСЕ идеи, связанные с тестированием, которые только могут

прийти в голову, — идеи в самом широком смысле этого слова,

включая идеи для тест-кейсов, сценарии, отдельные элементы

сценариев (шаги и/или данные), ожидаемые результаты, вопросы

для выяснения у продюсера и пр.

Еще раз: ВСЕ идеи — даже самые на первый взгляд далекие от

здравого смысла. Локальный мозговой штурм.

б. Чистовик (white list)

Затем мы начинаем анализировать написанное (и, если нужно,

получать ответы на вопросы) и переносим на чистовик вещи,

имеющие право на жизнь. Право на жизнь определяется на осно-

вании информации из спека, общения, интуиции, критериев от-

бора тестов, разговора с программистом и пр. При переносе на

чистовик мы также уточняем наши идеи и группируем их (на-

пример, по позитивности и негативности; по функциональным

направлениям и т.п.). Таким образом, как правило, первый чисто-

вик превращается во второй черновик, и мы берем следующий

лист бумаги и, надеясь, что он будет чистовиком, начинаем пере-

Нигилистический настрой и практическая методология

179

носить на него наши идеи и т.д. В итоге в один из светлых май-

ских дней мы все-таки получаем чистовик. На основании мате-

риала из чистовика мы пишем тест-кейсы.

Сейчас рекомендую вам немедленно взять ручку, лист бумаги и

Перейти на страницу:

Похожие книги