четверг, 31 января 2013 г.

Вот так и рождаются слухи о карме тестировщика...

Пара случаев из жизни - близится к концу релиз. Разработчики страдают, что им нечего делать в текущей ветке, разве что за транк приниматься, а вот тестировщикам не до страданий - тут тебе и поддержка Заказчика, и закрытие ошибок, и написание документации, если вдруг она где-то недописана, и прочая прочая...

С другой стороны, это хорошее время - потому что страдающие разработчики лезут во Future Iterations и выковыривают оттуда минорные баги, которые протестировать то 5 минут, а вот исправить порою долго. Ну и чинят, мол, даже если не успеете - не критично, можно и в регрессии проверить.

Город засыпает, просыпаются разработчики... (с)

Так вот, есть у нас два продукта - назовем их А и Б. И если Б стартовать позже, чем А, он стартует, но пишет ошибку.

Потому что А обращается к Б, понимает, что его нет и отваливается по тайм-ауту. Тут стартует Б, видит запрос и пытается ответить - а некуда!

В общем, ошибка минорнейшая, так как на функциональность не влияет вообще от слова совсем. Но на этот раз она попала под раздачу - "починили". Поставили таймаут чуть больше. Счастливый разработчик (далее по тексту - Р) уходит домой, я сижу, над другой проблемой бьюсь. Наконец, находится время - стартую А, потом Б...

И переоткрываю задачу с комментарием "Увы и ах".

Утро следующего дня. Приходит довольный и счастливый Р - "Ну что? Ты переоткрыла?! Неужели повторяется?? Ладно, сейчас посмотрю..."

Сижу себе, никого не трогаю. Проходит минут 10, приходит Р:

- У меня не повторяется, покажи!
Показываю ему логи.
- Точно новая версия?
- Точно.
- Нууууу, нууууу... Дай мне свою сборку, попробую на ней.

Даю. Не повторяется. Прихожу к нему, стою над душой - не повторяется. Ладно, оно минор, а мне некогда заморачиваться, ухожу.

Проходим еще минут 15-20, прибегает Р - "Там была ошибка! Ты права! Я поправил не таймаут, а интервал опроса на 5 мин. И ты таки запустила Б ровно через 5 минут после старта А, но как?? У тебя - талант!". Так в баге и написал при закрытии Smile :)

Прошла неделя...

Проводим регрессию. Надо мне видео нарисовать. Потыкалась-потыкалась по платформам, потом поняла, что localhost - идеальное решение, а также - анонимное!

Развернула билд, который уже настроен - но увы, данных маловато. Ничего, сейчас загрузим! Ага... Загрузим... Загрузка падает с ошибкой. В ужасе лезу на тестовую платформу - запускаю загрузку там, и там:

ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
ORA-00942: table or view does not exist


Да ла-а-а-а-адно... Ну откуда? Состояние БД в этом релизе не менялось! Вообще от слова совсем! А в прошлом абсолютно точно работало! Бегу к разработчику - срочно, срочно, помоги-поправь.

Смотрим локальный билд - повторная загрузка прошла о_О
Проблема мистически испарилась. Разработчик радуется - ну ты тогда тестовую тоже рестартани, глюкнуло видимо. Рестартанула. Не помогло. Пошли к админу - проблем с сетью не было, базу не трогали.

Ладно, Р ушел думать, я ушла обедать Smile :)
Возвращаемся с обеда - Р ходит грустный, "О-о-оля, ну как ты тест сломала? Я и в дебаге смотрел, и так и сяк, даже идей нет Sad :( У тебя точно талант..."

Рестартанули оракл - проблема прошла. Система действительно оказалась невиноватая. Но в мою карму Р, кажется, начинает верить...

3 комментария:

  1. Мой прорект – это старое веб-приложение, которое поддерживает Оракл и SQL Server. На SQL Server все работает как часы. А вот Оракл… ну просто творится какая-то мистика. Как говорили древние:
    «Нельзя зайти в один Оракл дважды».
    Боюсь, что к карме тестировщика тут плюсуется и карма Оракла. По крайней мере, у меня точно так и есть :)

    ОтветитьУдалить
    Ответы
    1. Вот в карму Оракла я верю больше, чем в карму тестировщика :))

      Удалить