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

на главную - закладки

Жанры

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

Verification Failed (ремонт был неуспешен)

Если первая часть регрессивного тестирования показала неус-

пешность ремонта, т.е. баг все еще существует в коде, то мы не

делаем второй части, а просто выбираем это значение резолюции,

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

починил код.

Can Ч Reproduce (не могу воспроизвести)

Эта

неприятная для тестировщика резолюция выбирается про-

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

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

Can 7 Reproduce имеет место в следующих случаях:

• "Описание и шаги..." содержат неполную, неверную или

нечеткую информацию о том, как воспроизвести баг, и/или

• бага нет, т.е. тестировщик принял за баг правильно рабо-

тающий код.

Одной из основных вещей в отношении багов в ПО является идея

об их воспроизводимости, т.е. если баг существует, его можно

воспроизвести. Бывает так, что тестировщик, найдя баг в ПО,

сразу же открывает СТБ, заносит новый баг и, довольный собой,

продолжает работу. Программист же соответственно бросает ра-

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

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

цией Can't Reproduce. Особенно неприятна ситуация, когда опи-

сание бага содержит сложную и долгую процедуру, необходимую

для воспроизведения.

Лучшим средством превентирования подобных вещей является

правило: "Перед тем как занести новый баг, воспроизведи его

еще раз", т.е., после того как найден баг, необходимо воспроиз-

Жизнь замечательных багов

239

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

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

счастье — это счастье пользователей.

Бывают такие случаи, когда очень сложно выявить условия, ко-

торые привели к появлению бага.

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

причинами возникновения бага.

Условие появления бага — это непосредственная ситуация, воспроиз-

ведя которую мы воспроизводим баг. Например, пользователь может

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

Причина

появления бага
— это конкретная ошибка программиста или

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

ошибка в логике кода).

Идем дальше.

Например, мы увидели баг и не можем воспроизвести его, совер-

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

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

мы оставляем наши попытки, так как, если баг существует, его

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

тот же баг и снова не можем его воспроизвести.

Что я могу сказать? Именно такие ситуации бросают вызов на-

шему профессионализму. Если баг появился один раз и мы никак

не смогли воспроизвести его, то после его второго появления мы

ОБЯЗАНЫ найти условия, в результате которых он появляется.

Такие условия есть всегда, как порой ни сложно найти их.

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

В одной фармацевтической лаборатории работали четыре сотрудника.

Один из них, сотрудник N., изобрел уникальное вещество, которое

должно было послужить основой нового лекарства. N. составил под-

робный рецепт, но никто из его коллег не смог изготовить то же веще-

ство, хотя они в точности выполняли все шаги. Дошло даже до того, что

троица, стоя по бокам от Л/., повторяла все его действия, и все-таки

вещество получалось только у него одного. В итоге четыре человека с

университетским образованием собрались на совещание и решили,

что они поверят в мистическое происхождение вещества, но после од-

ного последнего теста: АБСОЛЮТНО все действия N. в процессе изго-

товления вещества должны были быть засняты на видеокамеру и тща-

тельно проанализированы.

После съемки, тщательного анализа и последующих тестов разгадка

была найдена: в процессе изготовления вещества сотрудник N. пере-

Поделиться:
Популярные книги

Ну, здравствуй, перестройка!

Иванов Дмитрий
4. Девяностые
Фантастика:
попаданцы
альтернативная история
6.83
рейтинг книги
Ну, здравствуй, перестройка!

Нечто чудесное

Макнот Джудит
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Нечто чудесное

Ученик. Книга вторая

Первухин Андрей Евгеньевич
2. Ученик
Фантастика:
фэнтези
5.40
рейтинг книги
Ученик. Книга вторая

Обгоняя время

Иванов Дмитрий
13. Девяностые
Фантастика:
попаданцы
5.00
рейтинг книги
Обгоняя время

Дочь моего друга

Тоцка Тала
2. Айдаровы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Дочь моего друга

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Плохая невеста

Шторм Елена
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Плохая невеста

Законы Рода. Том 3

Flow Ascold
3. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 3

Измена. Ты меня не найдешь

Леманн Анастасия
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Ты меня не найдешь

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Убивать чтобы жить 8

Бор Жорж
8. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 8

Мужчина моей судьбы

Ардова Алиса
2. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.03
рейтинг книги
Мужчина моей судьбы

Николай I Освободитель. Книга 5

Савинков Андрей Николаевич
5. Николай I
Фантастика:
альтернативная история
5.00
рейтинг книги
Николай I Освободитель. Книга 5

Шведский стол

Ланцов Михаил Алексеевич
3. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Шведский стол