33
Prepared by : 1.Mohammed Siddig Ahmed. 2.Mohammed Zeinelabdeen. 3.Omer Salih Dawood. BLACK & WHITE BOX TESTING

Black & White Box testing

Embed Size (px)

DESCRIPTION

Black & White Box testing

Citation preview

Page 1: Black & White Box testing

Prepared by :1.Mohammed Siddig Ahmed.2.Mohammed Zeinelabdeen.3.Omer Salih Dawood.

BLACK & WHITE BOX TESTING

Page 2: Black & White Box testing

Testing Overview and Black-Box Testing Techniques

Page 3: Black & White Box testing

3

OVERVIEW Introduction to Testing. Verification and validation. Black-box testing & White-

box testing. Types of testing that involve

both black- and white-box techniques.

Strategies for writing test cases.

Using a template for writing repeatable, defined test cases.

Page 4: Black & White Box testing

4

INTRODUCTION TO TESTING Software testing is the process of

analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software item.

Page 5: Black & White Box testing

5

VERIFICATION AND VALIDATION ‘ V&V ’

Verification is the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.

Validation is the process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirements.

Verification: Are we building the product right?

Validation : Are we building the right product?

Page 6: Black & White Box testing

6

WHAT IS “RIGHT”? Standard or specification to

measure or identify correct results from incorrect results must define some terms:•Mistake .• Fault [or Defect] .• Failure .• Error . •Specification.

Page 7: Black & White Box testing

7

THE ECONOMICS OF SOFTWARE TESTING In software development, there

are costs associated with testing our programs.

Quality is much more important for safety- or mission critical software e.g. aviation software.

Goal of testing covering many defects as possible with a little testing.

Page 8: Black & White Box testing

8

THE BASICS OF SOFTWARE TESTING

There are two basic classes of software testing definitions below:

• Black box testing (also called functional testing) is testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions.• White box testing (also called structural

testing and glass box testing) is testing that takes into account the internal mechanism of a system or component.

Page 9: Black & White Box testing

9

TYPES OF TESTING

1. Unit Testing Opacity: White box testing. Specification: Low-level design and/or code

structure. (Unit testing is the testing of individual hardware

or software units or groups of related units).2. Integration testing Opacity: Black- and white-box testing. Specification: Low- and high-level design. (Integration test is testing in which software

components, hardware components, or both are combined and tested to evaluate the interaction between them).

Page 10: Black & White Box testing

10

TYPES OF TESTING (CONT)3. Functional and system testing Opacity: Black-box testing Specification: high-level design, requirements

specification. ( Functional testing involves ensuring that the

functionality specified in the requirement specification works,& System testing is testing conducted on a complete, integrated system to evaluate the system compliance with its specified requirements).• Stress testing• Performance testing • Usability testing

Page 11: Black & White Box testing

11

TYPES OF TESTING (CONT)

4. Acceptance testing Opacity: Black-box testing Specification: requirements specification. (Acceptance testing is formal testing

conducted to determine whether or not a system satisfies its acceptance criteria (the criteria the system must satisfy to be accepted by a customer) and to enable the customer to determine whether or not to accept the system).

Page 12: Black & White Box testing

12

TYPES OF TESTING (CONT)5. Regression testing Opacity: Black- and white-box testing Specification: Any changed documentation, high-

level design (Regression testing is selective retesting of a

system or component to verify that modifications have not caused unintended effects and that the system or component still complies with its specified Requirements).– A subset of the regression test cases can be set

aside as smoke tests.

Page 13: Black & White Box testing

13

TYPES OF TESTING (CONT)

6. Beta testing Opacity: Black-box testing. Specification: None. The advantages of beta test:

• Identification of unexpected errors• A wider population search for errors• Low costs

The disadvantages• Lack of systematic testing• Low quality error reports• Much effort is necessary to examine error

reports

Page 14: Black & White Box testing

14

Page 15: Black & White Box testing

15

TEST PLANNING ( Document describing the scope, approach,

resources, and schedule of intended test activities. It identifies test items, the features to be tested, the testing tasks, who will do each task, and any risks requiring contingency plans).

