Жизнь замечательных багов
239
вести его повторно. Это, казалось бы, простое правило поможет и
тестировщику, и программисту быть немного счастливее, а наше
счастье — это счастье пользователей.
Бывают такие случаи, когда очень сложно выявить условия, ко-
торые привели к появлению бага.
Кстати, проведем границу между условиями возникновения бага и
причинами возникновения бага.
Условие появления бага — это непосредственная ситуация, воспроиз-
ведя которую мы воспроизводим баг. Например, пользователь может
добавить кредитную карту с датой истечения действия в прошлом.
Причина появления бага — это конкретная ошибка программиста или
продюсера, результатом которой является баг (например, сделана
ошибка в логике кода).
Идем дальше.
Например, мы увидели баг и не можем воспроизвести его, совер-
шая, казалось бы, те же самые действия, которые привели нас к
багу в самом начале. После того как баг не был воспроизведен,
мы оставляем наши попытки, так как, если баг существует, его
можно воспроизвести, продолжаем работу, а затем снова видим
тот же баг и снова не можем его воспроизвести.
Что я могу сказать? Именно такие ситуации бросают вызов на-
шему профессионализму. Если баг появился один раз и мы никак
не смогли воспроизвести его, то после его второго появления мы
ОБЯЗАНЫ найти условия, в результате которых он появляется.
Такие условия есть всегда, как порой ни сложно найти их.
бог вам история, рассказанная моим приятелем
В одной фармацевтической лаборатории работали четыре сотрудника.
Один из них, сотрудник N., изобрел уникальное вещество, которое
должно было послужить основой нового лекарства. N. составил под-
робный рецепт, но никто из его коллег не смог изготовить то же веще-
ство, хотя они в точности выполняли все шаги. Дошло даже до того, что
троица, стоя по бокам от Л/., повторяла все его действия, и все-таки
вещество получалось только у него одного. В итоге четыре человека с
университетским образованием собрались на совещание и решили,
что они поверят в мистическое происхождение вещества, но после од-
ного последнего теста: АБСОЛЮТНО все действия N. в процессе изго-
товления вещества должны были быть засняты на видеокамеру и тща-
тельно проанализированы.
После съемки, тщательного анализа и последующих тестов разгадка
была найдена: в процессе изготовления вещества сотрудник N. пере-
ходил из одной лаборатории в другую по морозной улице.