Чтение онлайн

ЖАНРЫ

tестирование dot com
Шрифт:

Так вот если перевести манипуляции с автопоилкой на компью-

терный язык, то

• жетон был вводом,

• пиво — выводом,

• щель для жетона и носик для пива — интерфейсом поль-

зователя, а

• механизм автопоилки, обменивающий жетон на пиво, —

черным ящиком, так как мы не знали (и для сохранения

аппетита не хотели знать), как был устроен изнутри тот

столь необходимый для студента аппарат.

В отношении

ПО черный ящик, т.е. область незнания, — это не

что иное, как тестируемые части бэк-энда (например, код про-

граммиста, схема базы данных), составляющие невидимый поль-

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

фактический ввод (шаги) и

фактический вывод (фактический результат).

Признаки подхода "Черный ящик":

1. Тестировщик не знает, как устроен виртуальный мост.

2. ИДЕИ для тестирования идут от предполагаемых паттер-

нов (pattern — образец) поведения пользователей. Поэтому

подход "Черный ящик" также называют поведенческим.

Разберем первый признак.

1. ТЕСТИРОВЩИК НЕ ЗНАЕТ, КАК УСТРОЕН

ВИРТУАЛЬНЫЙ МОСТ

С одной стороны,

тестировщик имеет преимущество перед программистом, т.е. авто-

ром кода. Давайте будем честны перед собой: мы часто прини-

маем желаемое за действительное. Особенно это касается того,

что мы создали сами, например воображаемого образа любимого

человека. Сколько раз каждый из нас заводил романы с абсолют-

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

144

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

людьми и утешал себя, что it's o'k притрется, пригладится и

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

ния ни к чему хорошему не приводят, как и попытки заставить

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

Вот перевод постинга на одном из форумов по тестированию:

"Программист не должен проводить тестирование, и давать

релизу зеленый свет. Нужно, чтобы кто-то независимый (чело-

век/отдел) был ответствен за поиск багов и уполномочен "дос-

тавать " программиста до тех пор, пока баг не будет починен.

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

провожу тестирование, то обязательно буду делать допущения,

что какие-либо части кода работают по умолчанию и их можно

не проверять. С другой стороны, мои тесты основаны на моем

понимании того, как работает код, и не учитывают реальных и

порой

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

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

тирование нет времени, и я не понимаю, почему должен проводить

тестирование, если за него платят тестировщикам ".

Реальность — это мир, пропущенный через призму субъективно-

го восприятия. Например, каждый родитель свято верит, что его

ребенок самый умный, талантливый и перспективный. Код — это

дитя программиста, и в своей реальности программист нередко

воспринимает код как априорно непогрешимый.

Вот вам легенда про призму восприятия:

Когда на пути в Индию корабли Колумба остановились перед од-

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

потому что их призмы восприятия не пропускали образы, абсо-

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

предки существовали бок о бок на протяжении тысячелетий. И

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

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

силуэты испанских фрегатов от привычных океана и неба и не ска-

зал своей пастве: "Опа! Корабли Колумба " (тут, конечно, все сразу

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

деловито погрузили в лодки свиней и поехали менять их на бусы).

Идея, думаю, понятна. Программист пишет, тестировщик тести-

рует, Филипп Филиппыч оперирует, Айседора Дункан танцует, и

никаких разрух.

Классификация видов тестирования

145

Итак, блэк бокс-тестировщику, знающему лишь то, для чего был

написан код (т.е. функциональности), а не как он был написан, легче

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

летворения чаяний которого весь софтверный сыр-бор и начался.

С другой стороны,

блэк бокс-тестирование ведется вслепую, так как ни одна из час-

тей виртуального моста неизвестна. Следствием этого может

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

пишется несколько тест-кейсов.

Итак, в случае с черным ящиком тестировщик не знает, как

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

вредно для дела.

Разберем второй признак.

Поделиться с друзьями: