Software Testing. 14. Application Systems. International Funds Transfer System Development Team - Objects work, objects are right The System Works!

Size: px
Start display at page:

Download "Software Testing. 14. Application Systems. International Funds Transfer System Development Team - Objects work, objects are right The System Works!"

Transcription

1 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 Capabilities Post-development Testing Notes on Testing Performance Objectives 1 International Funds Transfer System Development Team - Objects work, objects are right The System Works! Consequence - Incorrect transaction processing - Bizarre results - Mad customers - Robbery - Lawsuits - Bankruptcy - 2 Testing Object-oriented Application Systems Individual verification of components does not guarantee a correctly functioning system System Scope Testing - Is based on requirements and capabilities (mostly implementation independent) - Should be done after Integration Testing (ch. 13) 3 1

2 Application System Test Application System = a collection of subsystems that cooperate to support a feature set intended for a user or customer General System Test Strategy 1. Develop extended uses cases (slide 31, ch. 12 Subsystems) for entire system + testable implementation-specific requirements 2. Do Unit + Integration tests 3. Develop test suite using extended uses cases Goals: Reveal system scope bugs Show SUT implements all required capabilities Provide information to answer Can we ship it yet? 4. (optional) allocate tests by profile (~frequency, ~testing productivity, ~budget, -> resource allocation) 5. Run test suite, debug, regression testing 6. Develop and run implementation- specific tests 7. Perform execute-debug-retest cycle until objectives are met (or time/ budget gone) 8. Release system Application Systems Testing Application Systems Test Design Patterns Implementation-specific Capabilities Post-development Testing Notes on Testing Performance Objectives Test Design Patterns Develop test suite for essential requirements - Test relationships implied by use case Covered in CRUD - Test operations not reached by use cases - Develop tests in proportion 6 7 2

3 Intent - Model essential capabilities as extended use cases to develop an application system test suite Context - Use when most essential requirements for SUT can be expressed as use cases Example: ATM 8 9 Context - Use cases are not always good models (complex algorithms used for computing) Example: complex simulation to compute and render animated high resolution graphics Context - Possible to develop test cases by imagining specific instances for use cases TABLE 14.1 Some Use Cases and Scenarios for an ATM Use Case Actor Possible Input/Output Combinations Establish Session Bank Customer (1) Wrong PIN entered once; corrected PIN entered. Display Menu. (2) PIN OK; customer bank not online. Display Try Later. (3) PIN OK; customer s accounts are closed. Display Call your bank. (4) Stolen card inserted; valid PIN entered. Retain card. Cash Withdrawal Bank Customer (1) Requests 50; account open; balance 1.234,56; 50 dispensed. (2) Requests 100; account closed. (3) Requests 155,39; account open; 150 dispensed. Cash Replenishment ATM operator with armed guard (1) ATM opened; cash dispenser is empty; is added. (2) ATM opened; cash dispenser is full

4 Context - Test points best selected based on use case s implicit constraints/relationships to avoid missing relationships to test - Enumeration leads to large test suites (inefficient!) - Efficient and effective testing by Modelling constraints and relationships Generating enough test cases - Can be used where use cases are used (system/ class/cluster/subsystem- scope) Fault Model - Use case: inputs -> responses Can be modeled as decision table (slide 9 ch. 2 Models) - Domain faults (boundaries, invariant boundaries slide 35 ch. 3 Classes) - Logic faults (AND/OR faults) - Incorrect handling of don t care conditions - Incorrect/missing dependency on states by prior use cases Extra (generic system scope) faults: - Unwanted feature interactions - Wrong output - Abnormal termination - Unacceptable response times - Omitted/Extra capabilities Strategy: Test Model - Extended use case contains All operational variables All domain constraints of each operational variable Operational relation for each use case Relative frequency of each use case (supports Allocate Test By Profile) Strategy: Procedure 1 Identify operational variables (per scenario) Explicit inputs and outputs Environmental conditions leading to different actor behaviour Abstraction of the state of SUT Example: ATM state (out of cash, ready, ), PIN on card, PIN entered, response of bank,

