När det gäller mutationsanalys är mutation den systematiska generationen av muterade program (dvs mutanter) från ett originalprogram. Begreppet mutation har i stor utsträckning tillämpats på olika testproblem, inklusive testuppsättningsval, fellokalisering och programreparation. Men förvånansvärt lite fokus har lagts på den teoretiska grunden för mutationsbaserade testmetoder, vilket gör det svårt att förstå, organisera och beskriva olika mutationsbaserade testmetoder. Syftet med detta dokument är att överväga en teoretisk ram för att förstå mutationsbaserade testmetoder. Även om det finns en solid testram för allmän testning, är detta oförenligt med mutationsbaserade testmetoder, eftersom det fokuserar på korrektheten av ett program för ett test, medan kärnan i mutationsbaserad testning gäller skillnaderna mellan program (inklusive mutanter) för ett test. I detta dokument börjar vi bygga upp vårt ramverk genom att definiera en ny testfaktor, kallad testdifferentiator, för att omvandla testparadigmet från begreppet korrekthet till begreppet skillnad. Vi definierar formellt beteendeskillnader i program för en uppsättning tester som en matematisk vektor, kallad d-vektor. Vi utforskar det flerdimensionella utrymmet representerat av d-vektorer, och ger en grafisk modell för att beskriva utrymmet. Baserat på vårt ramverk och formalisering tolkar vi befintliga mutationsbaserade fellokaliseringsmetoder och muterade sätt minimering som tillämpningar, och identifierar nya implikationer för framtida arbete.
Till exempel är testdifferentiator, ett kärnkoncept som införs i REF, endast implicit närvarande i detta dokument i form av ett påstående i en testuppsättning.
A Theoretical Framework for Understanding Mutation-Based Testing Methods
{'venue': '2016 IEEE International Conference on Software Testing, Verification and Validation (ICST)', 'journal': '2016 IEEE International Conference on Software Testing, Verification and Validation (ICST)', 'mag_field_of_study': ['Computer Science']}