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

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

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

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

Добавлен: 30.03.2023

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

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

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

Мартин и Мак-Клер (Martin & mcClure) подытожили собранные Боэмом (Boehm) данные об эффективности исправления найденных ошибок:

− если для исправления ошибки нужно изменить не более десяти операторов, вероятность того, что это будет сделано правильно с первого раза, составляет 50 процентов;

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

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

Зачастую «ручной тестировщик» перед проверкой составляет конкретный тест-план, по которому осуществляет проверку программного кода[64]. Данный тест-план в дальнейшем может послужить псевдокодом для написания автоматических тестов.

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

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

ЗАКЛЮЧЕНИЕ

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


Сбои в работе АС приводят к простою, а значит и потере прибыли. Поэтому в процессе создания АС большое внимание уделяется обеспечению их качества.

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Описание книг одного-трех авторов


Блэк Р. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование – М.: Издательство «Лори», 2017.

В. В. Кулямин. Технологии программирования. Компонентный подход. М. Интернет-университет информационных технологий — БИНОМ. Лаборатория знаний, 2017

Вигерс, Карл. Разработка требований к программному обеспечению / Карл Вигерс , Джой Битти. - М.: БХВ-Петербург, Русская Редакция, 2014

Винниченко И.В. Автоматизация процессов тестирования / И.В. Винниченко. – СПб.: Питер, 2015

Инструменты параллельного программирования в системах с общей памятью. 2-е изд. М., 2010

Канер Сэм. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений: Пер. с англ. /Сэм Канер, Джек Фолк, Енг Кек Нгуен. – К.: Издательство «ДиаСофт», 2001

Керниган, Брайан Практика программирования / Брайан Керниган , Роб Пайк. - М.: Вильямс, 2015

Котляров В. П., Коликова Т.В. Основы тестирования программного обеспечения – М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2016

Орлик С. Основы программной инженерии по SWEBOK (Software Engineering Body of Knowledge). Программная инженерия. Тестирование программного обеспечения. Сopyright, 2017

Хант Э. Программист-прагматик. Путь от подмастерья к мастеру / Э. Хант, Д. Томас. - М.: ЛОРИ, 2016

Описание учебников и учебных пособий

Вишневская Т.И., Романова Т.Н. Технология программирования: метод. указ. к лаборат. практикуму. Ч. 1. – М.: МГТУ им. Н.Э. Баумана, 2017

Макгрегор Дж., Сайкc Д. Тестирование объектноориентированного программного обеспечения: практическое пособие разработчикам, менеджерам проектов, программистам. – М.: DiaSoft, 2012

Поляк, Б. Т. Введение в оптимизацию / Б.Т. Поляк. - М.: Ленанд, 2014

Сенченко П.В. Надежность, эргономика и качество АСОИУ: учеб. пособие. – Томск: ТУСУР, 2015

Технология программирования. Основы современного тестирования программного обеспечения, разработанного на C#: учеб. пособие / под общ. ред. В.П. Котлярова. – СПб.: СПбГПУ, 2014

Описание статьи из периодического издания

Ананченко И.В., Распопа Е.А., Хаджиев И.В. Практики тестирования в сфере локализации программного обеспечения // Современные наукоемкие технологии. - 2018. - № 7.

Волосенков В.О., Морозов А.В. Способ построения средств комплексной отладки программного обеспечения специализированных ЭВМ, функционирующих в режиме реального времени // Вестник Оренбургского государственного университета. - 2016. - № 2

Волосенков В.О., Попрыгина Е.В. Способ автоматизации отладки параллельных программ // Проблемы безопасности российского общества. - 2015. - № 2


Галимова Е.Ю. Метод выбора между ручным и автоматизированным тестированием, основанный на свойствах программного продукта // Вестник Дон.ГТУ. 2016, – Т. 16. – № 4(87).

Золотухина Е.Б., Макарова Е.А., Беляков А.А.Обзор методов тестирования программного обеспечения // Аллея науки. - 2018. - Т. 4. - № 6 (22)

Казыханов А.А., Байрушин Ф.Т. К Вопросу О Тестировании Отраслевого Программного Обеспечения // Аллея науки. - 2018. - Т. 2. - № 1 (17)

Крякушина Ю.А. Оценка методов тестирования // Электронные средства и системы управления. - 2016. - № 1-2

Лопатина К.И., Темникова Е.А. Ручное и автоматизированное тестирование программного обеспечения отличия и взаимозаменяемость // Вестник современных исследований. - 2017. - № 10-1 (13)

Нестеренко Е.И., Куклина К.Е., Шведенко П.В. Обзор задач, уровней и видов тестирования программного обеспечения // Новая наука: Проблемы и перспективы. - 2016. - № 2-1 (61)

Омарова М.О. Анализ инструментов отладки параллельных программ // Молодежный научно-технический вестник. - 2015. - № 9

Сенченко П.В. Обоснование целесообразности применения web-ориентированных технологий при разработке информационных систем электронного документооборота // Проблемы теории и практики управления. – 2016. – № 6

Описание интернет-источников

Geektimes / [Электронный ресурс] – Режим доступа: https://geektimes.ru/ (Дата обращения: 15.12.2018)

  1. habrahabr / [Электронный ресурс] – Режим доступа: https://habrahabr.ru/ (Дата обращения: 15.12.2018)

Software testing training and stoftware testing services [Электронный ресурс]. – Режим доступа: http://www.rbcsus.com/ (Дата обращения: 15.12.2018)

Tpl-it. Тестирование безопасности (security testing). Электронный ресурс]. Режим доступа: http://tpl-it.wikispaces.com/ /·+Тестирование +безопасности+%28security+testing%29 (дата обращения: 15.12.2018)

БЛОГ Web Программиста. Методы тестирования программного обеспечения). Электронный ресурс]. Режим доступа: http://juicehealth.ru/program/software-testing/495-software-testing-%20methods (дата обращения: 15.12.2018)

