15. Regression testing
|
|
- Lucinda Wells
- 5 years ago
- Views:
Transcription
1 Outline 15. Regression testing Tom Verheyen, Jelle Slowack, Bart Smets, Glenn Van Loon Introduction - What, why, when, how - Regression faults - Test automation - Test suite maintenance - Reducing a test suite Patterns - Test All - Test Risky Use Cases - Test by Profile - Test Changed Segments - Test Within Firewall 2 What is regressions testing? Baseline version: component/system passed test suite Delta version: component/system not passed regression test Delta build: executable configuration SUT containing baseline and delta components Regression test case: test case baseline passed, expected to pass on delta build Regression test suite: composition of regression test cases Regression fault: revealed by test case that no longer passes 3 Why should we regression test? Ariane 5 First test flight: crash! - Data conversion from 64-bit floating point to 16-bit signed integer - Software (Ada) reused from Ariane 4 - No regression tests done Estimate cost: $350 million - $2,5 billion 4 1
2 When can we use regression test? What kind of errors can be found? - Delta side effects - Delta - baseline incompatibilities - Undesirable feature interactions baseline - delta - Bad fixes IBM: bad fixes injection rates 2% - 20% When should we run a regression test? When a new subclass has been developed When a superclass is changed When a server class is changed When a bug fix has been completed When a new system build has been generated When a new increment is generated for system scope integration testing When a system has stabilized and the final release build has been generated 5 6 How to run a regression test? Basic procedure same for all situation 1. Remove broken test cases 2. Choose a regression test suite (full/ reduced: see Regression patterns) 3. Set up test configuration 4. Run the regression test suite 5. Do something with the results Regression faults Combination of baseline B and delta D fails - D has side effect on B - C is client/server of B - D is incompatible with B (Ariane 5!) - D s and B s contract specifications differ -... (Extended list of errors: Binder p ) Faults at intercomponent, subsystem and system scope 7 8 2
3 Test automation Manual testing is not a good thing - Person must reenter it and judge result - If number of tests and time to rerun increases: 1. Rerun fewer baseline test cases + focus on tests to validate final requirements 2. Add more people to enter test cases and judge results (usually not possible) - Time to ship decrease # regressions tests approaches 0 9 Test automation: requirements Effective automated RT requires capabilities: - Version control, compare baseline delta results, smart comparator,... - Want to know more? Binder p.764 Test environment should be controllable - Some variable factors can result in less-than identical test configurations Test environment itself, generator with clock as seed,... - Extended list of factors: Binder p Test suite maintenance A regression test suite can rapidly grow large Test decay is inevitable - Broken testcase, redundant test cases, Example: aerospace manufacturer - Test suite of test cases +/- 90% test cases: redundant Documentation inadequate Some parts not tested: 3000 new test cases only test cases remained 11 Test suite maintenance: procedure 1. Run baseline test suite on delta build. Remove broken test cases. 2. Correct relevant bugs. 3. Merge delta component scope tests with baseline test suite. 4. Use a coverage analyzer. 5. Rerun the test suite (to know coverage) 6. Analyze tests with same entry-exit paths (still necessary?) 7. If code is not tested: develop new test case. 8. Rerun test suite again. 9. Check revised baseline test suite as new baseline test suit. 12 3
4 Reducing a test suite Even with maintance, tests can become too large - Use reduced regression test, with selected tests How to safely reduce a regression test? - Safe: all tests that could possibly exhibit different output when run on the delta build 13 Reducing a test suite 4 criteria - Inclusiveness: percentage of BL tests that may show regression faults and are in the RT suite Safe RT suite is 100% inclusive - Precision: percentage BL tests in a RT that cannot reveal regression faults and are not selected in the reduced RT suite 100 test cases: 1 cannot reach changed code 99% precise Precise RT suite: no tests that cannot produce different output - Efficiency: cost of identifying a reduced RT suite - Generality: range of application for the selection strategy Retest All: default 2. Retest Risky Use Cases 3. Retest by Profile 4. Retest Changed Segments Test patterns 1. Retest All Rerun entire baseline test suite Context - Any scope Fault model - Failures because of incompatibility, side effects, undesirable feature interaction
5 1. Retest All Strategy - Test model: baseline test suite is reused - Test procedure: rerun after removing broken tests - Oracle: should be same results as previous run - Automation: see slides Entry criteria - Delta components pass component scope testing - Suitable baseline test suite exists - Test environment has same configuration as previous runs (see slide 13) 1. Retest All Exit criteria - No pass test cases reveal bugs that are acceptable - Remaining test cases pass Consequences - Inclusiveness, precision, efficiency, generality - See further slides Retest Risky Use Cases Use risk-based metrics to select partial RT suite Context - Too few time, personnel or equipement Fault model - Failures because of incompatibility, side effects, undesirable feature interaction 2. Retest Risky Use Cases Strategy - Test model: risk criteria to select test cases Suspicious use cases: unstable, complex use cases Critical use cases: necessary for safe, effective operation - Test procedure: Identify, develop en run test suite - Oracle: should be same results as previous run - Automation: see slides Entry criteria
6 2. Retest Risky Use Cases Exit criteria Consequences - Inclusiveness, precision, efficiency, generality - See further slides Intent - Partial regression test - Budget-constrained Context - Too few time, personnel or equipement - Greatest dependability within budget? - Applicable at any scope Fault model - Allocate tests by profile: frequency-based testing vs reliability Strategy: Test model - # test cases for each use case? => total budget Example Total budget 6000 mins Run 1 test case 5 mins Chance on bug reveal 0.5 % Bug fix requires 200 mins Baseline test suite test cases How many of test cases (T) can we run? 6000 = 5T + (0.005 x 200) 5 => T
7 Allocation of Regression Test Time by Use Case frequency Use case Probability Number of tests Cash withdrawal Deposit Balance inquiry TOTAL Identify, develop, run reduced test suite 2. Verify: critical use cases & use case variants included Strategy: Oracle - should be same results as previous run Strategy: Automation - Slides Automate selection in prev. example: of test cases => ¼ test random selector (each test 25% chance of being selected) Consequences - Inclusiveness, precision, efficiency, generality - See further slides Entry & exit criteria
8 Intent - Partial regression test - Code-change analysis Context - Too few time, personnel or equipement - Applicable at class, cluster or subsystemscope Fault model - See pattern Retest All Strategy: Test model - Select all baseline tests that have reached: A changed code segment Or a deleted code segment -> Graph walk technique (Rothermel and Harrold) Strategy: Test model (2) - Basic model does NOT consider: Inheritance Dynamic binding Data flow Control flow Other dependencies arising from state-based behaviour, iteration or recursion 1. Obtain a report from coverage analyzer, that lists codesegments by testcase Testcase T1 T2 T3 Codesegments B1,B3,B6,B7 B1,B4,B8 B2,B
9 2. Extract pairs with each segment and testcase Testcase Codesegments T1 T2 T3 B1,B3,B6,B7 B1,B4,B8 B2,B5 PAIR B1 T1 B3 T1 B6 T1 B7 T1.. B5 T Use a version control tool to generate a report on the changes between baseline & delta Segment B1 B2 B3.... B9 Change Same Deleted Changed New Concatenate test (step 2) & change file (step 3). Sort! Concat B1 Same B1 T1 B1 T2 B2 Deleted B2 T Selection rules for tests: Tests under same skip Tests under delete include Tests under changedinclude Tests under new skip Concat B1 Same B1 T1 B1 T2 B2 Deleted B2 T
10 Strategy: Oracle Strategy: Automation - see slides Entry & exit criteria Consequences - See further slides Intent - Partial regression test - Code-dependency analysis Context - Too few time, personnel or equipement - Applicable at class, cluster or subsystemscope Fault model - See pattern Retest All Strategy: Test Model - Firewall = set of components whose test cases will be included in a regression test - Firewall set is identified by analysis of changes to each component in the SUT and its dependencies. Strategy: Test Model (2) Each pair of components (A,B) is analyzed Either or both may be changed: 1. Contract change alters external interface and/or externally visible contract (eg. alteration of public methods,..) 2. Implementation change other changes that are not visible to clients
11 Strategy: Test Model (3) Dependency relationship between each pair is used to select test cases 4 Relationships: 1. B uses A 2. B is a subclass of A 3. B overrides A 4. B is a server of A Strategy: Test Model (4) For each relationship: baseline testcase that apply to A,B or AB may be reused in one of 4 ways: Level 0 No testcases can be rerun Level 1 The state setup and test messages can be rerun. Expected results must be redeveloped. The sequence of testcases may need to be reworked. Level 2 The state setup, test messages and expected results can be rerun. The sequence of testcases may need to be reworked. Level 3 The test cases can be rerun as is Strategy: Test Model (5) Example - Class Account (A) and class Money (B) - Account uses a variable amount of type Money - Implementation change to account Changes Retesting requirement A B Dependency A Implementation None B is server of A Relationship: Money is a server of Account -.. Level 2 reuse of the test cases for Account (decision table for selecting regression tests 15.7 p 791)
12 1. Develop a dependency matrix 2. Apply the decision rules (table 15.7) 3. Rerun tests according to the testing levels Strategy: Oracle Strategy: Automation - see slides Entry & exit criteria Consequences - See next slide! Pattern Comparison Inclusiveness All: Safe, all tests selected Risky: Unsafe, selection of testcases not by analysis / dependencies Profile: Unsafe, same as Risky Use Case Changed: Safe, all baseline tests that can produce a different result are selected Firewall: Safe Pattern Comparison Precision All: no tests are skipped, least precise Risky: some tests that could be skipped Profile: ditto Changed: few tests that could be skipped most precise of the white box partial regression strategies Firewall: few tests that could be skipped
13 Pattern Comparison Pattern Comparison Efficiency All: lowest analysis & setup cost high run cost Risky: time and cost are constrained (budget) selection based on use cases (<-> implementation) => analysis can be done without code analyzers / technical knowledge of SUT Profile: Same as Risky Use Case but if the operational profile is established, then low cost of selection analysis Efficiency (2) Changed: High setup cost Run cost = size of deltas Cost can be greater than Retest All: reselection Firewall: Highest setup cost Run cost = size of firewall Pattern Comparison Generality All: applicable in any circumstances easy to set up Risky: nearly any circumstances, any scope Profile: many circumstances, system scope with accurate operational profile Changed: applicable at class scope requires skills in code analysis Firewall: applicable at cluster scope requires skills in code analysis 51 13
17. Assertions. Outline. Built-in tests. Built-in tests 3/29/11. Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen
17. Assertions Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen Outline Introduction (BIT, assertion, executable assertion, why?) Implementation-based vs responsability-based assertions Implementation
More information17. Assertions. Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen
17. Assertions Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen Outline Introduction (BIT, assertion, executable assertion, why?) Implementation-based vs responsability-based assertions Implementation
More informationIntegration Testing Qualidade de Software 2
Integration Testing Integration Testing Software systems are built with components that must interoperate Primary purpose: To reveal component interoperability faults so that testing at system scope may
More informationdoor Sasa Berberovic
door Sasa Berberovic Overview Reusable Components Subsystems Reusable Components Reuse Mechanisms The Role of Testing in Reuse Reusing Test Suites Test Design Patterns Abstract Class Test Generic Class
More informationLecture 21. Regression Testing Path Spectra. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim
Lecture 21 Regression Testing Path Spectra Today s Agenda (1) Regression Test Selection Path Spectra Presentation by David (skeptic) Presentation by Sidd (advocate) Presentation by Srinivas (skeptic) Today
More informationXVIII. Software Testing. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini
XVIII. Software Testing Laurea Triennale in Informatica Corso di Objective General discussion on Testing Testing Phases Approaches to testing Structural testing Functional testing Testing non functional
More informationTesting. CMSC 433 Programming Language Technologies and Paradigms Spring A Real Testing Example. Example (Black Box)?
Testing CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Testing Feb. 15, 2007 Some slides adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Execute program on sample input
More informationSoftware Testing. Massimo Felici IF
Software Testing Massimo Felici IF-3.46 0131 650 5899 mfelici@staffmail.ed.ac.uk What is Software Testing? Software Testing is the design and implementation of a special kind of software system: one that
More informationManuel Oriol, CHCRC-C, Software Testing ABB
Manuel Oriol, CHCRC-C, 08.11.2017 Software Testing Slide 1 About me 1998 2004 2005 2008 2011 Slide 2 Introduction Why do we test? Did you have to deal with testing in the past? Slide 3 Ariane 5 http://www.youtube.com/watch?v=kyurqduyepi
More informationGetting Started with Code Coverage/Eclipse
Getting Started with Code Coverage/Eclipse Code Coverage/Eclipse is the modernized GUI for Compuware s Xpediter/Code Coverage product. With it, users can create reports detailing testing efficiency and
More informationCSE 403: Software Engineering, Fall courses.cs.washington.edu/courses/cse403/16au/ Unit Testing. Emina Torlak
CSE 403: Software Engineering, Fall 2016 courses.cs.washington.edu/courses/cse403/16au/ Unit Testing Emina Torlak emina@cs.washington.edu Outline Software quality control Effective unit testing Coverage
More informationMotivation State Machines
Motivation State Machines Generating test cases for complex behaviour Textbook Reading: Chapter 7 We are interested in testing the behaviour of object-oriented software systems Behaviour: Interactions
More informationTesting Process and Methods. CS 490MT/5555, Spring 2017, Yongjie Zheng
Testing Process and Methods CS 490MT/5555, Spring 2017, Yongjie Zheng Context of Software Testing Verification & Validation Verification: checking that the software conforms to its specification. Validation:
More informationSoftware Testing. 14. Application Systems. International Funds Transfer System Development Team - Objects work, objects are right The System Works!
Software Testing 14. Application Systems Daniel Riegelhaupt - Thomas De Vylder - Loots Gertjan - Saquet Tim - Philip De Smedt 14. Application Systems Testing Application Systems Test Design Patterns Implementation-specific
More informationBaseline Testing Services. Whitepaper Vx.x
Whitepaper Vx.x 2018-04 Table of Contents 1 Introduction... 3 2 What is Baseline Testing?... 3 3 Customer Challenge... 3 4 Project Details... 3 4.1 First Steps... 3 4.2 Project Management... 3 4.3 Software
More informationIntroduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS
Introduction To Software Testing Brian Nielsen bnielsen@cs.aau.dk Center of Embedded Software Systems Aalborg University, Denmark CSS 1010111011010101 1011010101110111 What is testing? Testing Testing:
More informationWhy testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties
Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be
More informationChapter 9. Software Testing
Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of
More informationSoftware Error Correction Support Policy
Software Error Correction Support Policy Oracle Enterprise Performance Management Version 1.0 Revised: January 9, 2015 Applies to: Oracle Enterprise Performance Management (Includes Hyperion) Table of
More informationOverview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.
Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great
More informationAdvanced Software Engineering: Software Testing
Advanced Software Engineering: Software Testing COMP 3705(L4) Sada Narayanappa Anneliese Andrews Thomas Thelin Carina Andersson Web: http://www.megadatasys.com Assisted with templates News & Project News
More informationCSC 330 Object-Oriented Software Design REUSABILITY
1 CSC 330 Object-Oriented Software Design REUSABILITY Overview 2 Reuse concepts Impediments to reuse Reuse case studies Objects and reuse Reuse during the design and implementation phases Reuse and maintenance
More informationApplication System Testing. Presenter: Katleen Mariën
Application System Testing Presenter: Katleen Mariën 1 Overview Testing Application Systems Test Design Patterns Implementation-specific Capabilities Post-development Testing 2 International Funds Transfer
More informationUsing the code to measure test adequacy (and derive test cases) Structural Testing
Using the code to measure test adequacy (and derive test cases) Structural Testing Objectives To describe a second approach to testing which is geared to find program defects To explain the use of program
More informationReviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013
Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9 Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013 2 Things to Review Review the Class Slides: Key Things to Take Away Do you understand
More informationAssertions. Assertions - Example
References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 11/13/2003 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,
More informationUNIT OBJECTIVE. Understand what system testing entails Learn techniques for measuring system quality
SYSTEM TEST UNIT OBJECTIVE Understand what system testing entails Learn techniques for measuring system quality SYSTEM TEST 1. Focus is on integrating components and sub-systems to create the system 2.
More informationSoftware Engineering Software Testing Techniques
Software Engineering Software Testing Techniques 1 Testability Operability it it operates cleanly Observability the the results of each test case are readily observed Controllability the the degree to
More informationTest Automation. Fundamentals. Mikó Szilárd
Test Automation Fundamentals Mikó Szilárd 2016 EPAM 2 Blue-chip clients rely on EPAM 3 SCHEDULE 9.12 Intro 9.19 Unit testing 1 9.26 Unit testing 2 10.03 Continuous integration 1 10.10 Continuous integration
More informationTesting. Unit, integration, regression, validation, system. OO Testing techniques Application of traditional techniques to OO software
Testing Basic ideas and principles Traditional testing strategies Unit, integration, regression, validation, system OO Testing techniques Application of traditional techniques to OO software Testing-11,
More informationTesting Stragegies. Black Box Testing. Test case
References: Teach Yourself Object-Oriented Programming in 21 Days by A.Sintes, 1 Testing Stragegies Test case a set of inputs and expected outputs looks at specific piece of functionality to determine
More informationLecture 15 Software Testing
Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered
More informationEffective Test Case Prioritization Technique in Web Application for Regression Test Suite
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 3, Issue. 11, November 2014,
More informationPeople tell me that testing is
Software Testing Mark Micallef mark.micallef@um.edu.mt People tell me that testing is Boring Not for developers A second class activity Not necessary because they are very good coders 1 What is quality?
More information10. Software Testing Fundamental Concepts
10. Software Testing Fundamental Concepts Department of Computer Science and Engineering Hanyang University ERICA Campus 1 st Semester 2016 Testing in Object-Oriented Point of View Error Correction Cost
More informationPart I Basic Concepts 1
Introduction xiii Part I Basic Concepts 1 Chapter 1 Integer Arithmetic 3 1.1 Example Program 3 1.2 Computer Program 4 1.3 Documentation 5 1.4 Input 6 1.5 Assignment Statement 7 1.5.1 Basics of assignment
More informationClasses and Objects. Object Orientated Analysis and Design. Benjamin Kenwright
Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review
More informationBusiness Requirements Document (BRD) Template
Business Requirements Document (BRD) Template Following is a template for a business requirements document (BRD). The document includes many best practices in use today. Don t be limited by the template,
More informationBłaej Pietrzak
Błaej Pietrzak blazej.pietrzak@cs.put.poznan.pl Fault model Result-oriented testing Test design approach Domain testing model Category-Partition test pattern Polymorphic message test pattern 1 Exhaustive
More informationBasic Definitions: Testing
Basic Definitions: Testing l What is software testing? Running a program In order to find faults a.k.a. defects a.k.a. errors a.k.a. flaws a.k.a. faults a.k.a. BUGS 1 Bugs Hopper s bug (moth stuck in a
More informationReview of Regression Test Case Selection Techniques
Review of Regression Test Case Selection Manisha Rani CSE Department, DeenBandhuChhotu Ram University of Science and Technology, Murthal, Haryana, India Ajmer Singh CSE Department, DeenBandhuChhotu Ram
More informationIntroduction to Dynamic Analysis
Introduction to Dynamic Analysis Reading assignment Gary T. Leavens, Yoonsik Cheon, "Design by Contract with JML," draft paper, http://www.eecs.ucf.edu/~leavens/jml//jmldbc.pdf G. Kudrjavets, N. Nagappan,
More informationVerification and Validation
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Verification and Validation 1 Verification and Validation
More informationFeasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)
Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10
More informationRegression Test Case Prioritization Based on Historical Test Case Performance Data
Regression Test Case Prioritization Based on Historical Test Case Performance Data Andreas Ljung Department of Computer Science Lund University, Faculty of Engineering May 14, 2010 Contact information
More informationD-Optimal Designs. Chapter 888. Introduction. D-Optimal Design Overview
Chapter 888 Introduction This procedure generates D-optimal designs for multi-factor experiments with both quantitative and qualitative factors. The factors can have a mixed number of levels. For example,
More informationCSE 417 Network Flows (pt 4) Min Cost Flows
CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it
More informationSmall verse Large. The Performance Tester Paradox. Copyright 1202Performance
Small verse Large The Performance Tester Paradox The Paradox Why do people want performance testing? To stop performance problems in production How do we ensure this? Performance test with Realistic workload
More informationINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING Introduction to Software Testing d_sinnig@cs.concordia.ca Department for Computer Science and Software Engineering What is software testing? Software testing consists
More informationTesting3. State-based Testing
Testing3 State-based testing Inheritance Testing interacting classes Communication diagrams Object relation graph (ORD) Regression testing GUI Testing 1 State-based Testing Natural representation with
More informationA Study of Effective Regression Testing
A Study of Effective Regression Testing Nisha Jha Assistant Professor, Department of Computer Science, Lingaya s University, Faridabad, Haryana, India Abstract: Software Quality is one of the major challenges
More informationSample Question Paper. Software Testing (ETIT 414)
Sample Question Paper Software Testing (ETIT 414) Q 1 i) What is functional testing? This type of testing ignores the internal parts and focus on the output is as per requirement or not. Black-box type
More informationScaling Regression Testing to Large Software Systems
Scaling Regression Testing to Large Software Systems Alessandro Orso Co-authors: Nanjuan Shi, Mary Jean Harrold College of Computing Georgia Institute of Technology Supported in part by National Science
More informationOptimizing Testing Performance With Data Validation Option
Optimizing Testing Performance With Data Validation Option 1993-2016 Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording
More informationObject-Oriented Design II
Object-Oriented Design II SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Controller Pure fabrication Open/close Polymorphism Liskov substitution
More informationSoftware Engineering
Software Engineering CSC 331/631 - Spring 2018 Object-Oriented Design Principles Paul Pauca April 10 Design Principles DP1. Identify aspects of the application that vary and separate them from what stays
More informationGreats Bugs in History
Semidoctus, 23 November 2016 Semidoctus, 23 November 2016 1 / 1/ Plan 1 Introduction: what s a bug? 2 The Y2K Bug 3 The case of Ariane 5 4 Heartbleed 5 The Intel Division Bug 6 500-mile emails 7 Conclusion
More informationThe goal of this project is to enhance the identification of code duplication which can result in high cost reductions for a minimal price.
Code Duplication New Proposal Dolores Zage, Wayne Zage Ball State University June 1, 2017 July 31, 2018 Long Term Goals The goal of this project is to enhance the identification of code duplication which
More informationChap 2. Introduction to Software Testing
Chap 2. Introduction to Software Testing 2.1 Software Testing Concepts and Processes 2.2 Test Management 1 2.1 Software Testing Concepts and Processes 1. Introduction 2. Testing Dimensions 3. Test Concepts
More informationSoftware Testing. Integration Testing. Beat Fluri. software evolution & architecture lab
Software Testing Integration Testing Beat Fluri software evolution & architecture lab V-Model Specification Implementation User needs Delivery System Spec System Integration Test Subsystem Design/Spec
More informationObject-Oriented and Classical Software Engineering DESIGN 11/12/2017. CET/CSC490 Software Engineering Design CHAPTER 14. Stephen R. Schach.
Slide 14.1 CHAPTER 14 Slide 14.2 Object-Oriented and Classical Software Engineering DESIGN Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 14.3 Overview (contd) Slide 14.4 and abstraction
More informationCEU s (Continuing Education Units) 12 Hours (i.e. Mon Thurs 5 9PM or Sat Sun 8AM 5PM)
Course Name: Intro to Ruby Course Number: WITP 312 Credits: Classroom Hours: 1.2 CEU s (Continuing Education Units) 12 Hours (i.e. Mon Thurs 5 9PM or Sat Sun 8AM 5PM) Flex Training - Classroom and On-Line
More informationSoftware Architecture. Definition of Software Architecture. The importance of software architecture. Contents of a good architectural model
Software Architecture Definition of Software Architecture Software architecture is process of designing g the global organization of a software system, including: Dividing software into subsystems. Deciding
More informationTesting & Debugging TB-1
Testing & Debugging TB-1 Need for Testing Software systems are inherently complex» Large systems 1 to 3 errors per 100 lines of code (LOC) Extensive verification and validiation is required to build quality
More informationChapter 11. Categories of languages that support OOP: 1. OOP support is added to an existing language
Categories of languages that support OOP: 1. OOP support is added to an existing language - C++ (also supports procedural and dataoriented programming) - Ada 95 (also supports procedural and dataoriented
More information18-642: Testing Overview
18-642: Testing Overview 9/25/2017 "In September of 1962, a news item was released stating that an $18 million rocket had been destroyed in early flight because "a single hyphen was left out of an instruction
More informationBridge Course On Software Testing
G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)
More informationArchitectural Design
Modeling and Systems Development Lecture 9 Architectural Design Creating a clear plan of what needs to be built and the infrastructure to build it on Design The purpose of the analysis phase is to figure
More informationDepartment of Electrical & Computer Engineering, University of Calgary. B.H. Far
SENG 421: Software Metrics Software Test Metrics (Chapter 10) Department of Electrical & Computer Engineering, University of Calgary B.H. Far (far@ucalgary.ca) http://www.enel.ucalgary.ca/people/far/lectures/seng421/10/
More informationSoftware architecture in ASPICE and Even-André Karlsson
Software architecture in ASPICE and 26262 Even-André Karlsson Agenda Overall comparison (3 min) Why is the architecture documentation difficult? (2 min) ASPICE requirements (8 min) 26262 requirements (12
More informationCSI33 Data Structures
Outline Department of Mathematics and Computer Science Bronx Community College October 24, 2018 Outline Outline 1 Chapter 8: A C++ Introduction For Python Programmers Expressions and Operator Precedence
More informationObject-Oriented and Classical Software Engineering
Slide 8.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 8 Slide 8.2 REUSABILITY AND PORTABILITY Overview Slide
More informationFacts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development
Reveal faults Goals of testing Correctness Reliability Usability Robustness Performance Top-down/Bottom-up Bottom-up Lowest level modules tested first Don t depend on any other modules Driver Auxiliary
More informationThree General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams
Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.
More informationPatterns and Testing
and Lecture # 7 Department of Computer Science and Technology University of Bedfordshire Written by David Goodwin, based on the lectures of Marc Conrad and Dayou Li and on the book Applying UML and (3
More informationVerification, Testing, and Bugs
Verification, Testing, and Bugs Ariane 5 Rocket First Launch Failure https://www.youtube.com/watch?v=gp_d8r- 2hwk So What Happened? The sequence of events that led to the destruction of the Ariane 5 was
More informationInformation System Design (IT60105)
Information System Design (IT60105) Lecture 26 Object-Oriented System Testing Lecture #23 Procedural vs OO paradigms Why not Traditional Testing? Issues Methodology 2 Procedural Vs OO p Procedural Vs OO
More informationThe Strategy Pattern Design Principle: Design Principle: Design Principle:
Strategy Pattern The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Design
More informationLecture 18: Structure-based Testing
Test Case First Strategy White box testing: Statement Coverage Branch Coverage Condition Coverage Data Path Coverage Lecture 18: Structure-based Testing Testing with good and bad data Testing Object Oriented
More informationIBM B2B INTEGRATOR BENCHMARKING IN THE SOFTLAYER ENVIRONMENT
IBM B2B INTEGRATOR BENCHMARKING IN THE SOFTLAYER ENVIRONMENT 215-4-14 Authors: Deep Chatterji (dchatter@us.ibm.com) Steve McDuff (mcduffs@ca.ibm.com) CONTENTS Disclaimer...3 Pushing the limits of B2B Integrator...4
More informationA METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH
A METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH 1 M.Manjunath, 2 N.Backiavathi 1 PG Scholar, Department of Information Technology,Jayam College
More informationClass Modality. Modality Types. Modality Types. Class Scope Test Design Patterns
Class Scope Test Design Patterns Testing methods in isolation is not enough Instance variables act like global variables within a class Need to test intraclass interactions Message sequences Class Modality
More informationLecture Chapter 2 Software Development
Lecture Chapter 2 Software Development Large Software Projects Software Design o Team of programmers o Cost effective development Organization Communication Problem Solving Analysis of the problem Multiple
More informationTesting! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!
Testing The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 6 1 Words from the Wise On two occasions I have been asked [by members of Parliament],
More informationTesting: Test design and testing process
Testing: Test design and testing process Zoltán Micskei Based on István Majzik s slides Dept. of Measurement and Information Systems Budapest University of Technology and Economics Department of Measurement
More informationChapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering
Chapter 11, Testing Using UML, Patterns, and Java Object-Oriented Software Engineering Outline Terminology Types of errors Dealing with errors Quality assurance vs Testing Component Testing! Unit testing!
More informationTesting is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered.
Testing Testing is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered. System stability is the system going to crash or not?
More information1: Introduction to Object (1)
1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface
More informationSomething to think about. Problems. Purpose. Vocabulary. Query Evaluation Techniques for large DB. Part 1. Fact:
Query Evaluation Techniques for large DB Part 1 Fact: While data base management systems are standard tools in business data processing they are slowly being introduced to all the other emerging data base
More informationInformation Systems. Software Engineering. MCQ - Part 2
Information Systems & Software Engineering MCQ - Part 2 Information Systems & Software Engineering MCQ - Part 2 Changes made to the system to reduce the future system failure chances is called Preventive
More informationSoftware Design COSC 4353/6353 D R. R A J S I N G H
Software Design COSC 4353/6353 D R. R A J S I N G H Week 5 Refactoring What is Refactoring? Code Smells Why Refactoring? Techniques IDEs What is Refactoring? Art of improving the design of existing code
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationRefactorings. Refactoring. Refactoring Strategy. Demonstration: Refactoring and Reverse Engineering. Conclusion
Refactorings Refactoring What is it? Why is it necessary? Examples Tool support Refactoring Strategy Code Smells Examples of Cure Demonstration: Refactoring and Reverse Engineering Refactor to Understand
More informationEfficient Regression Test Model for Object Oriented Software
Efficient Regression Test Model for Object Oriented Software Swarna Lata Pati College of Engg. & Tech, Bhubaneswar Abstract : This paper presents an efficient regression testing model with an integration
More informationCurriculum Map Grade(s): Subject: AP Computer Science
Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History
More informationComputer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation
Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation Yan Shi SE 2730 Lecture Notes Verification and Validation Verification: Are
More informationFundamentals of Programming Session 13
Fundamentals of Programming Session 13 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2014 These slides have been created using Deitel s slides Sharif University of Technology Outlines
More informationDesign Patterns Revisited
CSC 7322 : Object Oriented Development J Paul Gibson, A207 paul.gibson@int-edu.eu http://www-public.it-sudparis.eu/~gibson/teaching/csc7322/ Design Patterns Revisited /~gibson/teaching/csc7322/l13-designpatterns-2.pdf
More informationProgram Verification! Goals of this Lecture! Words from the Wise! Testing!
Words from the Wise Testing On two occasions I have been asked [by members of Parliament], Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out? I am not able rightly
More information*ANSWERS * **********************************
CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO
More information