Investigating the Temporal Behavior of Defect Detection in Software Inspection and Inspection-Based Testing



Similar documents
Early Software Product Improvement with Sequential Inspection Sessions: An empirical Investigation of Inspector Capability and Learning Effects

Empirical Software Engineering Introduction & Basic Concepts

Agile Software Engineering Practice to Improve Project Success

Aspects of Software Quality Assurance in Open Source Software Projects: Two Case Studies from Apache Project

Improving Video Game Development: Facilitating Heterogeneous Team Collaboration Through Flexible Software Processes

Process Automation and Quality Management in Multi-Disciplinary Engineering Environments

Engineering Object Change Management Process Observation in Distributed Automation Systems Projects

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

A Framework to Balance Tracing Agility and Formalism

Test-Driven Automation: Adopting Test-First Development to Improve Automation Systems Engineering Processes

Assignment 12: Quality Assurance Plan

BAL2-1 Professional Skills for the Business Analyst

Using Productivity Measure and Function Points to Improve the Software Development Process

Usage of SCRUM Practices within a Global Company

Value-Based Software Engineering Concepts: Overview and Introduction

Versioning in Cyber-Physical Production System Engineering Best-Practice and Research Agenda

Software Quality Assurance Software Inspections and Reviews

A Model for Effective Asset Re-use in Software Projects

International Software Test Institute

Internal Audit Hearing Sheet

Benefits of Test Automation for Agile Testing

Software Quality Management

Chapter 8 Software Testing

ESTABLISHING A MEASUREMENT PROGRAM

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Maintaining Quality in Agile Environment

A Framework for Software Product Line Engineering

Engineering Project Management Using The Engineering Cockpit

Continuous Integration Comes to China.

Better processes by sprint: Agile process improvement. Timo Karasch, Method Park

SKILL DEVELOPMENT IN THE ERA OF QUALITY ASSURANCE MANAGEMENT WITH RESPECT TO PRODUCTS & SERVICES BASED SOFTWARE IT ORGANIZATIONS

An Overview of Quality Assurance Practices in Agile Methodologies

Custom Software Development Approach

A Comparison of Issues and Advantages in Agile and Incremental Development between State of the Art and an Industrial Case

MOBILE APPLICATION TESTING ENGINEER

Product Development Best Practices

Engineering. Software. Eric J. Braude. Michael E. Bernstein. Modern Approaches UNIVERSITATSBIBLIOTHEK HANNOVER ' TECHNISCHE INFORM ATIONSBIBLIOTHEK

Chapter 3 Research Methodology

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Your Agile Team s Indispensible Asset

Measuring Return on Investment of Model-Based Design

Phases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

_WF_reporting_bro_UK.

ájoƒ ùdg á«hô dg áµلªÿg Yesser Overall SDLC Process Definition

SCRUM 1. Upon what type of process control is Scrum based? a. Empirical b. Hybrid c. Defined d. Complex

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Process for Sales Projection Process Documentation Template: Description Sales Projection (Sales Forecasting) Process

An SME Transition from Plan-Driven to Hybrid Project Management with Agile Software Development Methods

JOURNAL OF OBJECT TECHNOLOGY

Fundamentals of Measurements

Security Engineering Best Practices. Arca Systems, Inc Boone Blvd., Suite 750 Vienna, VA

Software Development Going Incremental, Iterative and Agile:

CSTE Mock Test - Part III Questions Along with Answers

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Software Quality Subcontractor Survey Questionnaire INSTRUCTIONS FOR PURCHASE ORDER ATTACHMENT Q-201

A Comprehensive Safety Engineering Approach for Software Intensive Systems based on STPA

Optimizing IV&V Benefits Using Simulation

Software Architecture

Leading Indicators for Project Management

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization

Business Analysis Essentials

Quality Management. Lecture 12 Software quality management

Presentation: 1.1 Introduction to Software Testing

MTAT Software Engineering Management

Functional Validation of SAP Implementation

Chap 1. Software Quality Management

Software Development Life Cycle (SDLC)

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Agile Testing. What Students Learn

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

Software Requirements, Third Edition

