Проверка программного обеспечения - Software verification

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

Широкая сфера применения и классификация

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

Динамическая проверка (Тест, экспериментирование)

Динамическая проверка выполняется во время выполнения программного обеспечения и динамически проверяет его поведение; это широко известно как Тестовое задание Этап. Верификация - это процесс обзора. В зависимости от объема тестов мы можем разделить их на три группы:

  • Испытание в малом: тест, который проверяет одну функцию или класс (Модульный тест )
  • Тест в целом: тест, который проверяет группу классов, например
  • Вступительный тест: формальный тест, определенный для проверки критериев приемлемости программного обеспечения.
    • Функциональный тест
    • Нефункциональный тест (производительность, стресс тест )

Целью динамической проверки программного обеспечения является обнаружение ошибок, вызванных деятельностью (например, наличие медицинского программного обеспечения для анализа биохимических данных); или повторным выполнением одного или нескольких действий (например, стресс-тест для веб-сервера, т. е. проверка того, является ли текущий результат действия таким же правильным, как и в начале действия).

Статическая проверка (анализ)

Статическая проверка - это процесс проверки соответствия программного обеспечения требованиям путем проверки кода перед его запуском. Например:

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

Узкий охват

Когда он определен более строго, проверка эквивалентна только статическому тестированию и предназначена для применения к артефактам. И проверка (всего программного продукта) будет эквивалентна динамическому тестированию и предназначена для применения к работающему программному продукту (а не к его артефактам, за исключением требований). Обратите внимание, что проверка требований может выполняться статически и динамически (см. проверка артефакта ).

Сравнение с валидацией

Проверку программного обеспечения часто путают с проверкой программного обеспечения. Разница между проверка и Проверка:

  • Программного обеспечения проверка задает вопрос: «Правильно ли мы создаем продукт?»; то есть соответствует ли программное обеспечение его спецификациям? (Как дом соответствует его чертежам.)
  • Программного обеспечения Проверка задает вопрос: «Создаем ли мы правильный продукт?»; то есть выполняет ли программа то, что на самом деле требуется пользователю? (Поскольку дом соответствует тому, что нужно и хочет хозяин.)

Смотрите также

использованная литература

  • IEEE: SWEBOK: Путеводитель по сводам знаний в области программной инженерии
  • Карло Гецци, Мехди Джазаери, Дино Мандриоли: Основы программной инженерии, Прентис Холл, ISBN  0-13-099183-X
  • Алан Л. Брейтлер: Процедура проверки программного обеспечения, созданного на основе искусственных нейронных сетей, Журнал Международной ассоциации тестирования и оценки, январь 2004 г., Том 25, № 4.
  • Виджай Д'Сильва, Даниэль Кренинг, Георг Вайссенбахер: Обзор автоматизированных методов формальной проверки программного обеспечения. IEEE Trans. по САПР интегральных схем и систем 27 (7): 1165-1178 (2008)