5 Strategy: Procedure 2 Define the domains of the operational variables Set of valid and invalid values for each variable Example: PIN domain: Strategy: Procedure 3 Develop the operational relation Relationships among the operational variables are modeled (Decision Table) Example: Table 14.2 Operational Relation for Established Session Use Case Variant Operational Variables Expected Result Card PIN Entered PIN Customer Bank Response Customer Account Status Message Card Action 1 Invalid DC DC DC Insert an ATM card Eject 2 Valid Matched Card PIN 3 Valid Matched Card PIN Bank ACKs Closed Contact your bank Bank ACKs Open Select a transaction Eject None Strategy: Procedure 4 Develop test cases At least 2 test cases for each variant (true and false test case) False case can be true case for other variant Strategy: Oracle - Develop expected results manually - Look at existing systems that provides similar capabilities (ch. 18 Oracles) Example: Table 14.3 Minimal Test Suite for Established Session Use Case Variant Operational Variables Expected Result Card PIN Entered PIN Customer Bank Response Customer Account Status Message Card Action 1 Invalid DC DC DC Insert an ATM card 1T %*@# Insert an ATM card Eject Eject 1F Any true test for variants

6 Entry criteria - Extended use cases are developed and validated - SUT passes an integration test suite Shows components supporting the use case are (minimally) operable Exit criteria - All requirements must be exercised (Test Coverage metric indicates completeness) Variant Coverage (at least one true and one false test pair for each variant) Every use case has a test that passes (use case/test case tracebility) Disadvantages - Unclear level of use case abstraction Too much/little detail -> extra work for tester - Use cases don t specify performance, fault tolerance, -> should be tested - Composite use cases (includes/extends) must be flattened Advantages - Use cases are widely used - Use cases are simple - Use cases are often only documentation available - Use cases imply good object oriented analysis and design - Use cases reflect user point of view - Known Uses - Telecommunications systems - High-volume financial applications

7 Covered in CRUD Intent - Verify that all basic operations (Create, Read, Update, Delete) are exercised for each problem domain object in the SUT Context - Simple technique to identify omissions of problem domain classes - Used when many use cases share responsibility for maintaining problem domain classes Fault Model Covered in CRUD Problem domain class = a presentation of an external entity that is necessary for an implementation-independent model of the SUT - Example in order-processing system: Customer, Order, and Product are problem domain classes. LinkedList is not Covered in CRUD Fault Model - CRUD action not in any use case If not explicitly specified: - System may not perform CRUD action on that class (Surprises) Else: - Suite not adequate enough to find faults Strategy: Test Model - Create CRUD coverage Matrix Identify all system use cases Identify problem domain classes Prepare use case/class matrix and analyse it Covered in CRUD

8 Covered in CRUD Strategy: Test Model - Create CRUD coverage Matrix If test suite does not cover all actions, develop test cases (with, Round-trip Scenario Test, and Class Test) Use Case Test Coverage of Basic Action Required Behaviour for a Basic Action Required Not Required Prohibited Strategy: Test Procedure Covered in CRUD 1. Develop matrices (previous slides) 2. Develop & execute Suite 3. Map Suite to matrix 4. Add test cases to achieve CRUD coverage Exercised, passes Validated Surprise Failure Exercised, throws expected exception Failure Validated Validated Not exercised Incomplete test suite: Incomplete test suite: Incomplete test suite: add exception test add exception test add exception test Covered in CRUD Entry Criteria - Must have use cases and problem domain classes - Value is limited to accuracy/completeness/ consistency of these inputs Exit Criteria - Test suite achieves coverage when all CRUD operations for all problem domain classes are exercised and all tests pass Intent - Allocate testing budget to each use case in proportion to its relative frequency Context - While planning for suite, How many test for each variant? How should these tests be interleaved? - Develop test cases until budget/time runs out

9 - Example: Test Case Allocation for ATM Fault Model - Frequency of failures seen by customers ~ usage frequency - Well suited for Object-Oriented systems - Maximize chance of reaching/triggering faults that customers would find Strategy: Test Model - Operational profile: If system has 2 use cases: update + search On average 10,000 updates/day and 90,000 searches/day Operational profile = [{Search, 0.9}, {Update, 0.1}] Strategy: Test Procedure 1. Prepare the operational profile for the SUT 2. Estimate teams testing productivity 3. Establish system testing effort budget 4. Allocate testing time for each use case 5. Generate test cases for each use case 6. Choose strategy to interleave test cases (possibly random)

