Testing of Software: What Is Testing of Software?: Verification
Testing of Software: What Is Testing of Software?: Verification
Testing of Software: What Is Testing of Software?: Verification
Verification
Verification is the process to make sure the product satisfies the conditions
imposed at the start of the development phase. In other words, to make
sure the product behaves the way we want it to.
Validation
Validation is the process to make sure the product satisfies the specified
requirements at the end of the development phase. In other words, to make
sure the product is built as per customer requirements.
Black-box testing:
Black box testing is a testing technique that ignores the internal
mechanism of the system and focuses on the output generated against any
input and execution of the system. It is also called functional testing.
White-box testing:
White box testing is a testing technique that takes into account the
internal mechanism of a system. It is also called structural testing and glass
box testing..
“Black box testing is often used for validation and white box testing is
often used for verification”.
TESTING TYPES:
Following are the levels of testing for software.
Unit Testing
Integration Testing
Functional Testing
System Testing
Stress Testing
Performance Testing
Usability Testing
Acceptance Testing
Regression Testing
Beta Testing
UNIT TESTING:
Unit testing is the testing of an individual unit or group of related
units. It falls under the class of white box testing. It is often done by
the programmer to test that the unit he/she has implemented is
producing expected output against given input.
INTEGRATING TESTING:
Integration testing is testing in which a group of components
are combined to produce output. Also, the interaction between
software and hardware is tested in integration testing if software and
hardware components have any relation. It may fall under both white
box testing and black box testing.
FUNCTIONAL TESTING:
Functional testing is the testing to ensure that the specified
functionality required in the system requirements works. It falls under
the class of black box testing.
SYSTEM TESTING:
System testing, or end-to-end testing, tests a completely
integrated system to verify that it meets its requirements.
STRESS TESTING:
Stress testing is the testing to evaluate how system behaves
under unfavorable conditions. Testing is conducted at beyond limits
of the specifications.
Performance testing:
ACCEPTANCE TESTING:
At last the system is delivered to the user for Acceptance
testing.
REGRESSION TESTING:
Regression testing is the testing after modification of a system,
component, or a group of related units to ensure that the modification
is working correctly and is not damaging or imposing other modules
to produce unexpected results.
Beta testing:
Beta testing is the testing which is done by end users, a team
outside development, or publicly releasing full pre-version of the
product which is known as beta version. The aim of beta testing is to
cover unexpected errors. It falls under the class of black box testing.
Installation testing:
An installation test assures that the system is installed
correctly and working at actual customer's hardware.
Compatibility testing:
A common cause of software failure is a lack of its compatibility
with other application software, operating systems (or operating
system versions, old or new), or target environments that differ
greatly from the original. For example, in the case of a lack of
backward compatibility, this can occur because the programmers
develop and test software only on the latest version of the target
environment, which not all users may be running.
Security testing:
Objective of security testing is to secure the software from
external and internal threats from humans and malicious programs.
Security testing is essential for software that processes confidential
data to prevent system intrusion by hackers.
Aging testing:
This is a type of performance testing that is carried out by
running software for longer duration like weeks or months and check
performance of software to see if the software performance degrade
or shows any sign of degradation after running for a longer period of
time. Aging testing is also known as soak testing and longevity
testing.
Benchmarking testing:
Objective of benchmarking test is to measure performance of
different versions of software with predefined configurations
(hardware and operating system).
Recovery testing:
Recovery testing aims at checking how soon and how efficiently
software recover from software crashes, operating system crashes
and hardware failure.
Available tools
Mothora:
is an automated mutation testing tool-set developed at Purdue
University. Using Mothora, the tester can create and execute test
cases, measure test case adequacy, determine input-output
correctness, locate and remove faults or bugs, and control and
document the test.
Testing methods:
o http://en.wikipedia.org/wiki/Software_testing
o http://www.codeproject.com/Tips/351122/What-is-
software-testing-What-are-the-different-ty
o http://en.wikipedia.org/wiki/Software_testing
Testing types:
o http://www.codeproject.com/Tips/351122/What-is-
software-testing-What-are-the-different-ty
o http://en.wikipedia.org/wiki/Software_testing
o http://www.softwaretestingsoftware.com/all-types-of-
software-testing