Chapter 9 Testing the System, part 2. Testing  Unit testing White (glass) box Code walkthroughs and inspections  Integration testing Bottom-up Top-down.

Slides:



Advertisements
Similar presentations
Software Testing Strategies
Advertisements

Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Lecture 8: Testing, Verification and Validation
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing and Quality Assurance
System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent quality assurance.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
Documentation Testing
Lecturer: Dr. AJ Bieszczad Chapter 99-1 Causes of faults during development.
Illinois Institute of Technology
1 Testing. 2 About Testing  The reason the program is in testing is that it probably doesn’t work!  We test to find bugs before our users and hope that.
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
System Testing Unit & Integration Testing Objective: to make sure that the program code implements the design correctly. System Testing Objective: to ensure.
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.
Pfleeger and Atlee, Software Engineering: Theory and Practice CS499 Chapter 9 Testing the System Shari L. Pfleeger Joann M. Atlee 4 th Edition.
Functional Testing Test cases derived from requirements specification document – Black box testing – Independent testers – Test both valid and invalid.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
ECE 355: Software Engineering
Extreme Programming Software Development Written by Sanjay Kumar.
CH09: Testing the System to ensure the system does what the customer wants it to do: * Principles of System Testing * Function Testing * Performance Testing.
Categories of Testing.
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Testing.
Systems Development Lifecycle Project Identification & Selection Project Initiation & Planning Analysis Logical Design Physical Design Implementation Maintenance.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing Testing types Testing strategy Testing principles.
Chapter 9 Testing the System Shari L. Pfleeger Joann M. Atlee
Unit 7 Chapter 8 Testing the Programs. Unit 7 Requirements Read Chapters 8 and 9 Respond to the Unit 7 Discussion Board (25 points) Attend seminar/Take.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
1 SOFTWARE TESTING Presented By Abhilash.S  What is Software Testing?  Fundamentals of software Testing Error/Mistake? Defect/Bug/Fault? Failure? 2.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
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)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Agenda for today: The Unified Software Development Process: Test (Note) Test The purpose of testing Artifacts Test in the sw Life Cycle Workers Test procedure.
Software Quality Assurance and Testing Fazal Rehman Shamil.
CSCI 3428: Software Engineering Tami Meredith Chapter 9 Testing the System.
 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.
System Testing 12/09. Hierarchy of Testing Testing Program Testing Top Down Bottom Up Integration TestingUnit Testing System Testing Big Bang Sandwich.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Introduction to Software Testing Maili Markvardt.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Chapter 9 Testing the System 9.1 Principles of System Testing Focus A: The objective of unit and integration ensure the code implemented the design.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
Software Testing Strategies for building test group
Software Testing.
Testing the System.
Integration Testing.
Rekayasa Perangkat Lunak Part-13
Introduction to Software Testing
Lecture 09:Software Testing
The purpose of testing Artifacts Test in the sw Life Cycle Workers
Progression of Test Categories
Chapter 10 – Software Testing
Chapter 11: Integration- and System Testing
Chapter 9 Testing the System Shari L. Pfleeger Joann M. Atlee
Software Testing Strategies
Presentation transcript:

Chapter 9 Testing the System, part 2

Testing  Unit testing White (glass) box Code walkthroughs and inspections  Integration testing Bottom-up Top-down Sandwich Big Bang  Function testing  Performance testing  Acceptance testing  Installation testing

One-minute quiz  What is the difference between verification and validation?

One-minute quiz  What is meant by regression testing?  Is regression testing used for verification or validation?

Function Testing  Test cases derived from requirements specification document Black box testing Independent testers Test both valid and invalid input and the success of the test is determined by the produced output  Equivalence partitioning Boundary values

Performance Testing  Stress tests  Volume tests  Configuration tests  Compatibility tests  Regression tests  Security tests  Timing tests  Environmental tests  Quality tests  Recovery tests  Maintenance tests  Documentation tests  Human factors (usability) tests

Reliability, Availability, and Maintainability  Software reliability: operating without failure under given condition for a given time interval  Software availability: operating successfully according to specification at a given point in time  Software maintainability: for a given condition of use, a maintenance activity can be carried out within stated time interval, procedures and resources

Measuring Reliability, Availability, and Maintainability  Mean time to failure (MTTF)  Mean time to repair (MTTR)  Mean time between failures (MTBF) MTBF = MTTF + MTTR  Reliability R = MTTF / (1+MTTF)  Availability A = MTBF / (1+MTBF)  Maintainability M = 1 / (1+MTTR)

When to stop testing  Fault seeding Adding faults to the code to estimate the number of remaining faults. Suppose 50 faults have been seeded in the code. Regression testing identifies 60 faults, forty of which are the seeded faults. What is the estimate of the total number of undiscovered real faults remaining?

Acceptance Tests  Enable the customers and users to determine if the built system meets their needs and expectations  Written, conducted, and evaluated by the customers

Types of Acceptance Tests  Pilot test: install on experimental basis  Alpha test: in-house test  Beta test: customer pilot  Parallel testing: new system operates in parallel with old system

Test Documentation  Test plan: describes system and plan for exercising all functions and characteristics  Test specification and evaluation: details each test and defines criteria for evaluating each feature  Test description: test data and procedures for each test  Test report: results of each test

Test Documentation

Test Plan  Used to organize testing activities guides the scheduling of the programming explains the nature and extent of each test documents test input, specific test procedures, and expected outcomes

Defect Tracking Form

Quality Assurance  Quality Control Testing the quality of the program  Quality Assurance Building quality into the program Management level – proactive process Checklists

Testing Safety-Critical Systems  Recognize that testing cannot remove all faults or risks  Assume that every mistake users can make will be made Do not assume that low-probability, high- impact events will not happen  Emphasize requirements definition, testing, code and specification reviews, and configuration control Cleanroom testing

Different Levels of Failure Severity  Catastrophic: causes death or system loss  Critical: causes severe injury or major system damage  Marginal: causes minor injury or minor system damage  Minor: causes no injury or system damage