System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent quality assurance.

Slides:



Advertisements
Similar presentations
Software Testing Strategies
Advertisements

1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing and Quality Assurance
System Construction and Implementation Objectives:
1 Software Engineering Lecture 11 Software Testing.
Physical Architecture Layer Design
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Chapter 9 Testing the System, part 2. Testing  Unit testing White (glass) box Code walkthroughs and inspections  Integration testing Bottom-up Top-down.
Illinois Institute of Technology
Outline Types of errors Component Testing Testing Strategy
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 9.3 Software Testing Strategies.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
Software Testing & Strategies
Software Engineering Lecture 13 Software Testing Strategies 1.
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Chapter 13 & 14 Software Testing Strategies and Techniques
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
System/Software Testing
ECE 355: Software Engineering
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Software Testing.
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.
Software Testing Testing types Testing strategy Testing principles.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Controls design Controls are “the plan of organization and all the methods and measures to safeguard its assets, check the accuracy and reliability of.
A13. Testing Intro Data Structures & SE Computer Science Dept Va Tech Aug., 2001 © Barnette ND, McQuain WD 1 Levels of Verification The Unreachable.
LECTURE 19 23/11/15 Software Quality and Testing.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
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.
Software Testing. System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
CS451 Software Implementation and Integration Yugi Lee STB #555 (816) Note: This lecture was designed.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
Bina Nusantara 19 C H A P T E R SYSTEM CONSTRUCTION AND IMPLEMENTATION.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Integration testing After different modules of a system have been coded and unit tested: –modules are integrated in steps according to an integration plan.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
Software Testing. Purpose: Find errors! not prove that the program does not have them Types of tests: Unit Test Integration Test Function Test Load Test.
Software Testing Strategies for building test group
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Rekayasa Perangkat Lunak Part-13
Software Testing Techniques
Chapter 13 & 14 Software Testing Strategies and Techniques
Lecture 09:Software Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Chapter 10 – Software Testing
Chapter 11: Integration- and System Testing
System analysis and design
Chapter 11: Integration and System Testing
CS410 – Software Engineering Lecture #11: Testing II
Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent quality assurance group (except for unit testing)

Test Strategy UNIT TESTING (Module testing) –debuggers, tracers –programmers INTEGRATION TESTING –communication between modules –start with one module, then add incrementally SYSTEM TESTING –manual procedures, restart and recovery, user interface –real data is used –users involved ACCEPTANCE TESTING –user-prepared test data –Verification Testing, Validation testing, Audit Testing

White Box Testing –knowing internal working,and exercising different parts –test various paths through software; if exhaustive testing is impossible, test high-risk paths Black Box Testing –knowing functions to be performed and testing whether these are performed properly –correct outputs from inputs DBs accessed/updated properly – test cases designed from user requirements –appropriate at Integration, Systems and Acceptance testing levels

Testing Equivalence Cases Two inputs are in the same Equivalence Class if they are handled similarly by system –eg. data field valid value in 1-50 –So, 20, 38, 1, 47 belong to the same Equivalence Class –no need to test multiple values from same Equivalent Class –Bounds testing eg. test 38, then end points 1 and 50 –test valid and invalid equivalence classes –reduces the number of test cases required Example: 3 inputs I 1 has 10 equivalence classesTotal tests cases required: I 2 has 10 equivalence classes 10 x 10 x 10 = 1000 test cases. I 3 has 10 equivalence classes

Dependency Islands Each output is usually not dependent on all inputs Example: suppose we have 6 inputs I 1,.. I 6 and 3 outputs O 1,.., O 3 Suppose O 1 depends on I 1, I 2, I 3 O 2 depends on I 4, I 5 O 3 depends on I 6 If each input has 5 equivalence classes: To test I 1 we need 5 test cases To test I 2 we need 5 test cases To test I 1 and I 2 together, we need 5 x 5 test cases Thus for all 67 inputs, we need 5 6 = 15,625 test cases Using dependency islands: For O 1 : test only I 1, I 2, I 3 : 5 3 test cases For O 2 : test only I 4, I 5 : 5 2 test casesTotal test cases = 155 For O 3 : test only I 6 : 5 test cases

Stub Testing (Stubs and Drivers) - Unit and Integration testing A Top-Down Integration Testing bcd Stubs Stubs: dummy modules used for testing if higher level modules are working properly. A BCD Stubs efg A BCD EFG

A BCD EFG Bottom-Up Integration testing a BCD EFG Driver: dummy modules used for issuing calls to lower modules and testing if the lower modules are working properly. Driver b EF c G a D

Cost of developing stubs and drivers –generally, Driver modules are easier to develop -- so, bottom-up integration testing is less costly. With Top-Down Integration Testing, major modules are coded and tested first - strong psychological boost when major modules are done. With Bottom-Up Integration testing, no working program can be demonstrated until the last module is tested -- major design errors may not be detected till the end, when entire programs may need revision! Meet-in-the-middle approach may be best.

System Testing Recovery Testing – forces software failure and verifies complete recovery Security Testing –verify proper controls have been designed Stress Testing –resource demands (frequency, volume, etc.)

Acceptance Testing Alpha Testing (Verification testing) –real world operating environment –simulated data, in a lab setting –systems professionals present observers, record errors, usage problems, etc. Beta Testing (Validation Testing) –live environment, using real data –no systems professional present –performance (throughput, response-time) –peak workload performance, human factors test, methods and procedures, backup and recovery - audit test