10 Strategy: Test Procedure - Keep in mind (Good engineering judgement) Rarely used but critical use cases -> separate operational profile Often used use cases but trivial implementation -> merge use case with other use case when testing Many rarely used use cases -> merge with other use cases when testing Entry Criteria - Adequate unit and integration testing is done on components and subsystems - Sufficient resources are committed to estimating the profile for all use cases Exit Criteria - Testing is done under limited time/budget - See (at least all-variants coverage) Advantages - Makes best use of available testing resources - Support stop testing decision - Cutting/reducing low-frequency use cases will have the least effect on overall reliability Disadvantages - Difficult/Impossible to obtain accurate operational profile (use heuristic, effort in most cases low) Known Uses - Weapon systems - Microsoft desktop application - Windows NT operating system - Embedded systems - NASA Space Shuttle - Tandem s Guardians operating system - Cleanroom Development approach

11 14. Application Systems Testing Application Systems Test Design Patterns Implementation-specific Capabilities Post-development Testing Notes on Testing Performance Objectives Implementation-Specific Capabilities Use cases don't require specific implementation Some critical system capabilities cannot be modeled by use cases System testing should exercise all SUT capabilities Many effective strategies exist (for system scope testing of object-oriented and component-based implementations) Generally, used after use case based testing Configuration and Compatibility (1) Applications often need to be compatible with many different environments (both platform and interoperation) Compatibility is a broad term, can be expressed in terms of configuration combinations that must be supported Examples of required SUT compatibility: - other applications - computer systems (any approved combination of hardware components) - operating systems, versions of an OS - GUI systems, versions of a GUI Configuration and Compatibility (2) Expected: same behavior for all configurations example: Java (though not total yet) Compatibility Strategy 1. Compatibility/configuration requirements analysis 2. For each configuration: identification of variables, allowed deviations, DC conditions, unspecified variables 3. Choice of subset of combinations 4. Test suite development

12 Performance (1) Requirement: the SUT must accomplish something within a specified time interval Performance-critical examples: desktop, high-volume transaction processing Not meeting this requirement is as much a bug as incorrect output or system crash Performance (2) Quantitative formulations in terms of response time, throughput, or utilization Some ways to develop these performance objectives measures are discussed at the end of this presentation Must be translated into constraints on execution time or resource use, under a stated load Often set for worst-case performance (e.g. for mission-critical systems), or for average performance (e.g. data-processing systems) Performance (3) Assumptions for factors that affect performance (incl. platform capabilities and state)! unclear assumptions => unreliable results Variations of performance testing: Load testing: often uses a load simulator in client/server systems (usually for transaction-processing systems) Volume testing: transmit high quantity of input at normal system load (usually for batch-processing systems) Concurrency Testing Context: SUT relies on (some form of) concurrent execution with shared resources Common issues: resource contention, scheduling, deadlock avoidance, priority inversion, race conditions Strategy: 1. Identify typical configurations of concurrent execution and loading levels 2. Test suite starts processes/threads, simulates typical input patterns 3. Goal: cause abnormal termination

13 Stress Testing Context: SUT has fail-safe response when quantity/rate of input beyond design limits (equivalent to vehicle crash testing) Goal: push SUT beyond design limits, causing failures (e.g. 10 times maximum) Types of faults revealed: lack of fail-safe behaviour load-sensitive bugs Restart/Recovery Testing Context: SUT supports automatic/manual recovery from failures Strategy 1. Trigger failure modes, leading to restart/ recovery 2. Verify the correct restart/recovery process is started 3. Use regression testing to check repaired state Human-Computer Interaction Illustration of importance: deaths caused by Therac-25 system HCI-related bug Information provided to the user (manuals, error messages,...) must be clear Complex requirements, many ways to test Basic Strategy: 1. List all SUT capabilities 2. Define objective pass/no-pass criterion per capability under test HCI Testing (1) Usability testing: keystroke recording, measure physiological and psychological responses Security testing: basic security features tested like others; advanced: attempt to breach Localization testing: multiple languages or other locale parameters; can be difficult to test Installation testing: (de)installation, upgrades, patches, different platform and installation configurations