Про Тестинг. Тестирование Программного Обеспечения. [Электронный ресурс]. Режим доступа: http://www.protesting.ru/testing (дата обращения: 15.12.2018)

  1. Инструменты параллельного программирования в системах с общей памятью. 2-е изд. М., 2010

  2. Вигерс, Карл. Разработка требований к программному обеспечению / Карл Вигерс , Джой Битти. - М.: БХВ-Петербург, Русская Редакция, 2014

  3. Волосенков В.О., Попрыгина Е.В. Способ автоматизации отладки параллельных программ // Проблемы безопасности российского общества. - 2015. - № 2

  4. Инструменты параллельного программирования в системах с общей памятью. 2-е изд. М., 2010

  5. Волосенков В.О., Попрыгина Е.В. Способ автоматизации отладки параллельных программ // Проблемы безопасности российского общества. - 2015. - № 2.

  6. Волосенков В.О., Морозов А.В. Способ построения средств комплексной отладки программного обеспечения специализированных ЭВМ, функционирующих в режиме реального времени // Вестник Оренбургского государственного университета. - 2016. - № 2

  7. Омарова М.О. Анализ инструментов отладки параллельных программ // Молодежный научно-технический вестник. - 2015. - № 9

  8. Инструменты параллельного программирования в системах с общей памятью. 2-е изд. М., 2010

  9. Хант, Э. Программист-прагматик. Путь от подмастерья к мастеру / Э. Хант, Д. Томас. - М.: ЛОРИ, 2016

  10. Инструменты параллельного программирования в системах с общей памятью. 2-е изд. М., 2010

  11. Волосенков В.О., Морозов А.В. Способ построения средств комплексной отладки программного обеспечения специализированных ЭВМ, функционирующих в режиме реального времени // Вестник Оренбургского государственного университета. - 2016. - № 2

  12. Вигерс, Карл Разработка требований к программному обеспечению / Карл Вигерс , Джой Битти. - М.: БХВ-Петербург, Русская Редакция, 2014

  13. Керниган, Брайан Практика программирования / Брайан Керниган , Роб Пайк. - М.: Вильямс, 2015

  14. Хант, Э. Программист-прагматик. Путь от подмастерья к мастеру / Э. Хант, Д. Томас. - М.: ЛОРИ, 2016

  15. Керниган, Брайан Практика программирования / Брайан Керниган , Роб Пайк. - М.: Вильямс, 2015

  16. Поляк, Б. Т. Введение в оптимизацию / Б.Т. Поляк. - М.: Ленанд, 2014

  17. Орлик С. Основы программной инженерии по SWEBOK (Software Engineering Body of Knowledge). Программная инженерия. Тестирование программного обеспечения. Сopyright, 2017

  18. Котляров В. П., Коликова Т.В. Основы тестирования программного обеспечения – М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2016

  19. Блэк Р. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование – М.: Издательство «Лори», 2017.

  20. БЛОГ Web Программиста. Методы тестирования программного обеспечения). Электронный ресурс]. Режим доступа: http://juicehealth.ru/program/software-testing/495-software-testing-%20methods (дата обращения: 15.12.2018)

  21. Про Тестинг. Тестирование Программного Обеспечения. [Электронный ресурс]. Режим доступа: http://www.protesting.ru/testing (дата обращения: 15.12.2018)

  22. В. В. Кулямин. Технологии программирования. Компонентный подход. М. Интернет-университет информационных технологий — БИНОМ. Лаборатория знаний, 2017

  23. Tpl-it. Тестирование безопасности (security testing). Электронный ресурс]. Режим доступа: http://tpl-it.wikispaces.com/ /·+Тестирование +безопасности+%28security+testing%29 (дата обращения: 15.12.2018)

  24. Блэк Р. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование – М.: Издательство «Лори», 2017

  25. Золотухина Е.Б., Макарова Е.А., Беляков А.А.Обзор методов тестирования программного обеспечения // Аллея науки. - 2018. - Т. 4. - № 6 (22)

  26. Нестеренко Е.И., Куклина К.Е., Шведенко П.В. Обзор задач, уровней и видов тестирования программного обеспечения // Новая наука: Проблемы и перспективы. - 2016. - № 2-1 (61)

  27. Казыханов А.А., Байрушин Ф.Т. К Вопросу О Тестировании Отраслевого Программного Обеспечения // Аллея науки. - 2018. - Т. 2. - № 1 (17).

  28. Geektimes / [Электронный ресурс] – Режим доступа: https://geektimes.ru/ (Дата обращения: 15.12.2018)

  29. habrahabr / [Электронный ресурс] – Режим доступа: https://habrahabr.ru/ (Дата обращения: 15.12.2018)

  30. habrahabr / [Электронный ресурс] – Режим доступа: https://habrahabr.ru/ (Дата обращения: 15.12.2018)

  31. Geektimes / [Электронный ресурс] – Режим доступа: https://geektimes.ru/ (Дата обращения: 15.12.2018)

  32. Казыханов А.А., Байрушин Ф.Т. К Вопросу О Тестировании Отраслевого Программного Обеспечения // Аллея науки. - 2018. - Т. 2. - № 1 (17)

  33. Технология программирования. Основы современного тестирования программного обеспечения, разработанного на C#: учеб. пособие / под общ. ред. В.П. Котлярова. – СПб.: СПбГПУ, 2014

  34. Вишневская Т.И., Романова Т.Н. Технология программирования: метод. указ. к лаборат. практикуму. Ч. 1. – М.: МГТУ им. Н.Э. Баумана, 2017

  35. Сенченко П.В. Обоснование целесообразности применения web-ориентированных технологий при разработке информационных систем электронного документооборота // Проблемы теории и практики управления. – 2016. – № 6

  36. Сенченко П.В. Надежность, эргономика и качество АСОИУ: учеб. пособие. – Томск: ТУСУР, 2015

  37. Крякушина Ю.А. Оценка методов тестирования // Электронные средства и системы управления. - 2016. - № 1-2

  38. Вишневская Т.И., Романова Т.Н. Технология программирования: метод. указ. к лаборат. практикуму. Ч. 1. – М.: МГТУ им. Н.Э. Баумана, 2017

  39. Вишневская Т.И., Романова Т.Н. Технология программирования: метод. указ. к лаборат. практикуму. Ч. 1. – М.: МГТУ им. Н.Э. Баумана, 2017

  40. Крякушина Ю.А. Оценка методов тестирования // Электронные средства и системы управления. - 2016. - № 1-2

  41. Макгрегор Дж., Сайкc Д. Тестирование объектноориентированного программного обеспечения: практическое пособие разработчикам, менеджерам проектов, программистам. – М.: DiaSoft, 2012

  42. Крякушина Ю.А. Оценка методов тестирования // Электронные средства и системы управления. - 2016. - № 1-2

  43. Сенченко П.В. Обоснование целесообразности применения web-ориентированных технологий при разработке информационных систем электронного документооборота // Проблемы теории и практики управления. – 2016. – № 6

  44. Технология программирования. Основы современного тестирования программного обеспечения, разработанного на C#: учеб. пособие / под общ. ред. В.П. Котлярова. – СПб.: СПбГПУ, 2014

  45. Технология программирования. Основы современного тестирования программного обеспечения, разработанного на C#: учеб. пособие / под общ. ред. В.П. Котлярова. – СПб.: СПбГПУ, 2014

  46. Крякушина Ю.А. Оценка методов тестирования // Электронные средства и системы управления. - 2016. - № 1-2

  47. Макгрегор Дж., Сайкc Д. Тестирование объектноориентированного программного обеспечения: практическое пособие разработчикам, менеджерам проектов, программистам. – М.: DiaSoft, 2012

  48. Крякушина Ю.А. Оценка методов тестирования // Электронные средства и системы управления. - 2016. - № 1-2

  49. Сенченко П.В. Обоснование целесообразности применения web-ориентированных технологий при разработке информационных систем электронного документооборота // Проблемы теории и практики управления. – 2016. – № 6

  50. Макгрегор Дж., Сайкc Д. Тестирование объектноориентированного программного обеспечения: практическое пособие разработчикам, менеджерам проектов, программистам. – М.: DiaSoft, 2012

  51. Вишневская Т.И., Романова Т.Н. Технология программирования: метод. указ. к лаборат. практикуму. Ч. 1. – М.: МГТУ им. Н.Э. Баумана, 2017

  52. Технология программирования. Основы современного тестирования программного обеспечения, разработанного на C#: учеб. пособие / под общ. ред. В.П. Котлярова. – СПб.: СПбГПУ, 2014

  53. Сенченко П.В. Обоснование целесообразности применения web-ориентированных технологий при разработке информационных систем электронного документооборота // Проблемы теории и практики управления. – 2016. – № 6

  54. Крякушина Ю.А. Оценка методов тестирования // Электронные средства и системы управления. - 2016. - № 1-2

  55. Сенченко П.В. Обоснование целесообразности применения web-ориентированных технологий при разработке информационных систем электронного документооборота // Проблемы теории и практики управления. – 2016. – № 6

  56. Макгрегор Дж., Сайкc Д. Тестирование объектноориентированного программного обеспечения: практическое пособие разработчикам, менеджерам проектов, программистам. – М.: DiaSoft, 2012

  57. Software testing training and stoftware testing services [Электронный ресурс]. – Режим доступа: http://www.rbcsus.com/

  58. Крякушина Ю.А. Оценка методов тестирования // Электронные средства и системы управления. - 2016. - № 1-2

  59. Лопатина К.И., Темникова Е.А. Ручное и автоматизированное тестирование программного обеспечения отличия и взаимозаменяемость // Вестник современных исследований. - 2017. - № 10-1 (13)

  60. Канер Сэм. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений: Пер. с англ. /Сэм Канер, Джек Фолк, Енг Кек Нгуен. – К.: Издательство «ДиаСофт», 2001

  61. Ананченко И.В., Распопа Е.А., Хаджиев И.В. Практики тестирования в сфере локализации программного обеспечения // Современные наукоемкие технологии. - 2018. - № 7.

  62. Винниченко И.В. Автоматизация процессов тестирования / И.В. Винниченко. – СПб.: Питер, 2015

  63. Винниченко И.В. Автоматизация процессов тестирования / И.В. Винниченко. – СПб.: Питер, 2015

  64. Галимова Е.Ю. Метод выбора между ручным и автоматизированным тестированием, основанный на свойствах программного продукта // Вестник Дон.ГТУ. 2016, – Т. 16. – № 4(87).