- •Фактори якості програмного забезпечення.
- •Метрики якості програмного забезпечення Холстеда.
- •Интеллектуальное содержание программы (в условных единицах)
- •Регресійне тестування.
- •Визначення поняття веріфікації програмного забезпечення.
- •Метрики якості програмного забезпечення МакКейба.
- •Цикл попередження появи помилок в програмному забезпеченні.
- •Концепція тестування.
- •Зв’язок задач валідації, верифікації та тестування с життевим циклом програмного забезпечення.
- •Принципи тестування навантаженням.
- •Стадії тестування в процесі розробки програмного забезпечення.
- •Модель управління якістю програмного забезпечення - cmmi.
- •Інтеграційне тестування.
- •Основні поняття в проблемі тестування програмного забезпечення.
- •Модульне тестування.
- •Тестирование методом „білій ящик”.
- •Надійність програмного забезпечення.
- •Поняття системного тестування.
- •Модель комплексного управління якістю програмного забезпечення (на базі iso).
- •Методика аналізу помилки, що повторюється.
- •Роль керівника проекту при використанні системи відстеження помилок.
- •Характеристики „доброго” тесту.
- •Модель вимірювання характеристик якості програмного забезпечення.
- •Поняття класу еквівалентності.
- •Класифікація методів верифікації.
- •Мутаційні критерії вибору тестів.
- •Основні проблеми процесу тестування програмного забезпечення.
- •Ролі в процесі веріфікації програмного забезпечення.
- •Кількісні характеристики програмного забезпечення та його надійності.
- •Функціональні критерії вибору тестів.
- •Класифікація програмних помилок.
- •Призначення та основні компоненти звіту про помилку.
- •Стохастичні критерії вибору тестів.
- •На прикладі системи mantis дайте характеристики системі відстеження помилок.
- •Принципи тестування переходів між станами програми.
- •Ключові засади автоматизації тестування.
- •Особливості інтеграційного тестування для об’єктно-орієнтовного програмування.
- •Структурні критерії вибору тестів.
- •Документування в процесі верифікації.
- •Визначення якості программного забезпечення (iso, ieee).
Метрики якості програмного забезпечення МакКейба.
Метрика Маккейба основана на анализе потока передачи управления от одного оператора к другому. Это позволяет учесть логику программы при оценке ее сложности.
Программа (алгоритм, спецификация) должна быть представлена в виде управляющего ориентированного графа, где вершины соответствуют операторам, а дуги – переходам от одного оператора к другому.
Граф, описывающий программу в виде вершин-операторов и дуг-переходов, называют графом управления или управляющим графом программы.
Метрика
Маккейба является цикломатическим
числом графа управления программы и
определяется выражением
где m
– количество ребер графа, n
– количество вершин графа.
Величину М называют цикломатическим числом Маккейба.
Физический смысл цикломатического числа – это количество тестов достаточных для тестирования данного программного кода.
Если в программном коде присутствуют операторы ветвления условия, то M=u+1, где u – количество операторов ветвления.
Цикломатическое число – является мерой программы. Если оно >10, то программный код надо разбить на модули, где каждый модуль характеризуется числом <10.
В практическом аспекте цикломатическое число является мерой сложности программы и определяет количество тестов, достаточных для тестирования по критерию покрытия всех ветвей программы.
Если это число >10, то программа обладает излишней сложностью и ее следует разбить на составные части (независимые модули или подпрограммы) с меньшим значением цикломатического числа.
Цикл попередження появи помилок в програмному забезпеченні.
Данный цикл позволяет выделить 5 этапов:
-
Этап жизненного цикла:
Доля, %:
Описание требований
20
Проектирование
25
Кодирование
35
Руководство пользователя
12
Тестирование
8
Этап профилактики дефектов – анализ требований
Проверка автором и экспертная оценка
Регистрация и документирование ошибок. Информация о дефекте должна включать:
Полное описание дефектов, что бы каждый мог этот дефект воспроизвести
Описание дефектов в скриншотах
Имена нашедших дефект
Анализ первопричины, выделяют 3 принципа:
Понижамем число дефектов для улучшения качества, это означает, что необходимо так улучшать процесс разработки, что бы дефекты подобного рода не проявлялись.
Послушай эксперта. Если есть образец дефекта, то возможно кто-то в другой команде с ним сталкивался.
Выявление систематических ошибок.
Концепція тестування.
Тестирование – вид деятельности в процессе разработки ПО, направленный на обнаружение дефектов.
Мы считаем, что любая программа это аналог формулы в математике. f=f1+f2+..+fn. Каждая функция – оператор ЯП. Задача тестировщика – доказать истинность этой формулы. Существует 2 способа доказательства:
Формульный – математически выводим искомую формулу из составляющих.
Интерпретационный - Когда в формулу поставляем константы и проверяем.
Отладка – процесс поиска, локализации и исправления программной ошибки, а тестирование обеспечивает выявления факторов расхождения поведения программы и требований.
2 типа тестирования:
Статический – без выполнения программы (контроль кода).
Динамический - только на выполняющейся программе.
Тестирование мы выполняем на входном множестве Х. Помимо вх и вых данных есть функция Oracle, которая дает заключение о факте появления неправильной пары. Это либо человек, либо некая программа.
Методы тестирования:
Desk Checking – выполнение программы в голове.
Вставка оператора протоколирования
Пошаговое выполнения программы
Выполнение с заказанными установками
Реверсивное выполнение – на каждом этапе СредПрог фиксирует dump, и ты можешь пройти по ключевым точкам.
Данный подход реализуется с помощью алгоритма который состоит из трех фаз тестирования:
Создание тестового набора(Test suite)
Прогон(Driving) – тестовый монитор, который формирует testLog – протокол тестирования
Assessment - оценка полученных результатов.
