Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование программного обеспечения.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
62.2 Кб
Скачать

Тестирование программного обеспечения - основные понятия и определения

Тестирование программного обеспечения (Software Testing) - проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. [IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004] В более широком смыслетестирование - это одна из техник контроля качества, включающая в себя активности по планированию работ (Test Management), проектированию тестов (Test Design), выполнению тестирования (Test Execution) и анализу полученных результатов (Test Analysis).

Верификация (Verification) - это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа [IEEE]. Т.е. выполняются ли наши цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы.

Валидация (Validation) - это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе[BS7925-1].

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

Тест дизайн (Test Design) - это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест кейсы), в соответствии с определёнными ранее критериями качества и целями тестирования.

Тестирование программного обеспечения[править | править вики-текст]

Существует несколько признаков, по которым принято производить классификацию видов тестирования. Обычно выделяют следующие:

По объекту тестирования:

  • Функциональное тестирование (functional testing)

  • Тестирование производительности (performance testing)

    • Нагрузочное тестирование (load testing)

    • Стресс-тестирование (stress testing)

    • Тестирование стабильности (stability / endurance / soak testing)

    • Конфигурационное тестирование (configuration testing)

  • Юзабилити-тестирование (usability testing)

  • Тестирование интерфейса пользователя (UI testing)

  • Тестирование безопасности (security testing)

  • Тестирование локализации (localization testing)

  • Тестирование совместимости (compatibility testing)

По знанию системы:

  • Тестирование чёрного ящика (black box)

  • Тестирование белого ящика (white box)

  • Тестирование серого ящика (grey box)

По степени автоматизации:

  • Ручное тестирование (manual testing)

  • Автоматизированное тестирование (automated testing)

  • Полуавтоматизированное тестирование (semiautomated testing)

По степени изолированности компонентов:

  • Компонентное (модульное) тестирование (component/unit testing)

  • Интеграционное тестирование (integration testing)

  • Системное тестирование (system/end-to-end testing)

По времени проведения тестирования:

  • Альфа-тестирование (alpha testing)

    • Дымовое тестирование (smoke testing)

    • Тестирование новой функциональности (new feature testing)

    • Подтверждающее тестирование (confirmation testing)

    • Регрессионное тестирование (regression testing)

    • Приёмочное тестирование (acceptance testing)

  • Бета-тестирование (beta testing)

По признаку позитивности сценариев:

  • Позитивное тестирование (positive testing)

  • Негативное тестирование (negative testing)

По степени подготовленности к тестированию:

  • Тестирование по документации (formal testing)

  • Тестирование ad hoc или интуитивное тестирование (ad hoc testing)