System Test Methods TESTTEME The Test Challenge Bottom Up Testing Strategy Integration Test System Test Types of Testing Unit Test = Code-based Testing.

Slides:



Advertisements
Similar presentations
Automating Software Module Testing for FAA Certification Usha Santhanam The Boeing Company.
Advertisements

DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Integration testing Satish Mishra
Software Testing and Quality Assurance
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Illinois Institute of Technology
CS 425/625 Software Engineering Software Testing
Testing an individual module
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Copyright by Scott GrissomCh 1 Software Development Slide 1 Software Development The process of developing large software projects Different Approaches.
Outline Types of errors Component Testing Testing Strategy
Introduction to Software Testing
Software Testing & Strategies
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
Bottom-Up Integration Testing After unit testing of individual components the components are combined together into a system. Bottom-Up Integration: each.
Chapter 13 & 14 Software Testing Strategies and Techniques
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
System/Software Testing
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Testing.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Ch6: Software Verification. 1 Decision table based testing  Applicability:  Spec. is described by a decision table.  Tables describe:  How combinations.
Software Testing Testing types Testing strategy Testing principles.
Software Testing. 2 CMSC 345, Version 4/12 Topics The testing process  unit testing  integration and system testing  acceptance testing Test case planning.
Test Coverage CS-300 Fall 2005 Supreeth Venkataraman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Software Construction Lecture 18 Software Testing.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Software Regression Testing
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
System Test Planning SYSTTPLAN 1 Location of Test Planning Responsibilities for Test Planning Results of Test Planning Structure of a Test Plan Test Definitions.
Software Engineering Saeed Akhtar The University of Lahore.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
CS451 Software Implementation and Integration Yugi Lee STB #555 (816) Note: This lecture was designed.
Software Quality Assurance and Testing Fazal Rehman Shamil.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Week # 4 Quality Assurance Software Quality Engineering 1.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Defect testing Testing programs to establish the presence of system defects.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Testing Integral part of the software development process.
Software Testing.
Chapter 9, Testing.
Chapter 13 & 14 Software Testing Strategies and Techniques
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

System Test Methods TESTTEME The Test Challenge Bottom Up Testing Strategy Integration Test System Test Types of Testing Unit Test = Code-based Testing Integration Test = Data-based Testing System Test = Requirements-based Testing Testing Interdependencies Software Testing Strategies Hierarchical Software Systems BIG-BANG Strategy TOP-DOWN Strategy BOTTOM-UP Strategy INSIDE-OUT Strategy OUTSIDE-IN Strategy BRANCHWISE Strategy Comparison of the Test Strategies Program Test Methods Control Flow Testing (White-Box) Data Flow Testing (Grey-Box) Functional Testing (Black-Box) Testing Heuristics Roll of Testing in the Life Cycle

Budget-, Time- and Personnel Constraints Great Diversity of SW- Environments Applications are becoming increasingly large and complex SW-Developers are neither trained nor motivated to test Testers are willing but incapable Lack of a testing culture The Testing Challenge TESTTEME-1

„How do you eat an elephant... bit by bit“ African Proverb Class Test –Test of each individual Class as a standalone Unit Integration Test –Test of several related classes and components System Test –Test of subsystems and the entire system Acceptance Test –Test by the User in a live environment Bottom Up Testing Strategy TESTTEME-2

„Integration testing exercises interfaces among units within the specified scope to demonstrate that the units are collectively interoperable“ Binder, 1999 Classes Class Hierarchies Packages of related Classes = Components Subsystems Client/Server = Frontend/Backend Entire Application Integration Test TESTTEME-3

The Whole is more than the Sum of the Parts –„Individual verification of components cannot garantee a correctly functioning system“ - Binder, 1999 Demonstrating the required Functionality –„If you do not have written objectives for your product, i.e a specification, or if your objectives are unmeasurable, then you cannot perform system testing“ - Myer, 1976 Determining when to release a product ?! –Probability of remaining Errors.. System Test TESTTEME-4

Classes under Test Class Flattener Test Driver Test Stubs Test Methods Integration Testing Specified Arguments Message Generator Input Messages Components under Test Return Messages Message Validator Unit Testing Expected Return Values ReplayCapture Web Pages Web Client Web Server Data System Testing Data Generator Data Validator RetrievalUpdates Types of Testing TESTTEME-5

A Test is always a test against Something TESTTEME-6 Concept System Test Cases Test Results Test Cycle new System Test Cases Test Results Test Cycle current System Verification = Comparison In order to verify a system, the requirements must be independent of the code. The task is to test the system against the requirements by extracting test cases from the requirements specification. Verification implies demonstrating that the system fulfills it‘s requirements. Once a system exists, every new version can be tested against the previous one. In this case the test cases can be extracted from the existing system and enhanced by test cases taken from the change requests. The new version is verified against the old one plus the new requirements. Initial TestingRegession Testing

Code based Testing TESTTEME-7 Code Test inputsTest outcomes SpecificationExpected outcomes Interfaces/Databases Predicate Paths Specified Paths Actual Paths compare Paths Corresponds to a Unit Test (White-Box)

