Тестирование, анализ, оценка качества и отладка программного продукта
Лабораторная работа №5 по ТП
«Технология разработки системы автоматизированного проектирования» (+ тестирование и отладка ПП)
Цель работы – разработать систему автоматизированного проектирования на примере автоматизации расчета электрической схемы. Протестировать программный продукт, выявить ошибки и отладить
Общие сведения
Система автоматизированного проектирования – один из наиболее перспективных способов повышения производительности и качества инженерного труда и получила в широкое распространение в радиоэлектронике.
Предметом изучения курса является выработка у студентов умения пользоваться программами анализа электронных схем, чётко представлять принципы функционирования таких программ и их базовых компонентов. Студент должен овладеть основами теории построения структуры САПР и уметь реализовать подсистему схемотехнического проектирования при выполнении контрольной работы с созданием программы с применением алгоритмических языков.
Для усвоения этого курса необходимы навыки логического и алгоритмического мышления, знание методов исследования и решения математических задач, основных численных методов математики и их реализациями на ПЭВМ.
Вариант задания
Схема варианта задания устанавливается преподавателем!
Преподаватель выдает электрическую схему из одного ЭДС и 5-7 сопротивлений связанных между собой. Требуется разработать программный продукт
Методические указания
Рисунок 1 – Пример главной формы программы
Рисунок 2 – Пример окна построения графиков
Рисунок 1 – Пример окна вывода результата
Рисунок 1 – Пример окна помощи
Тестирование, анализ, оценка качества и отладка программного продукта
Тестирование и анализ программного продукта (ПП) дает возможность выявить ошибки программного продукта и оценить качество ПП. Основываясь на этих знаниях, можно отладить (исправить, улучшить) ПП, что сделает его конкурентно-способным, рентабельным и эффективным.
Весь процесс делиться на 3 уровня (этапа):
1 уровень «Тестирование и поиск ошибок»
2 уровень «Исследование и анализ»
3 уровень «Отладка»
1 уровень «Тестирование и поиск ошибок»
Программный будет подвергаться тщательному исследованию, включающее в себя тестирование и поиск ошибок.
Тестирование ПП - это процесс исследования (сопоставления) программы на некотором наборе данных (цели, идеологии, назначении, структуры и т.д.), для которого заранее известен результат применения или известны правила поведения этой программ.
В нашем случае тестирование – это процесс оценки качества программного продукта для выявления в нем возможных потенциальных ошибок:
· Орфографических
· Стилистических
· Пунктуационных
· Синтаксических
· Логических
· Функциональных
· Технических
· Программных
· Алгоритмических
· Психологических
· Оптимизационных
· Семантических
· Специфических и др.
Уровень предполагает описание данных ошибок и их обоснование без рекомендаций для их устранения. Заказчик вправе согласиться или не согласиться с ними. Ошибкой является не субъективный фактор, а обоснованный определенным требованием или стандартом.
Количество найденных ошибок в программном продукте от 15 – 50, в зависимости от сложности и объема программы.
Результатом тестирования и поиска ошибок является протокол тестирования данного программного продукта, заверенный печатью. (3-7 стр.)
2 уровень «Анализ и рекомендации».
Анализ ПП – это детальное исследование ПП по каждому пункту качества ПП (см. ниже)
Во второй уровень «Анализ и рекомендации» входят:
1. Тестирование и поиск ошибок (1 уровень)
2. Подробное обоснование выявленной ошибки, описание возможного пути ее возникновения.
3. Расчет надежности программного продукта (вероятности бесперебойной работы)
4. Анализ обеспечения качества ПП
5. Конкретные рекомендации по устранению всех найденных ошибок
6. Конкретные рекомендации по повышению качества ПП: функциональности и надежности.
В понятие качества ПП входят:
1. Наименование программного продукта (ПП)
2. Актуальность
3. Область применения
4. Идеология программного обеспечения
5. Постановка проблемы
6. Постановка задачи
7. Цель разработки ПО
8. Задачи исследования
9. Преимущества программы
10. Недостатки программы
11. Используемая технология создания ПО
12. Выбор модели ПО. Обоснование выбранной модели
13. Построение общей модели разрабатываемого программного продукта
14. Выбор архитектуры построения ПП
15. Объем, состав текстовой и графической информации
16. Общий объем ПП, Мб
17. Требования к информационной и программной совместимости:
18. Требования к информационным структурам и методам решения
19. Структура баз данных
20. Технологии доступа к данным
21. Требования к запросам пользователей данных из базы
22. Требования к исходным кодам и языкам программирования
23. Методы разработки ПП
24. Требования к программным средствам, используемым программой
25. Операционные системы, на которых работает программное обеспечение
26. Опеспечение защищенности программого продукта
27. Защита авторских прав
28. Защита информации
29. Способы защиты
30. Алгоритм защиты
31. Защита от вирусов
32. Защита от атак
33. Защита от взлома
34. Функциональные требования:
35. Характеристики программы
36. Функциональные возможности
37. Общая блок-схема ПО
38. Семантика ПП
39. Требования к надежности:
40. Требования к обеспечению надежного функционирования программы
41. Время восстановления после отказа
42. Отказы из-за некорректных действий пользователей системы
43. Требования к эксплуатации:
44. Условия эксплуатации
45. Климатические условия эксплуатации
46. Требования к квалификации и численности персонала
47. Разработка инструкции помощи пользования
48. Технические требования:
49. Основной диапазон разрешения мониторов, на которых будет просматриваться ПП
50. Минимальное разрешение монитора, в котором будет просматриваться ПП.
51. Минимальные требования ПК
52. Рекомендуемая конфигурация компьютера
53. Специфические требования:
54. Адаптивность ПП
55. Интеллектуальное развитие ПП
56. Системность ПП
57. Полнофункциональность ПП
58. Целостность ПП
59. Качество
60. 1.Функциональность
61. Надежность
62. Легкость применения
63. Эффективность
64. Сопровождаемость
65. Изучаемость
66. Модифицируемость
67. Мобильность
68. Завершенность
69. Точность
70. Автономность
71. Устойчивость
72. Защищенность
73. П-документированность
74. Информативность
75. Коммуникабельность
76. Временнaя эффективность
77. Эффективность по памяти
78. Эффективность по устройствам
79. С-документированность
80. Понятность
81. Структурированность
82. Удобочитаемость
83. Расширяемость
84. Модульность
85. Независимость от устройств
86. Психологические особенности:
87. Дизайн ПП
88. Эстетическое обоснование
89. Выбор стиля
90. Цветовое решение
91. Расположение элементов интерфейса
92. Эргономика
93. Предполагаемая аудитория
94. Возраст пользователей
95. Тип людей
Результатом исследования и анализ программного продукта является протокол анализа данного программного продукта, заверенный печатью. (15-40 стр.)
3 уровень «Отладка»
Цель тестирования – установление факта наличия ошибок в программе, то цель отладки – это выявление, локализация и устранение ошибок.
Для отладки программного продукта требуется исходный код программы со всеми модулями, приложениями с указанием языка программирования и технологии.
В отладку ПП входят:
· Тестирование и поиск ошибок ПП (1 уровень)
· Исследование и анализ ПП (2 уровень)
· Анализ программного кода
· Анализ алгоритма работы
· Анализ структуры базы данных (для БД)
· Устранение ошибок (повышение эффективности, функционирования, надежности и качества)
· Повторное тестирование
· Отладка (если требуется)
· Компиляция
Все ошибки в программах можно разделить на следующие виды:
- трансляции (компиляции), т.е. ошибки синтаксиса языка;
- компоновки (ошибки связи);
- выполнения, которые в свою очередь делятся на:
а) ошибки логики (семантические);
б) ошибки накопления погрешностей;
в) ошибки данных
Ошибки накопления погрешностей результатов вычисления заключаются в некорректном отбрасывании дробных цифр числа, некорректном использовании приближенных методов вычисления, в игнорировании ограничений разрядной сетки ЭВМ и т.п.
Ошибки логики (семантические), которыми могут быть вызваны следующими причинами:
- некорректным использованием переменных (попытка использовать переменную до ее инициализации, использование индексов, выходящих за границы массивов и т.п.);
- ошибками вычисления (некорректное использование целочисленной арифметики, незнание приоритетов выполнения операций и т.п.);
- ошибками межмодульного интерфейса (игнорирование системных соглашений при передаче параметров, нарушение области действия локальных и глобальных переменных и т.п.);
- неправильной реализацией алгоритма программы.
Семантические ошибки – самые непредсказуемые ошибки. Они могут иметь разную природу.
Результатом отладки программного продукта является законченный (отлаженный, исправленный) программный продукт и протокол тестирования с указанием ошибок и их исправлением данного программного продукта, заверенный печатью. (5-15 стр.)
Виды тестирования:
· тестирование безопасности;
· нагрузочное тестирование;
· негативное тестирование;
· тестирование пользовательского интерфейса;
· анализ дружественности;
· функциональное тестирование;
· регрессионное тестирование;
· автоматизированное тестирование;
· проверка битых кнопок;
· тестирование базы данных;
· проверка грамотности контента;
· анализ технического задания и требований к ПО.
Оформление отчета
В отчет необходимо включить:
· Титульный лист;
· Содержание;
· Введение;
· Задание на выполнение лаб. работы;
· Расчеты
· Скрин-шоты
· Описание возникших ошибок;
· Листинг программы, где произошла ошибка;
· Исправленный листинг;
· Результаты;
· Заключение;
· Список литературы;
Контрольные вопросы
6.1 Что представляет собой процесс отладки?
6.2 Какие виды ошибок наиболее распространены?
6.3 Что представляет собой процесс тестирования?
6.4 Какие способы используются при тестировании?
6.5 Какая документация заполняется в процессе тестирования?
6.6 Как нумеруются версии программного продукта?
6.7 Какая документация должна быть подготовлена?
6.8 Каковы особенности руководства пользователя?
6.9 Что содержит руководство системного программиста?
6.10 Каковы правила оформления документов?
Рекомендуемая литература
Основная литература
1. Автоматизация проектирования радиоэлектронных средств: Учеб. Пособие для втузов/О. В. Алексеев, А. А. Головков, И. Ю. Пивоваров и др.; Под ред. О. В. Алексеева. – М.: Высш. шк., 2000. – 479 с., ил.
2. Норенков И. П. Введение в автоматизированное проектирование технических устройств и систем. – М.: Высшая школа, 1986.
3. Чуа Л. О., Пен-Мин Лин. Машинный анализ электронных схем: Пер. с англ. Под ред. В. Н. Ильина. – М.: Энергия, 1980.
Дополнительная литература
1. Автоматизация схемотехнического проектирования. /В. Н. Ильин, В. Т. Фролкин,
А. И. Бутко и др.; Под ред. В. Н. Ильина. – М.: Радио и связь, 1987.
2. Влах И., Сингхал К. Машинные методы анализа и проектирования электронных схем: Пер. с англ. – М.: Радио связь, 1988.