Software Testing: The Basic Testing
Process
With the explosion of computer usage and Internet the
demand for software development has risen exponentially. Daily
new kinds of software are being developed all over the world.
They are from varied fields such as educational, games, office
programs, communication programs, applications specific to an
industry etc. A lot of effort is spent in the development of
software programs and also in other activities related to
software development throughout the software development life
cycle. One important area in this is software testing. Before
the software is shipped either to the customer or market a
number of testing basics are to be completed. Any bugs in the
software either in coding or in logic needs to be rectified
before dispatching for sale.
Software testing categorized on the basis of purpose of
testing are functional and performance testing. These are the
most important software testing basics and are necessary for
the overall quality of the software. In functional testing, the
focus of testing is on functional aspects of the system. In
this test cases are written to check the expected output and
are normally performed in all the test phases from unit to
system testing; however, some people test the software only at
the fag end of the software development. Detecting the bugs in
the software and debugging of the software is easy if the
testing is carried out starting from the initial stages of
development.
Functional testing is testing that makes sure that every
individual function works, as envisaged. All the functions
together are what make the system perform correctly The
functional testing covers installation tests, Regression
testing, upgrade and backward compatibility testing,
accessibility testing, internationalization and local testing,
API testing and testing of user interface, database
management, security and networking. During this testing the
software is also tested for functions such as user commands,
searches, user screens, integrations and data manipulation.
Functional testing also helps in the following areas.
 |
Determines the functioning of the software during
downloads and after |
 |
System performance on execution of all the commands
required |
 |
The functionality of the software will be good on a
specific system, but it fails when the user
transfers the data to some other system; this
anomaly will be corrected by the software testing
basics |
 |
In the field of computers there has been
technological improvements occurring constantly and
the users upgrade the product frequently because of
obsolescence. Hence it is important that all the
software on the system can be upgraded as
well. |
Performance testing is normally conducted after the
completion of functional testing and during the System Testing
phase which is near about the final stages of software testing
cycle. Many people consider performance testing is the same as
functional testing. Although they appear similar they are
distinctly different. Objective of performance testing is to
check whether the system meets performance requirements. Some
of the tests conducted during performance testing determine the
time taken for loading the program, time taken for each
transaction, extent of work that the program can do at any one
time etc. The software stress tests determine the performance
of the system when the system has low resources, little memory
etc. It also tests the amount of data it can take without any
system failure. Further, the point of failure is determined so
that correction can be done for better performance.
The performance of certain modules will be satisfactory when
tested at a point of time. However, addition of any other
module to this software will cause malfunctioning of the
software and requires debugging. This is one of the reasons why
it is essential that the software testing basics is followed
during the entire development of the software. This facilitates
localizing the problems from early stages and rectifying them.
Net result of this will be saving in time and research
efforts.
To improve the efficiency of software testing a number of
software testing tools are available. Some of them are detailed
in later articles. The whole process of testing requires a lot
of effort; however, they need to have proper software testing
basics for it to become effective.
|