Российские айтишники рассказали о смешных и страшных ошибках из своей практики
Сегодня отмечается международный день тестировщиков — специалистов, которые ищут в программах и компьютерных системах ошибки. Профессиональный праздник берет свое начало в 1947 году — тогда тестировщики из Гарвардского университета нашли в вычислительной машине Mark II Aiken Relay Calculator мотылька, который замкнул два контакта и вывел систему из строя. Именно с тех пор ошибки в компьютерах называют словом «bug», которое с английского переводится как «жук». Тестировщики и другие IT-специалисты из российских компаний рассказали «Газете.Ru» о самых смешных и необычных багах в своей жизни.
Закупка бобра
Руководитель отдела тестирования в компании «Рексофт» (один из крупнейших в России контрактных разработчиков ПО) Максим Приданников вспомнил для «Газеты.Ru» историю 10-летней давности, в которой он, будучи еще начинающим специалистом, из-за бага заставил одну крупную федеральную компанию в России заказывать бобров.
Приданников занимался настройкой сайта предприятия, в частности, автоматизацией раздела с информацией о закупках. В процессе он периодически загружал в систему проверочные документы со случайным содержимым. Обычно такая информация не уходит дальше тестового сервера, однако в тот раз он из-за ошибки оказался соединен с «боевым» сервером. Таким образом, проверочные документы автоматически опубликовались на официальном сайте компании.
«Тестировщики люди веселые, и обычно для тестов в систему вбивают самые неожиданные данные, потому что предполагают, что достоянием общественности они не станут. От «Иван Иванович Иванов» с адресом «Планета Шелезяка» до натуральной абракадабры. В моем случае была создана закупка бобра для нужд компании. В требованиях было указано, что он должен быть пушистый и усатый, а в качестве сопроводительной документации было прикреплено изображение мультяшного бобра из подарков во «ВКонтакте», — рассказал Приданников.
По его словам, он сразу понял, что данные пошли дальше тестового сервера, и «немедленно поднял тревогу». В итоге компания закупала бобра в течение десяти минут. Приданников признался, что запомнил этот случай на всю жизнь.
Гусеница-диверсант и случай в лифте
Следующими двумя историями с «Газетой.Ru» поделился руководитель группы разработки «Сетевые сервисы» в «Лаборатории Касперского» Александр Румянков.
Он рассказал про клиента, который неоднократно закупал у компании коммутаторы, — устройства, предназначенные для соединения нескольких узлов компьютерной сети (выглядят как бытовые Wi-Fi-роутеры). После одной из закупок клиент начал пристально следить за качеством корпусов получаемых устройств. Покупатель был с Крайнего Севера, и ему была необходима защита от перепадов температур. Как оказалось, на последнем клиент стал сильно настаивать после того, как словил необычный баг.
«В короткое лето корпус одного устройства, пережившего зиму, нагрелся на солнце — образовалось отверстие. В дыру заползла гусеница, которая вскоре умерла, замкнув на себе несколько дорожек платы. Целое почтовое отделение осталось без интернета. Вот такой классический баг привел к более тщательному тестированию устройств», — рассказал Румянков.
Из-за другой ошибки, продолжил вспоминать специалист, однажды один его коллега посреди ночи застрял в лифте большого офисного здания. Это произошло, когда тот занимался настройкой внутренней сети и IP-телефонии в этом помещении. Телефония нужна была в том числе для связи с диспетчерской службой, отвечающей за обслуживание офисных лифтов. После очередного этапа настройки сети и телефонии, а также ее проверки коллеге Румянкова показалось, что все работает хорошо, и он отправился курить.
«Специалист пошел покурить, а на обратном пути застрял в лифте. Время — два часа ночи, в бизнес-центре никого, вызов диспетчера не работает. Оказалось, был баг в прохождении трафика в только что настроенной системе, которую человек обнаружил только опытным путем», — вспоминает Румянков.
Коллеге пришлось просидеть в лифте достаточно долго. Его обнаружили и вызволили охранники во время очередного обхода помещений.
«Вывод: для физического и психического здоровья полезнее тщательно тестировать, а не курить», — иронизирует специалист.
Проще удалить, чем починить
Парой откровений с «Газетой.Ru» поделились и багхантеры, специалисты-фрилансеры по поиску критических ошибок и уязвимостей в уже запущенном ПО Юрий Ряднина и Анатолий Иванов. Так, Ряднина не вспомнил смешных багов, но рассказал о таких, которые буквально убивали целые проекты.
«Несколько найденных мной багов были исправлены «выпиливанием» сервиса. Это значит, что сервис просто закрывали, чтобы не исправлять баг. Разработчики, видимо посчитали, что проще закрыть веб-ресурс, чем исправлять уязвимость», — сказал он.
В свою очередь Иванов вспомнил историю про банальнейшую ошибку, которая чуть не обернулась большими проблемами.
«У одной компании на сервере, к которому привязан корпоративный сайт, незаметно закончилось место. Сайт перестал открываться и вместо контента начал выдавал ошибку. Из-за бага текст ошибки состоял из логинов и паролей от всех сервисов, которыми пользовались сотрудники», — рассказал багхантер.
По его словам, данная проблема выявилась в рамках контролируемого теста, поэтому беды не случилось.
«Олег, добрый день!»
Еще одна история из опыта специалиста «Лаборатории Касперского». В данном случае от руководителя центра разработки решений для управления корпоративной защитой Евгения Беренштейна. Однажды он получил жалобу от пользователя панели управления модулями информационной безопасности Kaspersky Security Center (KSC), которая заключалась в том, что все уведомления от KSC начинались с приветствия «Олег, добрый день!» Все бы ничего, но в компании, из которой поступила жалобы, не работали Олеги.
«Сбор данных с сервера и их анализ показали, что когда-то в этой компании работал сотрудник по имени Олег, который и создал шаблон письма с таким заголовком. Несмотря на то, что сам шаблон давным-давно был удален, он каким-то образом остался в базе данных и автоматически в каждом письме передавал «привет» от давно уволившегося системного администратора», — рассказал Беренштейн.
По его словам, у тестировщиков KSC потом ушло много времени и усилий, чтобы воспроизвести данный баг в контролируемых условиях. Нужно это было для того, чтобы разработчики смогли исправить ошибку.
Платное стало бесплатным
Генеральный директор компании «Бастион» (разработчик средств информационной безопасности, входит в группу «Гарда») Александр Ковалевский рассказал «Газете.Ru», как однажды к ним на проверку попала платная программа, которая из-за бага чуть не вышла в релиз бесплатно. Ошибку отловили в последний момент.
«После запуска утилиты появлялась стандартная форма с запросом лицензионного ключа. По замыслу разработчиков, она должна блокировать доступ к программе до тех пор, пока пользователь не приобретет лицензию. Однако в данном случае форма закрывалась при зажатии стандартного сочетания клавиш в Windows — Alt+F4 (она закрывает окна). Нажал — и программой можно пользоваться бесплатно», — сказал Ковалевский.
По его словам, разработчики просто забыли обработать этот сценарий в коде, поэтому и получился этот досадный баг.
Вместо тысячи слов
Генеральный директор компании Only (занимается контрактной разработкой ПО) Кирилл Владимиров в разговоре с «Газетой. Ru» вспомнил, как однажды в созданном ими чате из-за ошибки программиста все буквы в отправленных сообщениях превратились в эмодзи. Хотя это и не создало критических проблем, пользователи, по словам Владимирова, были, мягко говоря, удивлены.
«Был и страшный баг. Из-за него в сеть могли утечь данные всех пользователей одного из наших продуктов. Последствия для нашей компании могли быть катастрофическими как с юридической, так и с репутационной стороны», — вспоминает специалист.
По его словам, баг не дошел до релизной версии продукта. Тестировщики своевременно выявили проблему.