B2B Software Technologies Ltd. Service Level Agreement (SLA)

Global Big Data and Analytics Market in Telecom Industry

Transforming Software Quality Assurance &Testing

Agile Scrum Foundation Training

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process

Safety Issues in Automotive Software

Feature. A Higher Level of Governance Monitoring IT Internal Controls. Controls tend to degrade over time and between audits.

TEST PLAN Issue Date: <dd/mm/yyyy> Revision Date: <dd/mm/yyyy>

Transcription:

Investigating the Temporal Behavior of Defect Detection in Software Inspection and Inspection-Based Testing Dietmar Winkler Stefan Biffl Kevin Faderl Institute of Software Technology and Interactive Systems, Vienna University of Technology dietmar.winkler@tuwien.ac.at http://qse.ifs.tuwien.ac.at

Motivation & Goals Early detection and removal of defects, e.g., in the design phase, helps increasing software quality and decrease rework effort and cost. Analytical Quality Assurance (QA) typically includes Reviews and Inspection for systematic V&V in early phases. Software Testing, i.e., test case definition and execution in late phases. Goal is the early definition of test cases based on inspection results (test-first approach). Early defect detection as contribution of software inspection. Improved understanding of customer requirements. Test case generation based on requirements and inspection results. Key research questions focus on: How can inspection support early test case definition? What are the effects on defect detection performance (inspection vs. inspection-based test case generation)?

Software Inspection Software Inspection is a static analysis technique to verify quality properties of software artifacts. does not require executable code (applicable to design documents). focuses on defined defect types and locations in the inspected object. provides active guidance of inspectors with reading techniques and guidelines (how to traverse a software document). Best-practice approach: Usage-Based Reading (UBR) Well-investigated reading technique approach in business IT software development projects. Focus on users and use cases. Prioritization acc. to value/risk. Application of use cases and scenarios. 3................................................. Institut für Softwaretechnik und Interaktive Systeme

Usage Based Testing with Inspection Usage-Based Testing (UBT) Test case generation based on use cases. Prioritized test cases late in the development process. Focus on executable code. Usage-Based Testing with inspection (UBT-i) Bundling benefits of early Inspection and UBT Early defect detection with inspection. Early test-case definition based on prioritized use cases. Previous studies showed benefits of UBT-i with respect to isolated bestpractice inspection. Empirical study on the temporal behavior of defect detection performance. 4................................................. Institut für Softwaretechnik und Interaktive Systeme

Dependent Variables and Hypothesis Performance measures: Inspection effort includes individual preparation time and inspection / testcase generation duration. Effectiveness is the number of defects related to the overall number of seeded (and important) defects. Efficiency is the number of defects found per time interval. False Positives is the number of "wrong defects detected" by individual participants. Time limitations: Upper study execution was 300 min (5hrs). Suggestions for review/inspection duration: 120 min (focus of the evaluation) Hypothesis: Higher effectiveness (H1) & efficiency (H2) for UBR within 120 min of method application. Higher number of false positives (H3) in UBR within 120 minutes. 5................................................. Institut für Softwaretechnik und Interaktive Systeme

Experiment Description Experiment Phases (a) Training & preparation. (b) Study execution: briefing, session 1 (taxi) and session 2 (central). (c) Data submission and evaluation. Subjects are 41 master students with SE and QA background. Taxi Central Communication Driver Taximodule Central Operator Link Study Material is a Taxi Management System in 2 parts Snapshot of an agile software development project. Textual requirements specification (8p), 2 Component diagrams, design document (8p), 24 prioritized use cases, appx. 1400 LOCs. 60 seeded defects at 3 defect severity classes (29 defects in the taxi part and 31 in the central part) Supporting material: guidelines and questionnaires.

Threats to Validity Internal validity: Avoidance of communication between individuals during the study execution. Participants could take individual brakes, whenever necessary (break durations reported). Limitation of the overall study duration was 300 minutes, focus on the first 120 minutes (suggested inspection durations). Experience questionnaire to get an insight on prior knowledge. Feedback questionnaire to see if the participants followed the study process properly and to capture individual strategies. External validity: Well-known application domain to avoid domain-specific interpretation problems. Pilot test and reviews to assure correctness of experiment material. Control of variables due classroom setting. 7................................................. Institut für Softwaretechnik und Interaktive Systeme

