CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 16, 2010.

Slides:



Advertisements
Similar presentations
Time-Aware Test Suite Prioritization Kristen R. Walcott, Mary Lou Soffa University of Virginia International Symposium on Software Testing and Analysis.
Advertisements

CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 18, 2008.
Regression Methodology Einat Ravid. Regression Testing - Definition  The selective retesting of a hardware system that has been modified to ensure that.
Introduction to Software Testing Chapter 9.3 Challenges in Testing Software Test Criteria and the Future of Testing Paul Ammann & Jeff Offutt
1 CIS 607snd In beginning of quarter, meet both MW. Might change to one day a week later. There is no.
Advanced Compilers CSE 231 Instructor: Sorin Lerner.
1 Today Another approach to “coverage” Cover “everything” – within a well-defined, feasible limit Bounded Exhaustive Testing.
Michael Ernst, page 1 Improving Test Suites via Operational Abstraction Michael Ernst MIT Lab for Computer Science Joint.
Oct. 2, 2003CS WPI1 CS 509 Design of Software Systems Lecture #5 Thursday, Oct. 2, 2003.
© 2006 Fraunhofer CESE1 MC/DC in a nutshell Christopher Ackermann.
CSCD 434 Spring 2011 Lecture 1 Course Overview. Contact Information Instructor Carol Taylor 315 CEB Phone: Office.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
Experience in Applying Online Learning Techniques in Computer Science & Engineering Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University.
28/08/2015SJF L31 F21SF Software Engineering Foundations ASSUMPTIONS AND TESTING Monica Farrow EM G30 Material available on Vision.
SBSE Course 4. Overview: Design Translate requirements into a representation of software Focuses on –Data structures –Architecture –Interfaces –Algorithmic.
CSCI 347 – Data Mining Lecture 01 – Course Overview.
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 15, 2011.
CS527: (Advanced) Topics in Software Engineering Reading Papers Tao Xie ©D. Marinov, T. Xie.
Introduction to Software Testing Chapter 9.3 Challenges in Testing Software Test Criteria and the Future of Testing Paul Ammann & Jeff Offutt
Project 3 U-Pick – A Project of Your Own Design Proposal Due: March 31 st Project Due: April 28 th Presentation: April 28 th.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
9/15/ Lecture 11 STATS 330: Lecture 1. 9/15/ Lecture 12 Today’s agenda: Introductory Comments: –Housekeeping –Computer details –Plan of.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
Platform Support for Developing Analysis and Testing Plugins Shauvik Roy Choudhary with Jeremy Duvall, Wei Jin, Dan Zhao, Alessandro Orso School of Computer.
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Fall CIS 764 Database Systems Engineering L21: Status Project Reviews Testing.
CS527: (Advanced) Topics in Software Engineering -- Software Testing, Debugging, Analysis, Analytics – Course Logistics Tao Xie ©D. Marinov, T. Xie.
Foundations of Software Testing Chapter 5: Test Selection, Minimization, and Prioritization for Regression Testing Last update: September 3, 2007 These.
CSCD 434 Network Security Spring 2014 Lecture 1 Course Overview.
PRESTO: Improvements of Industrial Real-Time Embedded Systems Development Process
Cs498dm Software Testing Darko Marinov January 22, 2008.
1 CHBE Orientation Program Searching the Literature.
CSSE 513 – COURSE INTRO With homework and project details Wk 1 – Part 2.
1 Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002.
10/20/2015 ©2007 Scott Miller, University of Victoria. 1 SENG130 Engineering Software Systems Introduction Rev. 2.1.
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 28, 2008.
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 9, 2010.
Topic (vi): New and Emerging Methods Topic organizer: Maria Garcia (USA) UNECE Work Session on Statistical Data Editing Oslo, Norway, September 2012.
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 22, 2011.
Software Construction Lecture 18 Software Testing.
University of Utah SoCCS Lecture 121 Dynamic Models in Design CS6961 – Lecture 12 Nathan Dykman.
Most of contents are provided by the website Introduction TJTSD66: Advanced Topics in Social Media Dr.
Local Evaluation Overview and Preliminary Findings Diane Schilder, EdD.
WERST – Methodology Group
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 30, 2011.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
Mark Dixon 1 Tech – Final Report. Mark Dixon 2 Aims & Objectives Give guidance on: –Project Report –Demonstration.
System Maintenance Modifications or corrections made to an information system after it has been released to its customers Changing an information system.
CAPP: Change-Aware Preemption Prioritization Vilas Jagannath, Qingzhou Luo, Darko Marinov Sep 6 th 2011.
Cs498dm Software Testing Darko Marinov January 27, 2009.
Do Metrics Help to Identify Refactoring? Jean-Guy Schneider Rajesh Vasa
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 7, 2010.
Possible Sigsoft Research Projects Presenter: Luke Rajlich Sept 26, 2005.
Cs498dm Software Testing Darko Marinov January 24, 2012.
Searching the Web for academic information Ruth Stubbings.
Cs498dm Software Testing Darko Marinov January 26, 2012.
Course Overview CS 4501 / 6501 Software Testing
Input Space Partition Testing CS 4501 / 6501 Software Testing
An example of a pilot project as part of USP course:
CS527: (Advanced) Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 25, 2011.
School of EE and Computer Science
CSCD 434 Network Security Spring 2012 Lecture 1 Course Overview.
August Shi, Tifany Yung, Alex Gyori, and Darko Marinov
EMIS 7300 SYSTEMS ANALYSIS METHODS FALL 2005
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
CS6501 Embedded Operating Systems for the IoT
CS5103 Software Engineering
Regression Testing.
CSCD 434 Network Security Spring 2019 Lecture 1 Course Overview.
Darko Marinov February 5, 2009
Presentation transcript:

CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 16, 2010

Schedule First few lectures to help you select projects –Testing: ReAssert, UDITA, Pex, Randoop –Model checking: JPF, CHESS –Today: Regression testing, note: survey paper –Sep 21: MC (static analysis) –Sep 23: REST (GUI testing) –Sep 28: Analysis of code comments? –Testing distributed or real-time systems? –From Oct 7: Your presentations –Choose a date only on this page

Projects By far the most important part of the course –Meet or Sandro and/or me –Our discussion can help you select project/paper You need to explore some topic in depth –“I don't know anything, but I do know that everything is interesting if you go into it deeply enough” Richard Feyman quotequote Mostly for I2CS students: Can use the technology from your work or learn some new –Need to be able to show us some results –Preferably work in groups of 2-3 students

Paper Today Regression Testing Minimization, Selection and Prioritization: A Survey by Shin Yoo and Mark Harman (STVR 2010)Regression Testing Minimization, Selection and Prioritization: A Survey Survey paper –Presents a broad summary of an area –Regression testing Test Suite Minimization Test Case Selection Test Case Prioritization Follows: brief overview, projects, questions

Minimization t1t1 t2t2 tntn t3t3 t n-1 … r1r1 r2r2 r3r3 rkrk … x x x x xx x x x Select a subset of T to cover all requirements

Selection and Prioritization code 1 t1t1 t2t2 tntn t3t3 t n-1 … δ code 2 i1i1 i2i2 i3i3 i n-1 inin selection prioritization t1t1 t3t3 t n-1 …

Future Directions Listed Orchestrating regression testing techniques with test data generation Multi-objective regression testing Problem of test oracle and its cost Consideration of other domains Non-functional testing Tool support –Little text –Big issue in practice –Often ignored in research

Sample Project Ideas (1) [AA], [AS], [CR], [JC], [MK] Writing a test suite for faults vs. to meet requirements [AL] Extend a tool X to generate tests only for modified parts of the code [MG] Compare existing approaches for test selection [MG] Perform a large study on all apps from some open-source code base [HY] Extend or evaluate RETEST [DM]

Sample Project Ideas (2) Develop system based on regression testing minimization techniques to instead prepare sets of non-regression, related test suites that have overlaps in functionality [JN] Integrate test selection/prioritization with version control [QL] Combine several approach (e.g., integer programming and data-flow analysis) [ST] A project on test case minimization would be challenging… (types of experiments in CS/SE)

Sample Project Ideas (3) Study number of redundant or obsolete test cases in open source (how about disabled?) Implement and compare some approchaes –Extend the CDG-based technique Generate test cases that target changes Integrate some of these strategies with capture-replay testing tools Apply these techniques on web applications –Apply in other new domains –Test power consumption of embedded systems

Questions for Discussion (1) Correlation between fault detection and requirement coverage? [AL] How is selection affected by refactoring? [MG] Many techniques are proposed, are there some tools? [MG] What's the conclusion? Is minimization technique useful? [HY] What is minimum hitting set problem in terms of suite minimization? [JN] Regression testing for porting systems to different OS? (Porting testing?) [DM]

Questions for Discussion (2) What to do for multithreaded code? [QL] Can minimization and selection produce same results? [ST] Are redundant test cases a real problem? Doesn’t the need for minimization mean that we generated counter-productive tests? Should we minimize if that can miss faults? How much redundancy to have in testing? What are best practices for regression testing of GUI's?