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
умова виконуватиметься. Потрібно додати порівняння ===
.
Як ми вже писали вище, тести поділяються на мануальні та автоматизовані.
Мануальне тестування — це тестування вручну, коли тестувальник перевіряє помилки під час виконання програми, сам вигадуючи тести чи користуючись відповідною документацією.
Іноді таких фахівців називають «манкі-тестерами»
Мануальний тестувальник повинен мати посидючість, уважність, логіку і любов до досліджень, інакше йому не вдасться знайти всі помилки.
Тестувальник-автоматизатор зазвичай сам знає одну або кілька мов програмування та покриває код автотестами, які допомагають виявити баги набагато швидше.
Автотестер повинен вміти:
Щоб пізнати дзен та навчитися ефективно взаємодіяти з багами, потрібно вміти убезпечити свій код від зовнішнього впливу:
Копіювання чужого коду може скоротити час розробки вдвічі та вчетверо збільшити час фіксингу багів. В інтернеті можна знайти багато готових рішень. Що ж, будьте уважні до деталей!
Існують дві основні класифікації багів: за ступенем критичності та пріоритетності.
За ступенем критичності можна назвати такі баги:
За пріоритетністю виділяють баги:
Чи можна уникнути появи багів? Це практично неможливо. Будь-яка помилка — це досвід. Головне своєчасно її помітити та виправити.
Уважність до деталей, добре знання мови програмування та написання тестів — речі, які суттєво полегшують роботу.
Уникнути появи багів не вдасться — розробник не може все передбачити. Для цього в командах завжди є тестувальники, які працюють з програмістами у щільній зв’язці.
Щоб спростити собі роботу і менше переписувати код після рев’ю тестувальників, багато розробників відразу покривають код автотестами.
Резиденти Дія.City сплатили до бюджету понад 8 млрд грн податків в І кварталі 2025 року.…
У Китаї закликають офісних працівників не працювати надто багато — держава сподівається, що вільний час…
Експерти звертають увагу на тривожну тенденцію: люди все частіше використовують ChatGPT, щоб визначити місцезнаходження, зображене…
Компанія JetBrains випустила нову версію мультимовного середовища розробки IntelliJ IDEA 2025.1. Оновлена IDE отримала численні…
Платформа обміну миттєвими повідомленнями Discord впроваджує функцію перевірки віку за допомогою сканування обличчя. Зараз вона…
Wikipedia намагається захистити себе від тисяч різноманітних ботів-скрейперів, які сканують дані цієї платформи для навчання…