Effort and First Real Defect Reported Effort No significant differences between UBR and UBT-i in both sessions. Duration Session 1 (Taxi) Session 2 (Central) [min] UBR UBT-i UBR UBT-i No of Subjects 20 21 21 20 Mean 272,5 268,8 281,3 276,2 Std.Dev. 38,01 29,13 35,32 30,11 First Real Defect Reported Significant differences in session 1 and session 2 Session 1 (Taxi) Session 2 (Central) UBR UBT-i UBR UBT-i Mean 12,2 17,6 15,4 17,4 Std.Dev. 10,59 10,39 10,93 10,42 8................................................. Institut für Softwaretechnik und Interaktive Systeme

Results: Effectiveness Expectations: UBR is significantly more effective than UBT-i. Comparable overall effectiveness for critical and important defects 18.9 (UBR) and 16.9 (UBT-i), no significant differences. Time Interval Evaluation (first session) No significant differences during the first 30 min. Significant differences for all other time intervals. No matched defects for t>240 35,0 30,0 25,0 20,0 15,0 10,0 5,0 0,0 35,0 30,0 25,0 20,0 15,0 10,0 5,0 0,0 Mean Values of UBR Effectiveness (Session 1) 0-30 30-60 60-90 90-120 120-150 150-180 180-210 210-240 Mean Value of UBT-i Effectiveness (Session 1) 0-30 30-60 60-90 90-120 120-150 150-180 180-210 210-240 Assuming additional effort for test case generation might limit defect detection effectiveness.

Results: Efficiency Expectations: UBR is significantly more efficient than UBT-i. Measurement: Defects per hour. 20 15 Efficiency, Session 1, Risk A+B, [%] Session 1: UBR are most efficient in the first hour. UBT-i is most efficient in the second hour. Session 2: UBT-i outperforms UBR inspection in the first 2 time intervals. Significant differences between all groups. Possible explanation is a changed defect detection approach of UBT-i in the second session: defect detection and test case generation in sequential order. 0-60 60-120 120-180 180-240 Time Intervals [min] Technique S1 UBR S1 UBT-i Efficiency, Session 2, Risk A+B [%] 10 5 16 12 8 4 0-60 60-120 120-180 180-240 Time Intervals [min] Technique S2 UBR S2 UBT-i

Results: False Positives Expectations: UBR report significantly more false positives (FP). 8 6 False Positives, Session 2 Session 1: Higher amount of FP at the begin and at the end of the study duration. Session 2: Decreasing number of FP during the course of the study for UBT-i. Increasing number of FP during the course of the study (up to 150 min) for UBR. 4 2 0 0-30 60-90 120-150 180-210 30-60 90-120 150-180 210-240 Time Intervals [min] Technique S2_UBR S2_UBT-i Significant differences for all time intervals. Possible explanation seems to be a strong advantage for UBT-i participants who focused on test case generation (i.e., testability considerations). Nevertheless, results of effectiveness and false positives must be investigated in more detail for verification of the results strengthening the findings.

Summary and Further Work Summary: Test case generation based on inspection results is a promising approach for bundling benefits of early defect detection. UBR performed very effective and efficient in a time interval up to 120 min. UBT-i requires more time for test case generation to achieve comparable defect detection results. We observed partly benefits in certain time intervals and notable differences between the two sessions further investigations are required. Support of planning QA activities in SE projects. Further Work: More detailed investigation of the study outcome regarding performance measures, defect types and document locations. In-depth analysis of the temporal behavior of defect detection performance because of partly contradictory results in two study sessions. 12

Thank you... Investigating the Temporal Behavior of Defect Detection in Software Inspection and Inspection-Based Testing Dietmar Winkler, Stefan Biffl, Kevin Faderl Vienna University of Technology Institute of Software Technology and Interactive Systems http://qse.ifs.tuwien.ac.at Dietmar.Winkler@tuwien.ac.at