Unit Test = Code-based Testing TESTTEME-8 Block IF THEN ELSE DO WHILECASE Block IF THEN = Testpoint WHITE-BOX-Method (Modultest) Test Object:

Data based Testing TESTTEME-9 CodeTest inputsTest outcomes SpecificationExpected outcomes compare Data Representative Values Interfaces/Files/Tables Specified Results Interfaces/Databases Corresponds to an Integration Test (Grey-Box)

Client Server Data- server Interface Interface SimulationInterface Validation GREY-BOX Method (Program Test) Input Data Output Data Integration Test = Data-based Testing TESTTEME-10

Specification based Testing TESTTEME-11 CodeTest inputsTest outcomes Specification Expected outcomes compare Files/Tables/Panels Specified Results Expected Values Interfaces/Databases Corresponds to a System Test (Black-Box) Outputs

SystemTest = Requirements-based Testing TESTTEME-12 Test Object Web Pages Masks Files Databases Parameters (Arguments) Messages Web Pages Masks Files Databases Reports (Results) Messages SYSTEM INPUTS SYSTEM OUTPUTS Application Function BLACK-BOX Method (System Test)

Integration Testing Strategies TESTTEME-13 BIG-BANG TOP-DOWN BOTTOM-UP INSIDE-OUT OUTSIDE-IN BRANCH-WISE

Layered Software Systems TESTTEME-14 Framework GUI- Components Error handling Module Print Module XML Output Module XML Input Module SQL Acess Module Order Art-3 Module Order Art-4 Module Order Art-1 Module Order Art-2 Module Order Entry Processing System Sample of a three level Program Service Level Logic Level Presentation Level

BIG-BANG Strategy TESTTEME-15 GUI Components Error handling Module Order Art-3 Module Order Art-4 Module Order Art-1 Module Order Art-2 Module Print Module XML Output Module XML Input Module SQL Access Module

TOP-DOWN Strategy TESTTEME-16 Framework GUI Components Stub

BOTTOM-UP Strategy TESTTEME-17 Framework GUI Components Error handling Module Print Module XML Output Module XML Input Module SQL Access Module Driver Test-driven Development

INSIDE-OUT Strategy TESTTEME-18 Driver Stub Order Art-3 Module Order Art-4 Module Order Art-1 Module Order Art-2 Module

OUTSIDE-IN Strategy TESTTEME-19 Framework GUI Components Error Handling Module Print Module XML Output Module XML Input Module SQL Access Module Driver Stub

BRANCHWISE Strategy TESTTEME-20 Framework GUI- Components Stub Print Module Stub XML Input Module SQL Access Module Stub Order Art-1 Module Stub (Thread Testing) One Transaction at a time Is tested through to end Straight thru testing

Comparison of Test Strategies TESTTEME-21 Point of View TOP-DOWN BOTTOM-UP INSIDE-OUT OUTSIDE-IN BRANCH-WISE Division of Labor poor good poor good poor Controllability poor good poor medium medium Test Aides required Stubs Drivers Stub&Drivers Stub&Drivers Stubs Test Case Definition difficult easy medium easy medium Test Visibility poor good medium good poor Duration of Test medium long long short short According to G. Myers: Software Reliability Principles and Practices

Principle SoftwareTest Approaches TESTTEME-22 Control Flow Testing  Statement Coverage  Branch Coverage  Path Coverage Data Flow Testing  Repreäsentative value coverage  Boundary value coverage  Equivalence Class Coverage  Data Relation Coverage  Cause & Effect Analysis  State Coverage Functional Testing  Result coverage = all desired results  Rule coverage = all relevant rules  Input oriented = all possible inputs

Control-Flow Testing (White-Box) TESTTEME-23 Entry Exit (1) (2)(3)(5)(6) (7)(8) (9) (10) (4) (11) (12) ( ) = Control- branch Paths = 1, 2, 3, 4, 6, 11 1, 2, 3, 5, 6, 11 1, 2, 7, 8, 10, 11 1, 2, 7, 9, 10, 11 1, 12,

Data-Flow Testing (Grey-box) TESTTEME-24 Program Inputs/ArgumentsOutputs/Results Predicates Representative Values Boundary Values Equivalence Classes Discrete Values Value Domains Functional Results Relations True/False Cause/Effect

Functional Testing (Black-Box) TESTTEME-25 Software SystemSystem Specification Arguments Rules Results Inputs Paths Outputs

Testing Heuristics TESTTEME-26 The specification of expected results is an essential part of the test. Programmers are not in a position to test their own programs. The results of each test case must be verified. All exception conditions should be tested and confirmed. It is not enough to confirm that a program does what it should do, but also to confirm that it does not do what it should not do. Test cases must be repeatable. Never assume there are no errors, software is always erroneoius. Errors tend to cluster. If an error is found, other errors are likely to be found around it. A good test case is a case with a high probability of discovering an error. The goal of testing is to find errors. A test with no defined end criteria is no test