Проблема оракула в тестировании программного обеспечения: обзор
The Oracle Problem in Software Testing: A Survey
2014-11-20
SCID: 54.1/7g3zvtvh
Discuss with AI
разработка на основе контрактовметаморфное тестированиетестирование программного обеспеченияавтоматизация тестовых оракуловпроблема тестового оракула
Figures from the paper
Abstract (AI)
Тестирование предполагает исследование поведения системы с целью выявления потенциальных дефектов. Если задан входной сигнал для системы, задача различения соответствующего желательного, корректного поведения и потенциально некорректного поведения называется «проблемой тестового оракула». Автоматизация тестовых оракулов важна для устранения существующего узкого места, препятствующего дальнейшей общей автоматизации тестирования. При отсутствии автоматизации тестовых оракулов человек должен определить, является ли наблюдаемое поведение корректным. В литературе, посвященной тестовым оракулам, предложены методы автоматизации оракулов, включая моделирование, спецификации, контрактно-ориентированную разработку и метаморфное тестирование. Если ни один из этих методов не является полностью достаточным, конечным источником информации для тестового оракула остается человек, который может располагать неформальными спецификациями, ожиданиями, нормами и предметно-ориентированной информацией, обеспечивающими неформальные ориентиры для оракула. Все формы тестовых оракулов, включая самого человека, связаны с задачами снижения затрат и повышения эффективности. В статье представлен всесторонний обзор современных подходов к проблеме тестового оракула и анализ тенденций в этой важной области исследований и практики тестирования программного обеспечения.
Key Findings
1
Все подходы к тестовым оракулам требуют баланса между затратами на получение информации об ожидаемом поведении и пользой тестирования; статья систематизирует эти подходы и анализирует тенденции исследований.
2
Автоматизация тестовых оракулов необходима для уменьшения зависимости от человека, ограничивающей более широкую автоматизацию тестирования.
3
Существующие подходы к автоматизации оракулов включают моделирование, формальные спецификации, разработку на основе контрактов и метаморфное тестирование.
4
Проблема тестового оракула заключается в определении того, является ли поведение системы при заданном входе корректным или ошибочным.
5
Когда автоматизированные методы недостаточны, люди предоставляют информацию для оракула через неформальные спецификации, ожидания, нормы и предметные знания.
Research Object
Тестовый оракул (механизм определения корректного и некорректного поведения программной системы для заданных входных данных)
Research Subject
подходы к автоматизации тестовых оракулов и связанные с ними проблемы соотношения затрат и выгод
Publication Details
Publication Date
2014-11-20
Journal
Publisher
ISSN
Open access PDF
Access Type
Author Information
Download PDF
Subscribe to digest