E 2 ESQuaReD Software Product Line Testing Part V : SPL-Driven Test Processes Myra CohenMatthew Dwyer Laboratory for Empirically-based Software Quality.

Slides:



Advertisements
Similar presentations
Designing Services for Grid-based Knowledge Discovery A. Congiusta, A. Pugliese, Domenico Talia, P. Trunfio DEIS University of Calabria ITALY
Advertisements

Configuration management
Configuration management
Hong Zhu Department of Computing and Communication Technologies Oxford Brookes University, Oxford OX33 1HX, UK COMPSAC 2012 PANEL.
Mining Compressed Frequent- Pattern Sets Dong Xin, Jiawei Han, Xifeng Yan, Hong Cheng Department of Computer Science University of Illinois at Urbana-Champaign.
An Evaluation of MC/DC Coverage for Pair-wise Test Cases By David Anderson Software Testing Research Group (STRG)
© author(s) of these slides 2014 including research results of the research network ES and TU Darmstadt otherwise as specified at the respective slide.
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
IPOG: A General Strategy for T-Way Software Testing
ICT Testing Product Lines of Industrial Size: Advancements in Combinatorial Interaction Testing Martin Fagereng Johansen PhD Thesis Defense,
E 2 ESQuaReD Software Product Line Testing Part II : Variability Modeling Myra CohenMatthew Dwyer Laboratory for Empirically-based Software Quality Research.
Today’s Agenda  HW #1 Due  Quick Review  Finish Input Space Partitioning  Combinatorial Testing Software Testing and Maintenance 1.
1 Software Testing and Quality Assurance Lecture 21 – Class Testing Basics (Chapter 5, A Practical Guide to Testing Object- Oriented Software)
Relational Data Mining in Finance Haonan Zhang CFWin /04/2003.
University of Southern California Center for Systems and Software Engineering ©USC-CSSE1 3/18/08 (Systems and) Software Process Dynamics Ray Madachy USC.
University of Southern California Center for Software Engineering CSE USC 12/6/01©USC-CSE CeBASE: Opportunities to Collaborate Barry Boehm, USC-CSE Annual.
Empirically Assessing End User Software Engineering Techniques Gregg Rothermel Department of Computer Science and Engineering University of Nebraska --
1 Software Testing and Quality Assurance Lecture 31 – Testing Systems.
©2011 Rolls-Royce plc The information in this document is the property of Rolls-Royce plc and may not be copied or communicated to a third party, or used.
Writing Good Software Engineering Research Papers A Paper by Mary Shaw In Proceedings of the 25th International Conference on Software Engineering (ICSE),
1 Software Testing and Quality Assurance Lecture 14 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
5/24/011 Advanced Tool Integration for Embedded Systems Assurance Insup Lee Department of Computer and Information Science University of Pennsylvania.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Autonomic Software Product Lines (ASPL) Nadeem Abbas, Jesper Andersson, Welf Löwe Linnaeus University, Sweden Monday, August 23, st International.
 It’s tough work  It’s f.a.i.t.h. work It’s creative work  It’s my work What kind of work SE is: Software Engineering at Azusa Pacific University My.
