Есть некоторые типы ошибок, которые очень трудно воспроизвести, они случаются очень редко и кажутся случайными. Может случиться так, что я найду возможную причину, исправлю ее, протестирую программу и не смогу воспроизвести ошибку. Однако, поскольку невозможно было надежно воспроизвести ошибку, и это случалось так редко, как я могу указать это в багтрекере? Каков общий способ сделать это?
Если бы я установил status
фиксированный, а solution
фиксированный - это означало бы что-то полностью исправленное, не так ли?
Является ли обычной практикой установка status
фиксированного значения и solution
открытого для указания тестировщикам, что «оно, вероятно, исправлено, но требует большего внимания, чтобы убедиться»?
Изменить: большинство (если не все) средства отслеживания ошибок имеют два свойства для статуса ошибки, возможно, имена не совпадают. К status
Я имею в виду новый, назначен, фиксированный, закрытый, и т.д. , и solution
я имею в виду открытый (новый), фиксированный, неразрешимой, не воспроизводимым, дублировать, не ошибка и т.д.
Ответы:
Обычный или нет, это все равно правильно делать, и вы сами объяснили, почему, несмотря ни на что, это хороший подход к
укажите тестерам, что «это, вероятно, исправлено, но требует большего внимания, чтобы убедиться»
Примечание, даже если конкретный баг-трекер не имеет поля, подобного тому, которое вы описываете
solution
, разработчик может по крайней мере добавить комментарий в свободной форме, поясняющий выше.... и если баг-трекер не позволяет добавлять комментарии к проблеме, то его следует заменить на тот, который делает. Возможность добавлять пояснения в свободной форме является критически важной функцией, поскольку проблемы слишком сильно различаются, чтобы вписаться в заранее заданную форму.
источник
Команда тестирования решит, была ли проблема решена и может ли она быть закрыта. Если имеются другие регрессии, побочные эффекты исправления или само исправление неэффективно в другом сценарии, проблема будет вновь открыта. Но если вы провели достаточное тестирование для разработчиков, лучше пометить его как исправленный.
источник
На самом деле, если бы не было воспроизводимого сценария тестирования, я бы даже не пытался исправить такую ошибку заранее. Если вы хотите, чтобы тестер уделял этому больше внимания, дайте им возможность создать воспроизводимый сценарий.
Например, допустим, вы меняете программу, и тестер тратит 1 час на попытки воспроизвести ошибку, а ошибка не появляется - достаточно ли было одного часа? Или дальнейшее тестирование - пустая трата времени, потому что ошибка уже исправлена?
С другой стороны, когда вы не меняете программу, и ошибка не появляется в течение 1 часа, скорее всего, тестировщик должен потратить еще час на то, чтобы попробовать разные вещи. И когда тестер инвестирует один день и больше не может воспроизвести ошибку - стоит ли тогда пытаться ее исправить?
Сказав это, вы можете подумать о том, как смоделировать этот процесс в вашей системе отслеживания ошибок: не пытаясь исправить это и передать тестерам, может быть состояние ошибки типа «открыто». Если тестеры не могут воспроизвести его, это, очевидно, «не воспроизводимо». Надеюсь, этого не произойдет, они найдут воспроизводимый сценарий, вы сможете найти основную причину вашей ошибки, исправить ее и установить статус «исправлено». Старайтесь избегать чего-то вроде «не знаю, если это исправлено».
источник
Иногда единственное свидетельство, которое у вас есть, является чисто статистическим, например, оно встречается один или два раза в месяц, но в остальном, казалось бы, не связано ни с чем. В целом, это наихудший тип ошибок для диагностики и устранения, с которыми я когда-либо сталкивался, потому что вы не можете сказать, имеют ли ваши исправления какое-то значение. Последний из них, который мне пришлось решить, закончился статистическим исправлением: частота симптомов снизилась до 10%, с которых мы начали. Последний кусок так и не был найден, а может, и был, но никто не мог сказать.
У меня есть два совета: (1) предположить, что несколько причин могут быть в силе, пока вы не узнаете иначе, и (2) выдвинуть гипотезу о том, как симптомы могут существовать, а затем разорвать каждую линию логики, которая даже отдаленно задействована. Глубокие прохождения иногда являются единственным средством для удовлетворительной цели.
источник