You are on page 1of 8

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.

 Automation Testing
Determines how well a product functions through a series of
automated tasks, using a variety of tools to simulate complex test
data.

 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.

 Alpha Testing
Testing of a software product or system conducted at the developer’s
site by the customer

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

 Beta Testing
Testing conducted at one or more customer sites by the end user of a
delivered software product system.

 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.

 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.
 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.

 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.

 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.

 Dynamic Testing
Verification or validation performed which executes the system code.

 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.

 Exhaustive Testing
Executing the program with all possible combinations of values for
program variables.

 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.

 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.
 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.

 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.

 Heuristics Testing
Another term for fault-directed testing.

 Hybrid Testing
A combination of top-down testing combined with bottom-up testing of
prioritized or available components.

 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.

 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.

 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.

 Install Testing
Determines how well and how easily a product installs on a variety of
platform configurations

 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.

 Manual Testing
That part of software testing that requires operator input, analysis, or
evaluation.

 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.

 Mundane Testing
A test that include many simple and repetitive steps, it can be called
as Manual Testing

 Operational Testing
Testing performed by the end user on software in its normal operating
environment.

 Path coverage Testing


A test method satisfying coverage criterion 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.

 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, e.g.: speed.

 Qualification Testing
Formal Testing usually conducted by the developer for the customer,
to demonstrate that the software meets its specified requirements.
 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.

 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.

 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”, a relatively simple check
to see whether the product “smokes” when it runs.

 Statement Coverage Testing


A test method satisfying coverage criterion that requires each
statement be executed at least once.

 Static Testing
Verification performed without executing the system’s code. Also
called static analysis.

 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 behavior occurs. Stress testing can also
involve placing loads on the system for extended periods.

 System Testing
The process of testing an integrated hardware and software system
to verify that the system meets its specified requirements.

 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.

 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.

 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.

 White box Testing


Testing approaches that examine the program structure and derive
test data from the program logic.

 Web site Testing


o 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.

o Content Testing
Content Testing verifies a web site’s content such as images, clip
art and factual text.

o 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.

o Functionality Testing
Functionality 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.

o 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.

o 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 competitor site that serves pages more quickly.

o 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.

o 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
Silk Performer, to generate accurate metrics based on overall
system load and server configuration.

You might also like