Термин ошибка в программе

Главным критерием программы должно быть ее качество, которое трактуется как отсутствие в ней недостатков, а также сбоев и явных ошибок. Недостатки программы зависят от субъективной оценкой ее качества потенциальным пользователем. При этом даже при ее наличии, выявленные на конечном этапе недостатки говорят о ее низком качестве. При таком подходе преодоление недостатков программы, особенно на заключительном этапе проектирования, может приводить к снижению надежности. Очевидно, что для разработки ответственного и безопасного программного обеспечения (ПО) такой подход не годится, однако проблемы наличия ошибок в спецификациях, субъективного оценивания пользователем качества программы существуют и не могут быть проигнорированы.

1.Определение понятия «ошибка в программе»
2. Классификация ошибок в программе
3. Классификация ошибок с точки зрения тестировщика
4. Классификация ошибок по степени их критичности
5. Классификация ошибок в зависимости от их места в жизненном цикле программного изделия

Как исправить ошибку «Microsoft Visual C++ Runtime Library»


6. Классификация программных ошибок (багов) с точки зрения субъективного восприятия их программистами

Содержимое работы — 1 файл

1.Определение понятия «ошибка в программе»

2. Классификация ошибок в программе

3. Классификация ошибок с точки зрения тестировщика

4. Классификация ошибок по степени их критичности

5. Классификация ошибок в зависимости от их места в жизненном цикле программного изделия

6. Классификация программных ошибок (багов) с точки зрения субъективного восприятия их программистами

В качестве введения рассмотрим определения понятия «ошибка». Начнем с наиболее общего трактования этого понятия применительно к некоторым техническим системам.

По определению стандарта ISO 9241-13 [1] ошибка это – несоответствие между целями пользователя и ответом системы.

Определение понятия «ошибка в программе»

В самом общем случае под ошибкой понимается какой-то сбой в программе на этапе ее выполнения.

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

Классификация ошибок по месту их возникновения

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

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

Ошибка Microsoft Visual C++ Runtime Library как исправить в Windows 10 8.1 и Windows 7

В краткой классификации выделяются следующие ошибки.

Ошибки пользовательского интерфейса.

— Взаимодействие программы с пользователем.

Ошибки, связанные с обработкой граничных условий.

Начальное и последующие состояния.

Ошибки управления потоком.

Ошибки передачи или интерпретации данных.

Ошибки пользовательского интерфейса.

Многие из них субъективны, т.к. часто они являются скорее неудобствами, чем «чистыми» логическими ошибками. Однако они могут провоцировать ошибки пользователя программы или же замедлять время его работы до неприемлемой величины. В результате чего мы будем иметь ошибки информационной системы (ИС) в целом.

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

«Если с помощью программы трудно, неудобно или невозможно выполнить что-то, чего может обоснованно ожидать от нее пользователь, значит, в ней имеется функциональная ошибка». Очень расплывчатое определение, хотя возможно, что и верное.

Избыточная функциональность. В программе слишком много функций, поэтому она сложна в изучении и эксплуатации. Не хватает концептуального единства. Второстепенные функции осложняют доступ к базовым возможностям. Программа часто теряет производительность. Документация на систему слишком обширна и ею невозможно пользоваться

Ложное впечатление о наборе функций продукта. Связано в первую очередь с ошибками или низким качеством документации. Сюда же можно отнести не документируемые функции программы и закладки. Очень важный пункт с точки зрения безопасного ПО: необходимо обеспечить строгое соответствие описания программы и ее функций.

Неадекватность реализации базовых функций. Функция реализована так, что не годится для эксплуатации. Сюда относятся вопросы недостаточной производительности.

Пропущенная функция. В программе не реализована функция, предусмотренная спецификацией.

Неверно работающая функция. Функция работает не так, как предусмотрено спецификацией.

Читайте также:
Программа для настройки укулеле для Андроид

Функция должна быть реализована пользователем. Пользователь должен сам что-то сделать, чтобы функция заработала. Для некоторых программ такой режим предусматривается и не может, на мой взгляд, считаться ошибкой.

