Проверка программного обеспечения - Software verification
Проверка программного обеспечения это дисциплина программная инженерия цель которого - убедиться, что программное обеспечение полностью удовлетворяет всем ожидаемым требованиям.
Широкая сфера применения и классификация
Широкое определение проверки делает его эквивалентным тестирование программного обеспечения. В этом случае есть два основных подхода к верификации:
- Динамическая проверка, также известен как экспериментирование, динамическое тестирование или просто тестирование. - Это хорошо для поиска неисправностей (программные ошибки ).
- Статическая проверка, также известен как анализ или, статическое тестирование - Это полезно для доказательства правильность программы. Хотя это может привести к ложным срабатываниям, когда есть один или несколько конфликтов между процессом, который действительно выполняет программное обеспечение, и тем, что предполагает статическая проверка.
Динамическая проверка (Тест, экспериментирование)
Динамическая проверка выполняется во время выполнения программного обеспечения и динамически проверяет его поведение; это широко известно как Тестовое задание Этап. Верификация - это процесс обзора. В зависимости от объема тестов мы можем разделить их на три группы:
- Испытание в малом: тест, который проверяет одну функцию или класс (Модульный тест )
- Тест в целом: тест, который проверяет группу классов, например
- Тест модуля (отдельный модуль)
- Интеграционный тест (более одного модуля)
- Системный тест (вся система)
- Вступительный тест: формальный тест, определенный для проверки критериев приемлемости программного обеспечения.
- Функциональный тест
- Нефункциональный тест (производительность, стресс тест )
Целью динамической проверки программного обеспечения является обнаружение ошибок, вызванных деятельностью (например, наличие медицинского программного обеспечения для анализа биохимических данных); или повторным выполнением одного или нескольких действий (например, стресс-тест для веб-сервера, т. е. проверка того, является ли текущий результат действия таким же правильным, как и в начале действия).
Статическая проверка (анализ)
Статическая проверка - это процесс проверки соответствия программного обеспечения требованиям путем проверки кода перед его запуском. Например:
- Условные обозначения кода проверка
- Плохая практика (антипаттерн ) обнаружение
- Показатели программного обеспечения расчет
- Формальная проверка
Проверка посредством анализа - Метод проверки анализа применяется к проверке посредством расследования, математических расчетов, логической оценки и расчетов с использованием классических методов из учебников или общепринятых компьютерных методов. Анализ включает в себя отбор образцов и сопоставление измеренных данных и наблюдаемых результатов испытаний с рассчитанными ожидаемыми значениями для установления соответствия требованиям.
Узкий охват
Когда он определен более строго, проверка эквивалентна только статическому тестированию и предназначена для применения к артефактам. И проверка (всего программного продукта) будет эквивалентна динамическому тестированию и предназначена для применения к работающему программному продукту (а не к его артефактам, за исключением требований). Обратите внимание, что проверка требований может выполняться статически и динамически (см. проверка артефакта ).
Сравнение с валидацией
Проверку программного обеспечения часто путают с проверкой программного обеспечения. Разница между проверка и Проверка:
- Программного обеспечения проверка задает вопрос: «Правильно ли мы создаем продукт?»; то есть соответствует ли программное обеспечение его спецификациям? (Как дом соответствует его чертежам.)
- Программного обеспечения Проверка задает вопрос: «Создаем ли мы правильный продукт?»; то есть выполняет ли программа то, что на самом деле требуется пользователю? (Поскольку дом соответствует тому, что нужно и хочет хозяин.)
Смотрите также
использованная литература
- IEEE: SWEBOK: Путеводитель по сводам знаний в области программной инженерии
- Карло Гецци, Мехди Джазаери, Дино Мандриоли: Основы программной инженерии, Прентис Холл, ISBN 0-13-099183-X
- Алан Л. Брейтлер: Процедура проверки программного обеспечения, созданного на основе искусственных нейронных сетей, Журнал Международной ассоциации тестирования и оценки, январь 2004 г., Том 25, № 4.
- Виджай Д'Сильва, Даниэль Кренинг, Георг Вайссенбахер: Обзор автоматизированных методов формальной проверки программного обеспечения. IEEE Trans. по САПР интегральных схем и систем 27 (7): 1165-1178 (2008)