Vivek Sharma is a Test Engineer, currently working with
CA, Hyderabad. He
has five years of
experience in
functional and
automated testing.
He can be reached
at
contactsharma@gmail.com
|
|
Bugs,
Errors,
Defects,
Faults,
Failures
All are
indicators
of customer
dissatisfaction,
especially
when found
in the
production
environment.
With the
increasing
complexity
of the
software
being
developed,
it is
imperative
to catch the
high
priority
bugs before
the
application
goes into
production.
The purpose
of this
article is
to provide a
practical
approach of
identifying
test cases
so as to
catch
maximum bugs
before the
product goes
into
production
environment. |
There are several
suggested ways of
designing test cases
such as Boundary Value
Analysis, Equivalence
Partitioning, Error
guessing (Intuition)
etc. However in this
article we would learn
how test cases can be
derived from bugs which
have been identified in
the existing software.
The
article is written in a
bug-test-case approach. For
every bug, one or more
corresponding test cases are
defined. The bugs and test
cases listed are not
specific to any application,
but may apply to one or more
of the following kinds of
applications
Client-Server, Web, Desktop
applications and so on.
Majority of the bugs
mentioned below are relevant
to the Microsoft windows
operating system, but some
of them are generic in
nature.
Let us get started. The
contents below are in no
particular order:
Bug 1 A field in a
dialog displays the time of
a particular event. The time
shows incorrectly when
viewed in a different
time-zone
For applications in which
time is displayed, have a
test case to verify the
display is correct when the
time zone is changed to
-
GMT
-
GMT + n hours
-
GMT m hours
Bug 2 The information
is not correctly displayed
when Windows Operating
System is installed in a
volume other than C:\Windows
(esp. true for dual-boot
operating systems)
-
Install operating system
in a different volume
and verify the behavior
of your application. If
there are any logs, are
they generated correctly
like installation logs,
activity logs, database
logs etc.?
-
Have
operating system
installed in one volume
and Document and
Settings folder in
another volume. Verify
application consistency.
Bug 3* Open a dialog
and click OK button to close
the dialog without any
changes. When the dialog is
reopened, a field in the
dialog is now grayed out.
-
Test for Zero path
Open and close a dialog
without any changes.
Reopen the dialog to
verify that default
values are retained.
-
Open a dialog, change
the default value to
another value and change
it back again to default
value. Verify the
default values are
retained
-
Open a dialog, enter
null values and verify
that such scenarios are
handled by the
application
Bug 4 Problem with
operating system when it has
maximum number of volumes
like C:,D:
Z:\ on Windows OS
containing different file
systems FAT, FAT32, NTFS
-
Install your product on
different file systems
-
Install your product
with one component in
C:, second in D:, third
in E: and so on all
components in separate
volumes
Bug 5 Application
crashes when file system is
filled to capacity
Bug 6 Application fails
to install/function or
read/write to a mounted
volume
Bug 7 Application fails
to validate virus infected
files
-
Test for application
functionality with virus
files (can be downloaded
from eicar.com)
-
Test for application
functionality with a
combination of virus and
clean files, virus files
compressed along with
clean files.
Bug 8* Space character
causes text truncation after
the record is saved and
reopened
-
Test the fields in your
User Interface (UI) for
space characters. In
many instances,
developers leave checks
for such exceptions
which leads to bugs.
-
Test the field in UI for
other characters on the
keyboard - ~!@#$%^&*()
-
Test with some other
special characters using
charmap Windows
utility
Bug 9 Display is
incorrect for records which
are purged from the database
after a certain time period
Bug 10* Application
crashes on browsing a blank
folder
-
Verify
accessing/browsing blank
folders
-
Verify your application
functionality with deep
folders such as 55
levels deep say
C:\1\2\3\4\5\6\7\8
-
Verify your application
functionality with long
path length folders say
C:\This is an article on
test case and bugs\This
is an article on
test case and bugs2\...
Bug 11* Keyboard keys
defined for a particular
operation do not work
-
Test for hotkeys and
shortcut keys
-
Test for keys defined
for a particular
operation say in an
application installer
screen spacebar key
would select a
component. Such tests
are important for
accessibility standards
-
Test from Localization
perspective with
different keyboards
Bug 12 Application
uses only the default
Network Interface Card (NIC),
when configured to use
multiple network cards
on server
-
Test your application
for performance and
functionality on a
machine with multiple
NIC cards (esp.
client-server
applications)
-
Test client can
communicate with the
server with any of the
IP addresses of the
server machine and
vice-versa
Bug 13 All services do
not start automatically
when a single component
of the application is
installed. The same
services start when the
entire server component
of the application is
installed
-
Install each component
of the application
separately and verify
services start
automatically and
operate correctly
-
Install combination of
components and verify
services start
automatically
-
Install entire
application and verify
services start
automatically
-
Upgrade the application
and verify services
start automatically
Bug 14 Files cannot be
opened from read-only
folder over network
-
Open files from read
only folders over
network
-
Open and save files to
writable folders over
network.
-
Open files from folders
on machines which are in
different
subnets/domains Note - The folders may
contain different kinds
of file systems like
NTFS, FAT32, NFS, EFS
etc
Bug 15 The application
fails to function after
the operating system is
upgraded
Bug 16 Unable to
retrieve client
information after
changing its server.
Problems with client
data migration from one
server to another
Bug 17* Typos or
missing information in
Message box/dialog
box/Log
files/Installation
screens
-
Keep your eyes always
open. Read the text in
every message, dialog,
menu, menu item, log
files, Installation
screens, Installation
summary screen
carefully.
-
For screens which accept
passwords ensure that
the password is always
in encrypted form. POST
method is used while
sending data for web
applications
Bug 18 Display in a
newly introduced screen
is garbled when the
product is upgraded from
previous version
-
In this scenario, say a
new feature is
introduced in the
current release which
gives the user an option
to view his data in a
more organized manner.
Now the records created
in the current version
are displayed perfectly.
Test when you upgrade
from a previous version
to the current version,
how the new feature
handles the data from
the previous version in
terms of display,
consistency etc.
-
Test when more data is
added on top of the
older data how the new
feature handles the data
from the previous
version in terms of
display, consistency
etc.
-
Test that there are no
duplicate records after
upgrade
Bug 19 An operation
(Installation/Save
records) in the
application when
performed by a user with
required privileges (but
lower than
administrator) fails
-
Test your application
functionality by logging
in with a user having
different privileges
Power User, Backup
operator, Standard user
etc.
-
On Microsoft Windows
Vista/2008 test
application
functionality keeping
User Account Control ( UAC )
on or off
-
Test application
functionality keeping
firewall on or off
-
Create different users
with required privileges
and verify application
works correctly.
Bug 20 An executable
file when accessed
concurrently fails
-
If the executable runs
from command-line with
some parameters, invoke
multiple instances of
the executable and try
to perform
identical/different
operations
simultaneously.
-
If the executable runs
as User Interface (UI),
try to invoke multiple
instances and verify how
are the multiple
invocations handled
-
Once multiple instances
are invoked, try to
perform the same set of
operations from the
multiple instances at
the same time and verify
the results to check for
concurrency handling.
* => This test case can
be a good candidate for
Automation In this article, I have
tried to put forward a
set of test cases by
analyzing the bugs. The
objective is to learn a
lesson from every bug so
that the next time when
we test an application
the next bug is caught
as early as possible and
fixed. Vote of Thanks - How to
Break Software by James
Whittaker. |