Классификация по этому признаку
состоит из следующих элементов.
Перечисляем:
1. По знанию внутренностей системы:
• черный ящик (black box testing);
• серый ящик (grey box testing);
• белый ящик (white box testing).
2. По объекту тестирования:
• функциональное тестирование (functional testing);
• тестирование интерфейса пользователя (UI testing);
• тестирование локализации (localization testing);
• тестирование скорости и надежности (load/stress/performance 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!