14 HCI Testing (2) User documentation testing: correctness and completeness of user-targeted information Operator Procedure testing: correctness and completeness of operator-targeted info (all parts of system operation); may overlap with restart/ recovery testing Serviceability testing: field upgrades, repairs, reconfiguration Afterwards: Murphy's law! (human interaction) 14. Application Systems Testing Application Systems Test Design Patterns Implementation-specific Capabilities Post-development Testing Notes on Testing Performance Objectives Post-Development Testing (1) Alpha test By independent group, but often within the same company (internal acceptance test) Focus: simulate real-world usage Beta test By representative groups of users/customers To set timing of the general release Used for mass market desktop systems (e.g. browsers), computer games,... Post-Development Testing (2) Acceptance test By customer who commissioned the system Passing often required to receive payment Producer and consumer negotiate the criteria and test plan Compliance Test Test if the system meets the specified regulations/standards (government, IEEE,...)

15 14. Application Systems Testing Application Systems Test Design Patterns Implementation-specific Capabilities Post-development Testing Notes on Testing Performance Objectives Testing Performance Objectives Performance Objectives: Throughput (# accomplished tasks per time unit, e.g. transactions/sec) => productivity Response time (time interval between input and output, e.g. button) => responsiveness Utilization (busy/available ratio for a single component over a fixed interval, e.g. server utilization) => ability of a component to respond to a high load Batch Systems (1) POs: batch window, transaction throughput Batch window: commonly used, time interval for the completion of a batch job Start and finish times as for PERT (if parallel activity possible, critical path can be found) Two other factors can shrink the window: O: operator action time p(f): probability of failure (=> job restart) Batch Systems (2) BP (Batch Performance) objective = interval in which batch job must complete all processing Optimistic: BP < W - O Conservative: BP < (W - O) / 2 Compromise: BP < (W - O) / (1 + p(f)) Performance testing: set up batch runs with average/worst-case input quantities; simulate any other load

16 Interactive Systems POs: average/worst-case response time Continuous dialogue with user(s) => response time scaled to human tolerance Examples: reservation systems, business transaction-processing systems, CLIs IP (Interactive Performance) objective = interval in which software must produce a response Average utilization level of all resources (e.g. client, network, server) should be specified POs: critical interval Real-time Systems (1) Must keep pace with external physical process, and respond while that process occurs, so the response can control the process Signal types: if repeating, the rate defines the response window; if critical, a response must be given within a fixed interval Two factors determine the objective: S: signaling rate I: critical interval Real-time Systems (2) RP (Real-time Performance) objective = interval in which SUT must respond to an input signal Repeating: RP < S Critical: RP < I Repeating critical: BP < minimum [ S I ] Performance testing: simulate external signal at average/worst-case frequency; simulate any other load; monitor end-to-end response time Real-time Systems (3) Ideally, monitoring software is not run on the computer running the SUT (affects results) Monitoring computer logs all input and output passing between it and the target machine Average performance times are calculated using the log

17 The End 64 17

Application System Testing. Presenter: Katleen Mariën

Application 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 information

Integration Testing Qualidade de Software 2

Integration 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 information

Motivation State Machines

Motivation 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 information

door Sasa Berberovic

door 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 information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Testing Software Engineering -CSC4350/6350 - Rao Casturi 2 Testing What is testing? Process of finding the divergence between the expected behavior of the

More information

15. Regression testing

15. Regression testing 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

More information

State-Based Testing Part B Error Identification. Generating test cases for complex behaviour

State-Based Testing Part B Error Identification. Generating test cases for complex behaviour State-Based Testing Part B Error Identification Generating test cases for complex behaviour Reference: Robert V. Binder Testing Object-Oriented Systems: Models, Patterns, and Tools Addison-Wesley, 2000,

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. 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 information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/10/2015 http://cs.gsu.edu/~ncasturi1 Class announcements Final Exam date - Dec 1 st. Final Presentations Dec 3 rd. And

More information

Chap 2. Introduction to Software Testing

Chap 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 information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/10/2014 Final Exam date - Dec 10 th? Class announcements Final Presentations Dec 3 rd. And Dec 8 th. Ability

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Why 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 information

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia Topic: Software Verification, Validation and Testing Software Engineering Faculty of Computing Universiti Teknologi Malaysia 2016 Software Engineering 2 Recap on SDLC Phases & Artefacts Domain Analysis

More information

Software Quality Assurance. David Janzen

Software Quality Assurance. David Janzen Software Quality Assurance David Janzen What is quality? Crosby: Conformance to requirements Issues: who establishes requirements? implicit requirements Juran: Fitness for intended use Issues: Who defines

More information

Department of Electrical & Computer Engineering, University of Calgary. B.H. Far

Department 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 information

TDDD04: Integration and System level testing. Lena Buffoni

TDDD04: Integration and System level testing. Lena Buffoni TDDD04: Integration and System level testing Lena Buffoni lena.buffoni@liu.se Lecture plan Integration testing System testing Test automation Model-based testing Remember? Testing in the waterfall model

More information

Lecture 15 Software Testing

Lecture 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 information

Software Testing. Testing: Our Experiences

Software Testing. Testing: Our Experiences Software Testing Testing: Our Experiences Test Case Software to be tested Output 1 Test Case Generation When to Stop? Test Case Software to be tested Verification Output No Enough? Test Coverage Yes A

More information

Class Modality. Modality Types. Modality Types. Class Scope Test Design Patterns

Class 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 information

Basic Concepts of Reliability

Basic Concepts of Reliability Basic Concepts of Reliability Reliability is a broad concept. It is applied whenever we expect something to behave in a certain way. Reliability is one of the metrics that are used to measure quality.

More information

INTRODUCTION TO SOFTWARE ENGINEERING

INTRODUCTION 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 information

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Three 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 information

Verification and Validation

Verification 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 information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake Sample ISTQB examination 1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake 2 Regression testing should

More information

Software Quality. Richard Harris

Software Quality. Richard Harris Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software

More information

Modern Methods in Software Engineering. Testing.

Modern Methods in Software Engineering. Testing. Modern Methods in Software Engineering Testing www.imit.kth.se/courses/2g1522 Literature used Text book Chapter 11 Introduction Content Terminology Types of errors Dealing with errors Component Testing

More information

Bridge Course On Software Testing

Bridge 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 information

Terminology. There are many different types of errors and different ways how we can deal with them.

Terminology. There are many different types of errors and different ways how we can deal with them. Testing Terminology Reliability: The measure of success with which the observed behavior of a system confirms to some specification of its behavior. Failure: Any deviation of the observed behavior from

More information

Header Description: This use case describes how the ATM user withdraws cash from the ATM.

Header Description: This use case describes how the ATM user withdraws cash from the ATM. Use Case: Withdraw Cash Use Case #: UC1 Author: Iteration: JAD Team Detailed Header Description: This use case describes how the ATM user withdraws cash from the ATM. Business Trigger(s): Customer needs

More information

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur School of Computing, Department of IT 1 School of Computing, Department 2 SOFTWARE TESTING

More information

Chapter 8 Software Testing. Chapter 8 Software testing

Chapter 8 Software Testing. Chapter 8 Software testing Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

Introduction 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 information

Input Space Partitioning

Input Space Partitioning Input Space Partitioning Instructor : Ali Sharifara CSE 5321/4321 Summer 2017 CSE 5321/4321, Ali Sharifara, UTA 1 Input Space Partitioning Introduction Equivalence Partitioning Boundary-Value Analysis

More information

Reminder from last time

Reminder from last time Concurrent systems Lecture 5: Concurrency without shared data, composite operations and transactions, and serialisability DrRobert N. M. Watson 1 Reminder from last time Liveness properties Deadlock (requirements;

More information

An Introduction to Systematic Software Testing. Robert France CSU

An Introduction to Systematic Software Testing. Robert France CSU An Introduction to Systematic Software Testing Robert France CSU Why do we need to systematically test software? Poor quality products can Inconvenience direct and indirect users Result in severe financial

More information

17. Assertions. Outline. Built-in tests. Built-in tests 3/29/11. Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen

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 information

17. Assertions. Jelle Slowack, Bart Smets, Glenn Van Loon, Tom Verheyen

17. 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 information

Client-server application testing plan

Client-server application testing plan Client-server application testing plan 1. INTRODUCTION The present plan contains and describes testing strategy principles applied for remote access system testing. The plan is intended to be used by project

More information

WHY TEST SOFTWARE?...

WHY TEST SOFTWARE?... 2 At a glance 1 PREFACE... 3 2 AT A GLANCE... 5 3 TABLE OF CONTENTS... 9 4 INTRODUCTION... 17 5 WHY TEST SOFTWARE?... 19 5.1 WHY TEST SOFTWARE?... 19 5.2 LIMITATIONS OF TESTING... 20 5.3 ALTERNATIVE TO

More information

Chapter 9. Software Testing

Chapter 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 information

CaseComplete Roadmap

CaseComplete Roadmap CaseComplete Roadmap Copyright 2004-2014 Serlio Software Development Corporation Contents Get started... 1 Create a project... 1 Set the vision and scope... 1 Brainstorm for primary actors and their goals...

More information

Steps in Using COMET/UML

Steps in Using COMET/UML SWE 621: Software Modeling and Architectural Design Lecture Notes on Software Design Lecture 5- Finite State Machines and Statecharts Hassan Gomaa Dept of Computer Science George Mason University it Fairfax,

More information

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011 Higher-order Testing Stuart Anderson Defining Higher Order Tests 1 The V-Model V-Model Stages Meyers version of the V-model has a number of stages that relate to distinct testing phases all of which are

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering

Chapter 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 information

Quality Assurance: Test Development & Execution. Ian S. King Test Development Lead Windows CE Base OS Team Microsoft Corporation

Quality Assurance: Test Development & Execution. Ian S. King Test Development Lead Windows CE Base OS Team Microsoft Corporation Quality Assurance: Test Development & Execution Ian S. King Test Development Lead Windows CE Base OS Team Microsoft Corporation Introduction: Ian King Manager of Test Development for Windows CE Base OS

More information

NOM SIMULATOR TEST PLAN. Sections. A.1 Introduction

NOM SIMULATOR TEST PLAN. Sections. A.1 Introduction NOM SIMULATOR TEST PLAN A.1 Introduction A.2 Test Plan A.3 Test Design Specifications A.4 Test Case Specification A.5 Test Log A.6 Test Summary Report Sections [1] page 8 A.1 Introduction 1.1 Scope This

More information

Concurrent & Distributed Systems Supervision Exercises

Concurrent & Distributed Systems Supervision Exercises Concurrent & Distributed Systems Supervision Exercises Stephen Kell Stephen.Kell@cl.cam.ac.uk November 9, 2009 These exercises are intended to cover all the main points of understanding in the lecture

More information

Testing: Test design and testing process

Testing: 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 information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Software Testing. Massimo Felici IF

Software 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 information

CH 13 APPLICATION ANALYSIS

CH 13 APPLICATION ANALYSIS CH 13 APPLICATION ANALYSIS APPLICATION INTERACTION MODEL Steps: Determine system boundary Find actors Find use case Find initial & final events Prepare a normal scenario Add exception scenario Prepare

More information

Sample Exam. Certified Tester Foundation Level

Sample Exam. Certified Tester Foundation Level Sample Exam Certified Tester Foundation Level Answer Table ASTQB Created - 2018 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Test design techniques

Test design techniques INF3121 : Software Testing 12. 02. 2015 Lecture 4 Test design techniques Lecturer: Raluca Florea INF3121/ 12.02.2015 / Raluca Florea 1 Overview 1. The test development process 2. Categories of test design

More information

UNIT OBJECTIVE. Understand what system testing entails Learn techniques for measuring system quality

UNIT 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 information

Business Requirements Document (BRD) Template

Business 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 information

Programming Embedded Systems

Programming Embedded Systems Programming Embedded Systems Lecture 8 Overview of software testing Wednesday Feb 8, 2012 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/53 Lecture outline Testing in general Unit testing

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering Quality Management Main Message Planning phase Definition phase Design phase Implem. phase Acceptance phase Mainten. phase 3 1. Overview

More information

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Software Testing part II (white box) Lecturer: Giuseppe Santucci Software Testing part II (white box) Lecturer: Giuseppe Santucci 4. White box testing White-box (or Glass-box) testing: general characteristics Statement coverage Decision coverage Condition coverage Decision

More information

Software Architecture

Software Architecture Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment

More information

Verification and Validation. Verification and validation

Verification and Validation. Verification and validation Verification and Validation Verification and validation Verification and Validation (V&V) is a whole life-cycle process. V&V has two objectives: Discovery of defects, Assessment of whether or not the system

More information

Darshan Institute of Engineering & Technology Unit : 9

Darshan Institute of Engineering & Technology Unit : 9 1) Explain software testing strategy for conventional software architecture. Draw the spiral diagram showing testing strategies with phases of software development. Software Testing: Once source code has

More information

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer Static testing Static testing is a software testing method that involves examination of the program's code and its associated documentation but does not require the program be executed. Dynamic testing,

More information

CSE 403: Software Engineering, Fall courses.cs.washington.edu/courses/cse403/16au/ Unit Testing. Emina Torlak

CSE 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 information

TARGET2-SECURITIES INFORMATION SECURITY REQUIREMENTS

TARGET2-SECURITIES INFORMATION SECURITY REQUIREMENTS Target2-Securities Project Team TARGET2-SECURITIES INFORMATION SECURITY REQUIREMENTS Reference: T2S-07-0270 Date: 09 October 2007 Version: 0.1 Status: Draft Target2-Securities - User s TABLE OF CONTENTS

More information

Basics of Software Testing-I UNIT I Software Testing. Software is used in many applications of the real world. Some of the examples are

Basics of Software Testing-I UNIT I Software Testing. Software is used in many applications of the real world. Some of the examples are SOFTWARE TESTING Basics of Software Testing-I In this chapter, we discuss the following topics: 1. Introduction to Software Testing 2. Understanding Error, Fault and Failure 3. Software Quality Attributes

More information

Software Engineering Software Testing Techniques

Software 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 information

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals Software Testing in the textbook Software Testing Chapter 8 Introduction (Verification and Validation) 8.1 Development testing 8.2 Test-driven development 8.3 Release testing 8.4 User testing 1 2 Verification

More information

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale Total number points = 120 points Total number points to pass = 78 points Question Answer Explanation / Rationale Learning 1 A A is correct.

More information

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 9, Testing

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 9, Testing Object-Oriented Software Engineering Conquering Complex and Changing Systems Chapter 9, Testing Preliminaries Written exam on for Bachelors of Informatik, and for other students who are not in the Informatik

More information

CDA 5140 Software Fault-tolerance. - however, reliability of the overall system is actually a product of the hardware, software, and human reliability

CDA 5140 Software Fault-tolerance. - however, reliability of the overall system is actually a product of the hardware, software, and human reliability CDA 5140 Software Fault-tolerance - so far have looked at reliability as hardware reliability - however, reliability of the overall system is actually a product of the hardware, software, and human reliability

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 04: Static Testing (Inspection) and Defect Estimation (Textbook Ch. 10 & 12) Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Lecture Reading Chapter 10: Reviews

More information

Cursul Aprilie

Cursul Aprilie Cursul 10 24 Aprilie Din Cursurile trecute Quality Assurance Test Levels Test Methods Quality Assurance Manual Testing Test Automation Software Bug Non functional software testing Measuring software testing

More information

Software Testing and Maintenance

Software Testing and Maintenance Software Testing and Maintenance Testing Strategies Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/ design/ implementation of the item

More information

Chapter 8 Software Testing. Chapter 8 So-ware tes0ng

Chapter 8 Software Testing. Chapter 8 So-ware tes0ng Chapter 8 Software Testing 1 Topics covered ² Introduction to testing ² Stages for testing software system are: Development testing Release testing User testing ² Test-driven development as interleave

More information

Software Testing CS 408

Software Testing CS 408 Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail

More information

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification Techniques

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification Techniques Software Testing in the textbook Software Testing Chapter 8 Introduction (Verification and Validation) 8.1 Development testing 8.2 Test-driven development 8.3 Release testing 8.4 User testing 1 2 Verification

More information

Sample Question Paper. Software Testing (ETIT 414)

Sample 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 information

Software Testing. 2. Models. 2. Models. Testing Approaches. Why Models? (in Testing) (Based on Part II: Models of Testing Object-Oriented Systems)

Software Testing. 2. Models. 2. Models. Testing Approaches. Why Models? (in Testing) (Based on Part II: Models of Testing Object-Oriented Systems) 2. Models (Based on Part II: Models of Testing Object-Oriented Systems) Software Testing 2. Models Models Why? What? How? Combinational Models Decision Tables: What? How? Test Generation State Machines

More information

Sample Exam. Advanced Test Automation Engineer

Sample Exam. Advanced Test Automation Engineer Sample Exam Advanced Test Automation Engineer Answer Table ASTQB Created - 08 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs. In this Lecture you will Learn: Testing in Software Development Process Examine the verification and validation activities in software development process stage by stage Introduce some basic concepts of

More information

Types of Software Testing: Different Testing Types with Details

Types of Software Testing: Different Testing Types with Details Types of Software Testing: Different Testing Types with Details What are the different Types of Software Testing? We, as testers are aware of the various types of Software Testing such as Functional Testing,

More information

Dataworks Development, Inc. P.O. Box 174 Mountlake Terrace, WA (425) fax (425)

Dataworks Development, Inc. P.O. Box 174 Mountlake Terrace, WA (425) fax (425) Dataworks Development, Inc. P.O. Box 174 Mountlake Terrace, WA 98043 (425) 673-1974 fax (425) 673-2506 The Freezerworks Validation Verification Package Dataworks Development, Inc. has over 20 years of

More information

1. Introduction to Concurrent Programming

1. Introduction to Concurrent Programming 1. Introduction to Concurrent Programming A concurrent program contains two or more threads that execute concurrently and work together to perform some task. When a program is executed, the operating system

More information

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development

Facts 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 information

Chapter 9 Quality and Change Management

Chapter 9 Quality and Change Management MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

QA Best Practices: A training that cultivates skills for delivering quality systems

QA Best Practices: A training that cultivates skills for delivering quality systems QA Best Practices: A training that cultivates skills for delivering quality systems Dixie Neilson QA Supervisor Lynn Worm QA Supervisor Maheen Imam QA Analyst Information Technology for Minnesota Government

More information

Testing. Outline. What is this? Terminology. Erroneous State ( Error ) Algorithmic Fault

Testing. Outline. What is this? Terminology. Erroneous State ( Error ) Algorithmic Fault Outline 1 Terminology Types of errors Dealing with errors Quality assurance vs Component Unit testing Integration testing Strategy Design Patterns & testing unction testing Structure Performance testing

More information

Błaej Pietrzak

Bł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 information

Pearson Education 2007 Chapter 9 (RASD 3/e)

Pearson Education 2007 Chapter 9 (RASD 3/e) MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics

More information

Software Testing. 2. Models. 2. Models. Testing Approaches. Why Models? (in Testing) (Based on Part II: Models of Testing Object-Oriented Systems)

Software Testing. 2. Models. 2. Models. Testing Approaches. Why Models? (in Testing) (Based on Part II: Models of Testing Object-Oriented Systems) 2. Models (Based on Part II: Models of Testing Object-Oriented Systems) Software Testing 2. Models Models - Why? What? How? Combinational Models - Decision Tables: What? How? - Test Generation State Machines

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Lecture 3 Errors and failure Inputs Error revealing inputs

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated

More information

Homework #2 Nathan Balon CIS 578 October 31, 2004

Homework #2 Nathan Balon CIS 578 October 31, 2004 Homework #2 Nathan Balon CIS 578 October 31, 2004 1 Answer the following questions about the snapshot algorithm: A) What is it used for? It used for capturing the global state of a distributed system.

More information

Write perfect C code to solve the three problems below.

Write perfect C code to solve the three problems below. Fall 2017 CSCI 4963/6963 Week 12 David Goldschmidt goldschmidt@gmail.com Office: Amos Eaton 115 Office hours: Mon/Thu 1:00-1:50PM; Wed 1:00-2:50PM Write perfect C code to solve the three problems below.

More information

Information Systems. Software Engineering. MCQ - Part 2

Information 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 information

Introduction to Software Testing

Introduction to Software Testing Introduction to Software Testing Software Testing This paper provides an introduction to software testing. It serves as a tutorial for developers who are new to formal testing of software, and as a reminder

More information