Pages

Wednesday, March 26, 2008

What is Manual testing

Hi Lab Folks,

Manual testing is the oldest
and most rigorous type of
software
testing
. Manual testing
requires a tester to perform manual test operations on the test software
without the help of
Test
automation
. Manual testing
is a laborious activity that requires the tester to possess a certain set
of qualities; to be patient, observant, speculative, creative, innovative,
open-minded, resourceful, unopinionated, and skillful.

As a tester, it is always advisable
to use manual
white
box testing
and black-box
testing
techniques on
the test software. Manual testing helps discover and record any
software
bugs
or discrepancies
related to the functionality of the product.

Manual testing can be replaced by
test
automation
. It is possible
to record and playback manual steps and write automated
test
script
(s) using Test
automation tools. Although, test automation tools will only help execute
test scripts written primarily for executing a particular
specification
and functionality. Test automation tools lack the ability of decision-making
and recording any unscripted discrepancies during program execution. It
is recommended that one should perform manual testing of the entire product
at least a couple of times before actually deciding to automate the more
mundane activities of the product.

Despite the proliferation of automated
solutions, manual testing still accounts for at least 80% of all testing.
Automation can only be justified where repeatable consistent tests can
be run over a stable environment. When this isn't the case (i.e. during
the early stages of the test cycle), then testing teams almost always revert
back to manual testing. So manual testing is here to stay! Here are some
reasons why...

Business critical / Heavily tested
software: With constantly changing applications, automation can simply
be too daunting. New to testing: Those that are new to testing may not
want to dive right in to complex automation tools. Using a tool such as
TestDrive-Assist
[1]
]] can provide an easy and cost effective way to gain real advantages in
a short space of time and use it as a springboard to full automation. Script
based automation tools not living up to their hype: Many people still find
that despite investing in script based automation solutions this only covers
10-20% of their total testing. The rest is still carried out manually.
Full Automation simply not appropriate: You may be testing new functionality,
or a new platforms/OS. Or there maybe insufficient time and/or skills to
develop test scripts. Agile Development: With Agile development techniques,
there is no place for traditional automation tools because they take too
long to set up and need to be re-scripted after the first change to the
application.

Manual testing helps discover defects
related to the
usability
testing
and GUI
testing
area. While performing
manual tests the software application can be validated whether it meets
the various standards defined for effective and efficient usage and accessibility.
For example, the standard location of the OK
button
on a screen is on the left and of CANCEL button on the right. During manual
testing you might discover that on some screen, it is not. This is a new
defect related to the usability of the screen. In addition, there could
be many cases where the
GUI
is not displayed correctly and the basic functionality of the program is
correct. Such bugs are not detectable using test automation tools.

Repetitive manual testing can be
difficult to perform on large software applications or applications having
very large dataset coverage. This drawback is compensated for by using
manual black-box testing techniques including
equivalence
partitioning
and boundary
value analysis
. Using
which, the vast dataset specifications can be divided and converted into
a more manageable and achievable set of
test
suites
.

A manual tester would typically
perform the following steps for manual testing:


1. Understand
the functionality of program


2. Prepare
a test environment


3. Execute
test
case
(s) manually

4. Verify
the actual result


5. Record
the result as Pass or Fail


6. Make
a summary report of the Pass and Fail test cases


7. Publish
the report


8. Record
any new defects uncovered during the test case execution

There is no complete substitute
for manual testing. Manual testing is crucial for testing software applications
more thoroughly. Test automation has become a necessity mainly due to shorter
deadlines for performing test activities, such as
regression
testing
, performance
testing
, and load
testing
.

Ganesh.KB



Technorati Tags: , , , , , , , , , , ,

No comments: