А то как-то неаккуратненько...

Tags: 
- Вот мисс Ррр, она тоже с Земли. Верно, мисс Ррр? Мисс Ррр кивнула и как-то странно усмехнулась.
- И мистер Ююю, и мистер Щщщ, и мистер Ввв!
- А я с Юпитера, - представился один мужчина, приосанившись.
- А я с Сатурна, - ввернул другой, хитро поблескивая глазами.
Рей Брэдбери, "Марсианские хроники"
День выдался не особо напряжный - первый рабочий день после длинных выходных, народ пока толком еще не включился, поэтому работалось сравнительно легко, хотя и с неохотой. За пятнадцать минут до окончания рабочего дня я уже предвкушал, что скоро пойду домой.

Но, как это обычно и бывает, самое веселое началось именно под конец рабочего дня. В списке на перетестирование у меня был один плавающий дефект (назовем его X для определенности), который разработчики вроде как с третьего раза, наконец, поймали, локализовали и ликвидировали.

То, как повела себя система, мне сразу не понравилось. Она упала, но повторить это мне не удалось. В итоге я, забыв про все, терзал систему в течение часа - и ушел домой только после того, как процесс был доведен до логической точки. Итогом этой деятельности было переоткрытие еще одного дефекта, который я же в свое время и завел, но он был закрыт как невоспроизводящийся. К своему действию я приложил следующий комментарий (упрощено и обобщено для ясности):
Открываю снова, поскольку нашел способ воспроизвести. Похоже, что имеет место переплетение дефектов X, Y, Z и этого - они все относятся к одному куску функциональности и во многом перекрывают друг друга.

Шаги по воспроизводству следующие:

1. Создайте ордер - непременно вручную (если вы это сделаете в автоматическом режиме, вы наткнетесь на дефект Y, и до дальнейших шагов дело попросту не дойдет).
2. Попытайтесь изменить значение. С вероятностью 9 из 10 всплывет дефект Z, поэтому значение хоть и криво, но изменится.
3. Поскольку дефект Z плавающий, продолжайте попытки, пока он не перестанет проявляться. На это потребуется в среднем от 2 до 10 раз (в редких случаях возможно, больше).
4. После очередной попытки изменить значение вся система грохнется.

А что касается дефекта X, то он находится в прямой зависимости от данного, поэтому, пока он не закрыт, полноценное тестирование X не представляется возможным.
И ушел домой, довольный тем, что, наконец, сумел собрать в один узелок разрозненные, хоть и неуловимо похожие друг на друга дефекты. День прошел не зря :-)

Current Music: AC/DC - Big Balls
Tags: testing, job

From: [info]vittt Date: 03/26/2008 08:45:54  

Что-то все равно какая-то пугающая недерминированность во втором и третьем шагах.
From: [info]_myx Date: 03/27/2008 00:06:50  

Самому не нравится, но что делать... Однако указанных шагов вполне хватило, чтобы девелоперы смогли воссоздать ситуацию и начать над ней работать. Сегодня вроде даже разгребли частично.
From: [info]real_syberex Date: 03/26/2008 10:03:12  

Помнится господин Николай Буланов однажды нашел дефект, для воспроизведения которого необходимо было выполнить около 20 шагов, причем треть из них - возвраты на предыдущие экраны и открытие их заново. Т.е. если экран открыть 5 раз все будет хорошо, а на 6 - упадет.
Весь проект был в шоке. После этого Коля получил почетное звание "мегатестер".
From: [info]vittt Date: 03/26/2008 18:44:38  

Знаешь, все это шаманство мне говорит только о том, что program under test изначально написана как-то неправильно. Значит есть в ней что-то такое, что где-то накапливается или просто реализовано через одно место.
Я вот не так давно совершенно случайно поймал багу с добавлением объектов. Оказалось, что в одной программе добавление первого и второго дочерних объектов было реализовано разными функциями. Мне такое и в страшном сне не могло приснится...
Поэтому в таких ситуациях, имхо, надо не количество кликов/вероятность отлавливать, а копать в сторону причины этого всего.
From: [info]_myx Date: 03/27/2008 00:03:47  

Виталь, "это-то само собой" (С) :-) Я уже задолбался объяснять, что время, сэкономленное на упрощенной архитектуре, мы десять раз потеряем на глюках, которые она за собой потащит. Специально слепил в одну связку шесть штук однородных багов, ноги у которых растут из одного и того же архитектурного ляпа, и приписал: "и шесть - это не предел!". И оказался прав - сейчас в этой связке уже больше десятка.

И таких связок там дофига, только успевай сортировать. Но, к сожалению, на финальной стадии проекта всем уже не до архитектуры, да и у меня приоритеты другие - мне бы хоть основные QA-процедуры пропихнуть, чтобы совсем уж полного бардака не было...
From: [info]aserofeev Date: 03/29/2008 20:29:56  

теперь и я вот с ордерами вожусь... в понедельник вот я сумел такой ордер подать, что джбосс упал и не захотел вставать... программисты оценили... но это было только начало, на следующий день я уронил уже оракл))) так удачно я рабочей недели еще не начинал...