Классификация по этому признаку



состоит из следующих элементов.

Перечисляем:

1. По знанию внутренностей системы:

• черный ящик (black box testing);

• серый ящик (grey box testing);

• белый ящик (white box testing).

2. По объекту тестирования:

• функциональное тестирование (functional testing);

• тестирование интерфейса пользователя (UI testing);

• тестирование локализации (localization testing);

• тестирование скорости и надежности (load/stress/perfor­mance testing);

• тестирование безопасности (security testing);

• тестирование опыта пользователя (usability testing);

• тестирование совместимости (compatibility testing).

3. По субъекту тестирования:

• альфа-тестировщик (alpha tester);

• бета-тестировщик (beta tester).

4. По времени проведения тестирования:

допередачи пользователю — альфа-тестирование (alpha-
testing);

- тест приемки (smoke test, sanity test или confidence test);

- тестирование новых функциональностей (new feature testing);


142


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


- регрессивное тестирование (regression testing);

- тест сдачи (acceptance or certification test);

послепередачи пользователю — бета-тестирование (beta
testing).

5. По критерию "позитивности" сценариев:

• позитивное тестирование (positive testing);

• негативное тестирование (negative testing).

6. По степени изолированности тестируемых компонентов:

• компонентное тестирование (component testing);

• интеграционное тестирование (integration testing);

• системное (или энд-ту-энд) тестирование (system or end-to-end testing).

7. По степени автоматизированности тестирования:

• ручное тестирование (manual testing);

• автоматизированное тестирование (automated testing);

• смешанное/полуавтоматизированное тестирование (semi automated testing).

8. По степени подготовки к тестированию:

• тестирование по документации (formal/documented testing);

• эд хок-тестирование (ad hoc testing).

Объясняем:

По знанию внутренностей системы

• черноящичное тестирование (black box testing);

• белоящичное тестирование (white box testing);

• сероящичное тестирование (grey box testing).

Кстати, в отношении четких дефиниций, водоразделов и прочих академических штучек до сих пор идут споры.

ЧЕРНЫЙ ЯЩИК(black box)

Должен признаться, что лучшие мгновения моего студенчества прошли не в аудиториях моей альма-матер, не в залах библиотек, а в пивной Коптевского рынка, куда мы с Балмашновым, Гнезди-ловым, Дебдой, Ермохиным, Илюхиным, Карповым, Назаровым,


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


143


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

Основным элементом Коптевской пивной того времени была так называемая автопоилка, т.е. аппарат, принимающий жетон и вы­дающий пол-литра того, что мы тогда считали пивом.

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

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

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

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

• механизм автопоилки, обменивающий жетон на пиво, — черным ящиком,так как мы не знали(и для сохранения аппетита не хотели знать), как был устроен изнутритот

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

В отношении ПО черный ящик, т.е. область незнания,— это не что иное, как тестируемые части бэк-энда (например, код про­граммиста, схема базы данных), составляющие невидимый поль­зователю виртуальный мост,который соединяет

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

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

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

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

2. ИДЕИ для тестирования идут от предполагаемых паттер­нов(pattern — образец) поведения пользователей.Поэтому подход "Черный ящик" также называют поведенческим.

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

1. ТЕСТИРОВЩИК НЕ ЗНАЕТ, КАК УСТРОЕН ВИРТУАЛЬНЫЙ МОСТ

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

тестировщик имеет преимущество перед программистом, т.е. авто­ром кода. Давайте будем честны перед собой: мы часто прини­маем желаемое за действительное.Особенно это касается того, что мы создали сами, например воображаемого образа любимого человека. Сколько раз каждый из нас заводил романы с абсолют­но неправильными, несовместимыми и нередко вредными для нас


144


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


людьми и утешал себя, что it's o'k — притрется, пригладится и поймется. Как показывает жизнь, притирки, пригладки и понима­ния ни к чему хорошему не приводят, как и попытки заставить программиста произвести функциональное тестирование.

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

"Программист не должен проводить тестирование, и давать релизу зеленый свет. Нужно, чтобы кто-то независимый (чело­век/отдел) был ответствен за поиск багов и уполномочен "дос­тавать " программиста до тех пор, пока баг не будет починен. Дело в том, что я как программист знаю свой код, и если я сам провожу тестирование, то обязательно буду делать допущения, что какие-либо части кода работают по умолчанию и их можно не проверять. С другой стороны, мои тесты основаны на моем понимании того, как работает код, и не учитывают реальных и порой абсолютно нелогичных вещей, которые будут делаться поль­зователями с моим кодом. С третьей стороны, у меня на тес­тирование нет времени, и я не понимаю, почему должен проводить тестирование, если за него платят тестировщикам ".

Реальность — это мир, пропущенный через призму субъективно­го восприятия. Например, каждый родитель свято верит, что его ребенок самый умный, талантливый и перспективный. Код — это дитя программиста, и в своей реальностипрограммист нередко воспринимает код как априорно непогрешимый.

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

Когда на пути в Индию корабли Колумба остановились перед од­ним из Карибских островов, индейцы... этих кораблей не увидели, потому что их призмы восприятия не пропускали образы, абсо­лютно чуждые тем предметам и явлениям, с которыми они и их предки существовали бок о бок на протяжении тысячелетий. И лишь шаман, учуяв что-то неладное, несколько дней пристально всматривался в горизонт, пока наконец не отделил романтические силуэты испанских фрегатов от привычных океана и неба и не ска­зал своей пастве: "Опа! Корабли Колумба " (тут, конечно, все сразу настроили свои призмы, увидели не замеченные раньше корабли, деловито погрузили в лодки свиней и поехали менять их на бусы).

