Feeds:
Записи
Комментарии

Archive for the ‘Удивительные баги’ Category

Это пришло ко мне из ниоткуда. То есть, из памяти.

Кстати, о бифштексах.

Недавно я видел Михаила Антоновича. Он рассказывал, что начальник ВШК отзывается о тебе весьма хорошо. Того же мнения о тебе и сам Михаил. Знаешь, эта его манера разговаривать: «Алешенька? Из него будет отличный штурман, о-отличный, вот увидишь!» Очень рад за тебя, краснолицый.

Мне пришлось на полчаса оторваться от письма и выслушать сетования моего соседа, кибернетиста Щербакова. Ты, вероятно, знаешь, что к северу от ракетодрома идет строительство грандиозного подземного комбината по переработке урана и трансуранитов. Люди работают в шесть смен. Роботы — круглые сутки; замечательные машины, последнее слово практической кибернетики. Но, как говорят японцы, обезьяна тоже падает с дерева.

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

Я как мог утешил Щербакова (чуть не умер от напряжения, стараясь сохранить серьезный вид) — и вернулся к письму.

[…]

Прощай, краснолицый! Надеюсь, не пройдет и двух лет, как ты напишешь мне.

Большой привет супруге и сынишке. Да поцелуй-ка, брат, супруге ручку.

Твой В. Юрковский

Венера, Порт Голконда
7.02.19.. г.

Источник.

Роботы вообще делали именно то, что должны были делать — верх фантастики.

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

Сейчас внешнее состояние книги указало бы мне на ее заюзанность. А в то время это только придавало особую, осязаемую голограммность ее содержанию…

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

Вот только финал переводом оказался слегка подпорченным. Оказалось непереводимой игра слов «Ту-ут, ту-ут, ту-ут», — пели далекие маяки.

Ну, что поделать…

Быков, красный, потный и взволнованный, висел в воздухе вниз головой.
Быков, красный, потный и взволнованный, висел в воздухе вниз головой.

Реклама

Read Full Post »

Как-то увидел в RSS заметку The Bug That Makes Craig Laugh Every Time

When my first test manager left Microsoft he told the team this was his favorite bug and it is easy to see why (testers are often asked about their favorite bugs when they leave).

On his first week on the job one of my friends hit a crash in the speech recognition engine. He had no idea what to do next and went over to ask his developer.

His developer was busy and so asked him to create a bug and write down exactly what he did.

Being new and nervous he entered the bug exactly as it happened, including the exact words he spoke to crash the recognizer. Being a colorful character the exact words he wrote in the bug included many curse words!

The bug bounced between several external teams and later I heard they all had a good laugh.

The bug is still in the database today and it was his first ever bug at Microsoft (the bug did get fixed).

One takeaway: try to find the minimum steps to reproduce the bug!

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

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

Трабла в том, что приложение написано для true americans, и не учитывает, что кроме charset=ISO существует и более интернациональный UTF-8. И этого, почему-то, оказалось достаточно для того, чтобы приложение «помирало», если в форме SendMeAMessage написать детское «хуйхуйхуй».

Я когда-то тоже отличился. На созвоне наш менеджер со стороны США вдруг спрашивает: «Парни, а что тут за шаги по воспроизведению — быстро сделать 10 или 20 кликов?»

А что удивительного? Приложение написано с использованием Google WebToolKit (свободный Java фреймворк, который позволяет веб‐разработчикам создавать Ajax приложения на основе Java), и продукт сам по себе еще был местами слабым.

Я такую слабость нашел — по клику должно было что-то появляться, но оно не появлялось. Я злобно накликал приложению от десяти до двадцати быстрых кликов, и оно вдруг полностью рухнуло.

Опа!

Еще раз — нате еще раз — приложение подыхает, если кто-то начинает в нем безудержно даблкликать.

Казалось, что приложение падает только на стороне клиента, но в логе на сервере все равно появлялось сообщение о том, что «тут у вас что-то упало», поэтому я занес сообщение о баге. Починить это не смогли, сказали, что это вопрос к GWT.

Read Full Post »

Для самомнения вердикт «Can’t reproduce» не так страшен как «Not a bug«, но — тоже неприятно.

Официальщина:

«Не могу воспроизвести» означает только то, что работник, ответственный за починку дефекта, не смог его воспроизвести на билде, указанном в описании дефекта.

Почему не смог?

  1. Из-за разницы в конфигурации компьютеров

    В веб-отрасли это бывает реже, чем в десктопных приложениях. Но бывает. Но редко.

  2. В описании бага отсутствуют какие-то шаги или нюансы

    А вот это очень серьезно, и идет прямым минусом в карму тестировщику. После ревью баг будет переоткрыт, что неприятно ни им, ни нам, ни этим, которые за всеми нами приглядывают.

  3. Дефект уже починен в более новом билде, а девелопер как раз и проверяет это дело на этот самом «обновленном»

    Это самое противное и требующее рассмотрения.

Третья причина является проблемой из-за того, что входит в противоречие с официальным толкованием статуса «Не могу воспроизвести»:

