You are on page 1of 52

Types of Software Testing

Presented by CTS

04/09/09 1
Types of Software Testing
✔ In the testing phase a software undergoes
various types of testing before it is shipped
to the customer
✔ About 50 types of testing are available.

04/09/09 2
Automation Testing
✔ Determines how well a product functions
through a series of automated tasks, using a
variety of tools to simulate complex test
data.

04/09/09 3
Acceptance Testing
✔ Formal testing conducted to determine
whether or not a system satisfies its
acceptance criteria - enables a customer to
determine whether to accept the system or
not.

04/09/09 4
Alpha Testing
✔ Testing of a software product or system
conducted at the developer’s site by the
customer

04/09/09 5
Automated Testing
✔ That part of software testing that is assisted
with software tool(s) that does not require
operator input, analysis, or evaluation.

04/09/09 6
Beta Testing
✔ Testing conducted at one or more customer
sites by the end user of a delivered software
product system.

04/09/09 7
Black-Box Testing
✔ Functional Testing based on the
requirements with no knowledge of the
internal program structure or data. Also
known as closed box testing.

04/09/09 8
Bottom-up Testing
✔ An integration testing technique that tests
the low level components first using test
drivers for those components that have not
yet been developed to call the low level
components for test.

04/09/09 9
Clear-Box Testing
✔ Another term for White-Box Testing.
Structural Testing is sometimes referred o
as clear-box testing, since “white boxes” are
considered opaque and do not really permit
visibility into the code. This is also known
as glass-box or open-box testing.

04/09/09 10
Compatibility Testing
✔ Determines how well a product works in
conjunction with a variety of other
products, on certain operating systems,
across a broad range of hardware and
component configurations and when
exposed to earlier versions of the product.

04/09/09 11
Database Testing
✔ Most web sites of any complexity store and
retrieve information from some type of
database. Clients often want us to test the
connection between their web site and
database in order to verify data and display
integrity.

04/09/09 12
Dynamic Testing
✔ Verification or validation performed which
executes the system code.

04/09/09 13
Error-based Testing
✔ Testing where information about
programming style, error-prone language
constructs, and other programming
knowledge is applied to select test data
capable of detecting defaults, either a
specified class of faults or all possible
faults.

04/09/09 14
Exhaustive Testing
✔ Executing the program with all possible
combinations of values for program
variables.

04/09/09 15
Failure-directed Testing
✔ Testing based on the knowledge of the
types of errors made in the past that are
likely for the system under test.

04/09/09 16
Fault based testing
✔ Testing that employs a test data selection
strategy designed to generate test data
capable of demonstrating the absence of a
set of pre-specified faults, typically,
frequent occurring faults.

04/09/09 17
Functionality Testing
✔ Determines the extent to which a product
meets expected functional requirements
through validation of product features. This
process can be as simple as a smoke test to
ensure primary functional operation, or as
detailed as checking a variety of scenarios
and validating that all output meets
specified expectations.
04/09/09 18
Functional Localization Testing
✔ Determines how well a product functions
across a range of language, localized
versions are checked to determine whether
particular language translations create
failures specific to that language versions.

04/09/09 19
Heuristics Testing
✔ Another term for fault-directed testing.

04/09/09 20
Hybrid Testing
✔ A combination of top-down testing
combined with bottom-up testing of
prioritized or available components.

04/09/09 21
Integration Testing
✔ An orderly progression of testing in which
the software components or hardware
components, or both are combined and
tested until the entire system has been
integrated.

04/09/09 22
Interoperability Testing
✔ Determines, to a deeper extent than
compatibility testing, how well a product
works with a specific cross section of
external components such as hardware,
device drivers, second-party software and
even specific operating systems and factory
delivered computer systems.

04/09/09 23
Intrusive Testing
✔ Testing that collects timing and processing
information during program execution that
may change the behavior of the software
from its behavior in a real environment.

04/09/09 24
Install Testing
✔ Determines how well and how easily a
product installs on a variety of platform
configurations

04/09/09 25
Load Testing
✔ Determines how well a product functions
when it is in competition for system
resources. The competition most
commonly comes from active processes,
CPU utilization, I/O activity, network
traffic or memory allocation.

04/09/09 26
Manual Testing
✔ That part of software testing that requires
operator input, analysis, or evaluation.

04/09/09 27
Mutation Testing
✔ A method to determine test set
thoroughness by measuring the extent to
which a test set can discriminate the
program from slight variants of the
program.

04/09/09 28
Mundane Testing
✔ A test that include many simple and
repetitive steps, it can be called as Manual
Testing

04/09/09 29
Operational Testing
✔ Testing performed by the end user on
software in its normal operating
environment.

04/09/09 30
Path coverage Testing
✔ A test method satisfying coverage criteria
that each logical path through the program
is tested. Paths through the program often
are grouped into finite set of classes; one
path from each class is tested.

04/09/09 31
Performance Testing
✔ Determines how quickly a product executes
a variety of events. This type of testing
sometimes includes reports on response
time to a user’s command, system
throughput or latency. Although the word
performance has various meanings, eg:
speed.

04/09/09 32
Qualification Testing
✔ Formal Testing usually conducted by the
developer for the customer, to demonstrate
that the software meets its specified
requirements.

04/09/09 33
Random Testing
✔ An essentially black-box testing approach
in which a program is tested by randomly
choosing a subset of all possible input
values. The distribution may be arbitrary or
may attempt to accurately reflect the
distribution of inputs in the application
environment.

04/09/09 34
Regression Testing
✔ Selective re-testing to detect faults
introduced during modification of a system
or system component to verify that
modifications have not caused unintended
adverse effects, or to verify that a modified
system or system component still meets its
requirements.

04/09/09 35
Smoke Testing
✔ It is performed only when the build is
ready. Every file is compiled, linked, and
combined into an executable program every
day, and the program is then put through a
“smoke test”, arelatively simple check to
see whether the product “smokes” when it
runs.

04/09/09 36
Statement Coverage Testing
✔ A test method satisfying coverage criteria
that requires each statement be executed at
least once.

04/09/09 37
Static Testing
✔ Verification performed without executing
the system’s code. Also called static
analysis.

04/09/09 38
Stress Testing
✔ Determines, to a deeper extent than load
testing, how well a product functions when
a load is placed on the system resources
that exceeds their capacity. Either stress
testing can also determine the capacity of a
system by increasing the load placed on
the resources until a failure or other
unacceptable product behaviour occurs.
Stress testing can also involve placing
loads on the system for extended periods.

04/09/09 39
System Testing
✔ The process of testing an integrated
hardware and software system to verify that
the system meets its specified requirements.

04/09/09 40
System Integration Testing
✔ Determine, through isolation, which component of a
product is the roadblock in the development process. This
testing is beneficial to products that come together through
a series of builds where each step in the development
process has the potential to introduce a problem. System
integration testing is also used in systems composed of
hardware and software. In essence, system integration
testing is intended to exercise the whole system in real-
world scenarios and, again through isolation, determine
which component is responsible for a certain defect.

04/09/09 41
Top-down Testing
✔ An integration testing technique that test the
high-level components first using stubs for
lower-level called components that have not
yet been integrated and that stimulate the
required actions of those components.

04/09/09 42
Unit Testing
✔ The testing done to show whether a unit
(the smallest piece of software that can be
independently compiled or assembled,
loaded, and tested) satisfies its functional
specification or its implemented structure
matches the intended design structure.

04/09/09 43
White box Testing
✔ Testing approaches that examine the
program structure and derive test data from
the program logic.

04/09/09 44
Web site Testing
✔ Compatibility Testing
– compatibility testing tests your web site across a wide
variety browser/operating system combinations. This
testing typically exposes problems with plug-ins.
ActiveX controls, Java applets, JavaScript, forms and
frames. Currently there are over 100 possible
combinations of different windows operating systems
and various versions of NE and IE browsers. It is
important to test across a large number of these to
ensure that users with diverse config don’t experience
problems when using the web site or application.
04/09/09 45
Web Site Testing
✔ Content Testing
– Content Testing verifies a web site’s content
such as images, clip art and factual text.

04/09/09 46
Web site Testing
✔ Database Testing
– Most web sites of any complexity store and
retrieve information from some type of
database. Clients often want us to test the
connection between their web site and database
in order to verify data and display integrity.

04/09/09 47
Web site Testing
✔ Functionality Testing
– Funtionality testing ensures that the web site performs
as expected. The details of this testing will vary
depending on the nature of your web site. Typical
examples of this type of testing include link checking,
form testing, transaction verification for e-commerce
and databases, testing java applets, file upload testing
and SSL verification. For testing, which is repetitive in
nature, an automated test tool such as Rational’s Visual
Test can be used to decrease the overall duration of a
test project.
04/09/09 48
Web site Testing
✔ Performance Testing
– Performance Testing measures the web site
performance during various conditions. When the
conditions include different numbers of concurrent
users, we can run performance tests at the same time as
stress and load tests.
✔ Eight Second Rule
– Every page within a web site must load in eight
seconds or less, even for users on slow modem
connections, or they risk losing their user to a
04/09/09 competitor site that serves pages more quickly. 49
Web site Testing
✔ Server Side Testing
– Server side testing tests the server side of the site,
rather than the client side. Examples of server side
testing include testing the interaction between a web
and an application server, checking database integrity
on the database server itself, verifying that ASP scripts
are being executed correctly on the server and
determining how well a web site functions when run on
different kinds of web servers.

04/09/09 50
Web site Testing
✔ Stress and Load Testing
– Load Testing, a subset of stress testing, verifies that a
web site can handle a particular number of concurrent
users while maintaining acceptable response times. To
perform this type of testing use sophisticated automated
testing tools, such as Segue’s SilkPerformer, to
generate accurate metrics based on overall system load
and server configuration.

04/09/09 51
Thank You

04/09/09 52

You might also like