Идея, думаю, понятна. Программист пишет, тестировщик тести­рует, Филипп Филиппыч оперирует, Айседора Дункан танцует, и никаких разрух.


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


145


Итак, блэк бокс-тестировщику, знающему лишь то, для чегобыл написан код (т.е. функциональности), а не какон был написан, легче смотреть на тестирование с точки зрения пользователя, для удов­летворения чаяний которого весь софтверный сыр-бор и начался.

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

блэк бокс-тестирование ведется вслепую, так как ни одна из час­тей виртуального моста неизвестна. Следствием этого может стать ситуация, когда для вещи, проверяемой одним тест-кейсом, пишется несколько тест-кейсов.

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

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

2. ИДЕИ ДЛЯ ТЕСТИРОВАНИЯ ИДУТ ОТ ПРЕДПОЛАГАЕМЫХ ПАТТЕРНОВ (pattern — образец) ПОВЕДЕНИЯ ПОЛЬЗОВАТЕЛЕЙ

То, что мы называли вводом (шагами), на самом деле является двумя вещами, которые так же неотрывно связаны, как судьбы Ромео и Джульетты. Речь идет о

сценариях и

данных для сценариев.

Исполнение тестирования может проходить как при наличии, так и без тест-кейсов. Так вот в обоих случаях сценарий(scenario) это последовательность ДЕЙСТВИЙ для достижения фактиче­ского результата.

Пример сценария

1. Открой www.main.testshop.rs.

2. Кликни линк "contact us".

Если исполнение тестирования идет по тест-кейсам, то можно ска­зать, что сценарий тест-кейса — это совокупность шагов тест-кейса.

Данные для сценариев, или просто "данные", — это конкрет­ные ЗНАЧЕНИЯ ВВОДА, используемые для достижения факти­ческого результата.

Пример данных

1. Открой www.main.testshop.rs.

2. Введи текст "Затоваренная бочкотара" в поле поиска.

3. Нажми кнопку "Искать".


146


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


В последнем примере шаги 1 —3 (включительно) были сценарием, а "Затоваренная бочкотара" — данными.

Еще один пример данных

При закрытии счета в одном из интернет-магазинов на последней странице пользователь должен ответить, почему он закрывает счет. Ему дается список из 20 вопросов, и напротив каждого вопроса раз­мещен квадрат, куда можно поставить галочку (checkbox). Так вот если пользователь поставит галочку напротив строк "Служба поддержки" и "Медленная доставка" и нажмет на кнопку "Закрыть счет", то данными будет текст "Служба поддержки " и " Медленная доставка".

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

Предполагаемые паттерны поведения пользователей —это те сценарии и данные,которые, как мы ожидаем,будут реализо-вываться и вводиться пользователями.

Основные источники предполагаемых паттернов поведения поль­зователей могут быть:

а) напрямую взяты из спека.

Пример

Пункт 12 спека #9548 говорит: "Если на странице с регистрационной формой пользователь не указал свой е-мейл, то после нажатия на кнопку "Зарегистрироваться" показывается та же страница, но с сооб­щением об ошибке: "Пожалуйста, введите ваш е-мейл" и с изменением шрифта имени текстового поля "Е-мейл:" на красный цвет".

Напишем тест-кейс.

ИДЕЯ: "Сообщение об ошибке, если при регистрации не указан е-мейл".

Сценарий:

1. Открой wvwv.main.testshop.rs/register.htm.

2. Заполни все текстовые поля кроме "Е-мейл:" действительными данными (поле "Е-мейл:"должно быть пустым).

3. Нажми на кнопку "Зарегистрироваться".

Ожидаемый результат 1:

Страница регистрации.

Ожидаемый результат 2:

Сообщение об ошибке "Пожалуйста, введите ваш е-мейл".

Ожидаемый результат 3:

Шрифт имени поля "Е-мейл:" изменен на красный цвет.

Кстати, данными для сценария из последнего примера послужили две вещи: 1) действительный ввод всех полей, кроме е-мейла (мы предпола­гаем, что лицо, исполняющее тест-кейс, знает легитимные значения ввода), и 2) пустое поле для е-мейла. Значение ввода "" — это тоже вид данных.


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


147


Давайте для простоты в дальнейшем использовать термин "сце­нарий" в качестве собирательного образа, т.е. самого сценарияи данных, используемых в нем;

б) найдены путем эксплоринга.

Иногда "брожение" по сайту является лучшим источником для понимания того, как реальный пользователь будет сним обра­щаться;

в) получены путем применения методики черноящичного
тестирования
(black box testing methodology).

Примеры: впереди будет много примеров;

г) подарены интуицией.

Помните, как у Конан Дойля было сказано об инспекторе Лест-рейде? Примерно так: "Но была единственная вещь, которая ме­шала ему стать настоящим сыщиком, — у него не было чутья".

А чем мы не сыщики? Интуиция не менее важна для настоя­щего профессионала-тестировщика, чем прикладные знания и опыт работы;


Дата добавления: 2018-05-02; просмотров: 503; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!