Coverage Metrics for Requirements-Based Testing Michael W. Whalen Ajitha Rajan Mats P.E. Heimdahl Steven P. Miller (Univ. of Minnesota) (Univ. of Minnesota) (Univ. of Minnesota) (Rockwell Collins Inc.) 1 Adequacy of Black Box Test Suites • Is your black-box test suite adequate? • Current practice • Examine coverage on an executable artifact http://www.umsec.umn.edu Requirements Black-Box Tests Soft. Model/ Source Code Measure Adequacy 2 Adequacy of Black Box Test Suites • Problems with current practice • Indirect measure • Defects of omission in implementation not http://www.umsec.umn.edu exposed. Incomplete Implementation Weak Black-Box Test set • Executable artifact is necessary • adequacy can only be determined late in the development process 3 Adequacy Measure - Desirable Properties • Objective, implementationhttp://www.umsec.umn.edu independent measure of adequacy of a black-box test suite • Objective assessment of completeness of high-level requirements (given an implementation) • Potential for autogeneration of blackbox test suites. 4 The Idea Write requirements in a formal notation… microwave_library_temp/mode_logic G (FD_On -> Cues_On); ON 1 Left_Independent_Mode AND http://www.umsec.umn.edu G((¬ Onside_FD_On Λ ¬ Is_AP_Engaged) → X(Is_AP_Engaged → Onside_FD_On)) Temporal Logic OFF entry: mode=1; NOT {steps_remaining= steps_to_cook;} [steps_remaining>0] /steps_remaining--; [start && steps_to_cook>0] 3 FAILED entry: mode=2; 2 2 Right_Independent_Mode OR 1 Property_Satisfied 3 [steps_remaining<=0] Left_FGS_Active 1 [clear_off || ... 2 !door_closed] 1 AND Ok entry: mode=3; [clear_off] /steps_remaining=0; 4 [door_closed] 1 [start && ... door_closed] 2 Right_FGS_Active Synchronous Observers State Machines Pri nted 14-Jul- 2006 12:51:47 …then define structural coverage metrics to directly and objectively describe coverage of requirements 5 Formalizing Requirements “If the onside FD cues are off, the onside FD cues shall be displayed when the AP is engaged” G((¬ Onside_FD_On ¬ Is_AP_Engaged) → X(Is_AP_Engaged → Onside_FD_On)) http://www.umsec.umn.edu • Possible Coverage Metrics • Requirements coverage: Single test case that demonstrates that req. is satisfied • Prone to “dumb” tests, e.g. execution in which AP is never engaged. • More rigorous metric is necessary 6 Modified Condition/Decision Coverage (MC/DC) • To satisfy MC/DC • Every point of entry and exit in the model should be http://www.umsec.umn.edu invoked at least once, • Every basic condition in a decision in the model should take on all possible outcomes at least once, • Each basic condition should be shown to independently affect the decision’s outcome Basic Conditions Independent effect of B A B F F F T F T F T T 7 A or B Independent effect of A Unique First Cause (UFC) Coverage “System shall eventually generate an Ack or a Time Out” Req. LTL property - F(A B) http://www.umsec.umn.edu ¬A, ¬B ¬A, ¬B A, ¬ B ¬A, ¬B S0 S1 S2 S3 ¬A, B Si Path satisfies UFC obligation for A but not B. ¬A, ¬B For independence of B, S0 ¬A, ¬B S1 Formal UFC obligation for A : ¬(A B) U (A ¬B) for B : ¬(A B) U (B ¬A) 8 ¬A, B Si UFC Coverage http://www.umsec.umn.edu • G(A)+ = {A U (a G(A)) | a є A+} G(A)- = {A U a | a є A-} • F(A)+ = {¬A U a | a є A+} F(A)- = {¬A U (a G(¬A))| a є A-} • (A U B)+ = {(A ¬B) U ((a ¬B) (A U B)) | a є A+} {(A ¬B) U b | b є B+} (A U B)- = {(A ¬B) U (a ¬B) | a є A-} {(A ¬B) U (b ¬(A U B)) | b є B-} • X(A)+ = {X(a) | a є A+} X(A)- = { X(a) | a є A-} 9 Reqs. Coverage as an Adequacy Measure for Conformance Testing http://www.umsec.umn.edu Hypothesis 1(H1): Conformance tests providing requirements UFC coverage are more effective than conformance tests providing MC/DC over the model Hypothesis 2(H2): Conformance tests providing requirements UFC coverage in addition to MC/DC over the model are more effective than conformance tests providing only MC/DC over the model 10 Experiment Setup Reduced UFC Test Suite 1 Formal LTL Requirements Generate UFC Tests Reduce http://www.umsec.umn.edu Reduced UFC Test Suite 2 Formal Model Generate MC/DC Tests Reduce Reduced MC/DC Test Suite 1 Reduced MC/DC Test 11Suite 2 Reduced UFC Test Suite 3 Reduced MC/DC Test Suite 3 Results – Hypothesis 1 MC/DC vs UFC http://www.umsec.umn.edu % Fault Finding 100 80 60 Avg. MC/DC 40 Avg. UFC 20 0 DWM1 DWM2 Latctl Vertmax Hypothesis 1 rejected at 5% statistical significance on all but the Latctl system 12 Analysis – Hypothesis 1 LTLSPEC G(var_a > ( LTLSPEC G(var_a > ( case case foo : 0 ; foo & baz : 0 + 2 ; http://www.umsec.umn.edu bar : 1 ; foo & bpr : 0 + 3 ; esac + bar & baz : 1 + 2 ; case bar & bpr : 1 + 3 ; baz : 2 ; esac bpr : 3 ; )); esac )); 13 Results – Hypothesis 2 http://www.umsec.umn.edu % Fault Finding MC/DC vs MC/DC + UFC 96 94 92 90 88 86 84 82 80 Best MC/DC Avg. Combined DWM1 DWM2 Latctl Vertmax Hypothesis 2 accepted at 5% statistical significance on all but the DWM2 system 14 Conclusion • UFC > MC/DC FALSE 3 of the 4 case examples at 5% statistical significance • UFC + MC/DC > MC/DC TRUE 3 of the 4 case examples at 5% statistical significance http://www.umsec.umn.edu • Combine rigorous metrics for requirements coverage and model coverage to measure adequacy of conformance test suites • UFC as well as MC/DC metrics are sensitive to structure of requirements/implementation Need coverage metrics that are robust to structural changes Currently working on this 15