- •Вопросы для подготовки к экзаменам по дисциплине «Разработка и стандартизация программных средств и информационных технологий»
- •Проблемы разработки сложных программных систем
- •Блочно-иерархический подход к созданию сложных систем
- •Жизненный цикл и этапы разработки программного обеспечения
- •Ускорение разработки программного обеспечения
- •Оценка качества процессов создания программного обеспечения
- •Понятие технологичности программного обеспечения
- •Модули и их свойства
- •Нисходящая и восходящая разработка программного обеспечения
- •Структурное и «неструктурное» программирование
- •Эффективность и технологичность
- •Сквозной структурный контроль
- •Определение требований к программному обеспечению и исходных данных для его проектирования
- •Классификация программных продуктов по функциональному признаку
- •Предпроектные исследования предметной области
- •Разработка технического задания
- •Анализ требований и определение спецификаций программного обеспечения при структурном подходе
- •Функциональные диаграммы
- •Диаграммы потоков данных
- •Диаграммы переходов состояний
- •Проектирование структур данных
- •Case-технологии, основанные на структурных методологиях анализа и проектирования
- •Анализ требований и определение спецификаций при объектном подходе
- •Определение «вариантов использования»
- •Построение концептуальной модели предметной области
- •Проектирование программного обеспечения при объектном подходе
- •Разработка структуры программного обеспечения при объектном подходе
- •Определение отношений между объектами
- •Типы пользовательских интерфейсов и этапы их разработки
- •Основные компоненты графических пользовательских интерфейсов
- •Реализация диалогов в графическом пользовательском интерфейсе
- •Психофизические особенности человека связанные с восприятием, запоминанием и обработкой информации.
- •Пользовательская и программная модели интерфейса
- •Виды контроля качества разрабатываемого программного обеспечения
- •Ручной контроль программного обеспечения
- •Структурное и функциональное тестирования
- •Тестирование модулей и комплексное тестирование
- •Отладка программного обеспечения
- •Классификация ошибок
- •Общая методика отладки программного обеспечения
- •Оценочное тестирование
- •Виды программных документов
- •1 Общие положения
- •3 Основные технические решения
- •4 Мероприятия по подготовке объекта автоматизации к вводу системы в действие
- •4.1 Приведение информации к виду, пригодному для обработки на эвм
- •4.2 Мероприятия по подготовке персонала
- •4.3 Организация необходимых подразделений и рабочих мест
- •4.4 Изменение объекта автоматизации
- •4.5 Дополнительные мероприятия
- •Руководство пользователя
- •3.3 Проверка работоспособности системы
- •4 Описание операций
- •6 Рекомендации по освоению
- •Руководство системного программиста
- •Основные правила оформления программной документации
- •Техническое задание
- •1. Общие положения
- •2. Содержание разделов
- •Стадии разработки (гост 19.102-77)
- •Описание программы (гост 19.402-78)
- •Текст программы (гост 19.401-78)
- •Программа и методика испытаний (гост 19.301-79)
- •Требования к программным документам, выполненным печатным способом (гост 19.106-78)
-
Оценочное тестирование
После завершения комплексного тестирования приступают к оценочному тестированию, целью которого является тестирование программы на соответствие основным требованиям. Эта стадия тестирования особенно важна для программных продуктов, предназначенных для продажи на рынке.
Оценочное тестирование, которое также называют «тестированием системы в целом», включает следующие виды:
• тестирование удобства использования - последовательная проверка соответствия программного продукта и документации на него основным положениям технического задания;
• тестирование на предельных объемах - проверка работоспособности программы на максимально больших объемах данных, например, объемах текстов, таблиц, большом количестве файлов и т. п.;
• тестирование на предельных нагрузках - проверка выполнения программы на возможность обработки большого объема данных, поступивших в течение короткого времени;
• тестирование удобства эксплуатации - анализ психологических факторов, возникающих при работе с программным обеспечением; это тестирование позволяет определить, удобен ли интерфейс, не раздражает ли цветовое или звуковое сопровождение и т. п.;
• тестирование защиты - проверка защиты, например, от несанкционированного доступа к информации;
• тестирование производительности - определение пропускной способности при заданной конфигурации и нагрузке;
• тестирование требований к памяти - определение реальных потребностей в оперативной и внешней памяти;
• тестирование конфигурации оборудования - проверка работоспособности программного обеспечения на разном оборудовании;
• тестирование совместимости - проверка преемственности версий: в тех случаях, если очередная версия системы меняет форматы данных, она должна предусматривать специальные конвекторы, обеспечивающие возможность работы с файлами, созданными предыдущей версией системы;
• тестирование удобства установки - проверка удобства установки;
• тестирование надежности - проверка надежности с использованием соответствующих математических моделей [66];
• тестирование восстановления - проверка восстановления программного обеспечения, например системы, включающей базу данных, после сбоев оборудования и программы;
• тестирование удобства обслуживания - проверка средств обслуживания, включенных в программное обеспечение;
• тестирование документации - тщательная проверка документации, например, если документация содержит примеры, то их все необходимо попробовать;
• тестирование процедуры - проверка ручных процессов, предполагаемых в системе.
Естественно, целью всех этих проверок является поиск несоответствий техническому заданию. Считают, что только после выполнения всех видов тестирования программный продукт может быть представлен пользователю или к реализации. Однако на практике обычно выполняют не все виды оценочного тестирования, так как это очень дорого и трудоемко. Как правило, для каждого типа программного обеспечения выполняют те виды тестирования, которые являются для него наиболее важными. Так базы данных обязательно тестируют на предельных объемах, а системы реального времени - на предельных нагрузках.