Актуальность. На сегодняшний день компьютеризации подверглись почти все области человеческой жизни, вопрос о важности качества программного обеспечения(ПО) становится особенно актуальным, ведь теперь речь идет не только об удобстве и комфортности использования программы, сегодня ПО выполняет такие важные функции как управление оборудованием в больницах, диспетчерскими системами в аэропортах, атомными реакторами, космическими кораблями и т.д. Признав тот факт, что высокое качество разрабатываемого ПО - это один из способов «обогнать» конкурентов, почти все ИТ-компании во всём мире выделяют всё больше средств для обеспечения качества своих продуктов, создавая целые группы и отделы, занимающиеся тестированием, или передавая тестирование своих продуктов сторонним организациям.
Быстро растущая конкуренция между разработчиками программных продуктов становится все более жесткой и напряженной. От этого разработчики вынуждены, как можно скорее, выпускать и поставлять на рынок свои продукты, пока этого не сделали их конкуренты. Поэтому очень важно находить дефекты на самих ранних этапах создания ПО. Во-первых, это позволяет экономить существенное количество времени.Во-вторых, это является экономически выгодным как для заказчиков,так и для разработчиков. В-третьих, оно предотвращает проникновение дефекта на дальнейшие этапы, где их устранение займет намного больше усилий и, конечно же, времени.
Как правило, на качество разработки влияетнедостаточная обработка исключительных ситуаций, что встречается довольно часто.
Целью работы является изучение эффективных способов раннего обнаружения дефектов, используемых при этом методов и технологий, а также проведение исследования ошибок в проектах студентов, для их избежания в дальнейшем.
Для достижения поставленных целей необходимо решить следующие задачи:
- Изучить литературу, в которой отражена проблема исследования.
- Ознакомиться с существующими способами и методами раннего обнаружения дефектов;
- Рассмотреть используемые инструменты;
- Провести с одним из рассмотренных инструментов исследование дипломных работ студентов;
- Проанализировать и выявить закономерности.
Практическая значимость данной работы заключается в том, что проведённые исследования позволяют оценить, на что стоит обратить внимание при преподавании программирования.
Методологической основой дипломной работы послужили: анализ литературы, , изучение и обобщение отечественной и зарубежной практики,теоретический анализ и синтез,сравнение.
Данная работа имеет следующую структуру:
Введение раскрывает актуальность, определяет степень научной разработки темы, объект и предмет исследования, цели, задачи и методы исследования, а также раскрывает теоретическую и практическую значимость работы.
В первой главе рассматриваются понятия дефекта, причины его возникновения, основные типы. Во второй главе описываются методы раннего обнаружения дефектов. В третьей главе описаны инструменты, используемые для статического анализа. В четвертой главе проводится статический анализ дипломных проектов с помощью инструмента PVS- Studio.
В ходе дипломной работы было проведено исследование методов раннего обнаружения дефектов, таких как тестирование требований, обзоры кода, статическое и динамическое тестирование. Были рассмотрены инструменты статического анализа.
В результате дипломной работы были решены следующие задачи:
- Изучены существующие на сегодняшний деньспособы и методы раннего обнаружения дефектов;
- Рассмотрены используемые инструменты;
- Проведен статический анализдипломных проектов, где были получены данные, которые позволяют сделать выводы о том, что инструменты раннего обнаружения дефектов, могут помочь в создании высококачественных программных продуктов, сэкономив при этом как время команды разработчиков, так и деньги. Поэтому, чем раньше начинать поиск дефектов, тем лучше.
1. Савин, Р. Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах. [Текст]— М.: Дело, 2007. —312 с. —ISBN 978-5-7749-0460-0.
2. Computer Finance Magazine [Текст]: информ. -аналит. журнал
3. CrossTalkThe journal of Defence Software Engineering [Текст]: информ.- аналит. журн.,ISSN 2160-1593.
4. Вартанов С. П. Динамический анализ программ с целью поискаошибок и уязвимостей при помощи целенаправленной генерациивходных данных [Текст]/ 99 С. П. Вартанов, А. Ю. Герасимов // Труды ИСП РАН. - 2014. - Т. 26, No1. - С. 375-394.
5. Калбертсон Р., Браун К., Кобб Г. Быстрое тестирование [Текст]— М.:Вильямс,2002—374с.—ISBN 5-8459-0336-X.
6. Хабрахабр [Электронный ресурс]/Режим
доступаПРТ: https: //habrahabr.ru, свободный.
7. Тестирование и качество ПО[Электронный ресурс]/Режим доступаПРТ: http://software-testing.ru/library/5-testing/79-2008-09-29-07-36-54, свободный.
8. ПроТестинг[Электронныйресурс] / Режим
доступаURL:http://www.protesting.ru/testing/bugreport.html, свободный.
9. Defect Prevention: Reducing Costs and Enhancing Quality
10.Synopsys [Электронный ресурс]/ Режим
доступаhttp://www.coverity.com/, свободный.
11. Анализатор PVS-Studio [Электронный ресурс]/ Режим доступаhttps: //www.viva64.com/ru/pvs-studio/, свободный.
12. "Information Security/ Информационная безопасность" //Журнал— 2014 —№2.
13. FulcrumSoftware [Электронный ресурс]/ Режим
доступа: http ://www. fulcrumweb .com.ua/, свободный.