потратить 15 минут на генерацию черновика по тестированию

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

из "Майкрософта"). Начинаем:

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

торую он хочет.

• А что, если покупатель нажмет на кнопку два раза?

• А что, если покупатель попробует наклонить аппарат, что-

бы банки посыпались как из рога изобилия?

• Проверить, что правильно выдается сдача.

• Какая реакция на монетку иностранного государства?

• И т.д. и т.п.

После того как черновик готов, потратьте 15 минут на составле-

ние чистовика и затем 30 минут на составление тест-кейсов по

полной форме:

• идея,

• сценарий (шаги и данные) и

• ожидаемый результат.

Ручаюсь, что этот час окупится сторицей, чем бы вы ни занима-

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

времени на подобный тренинг.

2. МАТРИЧНАЯ РАСКЛАДКА

Давайте без прелюдий и патетики перейдем к примеру.

Украдем макет первой страницы регистрации из цикла разра-

ботки ПО:

Сделаем матричную раскладку.

180

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

Этап 1. Набросок элементов (табл. 1)

Таблица 1

Набросок элементов

Индекс

1

2

3

4

5

б

7

8

9

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

_

_

_

_

_

_

_

_

_

0_

эл

эл

эл

эл

эл

эл

эл

эл

эл

_

эл

с_

с_

с_

с_

с_

с_

с

с_

с_

ек

ек

ек

ек

ек

ек

ек

ек

ек

д

д

д

д

д

д

д

д

д

ек

н

н

н

н

н

д

н

н

н

н

н

И

И

И

И

И

И

И

И

И

И

Индекс введен?

да

X

нет

X

Индекс действующий?

Да

X

нет

X

Значения индекса

6 цифр

X

5 цифр

X

7 цифр

X

Включает буквы

X

Включает специальные

X

символы (например, &)

Включает пробелы

X

Таким образом, у нас получилось 3 подгруппы:

1. "Индекс введен?"

2. "Индекс действующий?" (существует ли адрес с таким ин-

дексом в Российской Федерации?)

3. "Значения индекса".

Каждый из элементов имеет свой уникальный ID, например, эле-

мент, когда пользователь вводит в поле индекса 6 цифр, мы обозна-

чили как Индекс_эл_005 (элемент номер 005 страницы с индексом).

Буквенная часть ID (Индекс_эл) это вещь произвольная. Про-

сто мне кажется, что для разбираемого примера это название

интуитивно и логично.

Прошу заметить, что мы набросали элементы как позитивных,

так и негативных сценариев.

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

181

Этап 2. Комбинация элементов (табл. 2)

Теперь мы начинаем комбинировать элементы между собой.

Таблица 2

Комбинация элементов

Индекс

1

2

3

4

5

б

7

8

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

_

_

_

_

_

_

_

_

эл

эл

эл

эл

эл

эл

эл

эл

с_

с_

с_

с_

с_

с_

с_

с_

ек

ек

ек

ек

ек

ек

ек

ек

д

д

д

д

д

д

д

д

н

н

н

н

н

н

н

н

И

И

И

И

И

И

И

И

Позитивные тесты

индекс действителен, 6 цифр действую-

X

щего российского индекса: 119602

Негативные тесты

индекс недействителен, 6 цифр: 000000

X

индекс недействителен, 5 цифр: 11960

X

индекс недействителен, 7 цифр: 1196021

X

индекс недействителен, буквы: 1196о2

X

(буква "о" вместо нуля)

индекс недействителен, специальные

X

символы: 11(602

(символ "(" вместо девятки)

индекс недействителен, пробел

X

между цифрами: 1196 02

пустое место

X

Как видно, мы скомбинировали элементы табл. 1 в сценарии.

У каждого из сценариев есть свой уникальный ID, например сце-

нарий, когда в поле индекса не вводится никакого значения, про-

ходит под штампом Индекс_ком_008 (комбинация номер 008 стра-

ницы с индексом).

Кстати, обратите внимание:

в данном конкретном примере мы играем с частью сценария под

названием "данные"(варианты индекса),

сначала расписываем позитивные, а затем негативные сценарии,

сценарий Индекском 008 не был комбинацией элементов табл. 1,

а напрямую следовал из элемента Индекс_эл 002.

182

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

Вопрос: зачем мы присваивали уникальный ID каждому из эле-

ментов в табл. 1, если мы их не используем? Ответ: иногда в

табл. 2 вписывается не содержание элементов (как мы это

сделали), a ID. Кроме того, если у элемента есть ID, то это просто

удобно для ссылки.

Например

при обсуждении, когда у вас и вашего коллеги есть по экземпляру

табл. 1 или

когда я рассказываю вам о матричном методе.

Итак, у нас есть 8 сценариев для страницы, когда пользователь

должен ввести некое значение (либо пустое место) для индекса

места жительства. Мы можем сразу же, используя эти сценарии,

написать тест-кейсы. Ожидаемым результатом для всех, кроме

Индекс_ком_001, будет перезагрузка страницы с индексом с со-

общением об ошибке:

"Введите действительный российский индекс". При этом текст

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

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