Test case ( 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).

Page 16: Black & White Box testing

16

TESTING AS PART OF THE DEVELOPMENT PROCESS The earlier testing is planned at all levels,

the better. Very important to consider test planning

and test execution as iterative processes. It is best to begin to write functional and

system test cases. When requirements change, revise the

test cases. When code changes, run the test cases

again. All in all, testing should be considered an

iterative and essential part of the entire development process.

Page 17: Black & White Box testing

17

BLACK BOX TESTING Called :– functional testing – behavioral testing

focuses on:– whether or not a program does what

it is supposed to do based on its functional requirements.

Page 18: Black & White Box testing

18

BLACK BOX CATEGORIES1. incorrect or missing functionality.2. interface errors .3. errors in data structures used by

interfaces.4. behavior or performance errors.5. initialization and termination errors.

But: no amount of testing can demonstrate the absence of errors.

Page 19: Black & White Box testing

19

BLACK BOX TEST blackbox tester is not the

programmer of the code (it is best). Programmer:– If the program does what they

programmed it to do?. Needed:– If The program does what the

customer wants it to do?.

Page 20: Black & White Box testing

20

BLACK BOX TEST Focus on input and output of the

software without regard to the internal code of the program

Page 21: Black & White Box testing

21

TEST CASE FORMAT1. test case a unique identifier.2. describe the set of steps and/or

input for the particular condition.3. the expected results for an

input/output oracle.4. the actual results.

Page 22: Black & White Box testing

22

TEST CASE FORMAT

Page 23: Black & White Box testing

23

STRATEGIES FOR BLACK BOX TESTING Why test Strategies?:-– test every possible thing (Cost).– find many defects in few test

cases .– avoid writing redundant test cases.– design the simplest test cases .

Page 24: Black & White Box testing

24

STRATEGIES FOR BLACK BOX TESTING1. Tests of Customer Requirements.2. Equivalence Partitioning.3. Boundary Value Analysis.4. Decision Table Testing.5. Failure (“Dirty”) Test Cases.

Page 25: Black & White Box testing

25

1.TESTS OF CUSTOMER REQUIREMENTS

Black box test cases are based on customer requirements

Have two paths:– success path.– failure path.

risky requirements should tested first.

Page 26: Black & White Box testing

26

2. EQUIVALENCE PARTITIONING

don’t want to write several test cases that test the same aspect of our program(cost).

A good test case uncovers a different class of errors.

Equivalence partitioning is used to reduce the number of test cases t.

divides the input of a program into classes

Page 27: Black & White Box testing

27

2.EQUIVALENCE PARTITIONING CONT. For each of these classes :-– the set of data should be treated the

same by the module under test .– And should produce the same

answer.

Page 28: Black & White Box testing

28

3.BOUNDARY VALUE ANALYSIS(BVA).

“ Bugs lurk in corners and congregate at boundaries ”Boris Beizer

need to focus testing at the boundaries.

Boundary value:-– a data value that corresponds to a

minimum or maximum input, internal, or output value specified for a system or component.

Page 29: Black & White Box testing

29

3.BOUNDARY VALUE ANALYSIS(BVA) CONT. When creating BVA test cases,

consider the following : – If input conditions have a range from a to

b (such as a=100 to b=300), create test cases:

– immediately below a (99) – at a (100) – immediately above a (101) – immediately below b (299) – at b (300) – immediately above b (301)

Page 30: Black & White Box testing

30

3.BOUNDARY VALUE ANALYSIS(BVA) CONT.

If input conditions specify a number of values that are allowed, test these limits.

Page 31: Black & White Box testing

31

4.DECISION TABLE TESTING. record complex business rules that

must be implemented in the program, and therefore tested.

conditions represent possible input. actions are the events that should

trigger. Each column in the table is a unique

combination of input conditions that result in triggering the action(s) associated with the rule.

Page 32: Black & White Box testing

32

4.DECISION TABLE TESTING CONT.

Page 33: Black & White Box testing

33

5. FAILURE (“DIRTY”) TEST CASES every possible thing a user could

possibly do with your system to demolish the software.