Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТПО ответы v. бета.docx
Скачиваний:
18
Добавлен:
11.09.2019
Размер:
293.95 Кб
Скачать
  1. Метрики якості програмного забезпечення МакКейба.

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

Программа (алгоритм, спецификация) должна быть представлена в виде управляющего ориентированного графа, где вершины соответствуют операторам, а дуги – переходам от одного оператора к другому.

Граф, описывающий программу в виде вершин-операторов и дуг-переходов, называют графом управления или управляющим графом программы.

Метрика Маккейба является цикломатическим числом графа управления программы и определяется выражением где m – количество ребер графа, n – количество вершин графа.

Величину М называют цикломатическим числом Маккейба.

Физический смысл цикломатического числа – это количество тестов достаточных для тестирования данного программного кода.

Если в программном коде присутствуют операторы ветвления условия, то M=u+1, где u – количество операторов ветвления.

Цикломатическое число – является мерой программы. Если оно >10, то программный код надо разбить на модули, где каждый модуль характеризуется числом <10.

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

Если это число >10, то программа обладает излишней сложностью и ее следует разбить на составные части (независимые модули или подпрограммы) с меньшим значением цикломатического числа.

  1. Цикл попередження появи помилок в програмному забезпеченні.

Данный цикл позволяет выделить 5 этапов:

Этап жизненного цикла:

Доля, %:

  1. Описание требований

20

  1. Проектирование

25

  1. Кодирование

35

  1. Руководство пользователя

12

  1. Тестирование

8

  1. Этап профилактики дефектов – анализ требований

  2. Проверка автором и экспертная оценка

  3. Регистрация и документирование ошибок. Информация о дефекте должна включать:

  • Полное описание дефектов, что бы каждый мог этот дефект воспроизвести

  • Описание дефектов в скриншотах

  • Имена нашедших дефект

  1. Анализ первопричины, выделяют 3 принципа:

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

  • Послушай эксперта. Если есть образец дефекта, то возможно кто-то в другой команде с ним сталкивался.

  • Выявление систематических ошибок.

  1. Концепція тестування.

Тестирование – вид деятельности в процессе разработки ПО, направленный на обнаружение дефектов.

Мы считаем, что любая программа это аналог формулы в математике. f=f1+f2+..+fn. Каждая функция – оператор ЯП. Задача тестировщика – доказать истинность этой формулы. Существует 2 способа доказательства:

  1. Формульный – математически выводим искомую формулу из составляющих.

  2. Интерпретационный - Когда в формулу поставляем константы и проверяем.

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

2 типа тестирования:

  1. Статический – без выполнения программы (контроль кода).

  2. Динамический - только на выполняющейся программе.

Тестирование мы выполняем на входном множестве Х. Помимо вх и вых данных есть функция Oracle, которая дает заключение о факте появления неправильной пары. Это либо человек, либо некая программа.

Методы тестирования:

  1. Desk Checking – выполнение программы в голове.

  2. Вставка оператора протоколирования

  3. Пошаговое выполнения программы

  4. Выполнение с заказанными установками

  5. Реверсивное выполнение – на каждом этапе СредПрог фиксирует dump, и ты можешь пройти по ключевым точкам.

Данный подход реализуется с помощью алгоритма который состоит из трех фаз тестирования:

  1. Создание тестового набора(Test suite)

  2. Прогон(Driving) – тестовый монитор, который формирует testLog – протокол тестирования

  3. Assessment - оценка полученных результатов.