Software Testing is used to identify the
accuracy, completeness and quality of a software application. It executes the
software under several positive and negative conditions and checks for its compliance,
functionality and performance.
Understanding
Error, Bug, Fault and Failure
The human action that results in an
incorrect output is an error. The
presence of error while software execution is called a bug. The state of
software with an error/bug is a fault.This event of deviation in software
functionality from its intended result is called a failure.
Test:
A test is an action taken to find out if
something is working as it is supposed to work. It involves simulating
situations under which the object is
supposed to work.
Test
Plan:
It is a descriptive document where the
scope of testing, approach, resources, schedule and its related activities are
described. The format and the content of a test plan can differ based on the
processes, standards and the testing tools being used.
Test
Case:
It is a set of conditions or input
parameters which is used while execution. The actual output is then compared
with the intended output to determine whether the system works as required.
Test
Script:
A test script is used in automated
testing. It is a set of instructions which are executed in an application under
test. Many test automation frameworks can record/generate the test scripts.
Methods
of Software Testing
- White Box method: Also known as open
box testing, in this method, the internal structure of the application under
test is known to the tester.
-
Black Box method: This is a testing
method where the internal structure of the system is not known to the tester.
-
Gray Box method: Being a combination of
white box and black box testing, here the internal structure is partially
known. It implies black box testing with access to the internal resources.
-
Agile method: It follows the principles of the
agile methodology and testing is carried out throughout the development
process.
-
Ad hoc method: This refers to random testing without
any documentation or proper planning.
Levels of Software Testing
The different levels of softwaretesting are as follows:
-
Unit Testing: Here individual methods of the
application are tested. It is performed by using the white box method.
-
Integration Testing: Here the individual
units are combined and tested as a group. Here, any of the white box, black box
or grey box methods can be used for testing.
-
System Testing: Here, the complete system is
checked. This evaluates the compliance of the system with the requirements
specified. Generally, the black box method is used to carry out this test.
-
Acceptance Testing: This evaluates the
system for its acceptability by checking its compliance level with the system
requirements specification. Here, black box method is followed for the testing.
- Smoke Test
- Functional Test
- Usability Test
- Security Test
- Performance Test
- Regression Test
-Compliance Test
Phases
of Software Testing
A software testing life cycle, STLC, defines
the different phases in software testing. Although the phases are the same, but
their sequence differs as per the Software Development Life Cycle(SDLC)
followed and the management decisions. The phases may not be sequential as
shown. They may also be carried out in parallel as well. The general phases of
any STLC are as follows:
- Requirements Review
- Test Planning
- Test Designing
- Setting up Test Environment
- Test Execution
- Reporting
Conclusion
An effective software testing process
delivers quality software which satisfies the user's requirements and expectations.
It is an important part of Software Quality Control. With the rise in software
competition, the need to ensure quality software is now a priority requirement.

No comments:
Post a Comment