Web Application Fault Classification — An Exploratory Study Yuepu Guo, Sreedevi Sampath University of Maryland Baltimore County presentation by Daniel Kellenberger 01.06.2010
Why Do We Need (Another) Fault Classification? • Fault-based software testing • Other classifications are… — Not based on empirical data — Not designed for web applications • ODC was used as guideline for the paper 2
Orthogonal Defect Classification (ODC) • Opener section — Activity — Trigger — Impact • Closer section — Target — Defect type — Qualifier — Age — Source 3
Web Applications • Large user group • Heterogeneous… — Components — Technologies — Programming languages — etc… • Multiple entry points 4
Build a Taxonomy • Select a dimension • Specify baseline • Add/adjust categories 5
Dimension • Traditional ODC categories • Web specific categories — server platform — web browser — etc… Physical location of a fault 6
Baseline • Data store faults • Logic faults • Form faults • Appearance faults • Link faults 7
Criteria of the selected Applications • From sourceforge.net • Web-based Java application • More than 10K LOC • Activity index greater than 70% 8
Roller Weblogger 9
qaManager 10
Selected Applications Roller Weblogger qaManager Developers 5 9 Activity Index 79.1% 99.9% LOC 32848 49030 Open bugs 3 12 Total bugs 104 161 Domain Communications Business 11
Fault Analysis Procedure • Analyze the bugs — Look at the bug report — If necessary look into the code • Try to assign to a existing category — Create new category — Split category into sub categories 12
Results Fault Category Number of Faults Roller Weblogger qaManager Data Store 12 11.5% 19 11.8% Appearance 13 12.5% 24 14.9% Link 13 12.5% 9 5.6% Form 1 1.0% 4 2.5% Compatibility 3 2.9% 6 3.7% Logic 62 59.6% 99 61.5% Total Faults 104 100% 161 100% 13
Results cont. Fault Category Number of Faults Roller Weblogger qaManager Browser interaction 4 6.4% 4 4.0% Paging 3 4.8% 3 3.0% Session 5 8.1% 2 2.0% Server-side parsing 6 9.7% 0 0.0% Encoding/decoding 4 6.4% 2 2.0% Locale 5 8.1% 3 3.0% Other 35 56.5% 85 86.0% Total Logic Faults 62 100% 99 100% 14
Discussion • They say — Hope that other researchers will use their fault classification — Plan to do larger study (other than java) • My opinion — Just a proposition — Only 2 applications (and only java) — Only little content — Security aspect (no category for that) 15
Questions?
Recommend
More recommend