Дефект проверяется на билде, указанном в описании дефекта.

Дефект, зарегистрированный в версии 1.9, отложен и принят к
рассмотрению в версии 1.12. Высока вероятность того, что в 1.12 он уже
будет как-то починен? Если рассматривать ситуацию абстрактно, то
вероятность весьма, весьма, гм, вероятна.

А если так, то является ли преступлением против системы треканья багов проверить исторический баг на новом билде, и заявить, что «не могу воспроизвести»?

Не является.

Но проверять дефект на обновленном билде, как правило — на текущем — это потенциальная брешь и проблема. Предположим, не воспроизводится. А ну как он, зараза, снова всплывет? Мы точно знаем, почему этот гадёныш не воспроизводится?

Единственно верное решение:

Поставить билд 1.9, воспроизвести, понять, отчего это произошло, и убедиться в том, что в билде 1.12 эта проблема несомненно решена. Убеждаться — в коде.

И если дефект при проверке уже считается недействительным, нужно ставить ему статус «Fixed» с указанием билда, в котором баг считается починенным.

Что в действительности — возня со старым билдом может потребовать неоправданно много времени. «Единственно верное решение» может быть использовано только в том случае, если баг приоретизирован как «серьезный».

Вышеизложенное написано в поисках уточнения: баг, который не воспроизводится на обновленном билде — он все-таки «Fixed», или «Can’t reproduce»?

Продолжаем делать баги под видом функций, нужных конечным пользователям.

Read Full Post »

Официальная версия:

9 сентября 1945 года ученые Гарвардского университета, тестировавшие вычислительную машину Mark II Aiken Relay Calculator, нашли мотылька, застрявшего между контактами электромеханического реле.

Проделанная работа требовала описания, и слово было найдено — «debugging» (дословно: избавление от насекомого) — так и ныне называется процесс выявления и устранения багов — причин неправильной работы компьютера.

Извлеченное насекомое было вклеено в техдневник, с сопроводительной надписью: «Первый обнаруженный баг», и в дальнейшем передано в музей вычислительной техники.

В реальности было так (перевод с английского):

Ребята, я тут нажал, и вот, что получилось… Кажется, наш «Марк» слегка глючит…

На заднем плане — вспышки, треск, отдельные взрывы ламп накаливания.

Что-то ты нажал? Какого (неразборчиво) ты нажал именно эту (неразборчиво) клавишу? Ты знаешь, какой процесс ты запустил, ты, (очень неразборчиво), Джонни-бой?

— Какого (неимоверно неразборчиво) ты вообще подошел к машине? Кто его сюда пустил? Кто тебя учил работать на «Марках», ты, (неразборчиво), (неразборчиво), и (неразборчиво), (неразборчиво)…

— У тебя в голове что — тараканы, или диплом инженера, (слегка неразборчиво), а? Что мы теперь скажем, неразборчивое ты слово, а?

На заднем плане — вспышки, треск, отдельные взрывы ламп накаливания. Кто-то сильно надрывается, вероятно, морду бьют. Главный инженер отрешенно играет на банджо «If only I knew»…

Всеобщим голосованием было решено назначить ответственным… маленького мотылька. Даже слово было найдено — «debugging»…

С праздником.

Read Full Post »

Даже в Jira есть мелкие огрехи:

РедакАтируем профили

РедакАтируем профили

Read Full Post »

В компании, в которой я сейчас работаю, ввели новую систему учета рабочего времени — eHour. Автор: неизвестная мне компания TE-CON — Java architecture and development.

Система позволяет на стыке значений «Проект» и «День недели» вписывать количество часов и дополнительную информацию о том, что было с этим часами сделано.

«eHour» is a free time tracking tool for companies and organizations who need accurate information on how much time is spend on projects by their people

Есть on-line demo (user/demo).

Слабость системы, как и ожидалось, в подсчёте минут.

Система нормально работает с «целыми» часами. Например, если указать по первому проекту 2 часа, а по второму — 5, то система отобразит итоги дня — 7.00.

Нули программа вписывает самостоятельно. Нужно только после каждого «вписывания» нажимать на кнопку [store].

А если записать 2.30 и 5.00?

Результат — 7.30.

А если записать 2.30 и 5.15?

Результат — 7.45.

А если записать 2.30 и 5.30?

Результат — 7.60 🙂

А если записать 2.30 и 5.45?

Результат — 7.75

Теперь самое интересное: если записать 2.50 и 5.50…

Эти значения честно отображают итог одного дня.

Expected result:
2.00 + 5.00 = 7.00
0.50 + 0.50 = 0.100 = 1.40
7.00 + 1.40 = 8.40 🙂

Но программа показывает 8.00

Машинная логика верна:
2.00 + 5.00 = 7.00
0.50 + 0.50 = 1.00
7.00 + 1.00 = 8.00

Итог: наша компания продолжает пользоваться eHour, делов-то…

Read Full Post »

bash.org.ru

Alex:
Что бы выловить случайную ошибку нужно добиться устойчивости её появления.

Read Full Post »

« Newer Posts - Older Posts »

%d такие блоггеры, как: