0% found this document useful (0 votes)
41 views

Types of Testing: V Model Testing Phases Static Testing

This document discusses different types of testing used in the software development lifecycle. It introduces the V-model, which depicts the relationship between development and testing phases. Key phases discussed include unit, integration, system, and acceptance testing. The document also covers different categories of testing like static/dynamic, performance, stress, security, and usability testing. It provides details on the objectives and activities involved in each testing type.

Uploaded by

Yogesh Bansal
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views

Types of Testing: V Model Testing Phases Static Testing

This document discusses different types of testing used in the software development lifecycle. It introduces the V-model, which depicts the relationship between development and testing phases. Key phases discussed include unit, integration, system, and acceptance testing. The document also covers different categories of testing like static/dynamic, performance, stress, security, and usability testing. It provides details on the objectives and activities involved in each testing type.

Uploaded by

Yogesh Bansal
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

Types of Testing

V Model
Testing Phases
Static Testing
Reviews
Inspection
Walkthrough
Metrics
Dynamic Testing
Unit
Integration
System
Regression
UAT
Exploratory


SDLC and V Model

There are some distinct test phases that take
place in each of the software life cycle activity

It is easier to visualize through the famous
Waterfall model of development and V- model of
testing.

The V proceeds from left to right, depicting the
basic sequence of development and testing
activities.
SDLC and V Model
Program
Specifications
Unit Test cases
Integration
Test cases
Detailed Design
System
Test cases
Functional Design
Acceptance
Test cases
Requirements
Specification
Acceptance Test Plan
Integration Test Plan
System Test Plan
Unit Test Plan
Wishes, Ideas,
Concepts
Developed System
Verification
Regression
V Model
The model is valuable because it highlights the existence
of several levels or phases of testing and depicts the
way each relates to a different development phase.

Static and Dynamic Testing
Static Dynamic
Reviews
Walkthrough Desk Check
Inspection
Exploratory
Integration
Usability
Unit
Volume
Performance
Reliability Security
Stress
Configuration
Recovery
Documentation
Localization
UAT
Installability
W
H
I
T
E
B
O
X
B
L
A
C
K
B
O
X
System
Static Testing
Walkthrough helps in
Approach to Solution
Find omission of requirements
Style / Concepts Issues
Detect Defects
Educate Team Members

Testing Phases


Unit testing is code-based and performed primarily by developers to
demonstrate that their smallest pieces of executable code function
suitably.

Integration testing demonstrates that two or more units or other
integrations work together properly, and tends to focus on the interfaces
specified in low-level design.

System testing demonstrates that the system works end-to-end in a
production-like environment to provide the business functions specified
in the high-level design.

Acceptance testing is conducted by business owners and users to
confirm that the system does, in fact, meet their business requirements.

Integration Testing
Testing of combined parts of an application to
determine if they function together correctly.
The main three elements are interfaces, module
combinations and global data structures.
Attempts to find discrepancies between program &
its external specification (programs description
from the point of view of the outside world).
Why Integration Testing is Required?

System Testing
Test the software in the real environment in which
it is to operate. (hardware,people,information,etc.)

Observe how the system performs in its target
environment, for example in terms of speed, with
volumes of data, many users, all making multiple
requests.
System Testing
Test how secure the system is and how can the
system recover if some fault is encountered in the
middle of procession

System Testing, by definition, is impossible if the
project has not produced a written set of
measurable objectives for its product.

System Testing
Types of System Testing
Performance
Volume
Stress
Security
Localization
Usability
Recovery
Documentation
Configuration
Compatibility
Reliability
Installation


Performance Testing
Many Programs have specific performance or
efficiency objectives like response time &
throughput rates under certain workload &
configurable conditions.
Necessary to measure the resource utilization (e.g
processor cycles).
Tested under a variety of operating conditions,
configurations and loading.
Performance Testing
To ensure that the system is responsive to user
interaction and handles extreme loading without
unacceptable operational degradation.
To test response time and reliability by increased
user traffic.
To identify which components are responsible for
performance degradation and what usage
characteristics cause degradation to occur.
Volume Testing
Tests the performance & behavior of software
under large volume of data in the database.
In Volume Testing - Application response time, &
general performance parameters can be checked.

Load Testing
Following variables define a set of test conditions
N, the number of concurrent users
T, the number of on-line transactions per user per unit
time
D, the data load processed by the server per transaction

Stress Testing
In Stress testing a considerable load is generated as
quickly as possible in order to stress the application
and analyze the maximum limit of concurrent users
the application can support.
Stress tests executes a system in a manner that
demands resources in abnormal quantity,frequency,
or volume.

Stress Testing
Tests should answer the following questions
Does the system degrade gently or does the server
shut down?
Are appropriate messages displayed ? Server not
available.
Are transactions lost as capacity is exceeded?
Are certain functions discontinued as capacity
reaches the 80 or 90 percent level?

Security Testing
Security Testing verifies that protection mechanisms
built into the system will protect it from improper
penetration.
Security testing is the process of executing test
cases that subvert the programs security checks.
Test cases should be designed to exercise firewalls,
authentication, encryption and authorization

Localization Testing
Localization translates the product UI and
occasionally changes some settings to make it
suitable for another region
The test effort during localization testing focuses on
Areas affected during localization, UI and content
Culture/locale-specific, language specific and
region specific areas
Usability Testing- Human Computer
Interactions
Usability is
The effectiveness, efficiency and satisfaction with
which specified users can achieve specified goals in
a particular environment ISO 9241-11

Effective- Accomplishes users goal

Efficient-- Accomplishes the goal quickly

Satisfaction- User enjoys the experience


Usability Testing- Human Computer
Interactions

Test Categories and objectives

- Interactivity ( Pull down menus, buttons)
- Layout
- Readability
- Aesthetics
- Display characteristics
- Time sensitivity
- Personalization

Usability Testing- Human Computer
Interactions
Using specialized Test Labs a rigorous testing
process is conducted to get quantitative and
qualitative data on the effectiveness of user
interfaces
Representative or actual users are asked to perform
several key tasks under close observation, both by
live observers and through video recording.
During and at the end of the session, users evaluate
the product based on their experiences

Recovery Testing
A system test that forces the software to fail in
variety of ways , checks performed
-recovery is automatic ( performed by the system
itself)
- reinitialization
- check pointing mechanisms
- data recovery
- restarts are evaluated for correctness



Documentation Testing
This testing is done to ensure the validity and
usability of the documentation

This includes user Manuals, Help Screens,
Installation and Release Notes

Purpose is to find out whether documentation
matches the product and vice versa

Well-tested manual helps to train users and support
staff faster




Configuration test
Attempts to uncover errors that are specific to a
particular client or server environment.

Create a cross reference matrix defining all
probable operating systems, browsers, hardware
platforms and communication protocols.

Test to uncover errors associated with each possible
configuration


Regression Testing
Regression Testing is the testing of software after a
modification has been made to ensure the reliability
of each software release.

Testing after changes have been made to ensure
that changes did not introduce any new errors into
the system.

Regression Testing
It applies to systems in production undergoing
change as well as to systems under
development.
Re-execution of some subset of test that have
already been conducted.
Test suite contains
- Sample of tests that will exercise all software functions
- Tests that focus on software functions that are likely to
be affected by the change
- Tests for software components that have been changed
User Acceptance Testing
A test executed by the end user(s) in an
environment simulating the operational
environment to the greatest possible extent, that
should demonstrate that the developed system
meets the functional and quality requirements

Not a responsibility of the Developing Organization.

Exploratory Testing
Also known as Random testing or Ad-hoc testing

Exploratory testing is simultaneous learning, test
design, and test execution. (James Bach)

A methodical approach-style is desirable
Exploratory Testing - Tips
Test design Crafting

Careful Observation

Critical thinking

Diverse Ideas

Pooling resources (knowledge, learnings)
What Is a Test Strategy?


It provides a road map that describes the steps to be
conducted as part of testing, when these steps are
planned and then undertaken, and how much effort, time
and resources will be required.

It must incorporate test planning, test case design, test
execution and resultant data collection and evaluation.

You might also like