0% found this document useful (0 votes)
13 views25 pages

(SQA) Chapter Three

saqa

Uploaded by

damesamuel3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views25 pages

(SQA) Chapter Three

saqa

Uploaded by

damesamuel3
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Contents

 Definition and Objective of Testing.

 Software test classifications according to testing

concept

 White box testing

 Black box testing

 Testing levels
Definition
 “Testing is the process of executing a program with intention of finding

errors.”

 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.” [IEEE definition].

 Software testing is a process which is used to identify the correctness,

completeness and quality of the software application or system.

 It is done in order to find out the defects /errors/bugs/software application

so that it can fixed before it is released in the market.


Objectives
Direct objectives
 To identify and reveal as many errors as possible in the tested software.

 To bring the tested software, after correction of the identified errors and retesting,
to an acceptable level of quality.

 To perform the required tests efficiently and effectively, within budgetary and
scheduling limitations.

Indirect objective

 To compile a record of software errors for use in error prevention (by

corrective and preventive actions).


Classification according to testing concept
Black box and white box testing – IEEE definitions

Black box testing:


(1) 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.

(2) Testing conducted to evaluate the compliance of a system or component


with specified functional requirements.

White box testing:


Testing that takes into account the internal mechanism of a system or
component.
Black box (functionality) testing.
 Functionality of the software under test is checked without:

-- looking at the internal code structure.

-- implementation detail.

-- knowledge of internal paths of the software.

 Based entirely on the software requirements, and specifications.

 Involves testing from an external or end user perspective.

 You can test Google, Oracle, windows OS by just focusing on the inputs and

outputs without knowing their, internal code implementation.


Types of Black Box Testing

 The most common black box testing

-- Functional testing

-- Non-functional testing

-- Regression testing

-- Integration Testing.
Functional testing

This black box testing type is related to functional


requirements of a system; it is done by software tester.

Non-functional testing
This black box testing type is related to non-functional
requirements such as performance, scalability, usability
etc.
Regression Testing
Regression testing is done after code fixes, upgrades or any other system
maintenance to check the new code has not affected the existing code.

Integration Testing

Is a testing that used to test whether the subsystems/modules are


integrated well or not to make the whole system.
How to perform BB Testing
Generic steps followed to carry out any type of Black box testing.

1. Initially requirements and specifications of the system are examined.

2. Tester chooses valid inputs [positive test scenario], to check whether

application under test processes them correctly.

 Also some invalid inputs [negative test scenario], are chosen to

verify that the application or system under test is able to detect them.

3. Testers determines expected outputs for all those inputs.


Cont..

4. Tester creates test cases with the selected inputs.

5. The test cases are executed.

6. The tester compares the actual outputs with the

expected outputs.

7. Defects if any are fixed and re-tested.


White box (structural) testing.

 Is a testing of a software solution’s internal coding and

infrastructure.

 It focuses primarily on strengthening security, the flow of inputs

and outputs through the application, and improving design and

usability.

 Also called clear, open, structural and glass box testing.


Cont..
 Involves the testing of software code for:

 Internal security holes

 Broken or poorly structured paths in the coding process.

 The flow of specific inputs through the code.

 Expected output.

 The functionality of conditional loops.

 Testing of each statement, object and function on an


individual basis
How to perform WB Testing

Step 1: Understanding the source code.

-- the first thing a tester will often do is learn and


understand the source code of the application.

-- the tester must be very knowledgeable in

programming languages used in the applications they are

testing.

Step 2: Create test cases and execute


White Box Testing types
Unit testing

 Unit testing is a process of testing the individual

subprograms, subroutines, or procedures in a program.

 That is, rather than initially testing the program as a whole,

unit testing is first focused on the smaller building blocks


of the program.

Cont..
Data Flow Testing

• Data-flow testing monitors the lifecycle of a piece of


data and looks out for inappropriate usage of data during
definition, use in predicates, computations and termination
(killing).

• It identifies potential bugs by examining the patterns in


which that piece of data is used.
Control Flow Testing
The main idea in control flow testing is to appropriately select a
few paths in a program unit and observe whether or not the
selected paths produce the expected outcome.
WB Testing techniques
Code coverage techniques.
 Statement coverage

This technique requires every possible statement in the code to


be tested at least once during the testing processes.

 Branch coverage

This technique checks every possible path [if-else and other


conditional loops] of a software application.
Cont..

 The difference b/n BB and WB Testing

Black Box Features White Box

Not required Knowledge of Required


internal structure

Tester Responsibility Developer

Not required Programming Required


knowledge

Requirement Basis for test cases Detail Design


Specification
Testing Levels
1. Unit testing
• Individual program units, such as procedure, methods in isolation

2. Integration testing
• Modules are assembled to construct larger subsystem and tested

3. System testing
• system testing is the process of attempting to demonstrate how the
program, as a whole, does not meet its objectives.

4. Acceptance testing

• Customer’s expectations from the system

• The first three levels of testing are performed by a number of different stakeholders
in the development organization, where as acceptance testing is performed by the
customers.
Cont..
 Regression testing is another level of testing that is performed
throughout the life cycle of a system.

 Regression testing is performed whenever a component of the


system is modified

 Regression Testing

 New test cases are not designed

 Test are selected, prioritized and executed.

 To ensure that nothing is broken in the new version of the software.


Project 25%
Form a group maximum of 3 students and do the following by
using IEEE standard template.
 Prepare Test Plan Document for your project. (4%)
 Test your system / software by selecting appropriate
automation tool and execute your plan.(4%)
 Report your test result by preparing Test Report
Document and Presentation for your Test Report. (10%)
 Write minimum of 10 page description about 2 testing
automation tools in comparative study using proper
citation.(7%)
 Cover page and table of content is mandatory
 Introduction
 What are the features of the tool(for individual )
 Why we use this automation tool
(for individual)
 How the tool are working (for individual)
 System conditions that might use the tools.
 Summarize the similarities and differences between the two
automation tools.
 Recommendations
 Reference
 Appendix

You might also like