Чим відрізняється дефект від помилки?
Чим відрізняється дефект від помилки?
Відповіді:
Помилка - результат помилки кодування
Дефект - це відхилення від вимог
Тобто: Дефект не обов'язково означає, що в коді є помилка , це може бути функція, яка не була реалізована, але визначена в вимогах програмного забезпечення.
На сторінці Вікіпедії про тестування програмного забезпечення :
Не всі програмні дефекти спричинені помилками кодування. Одне розповсюджене джерело дорогих дефектів викликається прогалинами вимог, наприклад, невизнаними вимогами, які призводять до помилок упущення дизайнера програми. [14] Поширеним джерелом прогалин вимог є такі нефункціональні вимоги, як перевірка, масштабованість, ремонтопридатність, зручність використання, продуктивність та безпека.
Цитуючи Ілен Бернштейн з книги « Практичне тестування програмного забезпечення» (рекомендується), яка розділяє визначення у «Колекції стандартів IEEE для інженерії програмного забезпечення» (1994) та «Стандартному словнику IEEE для термінології інженерії програмного забезпечення» (стандарт 610.12, 1990):
Помилка - це помилка, неправильне уявлення або непорозуміння з боку розробника програмного забезпечення
У категорію розробників ми включаємо програмних інженерів, програмістів, аналітиків та тестерів. Наприклад, розробник може неправильно зрозуміти позначення дизайну, або програміст може неправильно ввести ім'я змінної.
Помилка (дефект) вводиться в програмне забезпечення внаслідок помилки. Саме аномалія в програмному забезпеченні може спричинити його неправильну поведінку, а не відповідно до його специфікацій.
Помилки або дефекти іноді називають «помилками». Використання останнього терміна породжує вплив на якість програмного забезпечення. Використання терміна "дефект" також пов'язане з програмними артефактами, такими як вимоги та проектні документи. Дефекти, що виникають у цих артефактах, також викликані помилками і зазвичай виявляються в процесі огляду.
Невдача - це нездатність програмної системи або компонента виконувати необхідні функції в межах визначених вимог до продуктивності.
Під час виконання програмного компонента чи системи тестер, розробник чи користувач зауважує, що він не дає очікуваних результатів. У деяких випадках певний тип неправильної поведінки вказує на певний тип несправності. Можна сказати, що тип неправильної поведінки є симптомом вини. Досвідчений розробник / тестер матиме базу знань про випадки несправності / симптомів / збоїв (моделі несправностей, як описано в главі 3), що зберігаються в пам'яті. Неправильна поведінка може включати створення неправильних значень для вихідних змінних, неправильну відповідь з боку пристрою або неправильне зображення на екрані. Під час розробки тестери зазвичай спостерігають збої, а розробники виявляють і усувають несправності.
Ви можете прочитати повну главу в Книгах Google тут .
Існують деякі різні терміни, пов'язані з програмними помилками. Витяг з курсу, який я взяв:
Помилка : дія або упущення людини, що призводить до помилки.
Помилка : Помилка - це програмний дефект (неправильний крок, процес чи визначення даних), який спричиняє збій.
Помилка : Те саме, що помилка.
Збій : неможливість програмного забезпечення виконувати необхідні функції в межах визначених вимог до продуктивності.
Відповідно до цього немає різниці між дефектом та помилкою. Однак деякі люди стверджують, що помилка - це помилка, яка виявляється перед випуском програмного забезпечення, тоді як дефект - це виявлений клієнтом.
Я не міг протистояти опублікуванню відомого "першого фактичного випадку виявлення помилки".
О Боже.
Ще в старі часи - несправна робота комп’ютера була викликана всілякими речами - в тому числі щурами, що жували електропроводку, і справжніми помилками (тріщинами), що потрапляли в твори.
Термін BUG затримався як термін, який означає, що щось працює не так, як очікувалося.
БУГ слід розглядати як термін жаргону, що означає дефект.
Дефект - це технічно правильний термін, що означає, що річ робить не так, як слід.
Де тільки можливо, використання DEFECT замість BUG насправді містить у собі відмітку про те, що ми визнаємо наші відмови (наші дефекти, наше нерозуміння вимог користувачів чи речі, які ми не помітили при впровадженні) замість того, щоб одягати це як більш тривіальне звучання "помилка ".
Використовуйте DEFECT.
Намагайтеся не використовувати термін BUG. Дурне, неактуальне, історичне та тривіальне.
З Стандартного словника IEEE з термінології інженерії програмного забезпечення, який цитується в Інженерії програмного забезпечення KA для тестування програмного забезпечення та якості програмного забезпечення:
помилка. Див .: помилка; вина.
помилка. (1) Різниця між обчисленою, спостережуваною або вимірюваною величиною або умовою та справжнім, заданим або теоретично правильним значенням або умовою. Наприклад, різниця в 30 метрів між обчисленим результатом і правильним результатом. (2) Невірний крок, процес або визначення даних. Наприклад, неправильна інструкція в комп'ютерній програмі. (3) Неправильний результат. Наприклад, обчислений результат 12, коли правильний результат дорівнює 10. (4) Дія людини, яка дає неправильний результат. Наприклад, неправильна дія програміста чи оператора. Примітка: Хоча всі чотири визначення зазвичай використовуються, одне розрізнення присвоює визначення 1 слову "помилка", визначення 2 - слову "помилка", визначення 3 - слову "помилка", а визначення 4 - слову "помилка". Дивіться a2so: динамічна помилка; фатальна помилка; корінна помилка; смислова помилка; синтаксична помилка; статична помилка; минуща помилка.
невдача. Нездатність системи або компонента виконувати необхідні функції в межах визначених вимог до продуктивності. Примітка. Дисципліна відмовостійкості розрізняє дію людини (помилка), її прояв (помилка апаратного чи програмного забезпечення), результат несправності (збій) та величину, на яку результат невірний (помилка). Дивіться також: крах; залежний збій; виняток; режим відмови; рівень відмов; важкий збій; початкова недостатність; самостійний збій; випадковий збій; м'який збій; застрягла невдача.
вина. (1) Дефект апаратного пристрою чи компонента; наприклад, коротке замикання або розірваний провід. (2) Неправильне визначення кроку, процесу чи визначення даних у комп'ютерній програмі. Примітка. Це визначення використовується в основному дисципліною відмовок. Зазвичай, для вираження цього значення використовуються терміни "помилка" та "помилка". Див. Також: чутливість до даних; програмно-чутливий несправність; еквівалентні несправності; маскування несправностей; переривчаста несправність.
Я думаю, що визначення невдачі є найбільш актуальним. Все починається з помилки, будь то в вимогах, дизайні, реалізації або тестовому випадку / процедурі. Якщо ця помилка виявляється в програмному забезпеченні, вона стає помилкою. Поломка викликана наявністю однієї або декількох несправностей у програмному забезпеченні.
Я не хочу захоплюватися формальним визначенням помилки. Я дуже віддаю перевагу визначенню, яке надає у своїй відповіді герцогство з обмеженнями , проте одне у цій відповіді - стандартне визначення помилки IEEE.
Відповідь Ден МакГрат прибив його правильно.
Можливо, приклад зробить це зрозумілішим.
Приклад: Клієнт хотів, щоб веб-форма змогла зберегти і закрити вікно.
Сценарій №1: у веб-формі є кнопка збереження та ще одна кнопка закриття. Результат: Дефект, оскільки клієнт хотів зберегти і закрити вікно кнопкою 1. Розробник неправильно зрозумів і створив окремо. Оскільки обидві кнопки виконали свої вимоги, це не помилка, а дефект, оскільки він не відповідав вимогам клієнта.
Сценарій №2: у веб-формі є кнопка збереження та закриття, але зберігається лише, але не закривається. Результат: помилка. Тому що кнопка не працює так, як потрібно / очікувалося. Розробник знає, що, мабуть, це дасть результат, але в кінцевому підсумку він цього не зробив. (можливо, помилка кодування)
Не впевнений, чи це робить це зрозумілішим.
p / s: з точки зору розробника (я був колись), і дефекти, і помилки так само важливі. Ми все-таки це виправимо.
Ми навіть стикалися з дивними аномаліями, які ми класифікували під помилками і постійно намагаємося з’ясувати, в чому причина та як її усунути. Визначення помилок не робить його банальним порівняно з дефектами.
Різниця полягає в тому, що термін «жучок» звучить магічно. Наче програма може випадково мати в ній помилки після того, як ви закінчите програмування. Якщо у нього випадкові помилки, то це означає, що ви не відповідали специфікаціям і ваша програма помиляється.
Дефект означає помилку, коли програма не відповідає специфікаціям. Це більш серйозно, і в основному це говорить, будь-яка помилка - це величезна проблема з програмою, а це означає, що програма не підходить для випуску.
Різниця полягає у ставленні програмістів, які використовують терміни. Є мільйони програм, які випускаються з помилками, і люди з цим добре, оскільки вони чомусь приймають, що помилка є магічною і випадковою, і що кожна програма містить принаймні одну помилку. Однак програміст, який використовує термін "дефект", може стати незручним при випуску програми з дефектом, оскільки термін передбачає більшу суворість.
Наслідки віддати перевагу одному терміну над іншим впливають на нас щодня.
Відповідно до залежності: основні поняття та термінологія :
Система збій відбувається , коли доставлена служба відхиляється від виконання системної функції, причому останнього , що система призначена для. Помилка в тому , що частина стану системи , яка несе відповідальність привести до подальшої невдачі: помилка впливає на обслуговування є показником того, що відбувається збій або стався. Висунута або гіпотезована причина помилки - несправність .
Я розумію дефект лише як іншу назву з вини.
Помилка заплутана і може представляти помилку чи збій залежно від контексту.
Зауважте, що специфікація не згадується: навіть специфікація може бути несправною.
Ось я зробив раніше для свого роботодавця Q-LEAP на основі словника ISTQB, і я також перевірив лексику IEEE. Насолоджуйтесь.
Помилка і дефект? Те саме, хоча можна говорити про це нескінченно. У нас є справді інші речі, про які потрібно турбуватися, життя вже досить складне тощо.
Приклад того, як цей термін використовується в дикій природі, з розділу "Як Google Tests Software" на стор. 113. Відкрийте статтю "Програмне забезпечення IEEE", і вона використовується так само. Дійсно, в реальному житті рідко зустрічається слово «дефект».
Життя жучка
Звіти про помилки та помилки - це єдиний артефакт, який розуміє кожен тестер. Знаходження помилок, виправлення помилок, виправлення помилок та регресування помилок - це серцебиття та робочий процес щодо якості програмного забезпечення. Це та частина тестування, яка є найбільш звичайною в Google, але все ж є кілька цікавих відхилень від норми. У цьому розділі ми ігноруємо помилки, подані для відстеження робочих елементів, і використовуємо термін для ідентифікації фактичного зламаного коду. Таким чином, помилки часто представляють погодинний і щоденний робочий процес для інженерних команд.
Народжується клоп. Усі помилки знаходять і надсилають у Google усі. Менеджери продуктів подають помилки, коли вони виявляють проблеми в ранній збірці, які відрізняються від їх специфікацій / думок. Розробники виправляють помилки, коли вони розуміють, що випадково перевірили проблему, або знаходять проблему десь в кодовій базі або під час випробування продуктів Google. Помилки також надходять з поля, з тестових джерел тестування, тестування зовнішніх постачальників, і подаються менеджерами спільноти, які контролюють специфічні для Google групи Google. У багатьох внутрішніх версіях додатків також є швидкі способи подання помилок, як-от Google. І іноді програмні програми створюють помилки через API.
Поза специфічною помилкою / завданням / квитком / дефектом / проблемою / будь-яким екземпляром системи відстеження ці слова не мають точного значення, тому обговорювати різницю між ними безглуздо. Коли ви регулюєте свій робочий процес, вам слід узгодити термінологію та надати описи.
У моєму сьогоднішньому середовищі «дефектом» є будь-який предмет у Джирі. Схоже, Джира сам використовує термін "питання". Ми, можливо, успадкували це від якоїсь попередньої системи. "Помилка" - це тип проблеми, коли щось не працює, як очікувалося, і описано в документації. "Запит на функцію", коли щось працює так, як очікувалося, але бажано домогтися (це може бути очевидним і важливим, але якщо описано поточну поведінку, це все-таки запит на функцію). Існує більше типів, але ці 2 використовуються людьми, які не знаходяться в команді розробників, щоб щось запитати.
Якщо ви підбираєте назви для типів видань, "помилка" та "дефект" звучать схоже на мене. Різниця між ними стилістична. Оскільки англійська мова не є моєю рідною мовою, я не можу насправді багато чого бачити і не впевнений, чи правильно те, що я бачу.