January 27, 2002 ECEN5033 University of Colorado -- Class Testing 1 Specifying interactions Remainder of slides assume Operations defined by a class are.
This chapter is extracted from Sommerville’s slides. Text book chapter
E 2 ESQuaReD Software Product Line Testing Part IV : A Framework for Variability Coverage Myra CohenMatthew Dwyer Laboratory for Empirically-based Software.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
Proceso kintamybių modeliavimas Modelling process variabilities Donatas Čiukšys.
Software Product Line Testing Part I : Introduction
How Significant Is the Effect of Faults Interaction on Coverage Based Fault Localizations? Xiaozhen Xue Advanced Empirical Software Testing Group Department.
Software Project Management
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Evaluation of software engineering. Software engineering research : Research in SE aims to achieve two main goals: 1) To increase the knowledge about.
Exploiting Automatically Inferred Constraint-Models for Building Identification in Satellite Imagery Research funded by the AFSOR, grant numbers FA
1 New Development Techniques: New Challenges for Verification and Validation Mats Heimdahl Critical Systems Research Group Department of Computer Science.
1 Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002.
Experimentation in Computer Science (Part 1). Outline  Empirical Strategies  Measurement  Experiment Process.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
International Workshop on Future Software Technology 2005/11/ Two approaches in Empirical Software Engineering Kenichi Matsumoto Nara Institute of.
Probability and Measure September 2, Nonparametric Bayesian Fundamental Problem: Estimating Distribution from a collection of Data E. ( X a distribution-valued.
In Future of Software Engineering, 22 nd Conference on Software Engineering, June Testing: A Roadmap Marry J. Harrold College of Computing Georgia.
Relyzer: Exploiting Application-level Fault Equivalence to Analyze Application Resiliency to Transient Faults Siva Hari 1, Sarita Adve 1, Helia Naeimi.
Software Prototyping Rapid software development to validate requirements.
Experimentation in Computer Science (Part 2). Experimentation in Software Engineering --- Outline  Empirical Strategies  Measurement  Experiment Process.
WERST – Methodology Group
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
CPSC 871 John D. McGregor Module 6 Session 2 Validation and Verification.
ESA Harwell Robotics & Autonomy Facility Study Workshop Autonomous Software Verification Presented By: Rick Blake.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Tommy Messelis * Stefaan Haspeslagh Burak Bilgin Patrick De Causmaecker Greet Vanden Berghe *
May 7-8, 2007ICVCI 2007 RTP Autonomic Approach to IT Infrastructure Management in a Virtual Computing Lab Environment H. Abdel SalamK. Maly R. MukkamalaM.
A PRELIMINARY EMPIRICAL ASSESSMENT OF SIMILARITY FOR COMBINATORIAL INTERACTION TESTING OF SOFTWARE PRODUCT LINES Stefan Fischer Roberto E. Lopez-Herrejon.
Department of Computer Science Continuous Experimentation in the B2B Domain: A Case Study Olli Rissanen, Jürgen Münch 23/05/2015www.helsinki.fi/yliopisto.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
Regression Testing with its types
Andy Nolan1, Silvia Abrahão2 Paul Clements3,
Model-Driven Analysis Frameworks for Embedded Systems
An Introduction to Software Engineering
IPOG: A General Strategy for T-Way Software Testing
Research Methods Introduction Jarod Locke.
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

e 2 ESQuaReD Software Product Line Testing Part V : SPL-Driven Test Processes Myra CohenMatthew Dwyer Laboratory for Empirically-based Software Quality Research Department of Computer Science University of Nebraska - Lincoln Work supported by NSF CCF through awards and , by the U.S. Army Research Office through award DAAD and by an NSF EPSCoR FIRST award.

2 Outline Software Product Lines : What and Why? Modeling Variability in Software Product Lines Validating Product Lines A Framework for Variability Coverage Toward Product Line Driven Test Processes

3 Outline Toward Product Line Driven Test Processes 1.Exploiting SPL Lifetime 2.Variable Interaction Coverage Criteria 3.Challenges and Open Issues

4 The Meaning of Validation A program is validated if we have confidence that it will operate correctly A software product line is validated if we have confidence that any instance of that produce line will operate correctly

5 A Two Way Street As we validate programs, that are instances of an SPL, we gain confidence in the validity of the SPL itself As we gain confidence in an SPL, our baseline belief in the validity of SPL instances is increased.

6 time SPL Deployed instance 1 cov(instance 1 )

7 time SPL Deployed instance 1 instance 2 cov(instance 1 )+cov(instance 2 )

8 time SPL Deployed instance 1 instance 2 instance 3 cov(instance 1 )+cov(instance 2 )+ cov(instance 3 )

9 time SPL Deployed instance 1 instance 2 instance 3 instance 4 Current Time cov(t) =  j<t cov(instance j ) Cumulative Test Coverage

10 SPL Deployed cov(t) =  j<t cov(instance j ) time instance 1 instance 2 instance 3 instance 4 Current Time instance 5 Test Reduction Do we need to test a new instance? If so, how much?

11 SPL Deployed cov(t) =  j<t cov(instance j ) +  j in {a,b,c,d} cov(instance j ) time instance 1 instance 2 instance 3 instance 4 Current Time instance c Test Generation What instances will significantly increase cov(t)? instance d instance b instance a

12 SPL Test Coverage Variability is key –Faulty interactions among sets of variants are a concern Evaluate the extent to which sets of variants have been validated Variability interaction coverage –Apply interaction coverage to relational model of variability in an SPL

13 Variability Interaction Coverage Consider a SPL with k variability-related factors Recall that t-way coverage means for all t-sized subsets of factors, 0 ≤ t < k, all combinations of values those factors appears 2-way, or pair-wise, coverage means all pairs of variant to VP bindings in an SPL are covered

14 Variability Interaction Coverage We can define a family of coverage criteria for variability models based on coverage strength Criteria are ordered by strength t-way coverage subsumes (t-1)-way coverage Variable-strength criteria : vs(min,max) vs(min,max) subsumes min-way coverage max-way coverage subsumes vs(min,max)

15 Important caveat … We are not talking about how to test a SPL instance –We assume that existing methods for program testing can be applied –Clearly our inferences about SPL validation are dependent on the fault revealing power of the underlying program testing method

16 Challenges Scaling Interaction Testing –Only applied to simple models to date –Sampling with CA’s will reduce the test space and provide low-cost test adequacy criteria But: –Real SPLs may have hundred of VPs and several hundreds of variants –Will the complexity introduced by real software product lines scale?

17 Challenges Treating Rich Constraints –As constraints grow in complexity and number, the difficulty of modeling and generating CA test suites increases –Can emerging techniques for encoding and analyzing collections of constraints, e.g., SAT, BDDs, be integrated with CA techniques?

18 Challenges SPL-driven Instance Testing –An instance of a software product line is a program, but it’s not an arbitrary program –Can we exploit the SPL model to generate tests that are effective at revealing faults? –Can such methods be made sensitive to cumulative coverage information?

19 Challenges Empirical Evidence –Empirical evidence for interaction testing is derived from non-SPL software testing But: –Variability in an SPL may differ significantly from configurable programs –We need empirical evidence on product lines to: Understand sizes (number of variability points and variants) Quantify extent and complexity of constraints Effectiveness and feasibility of combinatorial testing methods

20 References Richardson, D.J., and Wolf, A.L., Software Testing at the Architectural Level, Second Workshop on Software Architecture (1996) McGregor, J.D., Testing a Software Product Line, Technical Report CMU/SEI-2001-TR- 022 (2001) Muccini, H., and van der Hoek, A., Towards Testing Product Line Architectures, ENTCS 82, No. 2 (2003) Kauppinen, R., Testing framework-based Software Product Lines, M.S. Thesis, University of Helsinki (2003) Bertolino, A., and Gnesi, S., PLUTO: A Test Methodology for Product Families, 5th International Workshop on Software Product-Family Engineering, LNCS 3014 (2004) Kamsties, E., Pohl, K., Reis, S., and Reuys, A., Testing Variabilities in Use Case Models, 5th International Workshop on Software Product-Family Engineering, LNCS 3014 (2004) Cohen, M.B., Dwyer, M.B., and Shi, J., Coverage and Adequacy in Software Product Line Testing, Technical Report, University of Nebraska - Lincoln (2006)