Назовите типы ошибок которые могут возникнуть в программе
Перейти к содержимому

Назовите типы ошибок которые могут возникнуть в программе

  • автор:

#4 – Что такое баги? Как отследить ошибку?

#4 – Что такое баги? Как отследить ошибку?

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

Видеоурок

Какие бывают ошибки?

Сразу проясним. В программировани ошибки называют багами. Одна ошибка – один баг.

При написании программ у вас могут возникнуть баги, что разделяются за следующими категориями:

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

Логические ошибки никак не отображаются при построении проекта. Они заключаются в логической промашке выполнения программы. Пример: программа должна вывести число 5, а выводит число 3. Программы выполнилась, но результат не тот что вы ожидали. Такая ошибка может получиться в случае если вы в коде прописали что-то не так. В нашем случае вместо числа 5 написали число 3, поэтому программа сработало, но при этом результат не тот что ожидали. К сожалению, такие ошибки нужно искать в ручном режиме, просматривая строчки написанной вами программы.

Арифметическая ошибка связана с вычислением. Самая частая ошибка такого плана – деление на ноль. Это сделать нельзя и программа выдаст вам ошибку, что квалифицируется как Арифметическая ошибка. Помимо деления на ноль могут быть и другие ошибки связанные с математикой.

Синтаксическая ошибка связана с неверным написанием синтаксисам языка. Каждый язык: C, Java, PHP и другие – имеют специфический синтаксис, в котором будет написан код. Если вы пропустили какой-то необходимый символ при создании какой-либо конструкции в коде, то будет вызвана такая ошибка. Это наиболее простой тип ошибки, так как обычно сама IDE подсказывает что у вас есть такая-то ошибка.

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

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

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

И наконец, ошибки взаимодействия. Они могут возникнуть в связи с несоответствием программного обеспечения с аппаратным интерфейсом. К примеру, вы делали игру под Андроид, а пробуете запустить под iOS.

Как найти ошибку?

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

Если будет ошибка при построении, то программа не запустится, а в самой IDE будет указан текст ошибки. Такой текст можно загуглить и после найти решение.

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

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

Задание к уроку

Вопросы на проверку

Ответьте на несколько вопросов:

  • расскажите какие ошибки бывают? Назовите хотя бы три вида ошибок.
  • как справиться с ошибкой?

Виды ошибок программного обеспечения. Баги

Виды ошибок программного обеспечения. Баги

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

Определение

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

Баги обнаруживаются чаще всего в момент отладки или бета-тестирования. Реже – после итогового релиза готовой программы. Вот несколько вариантов багов:

  1. Появляется сообщение об ошибке, но приложение продолжает функционировать.
  2. ПО вылетает или зависает. Никаких предупреждений или предпосылок этому не было. Процедура осуществляется неожиданно для пользователя. Возможен вариант, при котором контент перезапускается самостоятельно и непредсказуемо.
  3. Одно из событий, описанных ранее, сопровождается отправкой отчетов разработчикам.

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

История происхождения термина

Баг – слово, которое используется разработчиками в качестве сленга. Оно произошло от слова «bug» – «жук». Точно неизвестно, откуда в программировании и IT возник соответствующий термин. Существуют две теории:

  1. 9 сентября 1945 года ученые из Гарварда тестировали очередную вычислительную машину. Она называлась Mark II Aiken Relay Calculator. Устройство начало работать с ошибками. Когда его разобрали, то ученые заметили мотылька, застрявшего между реле. Тогда некая Грейс Хоппер назвала произошедший сбой упомянутым термином.
  2. Слово «баг» появилось задолго до появления Mark II. Термин использовался Томасом Эдисоном и указывал на мелкие недочеты и трудности. Во время Второй Мировой войны «bugs» называли проблемы с радарной электроникой.

Второй вариант кажется более реалистичным. Это факт, который подтвержден документально. Со временем научились различать различные типы багов в IT. Далее они будут рассмотрены более подробно.

Как классифицируют

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

  1. Серьезные неполадки. Это нарушения работоспособности приложения, которые могут приводить к непредвиденным крупным изменениям.
  2. Незначительные ошибки в программах. Чаще всего не оказывают серьезного воздействия на функциональность ПО.
  3. Showstopper. Критические проблемы в приложении или аппаратном обеспечении. Приводят к выходу программы из строя почти всегда. Для примера можно взять любое клиент-серверное приложение, в котором не получается авторизоваться через логин и пароль.

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

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

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

Виды

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

Разработчики выделяют следующие типы ошибок по уровню сложности:

  1. «Борбаг» – «стабильная» неполадка. Она легко обнаруживается на этапе разработки и компилирования. Иногда – во время тестирования наработкой исходной программы.
  2. «Гейзенбаг» – баги с поддержкой изменения свойств, включая зависимость от среды, в которой было запущено приложение. Сюда относят периодические неполадки в программах. Они могут исчезать на некоторое время, но через какой-то промежуток вновь дают о себе знать.
  3. «Мандельбаг» – непредвиденные ошибки. Обладают энтропийным поведением. Предсказать, к чему они приведут, практически невозможно.
  4. «Шрединбаг» – критические неполадки. Приводят к тому, что злоумышленники могут взломать программу. Данный тип ошибок обнаружить достаточно трудно, потому что они никак себя не проявляют.

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

Типы багов

Ошибки в программах бывают:

  • логическими;
  • синтаксическими;
  • взаимодействия;
  • компиляционные;
  • ресурсные;
  • арифметические;
  • среды выполнения.

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

Ошибки синтаксиса

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

Синтаксические ошибки – ошибки синтаксиса, правил языка. Вот пример в Паскале:

Виды ошибок программного обеспечения. Баги

Код написан неверно. Согласно действующим синтаксическим нормам, в Pascal в первой строчке нужно в конце поставить точку с запятой.

Логические

Тут стоит выделить обычные и арифметические типы. Вторые возникают, когда программе при работе необходимо вычислить много переменных, но на каком-то этапе расчетов возникают неполадки или нечто непредвиденное. Пример – получение в результатах «бесконечности».

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

Виды ошибок программного обеспечения. Баги

Выше – пример логической ошибки в программе. Тут:

  1. Происходит сравнение значения i с 15.
  2. На экран выводится сообщение, если I = 15.
  3. В заданном цикле i не будет равно 15. Связано это с диапазоном значений – от 1 до 10.

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

Время выполнения

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

Виды ошибок программного обеспечения. Баги

Самый распространенный пример в данной категории – это неожиданное деление на ноль. Предложенный фрагмент кода с точки зрения синтаксиса и логики написан грамотно. Но, если клиент наберет 0, произойдет сбой системы.

Компиляционный тип

Встречается при разработке на языках высокого уровня. Во время преобразований в машинный тип «что-то идет не так». Причиной служат синтаксические ошибки или сбои непосредственно в компиляторе.

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

Ресурсные

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

Исправить ситуацию помогают основательные работы над исходным кодом. А именно – полное переписывание программы или «проблемного» фрагмента.

Взаимодействие

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

Исключения и как избежать багов

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

  1. Программными. Они генерируются приложением или ОС.
  2. Аппаратными. Создаются процессором. Пример – обращение к невыделенной памяти.

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

P. S. Большой выбор курсов по тестированию есть и в Otus. Присутствуют варианты как для продвинутых, так и для начинающих пользователей.

Какими бывают ошибки в приложениях

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

Ошибка – это…

Программная ошибка (или баг) – это ошибка в программе или системе, из-за которой приложение выдает неожиданное поведение/результат. Большинство таких явлений возникают из-за того, что разработчики допустили недочеты в исходном коде. Некоторые баги (от английского bug – «жук») образовываются вследствие некорректной работы инструментов программиста.

Термин «программная ошибка» употребляется для того, чтобы обозначить неточности и сбои, возникающие на стадии работы программы. Но соответствующее понятие может использоваться и в широком смысле. Тогда оно указывает не только на непосредственные неполадки в работе утилиты, но и на критические ошибки. Последние приводят к аварийному завершению программы или к полной ее неработоспособности. Носят название «краш» (от английского crush).

Этимология

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

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

Соответствующее понятие появилось 9 сентября 1947 года. Его произнесла Грейс Хоппер. Она работала в Гарвардском университете и тестировала вычислительную машину Mark II. Устройство функционировало с ошибками. Когда его разобрали, ученые увидели застрявшего мотылька между реле машины. Из-за него и возникла неполадка. Тогда мотылька извлекли, устройство заработало, а этот случай стали считать «первым реальным случаем обнаружения жучка».

Несколько слов о классификации

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

В зависимости от этапа разработки программы выделяют:

  • синтаксические баги;
  • предупреждения (варнинги, warnings);
  • ошибки времени исполнения (run-time).

В программах поддерживается разделение багов на категории по важности:

  • критические;
  • косметические;
  • серьезные;
  • незначительные.

Неполадки в программах классифицируют по времени появления:

  • постоянно – при каждом запуске ПО;
  • иногда («плавающий» тип);
  • только на устройстве конкретного пользователя.

Неисправности также подразделяются по направлению и месту возникновения:

  • пользовательского интерфейса;
  • системы обработки;
  • связанные с граничными условиями;
  • вычислительные;
  • управления потоками;
  • обработки и интерпретации данных;
  • при состоянии гонки;
  • повышения нагрузки;
  • тестирования;
  • контроля версии и идентификаторов.

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

Классификация ошибок программного обеспечения может быть следующей:

  • логические;
  • синтаксические;
  • компиляционные;
  • арифметические;
  • ресурсные;
  • взаимодействия.

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

Разновидности

Существуют различные виды багов. А именно:

  1. Борбаг. Неполадка, которая всплывает стабильно. Обнаруживается достаточно легко. Исправить ее обычно не составляет никакого труда.
  2. Гейзенбаг. Сюда относят сбои, которые время от времени исчезают и изменяют свои свойства при попытке обнаружения.
  3. Мандельбаг. Неполадки хаотического типа. Их достаточно трудно предсказать, как и результат исполнения программы.
  4. Шредингбаг. Критический сбой. Может долгое время никак себя не проявлять. После того, как кто-нибудь на нее натыкается, программа полностью перестает функционировать.

Это основные категории программных ошибок, которые встречаются при разработке и непосредственном использовании ПО.

Наиболее распространенные баги

Баги программ бывают совершенно разными. Вероятность их появления можно привести к минимуму, если основательно и досконально подойти к вопросу формирования ТЗ для будущего ПО, а также к непосредственному написанию исходного кода. Далее приведены самые распространенные баги и их особенности.

Взаимодействие и ресурсы

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

Ресурсные сбои – это неполадки, связанные непосредственно с ресурсами, используемыми во время функционирования программы. Пример – переполнение буфера, когда разработчик не учел очистку памяти перед тем, как записывать новые электронные материалы. Устраняется сбой точно так же, как и в случае со взаимодействием – при помощи корректировки части кода.

Компиляционный тип

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

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

Синтаксис

Синтаксические сбои – это ошибки синтаксиса. То есть, непосредственных правил языка. Одной из самых распространенных причин появления таких неполадок является невнимательность разработчика. Чаще всего допускаются новичками при изучении того или иного языка.

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

Какими бывают ошибки в приложениях

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

Логический тип

Основной источник критических неполадок и появления неработающего кода. Иногда программа написано синтаксически верно, но она все равно не функционирует так, как было задумано. Логические сбои делятся на:

  1. Арифметические. Появляются вследствие вычислений большого количества переменных, но «что-то идет не так» на том или ином этапе расчетов. Пример – деление на ноль.
  2. Обычные. Все остальные логические ошибки программного обеспечения.

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

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

Какими бывают ошибки в приложениях

Выше – пример логической ошибки. Здесь она безобидна, потому что вывод сообщения при i = 15 не приводит ни к каким последствиям. Если же программа должна выдать при соответствующем условии сигнал тревоги или что-либо в этом роде, трудно представить масштабы произошедшего бедствия.

Время выполнения

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

Какими бывают ошибки в приложениях

Выше – пример ошибки времени выполнения. Речь идет о делении на ноль. С точки зрения логики и синтаксиса код написан грамотно. Но, если пользователь укажет 0 в качестве значения переменной, произойдет ошибка.

Какими бывают ошибки в приложениях

Именно так должен выглядеть код, чтобы он функционировал правильно.

P. S. Большой выбор курсов по тестированию есть и в Otus. Присутствуют варианты как для продвинутых, так и для начинающих пользователей.

Что такое баги, ворнинги и исключения в программировании

Разбираемся, какие бывают типы ошибок в программировании и как с ними справляться.

Евгений Кучерявый

Евгений Кучерявый

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

Многим известно слово баг (англ. bug — жук), которым называют ошибки в программах. Однако баг — это не совсем ошибка, а скорее неожиданный результат работы. Также есть и другие термины: ворнинг, исключение, утечка.

В этой статье мы на примере C++ разберём, что же значат все эти слова и как эти проблемы влияют на эффективность программы.

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

Словом «ошибка» (англ. error) можно описать любую проблему, но чаще всего под ним подразумевают синтаксическую ошибку некорректно написанный код, который даже не скомпилируется:

Также существуют ворнинги (англ. warning предупреждение). Они не являются ошибками, поэтому программа всё равно будет собрана. Вот пример:

Предупреждения не являются чем-то критичным, но могут иметь негативные последствия. Например, ваша программа будет использовать больше памяти, чем должна. Так как C++ нужен в том числе и для разработки высоконагруженных систем, этого допускать нельзя.

После восклицательного знака в треугольникеколичество предупреждений

Третий вид ошибок — ошибки сегментации (англ. segmentation fault, сокр. segfault, жарг. сегфолт). Они возникают, если программа пытается записать что-то в ячейку, недоступную для записи. Например:

Баги в программах

Мы выяснили, что баг — это не совсем ошибка, а скорее неожиданное поведение программы или результат такого поведения. Баги могут быть чем-то забавным или неприятным. Например, как в играх:

Вот аналогичный код на языке C#:

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

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

Тем не менее программа скомпилировалась. Если же такая ситуация возникнет во время вычислений, то мы можем не получить предупреждения.

Арифметическое переполнение стало причиной одной из самых дорогих аварий, произошедших из-за ошибки в коде. В 1996 году ракета-носитель «Ариан-5» взорвалась на 40-й секунде полёта — потери оценивают в 360–500 миллионов долларов.

Как избежать всех этих ошибок

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

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

Второй, более эффективный метод — unit-тесты. Они представляют из себя набор описанных ситуаций для каждого компонента программы с указанием ожидаемого поведения.

Например, у вас есть функция sum (int a, int b), которая возвращает сумму двух чисел. Вы можете написать unit-тесты, чтобы проверять следующие ситуации:

Входные данные Ожидаемый результат
5, 10 15
99, 99 198
8, -9 -1
-1, -1 -2
fff, 8 IllegalArgumentException

Если какой-то из этих тестов не пройден, вы узнаете об этом и сможете всё исправить. Это намного быстрее, чем проверять всё вручную.

Заключение

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

Читайте также:

  • Вместе стреляют себе в ноги: что полезного в чате разработчиков на C++ под Android
  • «Чтобы всё успевать, я практически не сплю»: как стать очень крутым мобильным разработчиком
  • Кирпичи для интернета: топ‑10 концепций современной веб‑архитектуры, которые вам точно нужно знать

Добавить комментарий

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