want to contact me login to

Post on 13-May-2015

472 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Software Testing

What is Testing?

• A process of demonstrating that errors are not

present

• A process of establishing confidence that a

program does what it is supposed to do.

• A process of finding errors in a program

Objectives of Testing

To greatest possible number of errors with a

manageable find the amount of efforts applied

over a realistic time span with a finite number of

test cases.

What Does Software testing Reveal?

errorserrors

requirements conformance or the lack of itrequirements conformance or the lack of it

performanceperformance

an indicationan indicationof qualityof quality

Testing – Why?

• Contribute to the delivery of higher quality

software product

• Undetected errors are costly to detect at a

later stage

• Satisfied users and to lower maintenance cost

Testing – How?

• By examining the internal structures and

design

• By examining the functional user interface

• By examining the design objectives

• By examining the users’ requirements

• By executing code

Verification and Validation

Verification refers to a set of activities that

ensure that software correctly implements a

specific function.

Validation refers to a different set of activities

that ensure that the software that has been

built is traceable to customer requirements.

Verification and Validation

Verification – Are we building the product right?

Validation – Are we building the right product?

Test Case

• “A set of test inputs, execution conditions,

and expected results developed for a

particular objective, such as to exercise a

particular program path or to verify

compliance with a specific requirement.”

(…IEEE)

In other words, a planned sequence of actions

(with the objective of finding errors)

A Good Test-Case

• Has a high probability of detecting error(s)

• Test cases help us discover information (.. Kaner)

e.g. of information objectives

• Help managers make ship / no-ship decisions.

• Minimize technical support costs.

• Assess conformance to specification.

• Minimize safety-related lawsuit risk.

• Verify correctness of the product.

Other Terminologies

Test Scenarios - Explains which test cases to process

and how to process them.

Test Suite – A set of individual test cases/scenarios that

are executed as a package, in a particular sequence.

Test Cycle – A test cycle consists of a series of test

suites which comprises a complete execution set from

the initial setup to the the test environment through

reporting and clean up.

What Do We Test

Fundamental issues : Functions, Portability, Usability, Reliability, Security, Availability

Real-time issues : Timing, Capacity, Throughput,Performance

System management issues: Overload, Backup & Recovery,

Start-up and shut-down

Purchased software Operating systems, DBMS, Communications, Graphics

Testing Techniques (Coverage)

White Box Test Techniques• Code Coverage

• Statement Coverage • Decision Coverage• Condition Coverage

• Code complexity• Memory Leakage

Black Box Test Techniques•Equivalence Partitioning •Cause-Effect Graphing• Boundary Value Analysis • Use Case / UMl• Error Guessing

Test Case Design

• Complete testing is impossible.

• The key issue of testing is to design test cases

that has the highest probability of detecting

the maximum errors.

• One can develop a reasonably rigorous test by

using certain black box oriented test case

design methods and then supplementing them

with those of white box.

Black Box Test Techniques

• Black box is data-driven, or input/output-driven

testing

• The Test Engineer is completely unconcerned about

the internal behavior and structure of program

• Black box testing is also known as behavioral,

functional, opaque-box and closed-box.

Input Output

White Box Test Techniques

• White Box Test Techniques

• Code Coverage

Statement Coverage

Decision Coverage

Condition Coverage

• Code complexity

• Memory Leakage

top related