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

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

Короче, что-то под капотом засвистело не по-детски. Но как-то смутно, как-то урывками.

То свистит.

То не свистит.

Но когда свистит — то прям ващще…

Начал искать первопричину этого автогреха. Пару дней отсиживал в засаде (за рулём), то разгоняя машину, то адски тормозя, то петляя по улицам стольного града.

И таки нашёл! 🙂

(далее…)

Read Full Post »

Обложка книги "Тестирование черного ящика"

Обложка книги «Тестирование черного ящика»

В начале декабря 2015-го я неосторожно пообещал Никите Макарову (папа автоматизации тестирования в «Одноклассниках») объяснить, почему книга Бориса Бейзера — это про тестирование, но не для тестировщиков, а для программистов, поэтому и читать ее надо не так, как Канера.

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

Итак, да, изрядное кол-во любопытных тестировщицких зубов обломалось о книгу Бориса Бейзера «Тестирование черного ящика», йо-хо-хо!

Мои там тоже остались 😦

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

Перевод там гнилой, что ли?

Ну…

(далее…)

Read Full Post »

Nessun dorma! Nessun dorma!
Tu pure, o Principessa,
nella tua fredda stanza
guardi le stelle
che tremano d’amore e di speranza… ©

Логические баги трудноуловимы и прекрасны…

Не дают расслабиться.

Билеты на всякий украинский колесный транспорт (самолеты тоже на колёсиках катятся, если чо) удобно покупать на http://tickets.ua/

Заказ оплачивается он-лайн, сразу можно скачать pdf с так называемым «ваучером»: служебная информация о покупке — имя, номер брони, даты, рейс, всё такое. Непосредственно у трапа в транспорт без доставания паспортины из широких штанин не обойтись, но тут у нас интернет, детка, можно пока что без паспортинок.

Технически такой сервис легко поддается тестированию.

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

(далее…)

Read Full Post »

Если в лицензии указано, что совершая священное таинство покупки, я соглашаюсь с тем, что продавец имеет право меня насиловать по средам, а я подразумеваю, что меня насиловать вообще не надо, то — в кроличью нору такую лицензию. И такие продажи.

Здравый смысл важнее лицензий.

Магазин должен подстраиваться под ожидания покупателя, а не покупатель под условия магазина.

Протестируем не совсем очевидное — условия доставки товаров в гигантских магазинах. На примере магазина rozetka.com.ua.

Обожаю этот магазин как пример того, как НЕ ДОЛЖНО БЫТЪ, но бывает.

Лизни «Розетку», бро!

(далее…)

Read Full Post »

Зайдем на какой-нибудь магазин.

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

Следовательно, «иди ты на» тоже подразумевает, что речь идет о веб.

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

Весело переходим к регистрации

Мгм…

А форма регистрации ВНЕЗАПНО совмещена с оформлением заказа…

Принуждение к заказыванию. Насильственное

И поскольку товаров в корзине «0 товаров на сумму 0 грн«, то «оформлять заказ» невозможно, и регистрация не работает.

Пусть, мол, заводят аккаунты только те юзеры, которые что-то заказали. Так же делают на том же shopcasio.com, а чем мы хуже?

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

Вопросы для самоидентификации:

  1. Сколько было нужно времени, чтобы вообразить вероятность самовольной регистрации юзверей НЕ ИЗ корзины?
  2. Можно ли принять решение о выпуске магазина, если тестировщики докладывают об обнаружении подобной ситуации?
  3. ???

Read Full Post »

Успешно мигрировали с Selenium 1 на Selenium 2/WebDriver участники воркшопа по миграции с Selenium 1 на Selenium 2/WebDriver. Напомним, что речь идет о воркшопе автоматизаторов Киева под называнием «Миграция с Selenium 1 на Selenium 2/WebDriver«.

🙂

В процессе участия я запоролся на слове «воркшоп». Оно ведь как переводится? Пяможитейская логика подсказывает, что речь идет о месте, где продается работа. Дык тогда каждый киевский офис — суть воркшоп…

Оказалось, что воркшоп — это цех (мастерская), в которой можно нахвататься каких-то рабочих навыков.

В общем, не суть важно.

Важное выяснилось только что: стандартный механизм добавления картинок в WordPress под FF7.01 в Ubuntu не видит в каталогах файлы, у которых расширение написано заглавными буквами.

  • «файл.JPG» — не видит.
  • «файл.jpg» — видит.
Походу, проявляются особенности Flash на платформе Debian.

Андрей Дзыня в стотысячный раз основывает фреймворк для автоматизации

Важно то, что я давно не видел в офисе SysIQ столько ноутбуков с Ubuntu.

Это впечатлило.

У нас же весь офис под властью винды.

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

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

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

Вот что получил:

У меня 10.10, но в справке указано 11.04.

Отлично! И обновляться не надо.

Попадание под прицел фотокорреспондента

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

На слайде виден текст: «Заказчик хочет вы… интерациональный уровень«.

Михаил Поляруш объясняет, что "Заказчик хочет вы..."

Read Full Post »

Аспирант хочет купить экземпляр учебника по эволюционной биологии The Making of a Flyна Amazon. Там доступно для продажи 17 экземпляров, цены начинаются от $40, но два экземпляра стоят по $1,7 млн 0_O

Когда парень проверил чуть позже, цена подскочила уже до $27 млн.

Он попытался выяснить, что произошло.

Оказалось, два алгоритма установки цен попали в цикл — каждый изменял свою цену в зависимости от изменения цены другого. Поскольку у алгоритмов есть правила для изменения цены, но нет здравого смысла, процесс продолжался без остановки.

Read Full Post »

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

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

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

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

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

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

[…]

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

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

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

Венера, Порт Голконда
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 »

В багтрекере появился баг №666 — за моей подписью.

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

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

И приписали мне: » ISSUE 666 — НЕ БАГ!»

Issue — CLOSED. 😦

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

Read Full Post »

Older Posts »

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