Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Методы обеспечения качества ПО. Виды и направления тестирования




Тестирование относится к типу динамических методов обеспечения качества.

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

- дымовое: быстрое тестирование, его цель быстро проверить, не «поломалась» ли система;

- автономное: изолированная проверка каждого элемента системы. Чаще выполняется самим программистом;

- комплексное: цель - тестирование программы в сборе, проверяется взаимодействие частей ПО;

- тестирование «белого ящика»: тесты формируются с учётом знания об испытуемом объекте;

- тестирование «чёрного ящика»: тесты формируются только на основе внешней спецификации;

- тестирование «серого ящика»: комбинация белого и чёрного ящика;

- альфа-тестирование: вся деятельность по тестированию, которую организация-разработчик выполняет сама;

- бета-тестирование: тестирование выполняется с привлечением сторонних людей;

- регрессионное: повторное тестирование всей программы после внесения изменений;

- функциональное: тестируются только функциональные возможности, а надёжность, эффективность и т.д. не проверяются

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

- тестирование уязвимости: тестирование на безопасность и защищённость программы, его цель - проверка эффективности используемых в программе механизмов защиты информации, их устойчивость к атакам.

 

1. Тестирование на безопасность и защищённость программы это:

а) нагрузочное тестирование; б) тестирование уязвимости; в) комплексное тестирование.

 

2. Дымовое тестирование предполагает:

а) тестирование ПО в сборе; б) тестирование производительности; в) быстрое тестирование.

 

Методы обеспечения качества ПО. Формальная верификация

Верификация- подтверждение соответствия конечного продукта функциональным требованиям.

Формальная верификация- доказательство корректности с помощью формальных методов.

Достоинства: в случае успеха - в программе нет ошибок.

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

Методы и математический аппарат: пропозициональные логики, темпоральные логики, формальные семантики, формальные преобразования программ, формальные спецификации, логика Хоара, сепарационная логика и др..

Наиболее известные подходы: верификация методом Хоара, верификация по Флойду.

 

1. Понятие «Подтверждение соответствия конечного продукта функциональным требованиям» это:

а) верификация; б) формальная верификация; в) темпоральная логика.

 

Методы обеспечения качества ПО. Метод проверки моделей

Метод проверки моделей - это метод формальной верификации для систем с конечным числом состояний. Позволяет проверить, удовлетворяет ли система некоторому свойству или требованию.

Исследуемая система приводится к модели с конечным числом состояний (например, модель Крипке). Проверяемые свойства представляются формулами темпоральной логики. Проверка модели - формальная проверка выполнимости формулы на модели. Результатами проверки являются два состояния - формула выполняется и формула не выполняется.

Существуют ограничения: проверяются только свойства, связанные только с корректностью смены состояний; не все свойства можно представить в виде темпоральных формул.

 

1. Понятие «Метод формальной верификации для систем с конечным числом состояний» это:

а) статический анализ; б) метод проверки моделей; в) аудит программного кода.

 

Методы обеспечения качества ПО. Статический анализ ПО

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

Основные виды программных дефектов при СА:

- неправильная работа с буферами (переполнение буферов, выход за границу массива);

- неправильная работа с динамической памятью (утечки памяти, «висячие» указатели, разыменование нулевого указателя);

- использование неинициализированных переменных;

- ошибки работы с объектами, библиотечными функциями, строками;

- арифметические ошибки.

Методы СА: интервальный анализ, поиск достижимости, ресурсный анализ, сигнатурный анализ.

Достоинства: обнаружение дефектов на ранних стадиях; сокращение стоимости разработки, отладки, тестирования, сопровождения.

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

 

1. Для статического анализа ПО используется:

а) готовое ПО; б) артефакты ПО; в) исходный код ПО.

2. Обнаружение дефектов в программном коде является целью:

а) статического анализа ПО; б) метода проверки моделей; в) регрессионного тестирования.

Методы обеспечения качества ПО. Аудит программного кода на основе метрик

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

Использование метрик:

- для проекта выбирается набор (или наборы) метрик;

- для каждой метрики: если метрика неоднозначна, то она доопределяется; формируются эталонные значения; значения метрик нормируются;

- осуществляется непрерывный аудит программного кода;

- метрики, значения которых неудовлетворительны, выбираются из анализа;

- программный код модифицируется с целью улучшения метрик;

- накапливается статистика;

- возможно, корректируются эталонные значения метрик.

 

1. Понятие «Процесс контроля и оценки программного кода в процессе его эволюции» это:

а) аудит; б) статический анализ; в) верификация.

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 710.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...