Sunday, April 29, 2007

Important QA Testing Levels

Here are some important QA Testing Levels
that you have to be known,
(Ref:http://en.wikipedia.org/wiki/
Software_testing)

1.System testing:
in which the software is integrated to
the overall product and tested to
show that all requirements are met.

2.Functional testing:
Tests the product according to
programmable work.

3.Black box testing:
Takes an external perspective of the
test object to derive test cases.
These tests can be functional or
non-functional, though usually
functional.

4.White box testing (clear box
testing, glass box testing or
structural testing):
Uses an internal perspective of the
system to design test cases based on
internal structure. It requires
programming skills to identify all
paths through the software.


5.Usability testing:
Usability testing is a means for
measuring how well people can use
some human-made object (such as
web page,interface). usability
testing measures the usability
of the object.


6.Compatibility testing:
Compatibility testing, part of
software non-functional tests,
is testing
conducted on the application to
evaluate the application's
compatibility with the
computing environment.

7.Performance testing:
From one perspective, to determine
how fast some aspect of a system
performs under a particular workload.
It can also serve to validate and
verify other quality attributes of the
system, such as scalability and
reliability. It can demonstrate that
the system meets performance
criteria. In performance testing, it
is often crucial (and often difficult
to arrange) for the test conditions
to be similar to the expected actual
use.

8.Sanity check:
A sanity test or sanity check is a
basic test to quickly evaluate the
validity of a claim or calculation.

9.Regression testing:
Regression bugs occur whenever
software functionality that
previously worked as desired stops
working or no longer works in the
same way that was previously
planned. Typically regression bugs
occur as an unintended consequence
of program changes. It used to
refer the repetition of the
earlier successful tests to ensure
that changes made in the software
have not introduced new bugs/side
effects.

10.Unit Testing:
In which each unit (basic component)
of the software is tested to verify
that the detailed design for the unit
has been correctly implemented.
Tests the minimal software component
and sub-component or modules by the
programmers.


11.Integration testing:
In which progressively larger groups
of tested software components
corresponding to elements of the
architectural design are integrated and
tested until the software works as a whole.

12.Acceptance testing
Testing can be conducted by the client.
It allows the end-user or customer
or client to decide whether or not
to accept the product. Acceptance
testing may be performed after the
testing and before the implementation
phase.

Alpha testing :
is simulated or actual operational
testing by potential users/customers or
an independent test team at the
developers' site.

Beta testing :
comes after alpha testing. Versions of
the software, known as beta versions,
are released to a limited audience
outside of the company.

13.Static Testing (Dry Run Testing):
Syntax checking and manually reading
the code to find errors are methods
of static testing. This type of
testing is mostly used by the developer,
who designed or code the module.
Static testing is usually the first type
of testing done on any system.Static
testing assess if program is ready
for more detailed testing, where methods
like code review, inspection and
walkthrough are used. Static testing
also applies to White box testing.

No comments: