Red flying lady bug insect with hearts. Cute cartoon character. Happy Valentines Day. I Love you text. Greeting card. White background. Flat design. Vector illustration
Содержание
В современном мире nothing is perfect — ничто не безупречно. Мелочь, влияющая на фидбек от пользователя или существенная проблема, замедляющая разработку?
Да, сегодня мы поговорим о багах. Что это такое и почему его обязательно нужно фиксить? Будем разбираться.
С технической точки зрения баг — это ошибка, возникающая при разработке программного обеспечения (ПО).
Баг — от английского bug, то есть «жук». Осенью 1947 года инженеры Гарвардского университета никак не могли понять, в чем причина поломки ЭВМ Mark II, пока не обнаружили застрявшего между контактами реле мотылька. Один из них записал в документации это как «Первый случай обнаружения бага». Таким образом с тех пор ошибки выполения ПО стали называть багами.
Как же с ними бороться? Во-первых, воспроизведите баг и убедитесь в том, что вам понятно, в каком случае он возникает. После этого можно начинать работу с кодом.
В этом процессе кроется две задачи: самое главное — устранить возникающую проблему, но и не допустить появления новых. Что ж, главное правило врача — не навредить. Это подходит и для мира разработки.
Чтобы проверить, что баг исправлен и ничего нового в процессе не сломалось, нужно будет провести автоматические или мануальные тесты.
Алгоритм исправления бага выглядит следующим образом:
С учетом статистики возникновение ошибок связано с написанием или изменением кода. И чаще всего это ответственность разработчика.
К вышеперечисленным причинам добавим следующие:
Давайте немного подробнее поговорим о каждой из причин, приведенных выше.
Ошибки — неотъемлемая часть жизни. Иногда вдохновение приходит так быстро, что записать все правильно мы просто не успеваем.
Пример: вся команда не могла понять, почему не работает текст, проверяли в поле значение Сontact. При проверке кода теста (с включенным spellchecker) обнаружили, что буква «С» написана кириллицей.
В примере ниже в missKey пропущена буква «s»:
В таких случаях на помощь придут:
Это случается, когда разработчику нужно взаимодействовать с кодом коллег или кодом, который был написан давно.
Если возможности связаться с автором кода нет, можно задействовать тесты. Также брейншторм с менеджером проекта или QA — хорошая альтернатива.
Язык программирования очень быстро меняются. Нужно следить за обновлениями и быть внимательным к деталям.
К примеру, для входного параметра value = 10 условие будет выполняться. Нужно добавить сравнение ===.
Как мы уже писали выше, тесты делятся на мануальные и автоматизированные.
Мануальное тестирование — это тестирование вручную, когда тестировщик проверяет ошибки при выполнении программы, сам придумывая тесты или пользуясь соответствующей документацией.
Иногда таких специалистов называют «манки-тестерами»
Мануальный тестировщик должен обладать усидчивостью, внимательностью, логикой и любовью к исследованиям, иначе ему не удастся найти все ошибки.
Тестировщик-автоматизатор обычно сам знает один или несколько языков программирования и покрывает код автотестами, которые помогают обнаружить баги гораздо быстрее.
Автотестер должен уметь:
Чтобы познать дзен и научиться эффективно взаимодействовать с багами, нужно уметь обезопасить свой код от внешнего воздействия:
Копирование чужого кода может сократить время разработки вдвое и в четыре раза увеличить время фиксинга багов. В интернете можно найти много готовых решений. Что ж, будьте внимательны к деталям!
Существуют две главные классификации багов: по степени критичности и приоритетности.
По степени критичности можно выделить следующие баги:
По приоритетности выделяют баги:
Можно ли избежать появления багов? Это практически невозможно. Любая ошибка — это опыт. Главное своевременно ее заметить и исправить.
Внимательность к деталям, хорошее знание языка программирования и написание тестов — вещи, существенно облегчающие работу.
Избежать появления багов не получится — разработчик не в состоянии все предусмотреть. Для этого в командах всегда есть тестировщики, которые работают с программистами в плотной связке.
Чтобы упростить себе работу и меньше переписывать код после ревью тестировщиков, многие разработчики сразу покрывают код автотестами.
Visual Code от Microsoft, вероятно, один из самых популярных редакторов кода. Разработчики любят его за…
Япония сама по себе — сплошной киберпанк. Это заметил даже культовый писатель жанра Уильям Гибсон,…
Сам по себе телефон Айфон 17 Про Макс – отличный подарок. У него красивая заводская…
На фоне роста спроса на ликвидность в бычьем рынке 2025 года, криптозаймы снова выходят на…
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…