Функциональные баги и баги спека



Допустим, что ошибка не была показана и мы имеем классиче­ский случай функционального бага(functional bug, или баг обыкновенный), т.е. бага, вскормленного на несоответствии фактической работы кода и функционального спека.

Если вы внимательно читали пункт 19.а, то не могли не заметить (шутка), что непонятно, какое должно быть сообщение об ошибке (error message), т.е. фактически решение отдано на откуп про­граммисту и он может предусмотреть, что при соответствующей ситуации код выдаст:

• НЕинформативное сообщение "Ошибка" и оставит пользо­
вателя ломать голову над тем, что он сделал неправильно,
либо

• информативное сообщение «Пожалуйста, введите ваше имя
и нажмите кнопку "Регистрация"»

и в любом случае формально будет прав, так как спецификация не детализирует текста ошибки.

Кстати, несколько лет назад был случай, когда программисты в специ­альном ПО, разработанном для американских тюрем, оставили "рабо­чее" название кнопки, причем тюремщикам идея так понравилась, что они просили ничего не исправлять. Надпись на кнопке была: "Освобо­дить подонка".


22


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


В общем сложилась ситуация, когда сама спецификация имеет проблему, так как мы ожидаем(или по крайней мере должны ожидать), что в спеке будут подробности о тексте ошибки, а в реальности их там нет. Так и запишем — "баг в спецификации"

(spec bug).

Кстати, вот варианты развития ситуации с проблемным спеком:

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

б. Если программист написал нечто противоречащее здравому смыслу
или стандарту, принятому в вашей компании, рапортуйте баг.

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

Кстати, вот две релевантные политически важные вещи:

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

2. Каждый должен заниматься своим делом и отвечать за свой участок работы. В случае если спек сделан некачественно, то лучше под­нять тревогу с рассылкой е-мейлов, чем делать допущения относи­тельно того, как должно работать ваше ПО.

Перед завершением темы об ожидаемом и фактическом результа­тах рассмотрим примеры других источников ожидаемого резуль­тата, кроме спеков.

1. ЖИЗНЕННЫЙ ОПЫТ

Как справедливо отметил Борис Слуцкий: "Не только пиво-раки мы ели и лакали". Мы также учились и работали, любили и нена­видели, верили политикам и не слушались родителей, в общем приобретали жизненный опыт (включая опыт работы). Так вот этот


Что такое баг


23


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

2. ЗДРАВЫЙ СМЫСЛ (дитя жизненного опыта и соответственно
внук "ошибок трудных")

Это один из наших главных союзников, порой даже и при нали­чии спека. Например, вы тестируете веб-сайт, где пользователь может загрузить (upload) свои цифровые фотографии. Спек гово­рит, что пользователь может загрузить лишь одну фотографию за раз. А что, если у него таких фотографий 200? Будет он счастлив? Что делаем? Правильно: пишем е-мейл ж [email protected] с предложением о включении в спек функциональности, позво­ляющей пользователю загружать цифровые фотографии оптом. Кстати, баг такого рационализаторского плана лицемерно назы­вается не багом, a Feature Request ("запрос об улучшении" — по­ка остановимся на таком переводе).

ОБЩЕНИЕ

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

4. УСТОЯВШИЕСЯ СТАНДАРТЫ

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

5. СТАТИСТИЧЕСКИЕ ДАННЫЕ

Было установлено, что средний пользователь теряет терпение, если web page (веб-страница) не загружается в течение 5 секунд. Эти данные можно использовать, проводя performance testing (тестирование скорости работы всей системы либо ее компонента). Как говорят американцы: "Your user is just one click away from your


24


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


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

6. АВТОРИТЕТНОЕ МНЕНИЕ

Это может быть, например, мнение вашего начальника.

7. ДР.

Другие.

Отметим, что баг (bug) буквально переводится как "жук" или "букашка".

Теперь, как я и обещал, немного истории.

Согласно фольклору, баги вошли в лексикон компьютерщиков после случая, происшедшего в Гарвардском университете в 1947 г. После то­го как на реле прадедушки ПК Марка II присел отдохнуть мотылек, один из контактов слегка коротнуло и весь 15-тонный агрегат со скрежетом остановился. Инженеры проявили милосердие и извлекли мотылька, после чего аккуратно зафиксировали его скотчем в журнале испытаний с комментарием "Первый фактический случай найденного жука" ("First actual case of bug being found").

Итак,

Краткое подведение итогов

1. Баг — это отклонение фактического результата от ожидаемого.

2. Главный источник ожидаемого результата в интернет-компании — это спецификация.

3. Спецификации сами не без греха, и в этом случае, как и в случае полного их отсутствия, у нас есть здравый смысл, устоявшиеся стандарты, опыт работы, статистика, авторитетное мнение и др.

Задания для самопроверки

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

2. Подумайте, какие еще источники ожидаемого результата могут быть в работе тестировщика.

3. Побродите по Интернету, порегистрируйтесь (www.yahoo.com, www.hotmail.com и т.д.) и составьте список обязательных полей (required fields) на регистрационных формах.


ЦЕЛЬ ТЕСТИРОВАНИЯ DECODED

•цель тестирования

• ЧЕРНАЯ МАГИЯ И ЕЕ НЕМЕДЛЕННОЕ РАЗОБЛАЧЕНИЕ

• ИДЕЯ О СТАТИСТИКЕ ДЛЯ ПОСТРЕЛИЗНЫХ БАГОВ

• ТЕСТИРОВАНИЕ И QA (Quality Assurance)

Б

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

Цель тестирования


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

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






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