Здавалка
Главная | Обратная связь

Средства изменения топологии иерархии программы



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

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

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

Рис. 7.2. Схема иерархии одной и той же программы: а — с вертикальными вызовами; б — с горизонтальными вызовами

Фрагменты с горизонтальными вызовами на одном уровне могут быть преобразованы в вертикальные вызовы модулей разных уровней посредством введения дополнительных переменных. Эти переменные не могут быть получены путем декомпозиции функционального описания на подфункции. Эти дополнительные переменные обычно имеют тип целый или логический и называются флагами (семафорами, ключами) событий.Их смысл обычно характеризуется фразой: "В зависимости от предыстории действий, выполнить такие-то действия".

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

7.6. Перечислите виды тестирования системы в целом.

По объекту тестирования виды тестирования программного обеспечения бывают:

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

2. Нагрузочное тестирования – необходимо для проверки работоспособности программного обеспечения на различных уровнях нагрузки.

a. Тестирование производительности
b. Тестирование стабильности

3. Тестирование удобства использования – данный вид тестирования программного обеспечения проверяет, удобно ли будет пользоваться тем функционалом, который есть в программе.

4. Тестирование интерфейса пользователя – тут все понятно, проверяется на правильность интерфейс программы.

5. Тестирование безопасности – производится анализ уязвимости программного обеспечения к различным видам атак.

6. Тестирование локализации – проверка того, правильно (и точно) вы выполнили локализацию программного обеспечения (адаптацию под конкретную культуру).

7. Тестирование совместимости – этот вид тестирования программного обеспечения проверяет, совместимо ли ПО с различными версиями операционных систем, оболочек и т.д.

По знанию системы виды тестирования программного обеспечения бывают:

1. Тестирование черного ящика – мы о системе ничего не знаем. То есть мы видим ПО так же, как видит его потенциальный пользователь.

2. Тестирование белого ящика – у нас есть все спецификации ПО, его код и т.д.

3. Тестирование серого ящика – пока я с этим не сталкивался, так что точно сказать, что это за вид тестирования программного обеспечения не могу.

По степени автоматизации виды тестирования программного обеспечения бывают:

1. Ручное тестирование – все тесты проводятся руками.

2. Автоматизированное тестирование – тестирование полностью выполняется компьютером.

3. Полуавтоматизированное тестирование – в тестировании принимает участие и человек и компьютер.

По степени изолированности компонентов виды тестирования программного обеспечения бывают:

1. Модульное тестирование – тестированию подвергается минимальный элемент программы (модуль, процедура, функция).

2. Интеграционное тестирование – тестируются интерфейсы между различными модулями ПО.

3. Системное тестирование – проверяется соответствие требованиям ПО.

По времени проведения тестирования виды тестирования программного обеспечения бывают:

1. Альфа тестирование – в данном виде тестирования программного обеспечения принимают участие разработчики ПО, но ведут они себя как потенциальные пользователи.

a. Тестирование при приёмке
b. Тестирование новой функциональности
c. Регрессионное тестирование
d. Тестирование при сдаче

2. Бета тестирование – ПО отдано на проверку реальным (ограниченному числу) пользователям.

По признаку позитивности сценариев виды тестирования программного обеспечения бывают:

1. Позитивное тестирование – в ходе проведения данного вида тестирования программного обеспечения показывается, что ПО работает правильно.

2. Негативное тестирование – а при этом виде показывается то, что ПО работает неправильно (и при каких случаях).

По степени подготовленности к тестированию:

1. Тестирование по документации – мы о ПО знаем все.

2. Интуитивное тестирование – о ПО ничего не знаем.

По состоянию:

1. Динамическое – ПО выполняется на компьютере.

2. Статическое – анализируется код ПО.

7.8. Назовите основные типы ошибок. Как они проявляются при выполнении программы?

синтаксические ошибки — ошибки, фиксируемые компилятором (транслятором, интерпретатором) при выполнении синтаксического и частично семантического анализа программы;

ошибки компоновки — ошибки, обнаруженные компоновщиком (редактором связей) при объединении модулей программы;

ошибки выполнения — ошибки, обнаруженные операционной системой, аппаратными средствами или пользователем при выполнении программы.

 

1. Ошибки кодирования.

2. Ошибки проектирования.

3. Предложения тестировщика по улучшению программы.

4. Расхождение с документацией.

5. Взаимодействие с аппаратурой.

6. Поведение программы, вызывающее вопросы тестировщика.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.