- •1. Определение и сущность основных характеристик качества программ: функциональности, корректности и надежности, эффективности, сложности, трудоемкости и ресурсоемкости, производительности.
- •2. Понятие метрики. Типы метрик и шкал. Понятие критерия оценки качества. Функциональные и конструктивные критерии оценки качества программ.
- •3. Этапы жизненного цикла программ и обеспечение качества программ на различных этапах. Характеристика статических и динамических составляющих качества программ.
- •4. Классификация видов сложности программных продуктов и их краткая характеристика.
- •9. Методы и средства измерения характеристик программ. Схема проведения измерений. Способы регистрации измеряемых параметров. Типы измерительных мониторов и требования к ним.
- •11. Аппаратные измерительные мониторы (аим). Общая структура. Аим с фиксированной программой. Достоинства и недостатки.
- •12. Аппаратные измерительные мониторы (аим) с изменяемой программой (гибридные). Достоинства и недостатки.
- •17. Надежность программ. Основные понятия: отказ, сбой, ошибки и восстановление - применительно к программам. Количественные оценки(показатели) надежности.
- •27. Тестирование программных изделий. Методы и критерии тестирования. Понятие теста. Основные принципы тестирования.
- •28. Объекты тестирования. Категории тестов, для различных объектов тестирования.
- •29. Тестирование на основе потока управления. Критерий покрытия решений.
- •30. Тестирование на основе потока управления. Критерий покрытия условий.
- •31. Тестирование на основе потока управления. Критерий комбинаторного покрытия условий
- •32. Функциональное тестирование. Метод эквивалентного разбиения.
- •33. Функциональное тестирование. Анализ граничных значений.
- •34. Метод тестирования на основе предположения об ошибке. Критерии завершения тестирования.
33. Функциональное тестирование. Анализ граничных значений.
Граничные условия– это ситуации, возникающие непосредственно на, выше или ниже границ входных и выходных классов эквивалентности.
Отличия от эквивалентного разбиения: 1. Выбор любого элемента в классе эквивалентности в качестве представительного при анализе граничных значений осуществляется таким образом, чтобы проверить тестом каждую границу этого класса (т.е. исследуются ситуации, возникающие на и вблизи границ эквивалентных разбиений); 2. Рассматриваем не только входные условия, но и выходные значения.
Правила использования данного метода:
1) Построить тесты для границ области и тесты с неправильными входными данными для ситуаций незначительного выхода за границы области, если входное условие описывает область значений. Пример: правильное значение -1.0 X+1.0, тесты для ситуаций: -1.0, 1.0, -1.001, 1.001.
2) Построить тесты для минимального и максимального значений условий и тесты, большие и меньшие этих значений, если входное условие принимает значения из некоторого дискретного диапазона. Например, если входной файл может содержать от 1 до 256 записей, то необходимо составить тесты для 0, 1, 255 и 256 записей.
3) Использовать правило 1) для каждого выходного условия. Например, если программа вычисляет ежемесячный расход и если минимум расхода составляет 0.00 руб., а максимум – 100000.00 руб, то нужно построить тесты, которые вызывают следующие расходы: -1.00, 0.00, 100000.00 и 100000.25.
4) Использовать правило 2) для каждого выходного условия. Например, если система информационного поиска отображает на экране терминала не более 8 наиболее подходящих рефератов для входного запроса, то следует составить тесты, которые могли бы вызвать выполнение программы с отображением 0, 1, 8, >8 рефератов.
5) Если вход или выход программы – упорядоченное множество (например, линейный список, таблица, последовательный файл), то следует разработать тесты для обработки первого и последнего элементов этого множества.
[-] Они не исследуют комбинации входных условий. Например, если тестируется некоторая программа социологического опроса, то она может не обнаружить ошибку, связанную с превышением произведения числа вопросов и числа респондентов, хотя такая ошибка не обязательно будет обнаружена тестированием граничных значений.
Тестирование комбинаций входных условий – сложная задача, поскольку даже при эквивалентном разбиении входных условий число комбинаций классов эквивалентности может быть очень большим. Если нет систематического способа выбора подмножества входных условий, то, как правило, выбирается произвольное подмножество, приводящее к неэффективному тесту.
34. Метод тестирования на основе предположения об ошибке. Критерии завершения тестирования.
Человек, обладающий богатым практическим опытом, часто подсознательно применяет метод проектирования тестов, называемый предположением об ошибке. Процедуру для метода предположения об ошибке невозможно описать формально, так как он во многом является интуитивным. Основная идея метода заключается в том, чтобы перечислить в некотором списке возможные ошибки или ситуации, в которых они могут появиться, а затем на основе этого списка написать тесты.
В качестве примера рассмотрим тестирование подпрограммы сортировки. Необходимо предусмотреть следующие специальные случаи, которые могут быть не учтены при проектировании программы: 1. Сортируемый список пуст; 2. Сортируемый список содержит только одно значение; 3. Все записи в сортируемом списке имеют одно и то же значение; 4. Список уже отсортирован.
Критерии завершения тестирования (Когда же остановится?)
Три группы критериев для завершения тестирования: 1. Критерии, основанные на использовании определенной методологии проектирования тестов. Тестирование завершается, когда по критерию тестирования достигается заранее заданный процент покрытия и тесты для определенного критерия заканчиваются без нахождения ошибок в программе; 2. Критерии, в основу которых положен принцип завершения тестирования при нахождении определенного экспертами до начала работ числа ошибок; 3. Критерии, основанные на построении временной диаграммы тестирования. На каждой фазе проектирования программного продукта решение о продолжении тестирования принимается на основе анализа этой диаграммы.