Программа не делает того, что ожидает от нее пользователь. Причина таких ошибок кроется в недостатках спецификации программы. С этими ошибками нужно бороться на этапе проектирования ПО. Для ответственного ПО необходимо потребовать безошибочность спецификаций. Как этого добиться – сложный вопрос.

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

Взаимодействия программы и пользователя. Их появление возможно как в интерактивном, так и в пакетном режимах.

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

Неверная или смущающая пользователя информация. Даже незначительные ошибки подрывают доверие пользователя к программе. На основании этих ошибок, а также при недостаточно подробных сообщениях пользователь может сделать неверные выводы, которые могут иметь серьезные последствия для системы в целом. Сюда же относятся такие интерфейсные ошибки, как неудачные пиктограммы, названия кнопок и функций, несколько разных названий для одной и той же функции. Избыточность документации, попытка переложить на пользователя проблемы, которые должны решить программисты.

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

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

Ошибки отображения. Данные отражаются формально правильно, но в каком-то неестественном виде, два курсора (забыли стереть курсор в предыдущем фокусе ввода), курсор исчезает или отображается не в том месте, недоочищена часть экрана, не выделены активные элементы экрана, не снято выделение, отображена неверная или неполная строка, сообщение остается на экране слишком долго или исчезает слишком быстро.

Организация экрана. Плохая структурированность информации на экране, неэстетическое оформление экрана, неудачная организация меню, ошибки организации диалоговых окон, труднонаходимые конструкции, неуместное использование мигания, пестрые цветовые сочетания, использование цветов в качестве смыслового интерфейса, невозможность избавиться от избыточной информации на экране – все это «ошибки интерфейса».

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

Потери времени. Имеются в виду потери времени из-за неудачного интерфейса программы.

Меню. Меню должны быть простыми и логичными, поэтому все недостатки меню можно считать ошибками программы или же потенциальным источником ошибок при эксплуатации программного изделия.

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

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

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

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

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

Производительность. Авторы отмечают существование нескольких трактовок этого понятия: 1) скорость программы, 2) производительность работы пользователя, 3) субъективное восприятие пользователем характеристик производительности программы.

Предотвращение ошибок. Программа должна быть защищена от недопустимого ввода и неправильной эксплуатации. Должна быть предусмотрена проверка вводимых данных. Можно использовать методы аппаратного обнаружения и исправления ошибок.

— неверное начальное состояние;

— неадекватная проверка пользовательского ввода;

— неадекватная защита от испорченных данных;

— не выполнена проверка переданных параметров;

— недостаточная защита от ошибок операционной системы;

— не выполняется проверка версии;

Читайте также:
Возможно ли редактировать формулы в программе excel

— недостаточная защита от неправильного использования.

Выявление ошибок. Программа должна контролировать правильность данных.

— восстановление после ошибок;

— автоматическое исправление ошибок;

— отсутствие сообщения об ошибке;

— не установлен флаг ошибки;

Ошибки, связанные с граничными условиями.

Выделяют следующие типы таких ошибок:

— неправильная обработка граничного значения;

— неверное граничное условие;

— неправильная обработка данных, не соответствующих граничным условиям.

Выделяются следующие подпункты:

— ограничения на равенство;

— ограничения объема памяти;

— ограничения, связанные со структурой данных;

-ограничения, связанные с аппаратным обеспечением.

Неправильно выполняются арифметические операции (как правило – это ошибки кодирования);

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

неверно расставленные скобки;

неправильный порядок операторов;

неверно работает базовая функция;

переполнение и потеря значащих разрядов;

ошибки отсечения и округления;

путаница с представлением данных;

неправильное преобразование данных из одного формата в другой;

Начальное и последующие состояния (Ошибки инициализации).

Представляется не очень обоснованным их выделение в самостоятельный раздел, хотя они важны.

не присвоены начальные значения;

Источник: www.turboreferat.ru

ОШИБКА В ПРОГРАММЕ

Проблема, возникшая в ходе процесса. Термин заимствован из информатики. См. отлаживание.

Найдено научных статей по теме — 3

Трудности и ошибки реализации программы управления качеством в здравоохранении

Вялков А.И., Воробьев П.А.

