
- •1. Характеристики и признаки больших программных продуктов и систем
- •2. Жизненный цикл программного обеспечения (класс крупных продуктов, систем)
- •Модели жизненного цикла по Каскадная модель
- •Спиральная модель
- •Итерационная модель
- •Стандарт жизненного цикла по гост 34.601-90
- •3. Проблемы и риски программных проектов. Средства борьбы со сложностью
- •Задачи управления рисками
- •4. Анализ требований к программному обеспечению, особенности проектирования крупных пс
- •5. Планирование разработки и распределение работ, организация коллективной разработки пс
- •6. Спецификации. Моделирования. Верификация методом проверки понятности
- •7. Факторы надежности разработки в языках программирования, в частности Ада
- •8. Компонентно-ориентированное проектирование и программирование. Пример - модули компиляции и внутренняя структура Ада программ
- •9. Согласованность средств проблемной ориентации в проектных решениях и при разработке на языке программирования
- •10. Гибкость программных конструкций на примере языка Ада
- •11. Забезпечення динамічності структур даних на прикладі мови Ада
- •Процессы жц верификация и валидация программ
- •Функциональное тестирование
- •12. Проектування обробки виключень на прикладі мови Ада. Исключения
- •Упрощение управляющей структуры
- •Возбуждение и обработка исключений
- •Іі. Засоби контролю та управління якістю
- •Управління якістю у розробці великих пс: система видів якості. Вариант №1
- •Глобальное управление качеством (tqm, Total Quality Management)
- •Принципы управления, принципы tqm
- •Процессная модель управления качеством
- •Внутрішня та зовнішня якості пз: характеристики та підхарактеристики
- •Система методів перевірки функціональної вірності програм
- •7.1. Процессы жц верификация и валидация программ
- •Система мір внутрішньої та зовнішнього якості пз, опис мір (метрик)
- •21(9) Підхарактеристика якості продукції «узгодженість функціональності»
- •23(11) Контроль якості в управлінні розробкою пс
Функциональное тестирование
Цель функционального тестирования - обнаружение несоответствий между реальным поведением реализованных функций и ожидаемым поведением в соответствии со спецификацией и исходными требованиями. Функциональные тесты должны охватывать все реализованные функции с учетом наиболее вероятных типов ошибок. Тестовые сценарии, объединяющие отдельные тесты, ориентированы на проверку качества решения функциональных задач.
Функциональные тесты создаются по внешним спецификациям функций, проектной информации и по тексту на ЯП, относятся к функциональным его характеристикам и применяются на этапе комплексного тестирования и испытаний для определения полноты реализации функциональных задач и их соответствия исходным требованиям.
В задачи функционального тестирования входят:
идентификация множества функциональных требований;
идентификация внешних функций и построение последовательностей функций в соответствии с их использованием в ПС;- идентификация множества входных данных каждой функции и определение областей их изменения;
построение тестовых наборов и сценариев тестирования функций;
выявление и представление всех функциональных требований с помощью тестовых наборов и проведение тестирования ошибок в программе и при взаимодействии со средой.
Тесты, создаваемые по проектной информации, связаны со структурами данных, алгоритмами, интерфейсами между отдельными компонентами и применяются для тестирования компонентов и их интерфейсов. Основная цель - обеспечение полноты и согласованности реализованных функций и интерфейсов между ними.
Комбинированный метод "черного ящика" и "прозрачного ящика" основан на разбиении входной области функции на подобласти обнаружения ошибок. Подобласть содержит однородные элементы, которые все обрабатываются корректно либо некорректно. Для тестирования подобласти производится выполнение программы на одном из элементов этой области.
Предпосылки функционального тестирования:
корректное оформление требований и ограничений к качеству ПО;
корректное описание модели функционирования ПО в среде эксплуатации у заказчика;
адекватность модели ПО заданному классу.
12. Проектування обробки виключень на прикладі мови Ада. Исключения
Пакет STACKS определяет два исключения в своем интерфейсе: Overflow и Underflow. Язык Ada допускает как собственные исключения с произвольными именами, так и предопределенные исключенияи, запускаемые оборудованием или операционной системой.
Упрощение управляющей структуры
Исключения в языке Ada являются техникой исправления ошибок, не затрагивающей управляющей структуры процесса вычислений. Если рассматривать программу как выполнение ряда действий, каждое из которых может прерваться из-за сбоев, то ее структура могла бы выглядеть так:
action1;
if error1 then
error_handling1;
else
action2;
if error2 then
error_handling2;
else
action3;
if error3 then
error_handling3;
else
...
Механизм исключений в Ada предназначен для борьбы со сложностью подобной схемы - где элементы, выполняющие "полезные" задачи, выглядят как острова в океане кода, обрабатывающего ошибки программы. Ada отделяет обработку ошибок от их обнаружения. Конечно же, обработка ошибок должна включать тесты, определяющие тип возникшей ситуации. Единственным решением является в момент возникновения ошибки возбуждение определенного сигнала - исключения, обрабатывающегося далее где-то в другом месте.