Professional Documents
Culture Documents
Types of Testing by ASS
Types of Testing by ASS
Types of Testing by ASS
By Arvind Sardar
Types of Testing
Objectives:
Understand the basic types of testing for
software.
Differentiate White box and Black box testing
Examining the Specification
The product specification is a written document using words and
pictures to describe the intended product.
1. Equivalence Class
3. Domain Tests
4. Orthogonal Arrays
5. Decision Tables
6. State Models
7. Exploratory Testing
8. All-pairs testing
Examining the Specification
Static and Dynamic Testing
software is tested are static testing and dynamic testing.
Static testing refers to testing something thats not running.
Examining and reviewing it.
Dynamic testing is what you would normally think of as testing.
Running and using the software.
Example:-
Kicking the tires, checking the paint, and looking under the hood are
static testing techniques.
Starting it up, listening to the engine, and driving down the road are
dynamic testing techniques.
Examining the Specification
Static Black-Box Testing: Testing the Specification
Testing the specification is static black-box testing.
The specification is a document, not an executing program, so its
considered static.
Examining the Specification
Performing a High-Level Review of the Specification
The spec must deal with many unknowns, take a multitude of changing
inputs, and attempt to pull them all together into a document that describes
a new product.
Testing the specification isnt to jump in and look for specific bugs.
What is a Requirement?
The requirements are the high-level descriptions about a particular system
services, constraints or to a detailed specification that are generated during
the requirements gathering process.
Requirement Types:
User Requirements - It is a detailed description in natural language along with
diagrams of the services the system provides and its operational constraints. It is
usually developed by end users.
Functional Requirements - It describes the services of the system, how the system
should react to particular inputs and how the system should behave in definite
situations.
Techniques for Black Box Testing
Requirement Types:
Non-functional Requirements - It describes the attributes of the
system.
Domain Requirements - Requirements that arises from the
domain of the application and that reflect characteristics of that
domain. It can be either functional or non-functional
specifications.
Techniques for Black Box Testing
Requirement Based Testing:-
Design Test Cases - A Test case has five parameters namely the initial state or
precondition, data setup, the inputs, expected outcomes and actual outcomes.
Execute Tests - Execute the test cases against the system under test and
document the results.
Techniques for Black Box Testing
Stages in Requirements based Testing:
Verify Test Results - Verify if the expected and actual results match
each other.
Verify Test Coverage - Verify if the tests cover both functional and non-
functional aspects of the requirement.
Track and Manage Defects - Any defects detected during the testing
process goes through the defect life cycle and are tracked to resolution.
Defect Statistics are maintained which will give us the overall status of
the project.
Techniques for Black Box Testing
Requirements Testing process:
Testing process should add value to the software life cycle, hence
it needs to be effective.
Positive testing is the type of testing that can be performed on the system
by providing the valid data as input. It checks whether an application
behaves as expected with the positive input.
This is to test to check the application that does what it is supposed to do
so
Techniques for Black Box Testing
Positive and Negative Testing:-
Equivalence Partitioning
Techniques for Black Box Testing
Positive and Negative Testing:-
Example of Positive and negative testing scenarios:
If the requirement is saying that password text field should accepts 6 20
characters and only alphanumeric characters.
positive and negative testing is equally important for effective testing which
help to improve quality of software.
Negative testing help to find more defects & improve the quality of the
software application under test but it should be done once the positive
testing is completed.
End users can enter any input values, such real life scenarios can be tested