Ошибка воспроизводимости аппаратно-программного комплекса Lunar Prodigy (version Encore) (Prodigy) п

Аврунин А. С., Тихилов Р. М., Шубняков И. И., Карагодина М. П., Плиев Д. Г., Товпич И. Д.

Изучена роль ошибки воспроизводимости аппаратно-программного комплекса Lunar Prodigy (version Encore) (Prodigy) при решении задач диагностика остеопороза (скрининг) с оценкой проекционной минеральной плотности костной ткани (ПМПКТ

Системные ошибки школьного обучения при освоении программ высшей математики на младших курсах технич

Власова Е.А.

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

Источник: vocabulary.ru

Разница между дефектом и ошибкой в ​​тестировании?

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

Ответ зависит от цели, почему вы спрашиваете.

Посмотрите этимологию слова «дефект». Де = нет, ун. Facere = делать. Следовательно, не делает (как ожидалось), не выполняет, сломан, капут. Принимая во внимание, что ошибка означает «что-то в работах, препятствующих производительности».

В конце дня вам нужно будет что-то исправить, так что все это академично. Я проголосовал, чтобы закрыть, у вас нет ошибок, чтобы исправить ?!

  • Ошибка является результатом ошибки кодирования
  • Дефект — это отклонение от требований

То есть: дефект не обязательно означает, что в коде есть ошибка , это может быть функция, которая не была реализована, но определена в требованиях программного обеспечения.

Не все программные дефекты вызваны ошибками кодирования. Один из распространенных источников дорогостоящих дефектов вызван пробелами в требованиях, например непризнанными требованиями, которые приводят к ошибкам упущения разработчиком программы. [14] Распространенным источником пробелов в требованиях являются нефункциональные требования, такие как тестируемость, масштабируемость, ремонтопригодность, удобство использования, производительность и безопасность.

Оба — «отклонения от требований», поскольку я вижу это.

Дефект не должен быть ошибкой. Кроме того, ошибка не должна означать, что требование не было выполнено, и, следовательно, не является «отклонением от требования»

Цитирую Илин Бернштейн из книги « Практическое тестирование программного обеспечения» (рекомендуется), которая разделяет определение из «Коллекции стандартов IEEE для разработки программного обеспечения» (1994) и «Стандартного глоссария IEEE по терминологии разработки программного обеспечения» (стандарт 610.12, 1990):

ошибка

Ошибка — это ошибка, неправильное представление или недоразумение со стороны разработчика программного обеспечения

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

Неисправности (Дефекты)

Ошибка (дефект) вводится в программное обеспечение в результате ошибки. Это аномалия в программном обеспечении, которая может привести к его неправильному поведению, а не в соответствии с его спецификацией.

Ошибки или дефекты иногда называют «ошибками». Использование последнего термина упрощает влияние ошибок на качество программного обеспечения.

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

Отказы

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

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

В некоторых случаях определенный тип неправильного поведения указывает на наличие определенного типа неисправности. Мы можем сказать, что тип неправильного поведения является признаком ошибки. Опытный разработчик / тестировщик будет хранить в памяти базу знаний о неисправностях / симптомах / случаях неисправности (модели неисправностей, как описано в Главе 3). Неправильное поведение может включать в себя создание неправильных значений для выходных переменных, неправильный ответ со стороны устройства или неправильное изображение на экране. Во время разработки сбои обычно наблюдаются тестерами, а сбои обнаруживаются и устраняются разработчиками.

Вы можете прочитать полную главу в Google Книгах здесь .

Там несколько разные термины, связанные с ошибками программного обеспечения. Выдержка из курса я взял:

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

Согласно этому, нет никакой разницы между дефектом и ошибкой. Тем не менее, некоторые люди утверждают, что ошибка является ошибкой, которая обнаруживается до выпуска программного обеспечения, в то время как дефект обнаруживается клиентом.

Я не мог удержаться от публикации знаменитого «первого фактического случая обнаружения ошибки».

альтернативный текст

Наконец, кто — то прочитал: testingstandards.co.uk/bs_7925-1_online.htm
Это не то, откуда я это взял, но у них может быть общий источник (или этот может быть источником).

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

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

Термин «ошибка» застрял как термин, который означает, что что-то работает не так, как ожидалось.

БАГ должен рассматриваться как жаргонный термин, означающий дефект.

Дефект — это технически правильный термин, означающий, что вещь не делает то, что должна.

Везде, где это возможно, использование DEFECT вместо BUG фактически означает, что мы признаем наши неудачи (наши дефекты, наше непонимание требований пользователей или вещи, которые мы упустили из виду при реализации) вместо того, чтобы называть это «более тривиально звучащей» ошибкой ».

Старайтесь не использовать термин «ошибка». Это глупо, неактуально, исторически и банально.

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

Имея дело с вашими клиентами, вы можете назвать эти вещи ошибками или дефектами. Жуки это жаргон. Дефекты — это признание вне жаргона, что это не так, как должно быть. «Дефекты» — это термин, который поощряет и поддерживает ясную связь — как за пределами братства программистов, так и внутри. (Я также не согласен с тем, что между ошибкой и дефектом есть разница.)

Дефекты это правильный термин. Сколько программ выпущено с ошибками, и мы все это принимаем? Но сколько программ выпущено с дефектами? Мы не приняли бы это, потому что термин подразумевает большую серьезность, и мы знаем, что это наша вина за ошибку, а не за ошибку, в которой мы можем винить погоду или время суток.

Из стандартного глоссария IEEE терминологии разработки программного обеспечения, который цитируется в Своде знаний по разработке программного обеспечения KA для тестирования программного обеспечения и качества программного обеспечения:

ошибка. Смотрите: ошибка; неисправность.

ошибка. (1) Разница между вычисленным, наблюдаемым или измеренным значением или условием и истинным, заданным или теоретически правильным значением или условием. Например, разница в 30 метров между вычисленным результатом и правильным результатом. (2) Неправильный шаг, процесс или определение данных. Например, неверная инструкция в компьютерной программе. (3) Неверный результат.

Например, вычисленный результат 12, когда правильный результат равен 10. (4) Человеческое действие, которое дает неправильный результат. Например, неправильное действие со стороны программиста или оператора. Примечание. Хотя обычно используются все четыре определения, одно различие присваивает определение 1 слову «ошибка», определение 2 — слову «ошибка», определение 3 — слову «ошибка», а определение 4 — слову «ошибка». Смотрите a2so: динамическая ошибка; фатальная ошибка; местная ошибка; семантическая ошибка; синтаксическая ошибка; статическая ошибка; временная ошибка.

отказ. Неспособность системы или компонента выполнять свои требуемые функции в рамках указанных требований к производительности. Примечание. Дисциплина отказоустойчивости различает действия человека (ошибка), их проявление (аппаратная или программная ошибка), результат ошибки (сбой) и величину, на которую результат является неправильным (ошибка). Смотрите также: сбой; зависимый сбой; исключение; режим отказа; интенсивность отказов; тяжелый сбой; начинающийся отказ; независимый отказ; случайный сбой; мягкий сбой; застрял сбой.

неисправность. (1) дефект в аппаратном устройстве или компоненте; например, короткое замыкание или обрыв провода. (2) Неправильный шаг, процесс или определение данных в компьютерной программе. Примечание: это определение используется в основном дисциплиной отказоустойчивости. В общепринятых терминах термины «ошибка» и «ошибка» используются для выражения этого значения. Смотрите также: ошибка, чувствительная к данным; программно-чувствительный сбой; эквивалентные неисправности; маскировка неисправностей; прерывистая ошибка

Я думаю, что определение отказа является наиболее актуальным. Все начинается с ошибки, будь то требования, дизайн, реализация или контрольный пример / процедура. Если эта ошибка проявляется в программном обеспечении, она становится ошибкой. Сбой вызван наличием одного или нескольких сбоев в программном обеспечении.

Однако я не заинтересован в формальном определении ошибки. Я очень предпочитаю определение, предоставленное dukeofgaming в его ответе , однако в этом ответе приводится стандартное определение ошибки IEEE.

Источник: qastack.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru