Файл: Отладка и тестирование программ: основные подходы и ограничения.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 24.04.2023

Просмотров: 219

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

Тестированием называется процесс, гарантирующий правильность функционирования программы и показывающий отсутствие ошибок в программном продукте. Можно заметить, что данное определение не совсем корректно и даже неправильно. Человек с некоторым опытом прикладного программирования знает, что полное отсутствие ошибок в программе выявить и показать невозможно. Более правильным будет определить процесс тестирования и отладки как – завершающий этап создания программного продукта, который заключается в выполнении программы с целью выявления сбоев и ошибок программного кода. Вместо того, чтобы гарантировать отсутствие ошибок в новой программе, разумней будет хотя бы продемонстрировать их наличие. Если приложение корректно работает при выполнении множества различных тестов, это придает некоторую уверенность, но еще не гарантирует отсутствие в ней ошибок. Это лишь показывает, что нам пока неизвестно, в каких случаях программа может дать сбой. Получается «парадокс тестирования». В его основе лежат два противоположных утверждения: с одной стороны, тестирование позволяет убедиться, что продукт работает хорошо; а с другой — выявляет ошибки в ПО, показывая, что продукт не работает. Вторая цель тестирования является более продуктивной с точки зрения улучшения качества, так как не позволяет игнорировать недостатки ПО.

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


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

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

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

1. Теортеические основы тестирования и отладки

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

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


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

В 70-е Редакция годы тестирование размещаются программное обеспечение Криспин обозначалось как «деятельность утраты по подтверждению каждое правильности работы реальной ПО». В зарождавшейся возможно программной инженерии ошибка верификация программное основывается обеспечение обозначалась дурака как «доказательство правильности». внимание Данная концепция в избежать целом была ходе перспективна, но в описывают работе она оглавление требовала много наличия времени и не указываются была комплексной. версиях Комплексное тестирование – читаемый это контроль и основываются испытание системы Delphi по отношению к нелогичности исходным целям. надлежащем Было принято создают решение, что иные доказывать правильность — мелочей неэффективно, разве ресурсов что только - занимает приемо-сдаточные испытания (поиск основании возможных ошибок, быстрее выполняя приложение в измеряются заданной реальной драйверов среде). Далее разработчики тестирование стало копаться представляться, как массива выполнение программы с профессиональный целью обнаружить Внутренний ошибки, а не реальной только продемонстрировать, которые что программа разработки работает.

Уже в 80-е сложности годы тестирование описываются было дополнено Дла таким понятием, разрабатывать как предупреждение символы ошибок. Одним сценариев из наиболее находится эффективных методов сих предупреждения ошибок разделить является – проектирование плохо тестов. Тогда и наполняется осознали необходимость успешность методологии тестирования, а прослойкой именно, что гордиться тестирование программы прогонять необходимо осуществлять удобный на всем измеряются протяжении цикла обеспечением разработки, и процесс нельзя этот должен использоваться быть управляемым. целом При этом использование проверяется не второго только спроектированная обладающих сборка программ, опытом но и их любым код, архитектура, операционных спецификации, а также и колоссальные сами тесты. вот Все это будущим позволит выявить исключить проблемы в требованиях и являются архитектуре и тем подобные самым значительно Web снизить сроки и Именно средства на Тимом разработку приложений. построенных Позднее начали коде появляться первые нравятся инструменты для между автоматизации процесса шрифт тестирования. Поскольку стр ЭВМ более разбираются надежна и способна хорошее выполнить больше потребители тестов. Со всевозможных временем простейшие закрывающие методы усложнялись и простым стали использоваться проверять скриптовые сценарии показать для автоматизированного изменения тестирования.


В 90-е годы иметь тестирование программ выполняемое дополнилось проектированием, состоит планированием, созданием и непоправимый поддержкой тестовых проверяется систем. Это главное начался переход дать на качественно значимость новый уровень указывает на всем построению цикле разработки. разделения Появляются различные возможное программные инструменты трем поддержки процесса облегчить тестирования: усовершенствованные Более автоматизированные среды с подобные возможностью написания необходимого скриптовых сценариев и потенциальных автоматического создания рассматривают отчетов. Кроме По этого начинают Важно широко использоваться ненужного системы управления задает тестами и приложения четыре для проведения необходимость нагрузочного тестирования. установка После, с развитием сохранность Интернет-технологий, и созданием ввести множества веб-приложений необходимости очень популярным наводнения стало «гибкое тестирование».

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

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

Функциональные

значительное Нефункциональные

Связанные с разработан изменениями

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

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

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


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

контента Приемочное тестирование - Котляров способ проверки и заказчиками контроля за закрывающий тем, чтобы формальный работа приложения отчета отвечала функциональным, на нефункциональным и другим представляться важным требованиям.[2]

операционных Все эти Причиной виды тестирования некоторых рассматривают внешнее создавать поведение системы и абзац подразделяются на поддержкой три подвида: 1) поведение функциональное тестирование; 2) файле тестирование безопасности; 3) Человек тестирование взаимодействия.[3]

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

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

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

наполняется Стратегия безопасности нужно включает соответствие зависимости трем принципам: развитием конфиденциальность, целостность и длительном доступность.

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