Sunteți pe pagina 1din 68

What Is

Test ng
India’s 1st Software Testing Magazine

April’08, Issue

Reduce number of testing scenarios with this insight on -

Cover Story
Pg
21
Risk based
Testing

Inside this issue


Are you TEAM ready?
Putting the “Test” back in “Test plan” Pg 57
Some things I have learned in Pg 44
Software Testing Pg
Morning Ideas Pg 04
Have I got a deal for you?
Finally Usability Testing
Pg 28
Pg 40
14
With little Preparation & Teamwork
you can pave the way for new Team Memers.
and more...
Welcome to 
 is the first conference being organized by PureConferences in India.

We intend making
 an experience for all participants by creating a platform for professionals and experts from the testing
community of the Globe

 will revolve around ’Agility in Testing’


The theme will explore and expand on the need for testing teams to adapt to the changing demands of release and quality.

 will cover diverse topics. Keynotes, Tutorials, and Paper presentations by renowned speakers known nationally
and internationally will be one of the highlights of the conference.
Let’s mark the conference program in our calendar today itself.

 will offer opportunities to the partners to associate themselves with this endeavor and showcase their
products in the conference.

We are sure you want to participate and/or present a paper or tutorial.

Do visit us at http://www.test2008.in
Issue1: Vol 1: April 2008 Contents

Cover Story Is bad testing


pg
eating your
21
Pr fits?
04 FROM THE DESK: Morning Ideas
by Sunil Gupta
Good design is key for a good and reliable product

08 THE PROCESS ROOM: Software Testing: ~ A field par excellence


by Sudhir & Anjan
Software testing as a field has brought in a high level of confidence in customers and users
and has thus far provided far more challenges to the new age engineers and academicians.

12 TEAM MANAGEMENT: Are You Ready?


by Michael Bolton
With a little preparation and teamwork, you can pave the way for a new team member.

21 COVER STORY: Is Bad Testing Eating Your Profits?


by Rex Black
Testing should focus on mitigating specific risks to the quality of the system. Sequence of test
execution should be driven by associated risk...

28 THAT TIME OF YEAR: Have I Got A Deal For You


by Matthew Heusser
The methods and extend of our testing are all choices; you could even say they are trade-offs.

33 LEARN HOW TO TEST: What a Tester Should Know, even After


Midnight
by Hans Schaefer
Testing The Normal Way is Not Enough.... Where you find defects, dig deeper!

40 LEARN HOW TO TEST: Finally Usability Testing?


by Erik van Veenendaal
Will it finally happen!

Other Stories
44 FROM DEV DESK: Some Things I’ve Learned in Software Testing
by Jonathan Kohl
50 CONTROVERSY CORNER: QA is More Challenging than Development
by Mrityunjay
53 Is scripted testing bad?
by Vipul Kocher
57 Putting the “Test” back in Test Plan
by Paul Carvalho

WhatIsTesting.com 1
Tea testers look at
aspects of dried & brewed
tea leaves and the liquor

Likewise, PureTesting goes into various


aspects & nuances of soware testing

We build innovati ve, end-to-end solutions,


and manage critical testing processes,
and reduce total cost of producing quality soware

• Banking & Finacial Services • Datacom & Telecom


• Pharmaceuticals • Embedded Systems
• eLearning • EAI & ISVs

Test Consulting • Testing Services • Testing Products

India • USA • UK • NZ
www.puretesting.com
+91 (120) 4621010; info@puretesting.com

Global Software Test Consulting & Services company


Editor’s Note

Release of any software is a moment of mixed emotions, pleasure and


pain, joy and anxiety -- joyousness of seeing the hard work resulting
in a release and the anxiety of the unfound bugs that could have been
found and fixed.
After a lot of effort, this magazine is also being released with similar
emotions. We take great pleasure in introducing Version 1.0 of WIT
magazine. We hope to have many more versions of this magazine, both
major and minor, in years to come and hopefully with minimum number
of patches. We also hope that the future versions of the magazine will
have more features, will be more robust, will have an expanded user
base and establish itself as a dominant player.
Instead of the usual Editorial about the contents of the magazine
which you anyway can find out from the table of content, we take this
opportunity to share with you the reasons for this magazine and who
are the people who have contributed to it.
Many of the technical magazines “grow-up” with time. The articles
become more “philosophical” and more abstract. Readers who are
regular subscribers too grow with the magazine but most of the new
comers start finding the magazine “too abstract” for their liking. WIT
magazine hopes to keep itself relevant to both old readers who grow up
with the magazine and new readers who are either new to the testing
profession or new to the magazine.
Our sincere thanks to the initial group of people who helped
brainstorm the concept of the magazine. They are – Bernard Homès,
Danny R. Faught, Johanna Rothman, Kamesh Pemmaraju, Matthew
Heusser, Michael Kelly, Rex Black, Scott Barber, Stefan Steurs. Without
them the magazine would not have become a living reality. All good
things about the magazine are because of this group, the authors and
other well wishers. All bugs are because of us.
For putting together this version of the WIT magezine, I acknowledge
the efforts of Ashwin Razdan for collaborating with the authors and
collecting all the articles; Parag Sapre for designing the elaborate
graphics; Anushree Tewari for providing editing support, and Satish
Thakur for giving it the final shape in which you see the WIT magezine.
Hope you find this version readable and useful and we hope to have a
better V 1.1.
~ Vipul

WhatIsTesting.com 3
From Daily LifeIdeas
Morning

the

Morning
Desk

Ideas
Though a good design is key for a good and reliable
product, a robust test and evaluation of the product
only ensures that the product meets all-explicit and
implicit requirements and is ready for deployment and
usage.

O
ne morning when I was engrossed bags had torn almost at the same place.
in my newspaper, my daughter
Since it was not possible to repair the bag
created panic as her school
in ten minutes, thus she carried her stuff in
bag had given way at one of the
another bag but this episode left me thinking.
shoulder belts.
I realized that the bag was made to meet
I was annoyed at her letting
the functional requirements of the student
me know only when I was
such as adequate space to carry stuff,
completely torn while she would
compartments for lunch box, pencil box and
have seen this happening over
water bottle. The bag was also providing a
the last few days but my bigger
good aesthetics but lacked the robustness
reason of annoyance was due
in terms of handling the stress that comes
to the fact this was the 3rd or
on the bag with daily usage....
4th time the different school

4 WhatIsTesting.com
by Sunil
by Gupta, Head of Testing Practice : Flextronics Software Systems

For product organizations, the composition and


organization of the test team plays a very crucial
role in the success of the product. Enough time
Composition and and energy needs to be spent by senior test
organization of the test team folks to
plays a very crucial role in • Visualize the product (software and
the success of the product. hardware)
• Look at the various field configurations

Two things emerged when I extended my thought • Identify the tools required for testing
process further. • Look at the FOUR views:
One, product making whether it is a school o User view
bag or a large and complex telecom product
o Maintenance View
requires good understanding and research in
terms of features, stress areas, usability, etc o Functional/Operational View
without which the product would give numerous o Performance View
problems to the user as the school bag gave to In order to achieve a good understanding of
my daughter. the product before the exhaustive test cycle
Second, testing plays a very crucial role to commences, a few people from the test team
ensure that the product meets all requirements need to be dedicated to carry out the Test
including the ability of the product to handle Engineering tasks (as defined above). This set
normal and abnormal stress conditions. of people should have the mandate to carry out
the verification and validation tasks.
If we take the school bag example, it is very
important for the product manufacturer to In the school bag example, the User View would
ensure that the various be to look at all the ways in which the school
stitches in the bag take up bag would be used by a user. There would be
the full bag load else there several user scenarios such as:
are going to be numerous • Student lifting the bag from one belt
dissatisfied customers like
me. • Student lifting the bag using the side belt
and loading on its back
Though a good design is key
for a good and reliable product, • Student fully loading the bag with books but
a robust test and evaluation weight may not be too much
of the product only ensures that the product • Student
meets all-explicit and implicit requirements and partially
is ready for deployment and usage. loading the
It is seen across the IT and software industry books but
that the organizations give a lot of focus to hiring the weight
and developing software development teams may have
but do not focus enough on developing testing exceeded the
teams. The test team is put in place either very
late on the programs or the test teams are not
organized well enough to provide the vital value
expected from the Test team.

WhatIsTesting.com 5
Morning Ideas

Suddenly I realized that it was 9:00 hrs by the


watch and I had a 9:30 am meeting with the
Product testing and Quality Group to review the Post Release Defect
Density of the products that we shipped in the
deployment is a very last quarter and had only 30 minutes to reach
involved and rigorous task office. Thanks to god, for my home is only a 7
minutes drive from office.
recommended weight Bye for now……
Maintenance View would be to look at aspects
such as ease of cleaning and washing the bag;
ease of repairing the bag and how easy it is to
find the spares such as zippers, buckles, etc.
Functional or Operational view is another
important aspect of testing. Tester has to
consider all the functional aspects of the
product. In this example, aspects such as
following would be tested:
• Ease of keeping books in the bag
• Access to all the pockets of the bag
• Ease of closing and opening the bag
• Ease of lifting the bag on shoulder and on
the back
• Enough space to keep books, lunch box,
and water bottle, etc.
Last but not the least, the Performance view of
the product in terms of load handling, ability
to bear stress due to regular use through
load balancing is considered. In the example,
tester has to take following aspects into
consideration:
• Testing the bag for various load and stress
situations
• Testing the bag for full load capacity
• Testing the key joints/stitches under the
stress situations
• Identify the weak areas and strong areas of
the product
Product testing and deployment is a very
involved and rigorous task and involves the best
of people and the best of the practices.

6 WhatIsTesting.com
Neilsoft is a specialist engineering services & solutions
company focused on helping our clients enhance their
product engineering efficiency.
Our services in the software product engineering domain
span the entire product lifecycle including development,
testing, and localization engineering.

T E S T I N G E X P E R T I S E
Glo
e ba
e rtis Compatibility l de
p Testing liv
ex e
n

ry
ai

In Te

mo
in on
m

st st
st ti
Do

al in
Te gra
g

de
la g
tio
te

l
In

n
rage
Sto S
Partnerships with ind

ec
uri
C AE
Performance

Functionality
ty
Testing

Testing
M
CA

PL
M

C AD
ustr
y le

s
M Tes

sse
in ed
ul ti

st at
ad

ti- ng

ce
g
Te tom
by
ers

te

ro
u
A

p
st

bu
Certification ro
Testing
ven&
Pro

testing@neilsoft.com | www.neilsoft.com/testing.htm

Pune Bangalore Canton Chicago Cambridge Dalian ) +91-20-2605 3003


Focus verticals: Construction Industrial Machinery Software Transportation Energy
The Software Testing: ~ A field par excellence

Process

Software
Corner

Testing
~ a Field Par Excellence

Apart from giving fillip to the economy, Software test-


ing as a field has brought in a high level of confidence
in customers and users and has thus far provided far
more challenges to the new age engineers and acad-
emicians.
Introduction and ITeS segment known as Software Testing.
Renewed growth of the Software Industry has
Awareness on Software Quality has, over the last
helped testing achieve the position of being
couple of decades, become one of the defining
called the watchdog of quality. Apart from giving
features not only in Indian software sector but
fillip to the economy, Software testing as a field
also from a global perspective. Thanks to the
has brought in a high level of confidence in
dotcom crash which was an eye opener for
customers and users and has thus far provided
everyone in the field to look back and focus
far more challenges to the new age engineers
on enhancing the quality of the products that
and academicians. Looking at some of the
are already in the market for many years. The
astounding figures:
quality initiatives taken through the last couple
of decades, have now become all pervasive and 1. Bangalore has seen a 24% growth in its
thus given rise to a new avenue within the IT recruitment drive in software testing. It is

8 WhatIsTesting.com
by Sudhir & Anjan, Product Testing & Documentation : Accelrys, ITPL,
Bangalore

Facts from Industry


1. $3.0 billion of $4.6 billion in outsourced
Composition and organization testing is sent offshore, throwing up
of the test team plays a very opportunities for companies in India that
thrive on low-cost knowledge workers. ~
crucial role in the success of Source Aztech Software - Bangalore
the product. 2. Testing could make up to 25-50 percent
of software budgets. Independent testing
is growing at 50-65 percent while the part
forecasted that India needs about 18000 of work done offshore is growing at 35-40
test engineers in the year 2005-2006. percent. ~ Source - Partha Iyengar, vice-
2. With India having more than 89 companies president at industry researcher Gartner
at SEI CMM Level 5 assessment; 275 Indian 3. Testing service team at Wipro has jumped
software and BPO companies acquired four-fold to 2,400 in two years. In the
quality certification; and more and more nine months to December, revenue grew
IT-ITES companies have dedicated quality 90 percent to $64 million, three times
departments responsible for developing and the industry average. ~Source - C.P.
deploying the quality policies and reviewing Gangadharaiah, VP Testing services, Wipro
them.
4. The global market for software testing is
3. NASSCOM survey has indicated that the around $13 billion. In India alone, the
road ahead for the Indian software and demand for software testing professionals
services companies within the quality is expected to touch 20,000 to 30,000
arena was largely dictated and tuned to by December 2006. . ~Source – Internet
the developments taking place in the global Search
marketplace.
4. The future would see organizations move Recent Trends
from quality assurance to business With this background, we can ask ourselves
assurance and focus on information security - what conclusion we want to drive from it?
complying with international legislations, Why suddenly is everyone so statistical about
developing new global delivery capabilities gathering all these figures? To take a close look
and enhancing quality processes in new below we see from 50’s onwards till 80’s either
business areas. the products were not tested or if they were then
it was out of compulsion.
This is testimony to the fact that software
testing is poised to grow at a phenomenal rate Quality as a term itself took the real shape
in future. With all these happenings, no one can under the leadership of Borris Beizer who gave
deny the conclusion that software testing has the awareness to the industry and the world
grown as an independent field within IT/ITeS about its very existence. The role of quality has
service segments. And it has given a clarion become a necessity than a need in the software
call to everyone within the professional arena, industry.
specifically academicians, to closely monitor,
If we start looking into history, we will find
analyze and push forward the new horizons of
thousands of such cases where a small mistake
the technology movement that software testing
in the software has brought havoc to life and
as a field is going to provide. Looking at some
money. The most recent one is the Columbia
more interesting statistics on testing industry:
Space Shuttle crash. All such incidents have

WhatIsTesting.com 9
Software Testing: ~ A field par excellence

espoused within the IT-geeks eagerness towards human life such as Insurance, Healthcare,
“checking before delivering” approach. On the Banking, Financial services, Pharmaceuticals,
contrary, there was time when products were logistics etc. What this means is that, software
released without or with minimal testing done. developed in each of these Industry verticals
Of course, many a time, these are dictated by need testing – some rigorously and some which
how the market wants them. Time-to-market can give adequate confidence in the product. At
was probably more important than quality the end, software testing too is spanning across
of the product. But, time has changed post all these Industry verticals. When it comes to
dotcom crash era and software quality has the domains, the field looks even more lucrative
maximum thrust in the market today, be it by the amount of challenge each one of them
consumer products, electronics, manufacturing provide to the individuals involved in testing.
or software. And quite rightly, software testing Therefore, as software testing started to support
is enjoying its share of this quality conscious the development activities in these domain
market. areas, it became increasingly necessary for the
test engineers to gain knowledge and specialize
Testing as a field has now been more
within each of these domain areas. This is
strategic and approach-centric
another area where there is a huge potential
thus adding new dimensions as
for test engineers to grow and make an impact.
well as many challenges to it.
This led to different teams being formed, some
Previously testing used to be an
heterogeneous and some homogeneous groups
afterthought activity in the post
to cater to testing software in these domains.
release phase when the clients
The requirements of the client keep on
call and say “we found something wrong in
growing and we as organizations need to meet
your delivered software”. But with time, it is no
the demands of the end users to stay in this
longer the case. Any small error today is a big
business. This translates to the whole gamut
issue from a client perspective. With more and
of technology issues starting from software,
more third party software testing companies
hardware to third-party products. Software can
grooming overtime, the availability of a talented
be legacy application running on a mainframe
resource pool, making timely deliveries and the
or the latest technologies such as .NET, J2EE
commitment to meet the quality expectations
etc... Technology as we know has advanced from
of the customer has added many feathers to
the days of mainframes to today’s applications
India’s software testing market. Needless to
running on a PC based Linux systems. However,
make a note that Software testing as a field
at the same time, applications developed on the
within IT/ITeS has now emerged as a strong
legacy technologies have not gone away or have
area of business solutions and a source of
not been replaced with new technology; they are
major revenue generator and emerging more as
still being used in Banks, Insurance companies
a serious business goal as well an intrinsic part
within the IT/ITeS organization culture.

Future Challenges
There is software in almost
every aspect of human life....
Domain and Technology Perspective
software developed... need
The growing demand from within the customer
groups as well the growing demand of the
testing -- some rigourously
organizations to meet and extend their client and some which can give
support has made software testing as a field adequate confident in the
nothing but a paramount knowledge pool.
There is software in almost every aspect of product.

10 WhatIsTesting.com
by Sudhir & Anjan, Product Testing & Documentation : Accelrys, ITPL,
Bangalore

and many others. This even complicates the Conclusion


scenarios wherein the vendors have to support
Moving a little off track to give a comparative
both old applications as well as new applications.
analysis we see in the past Public Administration
This tells us how complex it can be for testing
has struggled a lot to give itself an individual
to handle such complex set-ups. Besides, the
identity and for a long time shared a part of its
applications run on varied platforms from
glory with either Political science or Sociology.
different vendors including: Windows, Linux,
But today it has gained a public reputation and
Macintosh, IRIX, AIX, unix & Mainframe. We
has become a part of everyone’s life.
are currently looking from a macro level. Since
with the growing numbers of different flavors of So does it hold true for software testing which has
an individual OS (e.g. Linux as such has Linux remained cocooned within Software Engineering
Workstation2.0/3/0, Advanced Server 2.0/3.0, or Software Development Life Cycle. But now
Enterprise server 2.0/3.0 etc.) the coverage from the field has not only gained reputation but also
testing point of view becomes immeasurable. has stood on its own. Software testing as a field
Does that not give a test engineer enough has come of age bearing the pain of “We can do
challenge to work on so many platforms? Of without you” to share the glory of “With you we
course yes, it’s not that developers only code are right through”. A field that is still growing,
for making an application run over different shining and awaiting to flourish still needs a lot
platforms but the test engineers too have their of planning & strategizing from all sections in
own way of reaching end to end. Apart from this the Industry and academicians. As we need to
we can also predict a good deal of exploration remember the following lines:
in areas like Client-Server, Web (2-tier, 3-tier)
“The Road to Excellence is a never ending
applications, Mainframe application and an
Road” ~H. James Harrington, The Improvement
endless list of such applications.
Process
What we discussed as far as technology is
concerned is only the tip of the iceberg. There
seems to be an endless list and mushrooming
application areas to be explored in the time to
come.

WhatIsTesting.com 11
Team Are You Ready?

Mana-
gment

Are
You
Ready?
With a little preparation and
teamwork, you can pave the way
for a new team member.
Use a checklist to make sure you have everything
ready before the new team member arrives.
● Compile all necessary documents into one binder
that can be given to any new arrivals.
● Be sure to provide some context about the company
and the team to help the newbie get acclimated.

12 WhatIsTesting.com
by Michael Bolton, DevelopSense, a Toronto-based consultancy
and training firm.

I
f your company is typical, it is hiring agreement. Make sure this, too, is prepared
more and more temporary workers while in advance, and that all agree on each of its
scrambling for every bit of efficiency and points before the contractor’s first day. If your
value. Hiring a contractor to help with human resources department has policies and
temporary problems can be cost-effective, but procedures manual appropriate for your hire,
wasting his or her time undermines the purpose make a copy available to the contractor early
of the exercise and costs hundreds of dollars in the game. Human resources will typically
per day. Moreover, people simply don’t work as require various kinds of information from
well when they feel uninformed, frustrated, or your new hire. Be sure to ask in advance what
stymied. On the other hand, a contractor who information they’ll need so that you can pass
can hit the ground running will make better on any questions to the contractor prior to
relationships, will be more effective, and will her arrival. Human resources or security will
use your time and hers productively. typically supply ID badges, pass cards, access
codes, and keys to the office, restrooms, or
This article describes ways to prepare
other secure facilities. These items should be
for a new contractor; however, the tips here
available and tested.
could just as easily be applied to a temporary
employee, a new permanent employee, or in If the contractor is arriving from out of the
some cases, a transfer into your department. I country, make sure that your human resources
don’t assume any particular job description or department and the contractor have fulfilled all
title for the person, nor do I assume anything requirements related to visas, work permits,
about the person’s technical skill in any given and the like. The accounting people will need
category. Neither should you make such to deal with administrative and taxation issues.
assumptions. A crackerjack developer may be Make their jobs easier by coordinating and
completely oblivious to network configuration relaying the required information in advance,
issues — especially in a new environment both from your staff and from the contractor.
— and a brilliant documentation writer might Issues related to eligibility, tax numbers, tax
be flummoxed by a cryptic voicemail system. forms, and withholding information should be
Your contractor’s time is best used to solve the sorted out concurrently with the contract.
problem for which you’re hiring her, not her
own infrastructural or contractual issues.

Contracts and Administrivia Restrooms with locks but


Before beginning work, your contractor will no keys are scourges upon
typically sign a contract outlining the scope of the land. When I started at
the work to be done, the deliverables expected, one small outfit, it was a
and a schedule detailing when each element
week before security could
of the work should be completed. The more
specific the contract, the less opportunity there produce a restroom key
is for miscommunication and disagreement, for me. It wasn’t only a bother for me
and the better your interests are protected. to ask my new colleagues for a key—I
Your contractor may have requirements that are
outside the scope of your company’s standard was interrupting their work, too.
contract, or she may have to provide certain
kinds of documents relating to work eligibility.
At this company, the restrooms were
Make sure these kinds of issues are ironed out locked, but the door to the server room
before the contractor is slated to begin work. was always open.
Most contracts come with a non-disclosure

WhatIsTesting.com 13
Are You Ready?

Elizabeth, a European There are few things that make a contractor


contractor of my happier than being paid on time and with
a minimum of hassle. Ask your accounting
acquaintance, was hired department what they’ll need from the contractor
to work in an American to pay invoices promptly.
company. She submitted Ensure that expense and reimbursement policies
an invoice, covering salary are clear from the get-go. If your company uses
and expenses, which was a standard expense reconciliation form, make
sure that a few copies or an electronic template
rejected on the basis of a couple
are available to your contractor. Again, your
of questions from the accounting most friendly and helpful contact person in
department about her tax withholding accounting should be available to the contractor
status. She dropped in to investigate to help sort out confusion or difficulties.

the problem by speaking with Mark, IT Issues


the accountant who had sent her the Notify the IT support department that a new hire
mail rejecting the invoice. “I don’t have is on her way, and request the specific things
time,” said Mark. “Not even for just a you’ll need and the date you’ll need them. Most
new arrivals will need at least one computer set
couple of questions?” asked Elizabeth.
up, linked
“No,” Mark replied. “It would be a
to the network, loaded with tools, attached to
different story if you were an employee printers, and tested. If you’re hiring a developer
rather than a contractor. But,” he said or tester, additional terminals or workstations
imperiously, “I have more important may be necessary. Don’t forget to tell the IT
department about this, and above all, don’t
strategic things to do.” This incident
assume that they’ll know what the new arrival
occurred at a company where more needs. Your new arrival will need access to
than half the staff was made up of various areas of the network, so make sure
contractors. she has the appropriate set of access rights. If
your company’s security is very restrictive—for
Eventually the problem was sorted example, limited
out, but it meant inconvenience and Internet access—notify your contractor
exasperation for Elizabeth and her beforehand so that other arrangements can
be made for Net-based research tools and
manager, and embarrassment for
resources. An analog line might be required
Mark’s manager. On the other hand, for some purposes. If specific tools—examples
Elizabeth’s final report included a include compilers, configuration management
subtle recommendation—which Mark’s programs, and testing utilities—are required,
have these loaded and tested on the contractor’s
manager followed—to give Mark less machine in advance. Be sure to follow up,
strategic work to do. Whether Mark is verifying that the work has been done and
currently doing strategic work or not, that resources, configuration settings, network
policies, and default passwords are documented.
he’s doing it somewhere else.
Make sure that email accounts have been set

14 WhatIsTesting.com
We challenge you.

At GrapeCity, we challenge you


with assignments on the latest
.NET and Java technologies,
enabling you to emerge a winner
in this game called life.

Lines of Business

Business Solutions

GrapeCity is a software development multinational company Custom Applications


with over 650 employees across Asia and the United States. For Mobile Applications
more than 25 years, we have brought optimized software solutions
CRM
and services to enterprises around the world.
ERP
We rely on four key principles to help our clients achieve their goals:
Technical Services
thoroughly understanding our clients’ business objectives, providing
highly personalized experiences, maintaining a strong emphasis on Mobile Porting
quality, and adhering to the highest ethical standards. Quality Assurance

Technical Support

Send your resume to Component Development


jobs.india@grapecity.com
now! Technical Tools

GrapeCity India Pvt. Ltd.


A-15, Sector 62, Noida 201307 Phone: +91 120 247 0123 Fax: +91 120 247 0124
www.grapecity.com
Are You Ready?

up and checked by sending a


message to the new arrival’s Note the people who are most likely to be
address, and then check with helpful in answering questions or fixing
the IT department to be sure
the message has been received problems, and provide their contact information.
in the new mailbox. In addition,
obtain a document from the IT voicemail system. Have the telephone installed,
department on how to change network login and a number ready for the contractor when she
and email passwords. arrives. Make sure that this number is listed in
the company directory — and remember that
Everyone needs a working telephone and directories can exist on the network, in the
voicemail system, and with the receptionist.
Despite everyone’s best intentions, a company’s
information infrastructure can be complex
The new arrival can often and confusing to a new arrival. Have the IT
help people to notice department provide the name of a specific
old bumps in the road. I person—a guide or sponsor who is helpful and
knowledgeable about the company—to help the
was brought into a test contractor navigate through network access,
organization to help email configuration, and printer problems. In
identify problems in testing addition, make sure that your contractor will be
able to find her default printer, email address,
efficiency. There were two types of
network login name and password, and IP
network drops in the test lab—one address. Try to counsel colleagues against
for the company’s internal network sending email announcements saying things
and one for the test network. These like “This week’s build can be found in the usual
places.” Instead, make the details explicit.
weren’t labeled, since everyone who
used the lab knew which was which. I Providing Context
suggested that this shouldn’t be taken The contractor has been hired to accomplish
for granted as one of the locals helped some task or solve some problem. If people
within your company are having difficulty
me find the right connection, and I
sorting out an issue, imagine the difficulty that
used a bit of masking tape to label the a stranger will face!
drops nearest to my workstation. The
Even people who have worked inside your
next day, a fairly senior tester reported company and who know the general environment
a defect that was later found to be need background information when they
spurious, at a fairly significant waste of arrive in a new position. This is yet another
motivating force for your company to develop
time and effort. The misunderstanding clear specifications, design documents, plans,
happened because he had plugged the schedules, budgets, and so on. Start by writing a
test machine into the wrong network brief description of what the company and your
division do, and prepare an organizational chart
connection. The day after that, labels
or departmental roster. At the very least, identify
magically appeared on all of the yourself and your direct superiors and reports,
network drops. along with the other people with whom you
expect the contractor will be working. As you’re

16 WhatIsTesting.com
by Michael Bolton, DevelopSense, a Toronto-based consultancy
and training firm.

preparing this information,


note the people who are most The processes and documents that
likely to be helpful in answering
questions or fixing problems, you prepare for the arrival of one
and provide their contact
information, so as to minimize
contractor will be highly recyclable.
the amount of time that the and you’ll quickly have a list that is easily
contractor must wait—unproductively—for maintained and printed.
answers. Document the key business processes
and workflows associated with the new arrival’s One of the benefits of traveling, from the point
task at hand. If you provide answers early, there of view of many contractors, is using free time
will be less time spent wondering and asking
questions.
Don’t get hung up on tools or formatting: A At one company where I
document composed using a text editor or was a full-timer, we hosted
even a pen and paper is infinitely superior to a
document that doesn’t exist at all. When offered a number of developers
a choice between a detailed Notepad file and an during an outsourced
empty Gantt chart, I’ll pick the former every time. project. We created a list
Simply make sure that the information exists,
of local restaurants and
and that it can be found and read easily. Make it
a mandate from the beginning, and check with tourist attractions by sending out
the new arrival often. If the new arrival feels email to everyone in the department,
that she is being forced to do detective work, soliciting one suggestion from each
encourage her to keep a log of what she needed
to know and what she found. Make sure that person. I compiled the suggestions
one of her deliverables is a list of the things that into a single document, removed the
will be useful to her successor, and be sure to duplicates, and posted the results to
budget time for her to prepare it.
an internal discussion board. A few of
City Guide the suggestions inspired still more.
If your new arrival is coming in from out of town, Some might suggest that discussion
she’ll feel more welcome with a guide and some of restaurants on company time and
idea of where important services can be found. company bulletin boards is wasteful.
If your company is providing accommodations,
make sure that the contractor’s lodgings are Our experience was that the one-
quiet, secure, comfortable, and reliable, and suggestion technique cost next to no
that they’re ready for the contractor by the time and was a way of getting to know
end of the first day of work, at the latest. If
people—and people who knew each
arranging accommodations is the contractor’s
responsibility, provide a list of facilities in a other better almost always worked
variety of price ranges. While it’s nice to be close smarter and harder.
to work, don’t strand the contractor near an
industrial park without food or services nearby. We also found that a handy list made it
Prepare a list of restaurants in the area that easy to book company gatherings, to
cater to a variety of tastes and budgets.
provide directions, and so on.
Ask your department for recommendations,

WhatIsTesting.com 17
Are You Ready?

to explore their surroundings. Survey your people she’ll need to know. An introduction
staff for a number of interesting— and possibly from you is likely to carry more significance
undiscovered— places to visit in the area. If than one from a subordinate, so be prepared
those places are somewhat off the beaten path, to do this yourself. Even if you are routinely
ask the person making the recommendation to busy, getting your employees and contractors
provide a link to one of the several useful Web- to work together is a tremendously worthwhile
based mapping services. If everyone pitches in a investment. A contractor’s effectiveness often
suggestion or two, compiling them into a helpful depends upon being able to meet and connect
guide shouldn’t be burdensome. When you’re with other people. Most contractors meet their
finished, you should have a complete package new colleagues in business meetings, but more
of general information that can be passed to informal circumstances can lead to friendlier
any new employee or visitor on paper, via email, relationships. On the introductory tour, take
or on an internal Web site. Ask the new arrival your time. Cover the important places and people,
frequently for feedback on the checklist, and but be relaxed and try to avoid a hard-and-fast
refine it accordingly. agenda. Spend a few moments introducing the
new contractor to each staff member. Explain
On the Job quite generally what the new arrival is there
Make sure that you schedule some time on to do, and describe your staff member’s role,
the contractor’s first day for introductions and how each may be able to help the other.
and a tour of the essentials. You should be Don’t just concentrate on peers and colleagues.
prepared to walk around for at least an hour Spend a few moments chatting with other useful
with the new arrival, introducing her to the contacts with whom your new arrival will need to
interact—people in network services, reception,
the mail room, and accounts payable. As you’re
The kitchen or lunchroom walking around, show the new person all of the
is not only the place useful and necessary places around the office.
for refueling but also a An early stop should be the restroom. If keys
or pass cards are required, make sure that the
good place to meet and
contractor is given them upon her arrival. The IT
converse with others. department should have set up a default printer
Linger for a while and and informed you which one it is. Include this
encourage chatting, even on the tour, along with specialty printers and
other equipment that might be useful. Also
if it’s not directly related to the task on the tour, include visits to the office supply
at hand. Spend a little petty cash cupboard, the photocopier, the first aid kit, and
on group lunches, outside coffee the lunchroom. For the duration of the contract,
the contractor is a member of your company
breaks, or visits to the pub with your
and your department, and thus should be
contractor and the rest of your staff. accorded at least the same kind of assistance
If these informal approaches seem and respect given to your permanent employees.
of questionable value, consider that If you are the contractor’s supervisor, you must
be prepared to go to bat for her, and the rest of
productivity and effectiveness are your organization should be prepared to take
often based on personal relationships the same approach.
and rapport—do what you can to foster No matter what the task, there’s nothing worse
them. than having to research and answer the same
questions over and over again. Keep a list of

18 WhatIsTesting.com
by Michael Bolton, DevelopSense, a Toronto-based consultancy
and training firm.

frequently asked questions, their answers, and complete, can be reused and refined, but rarely
where someone can go for more information. In will you have to start it again from scratch.
many cases the FAQ information can be posted You’ll need to review things periodically, but
on an internal Web site, captured in a database the benefits will be immediate: happier, better-
within workgroup software, or collected in a prepared, and—most importantly— more
piece of email. If you don’t have such things set productive workers.
up, consider making the collection of FAQs a
task for the contractor, making such a document
part of the contractor’s package of deliverables,
since your contractor will have plenty of insight
on what’s important for a new arrival to know.

Reuse and Recycle


All this might sound like a lot of work— and the
first time you do it, it will be.
Luckily, the processes and documents that you
prepare for the arrival of one contractor will be
highly recyclable; they can be used again and
again, regardless of whether the new arrival is
a temporary or full-time employee. Since you’ll
be consulting with other departments, you can
exchange ideas and plans, and improve the lot
of new arrivals companywide. The work, once

Checklist for a New Team * Policies and procedures manual


Member * Expense and reimbursement policy
Prepare for Arrival * Expense forms
* Signed contract * Telephone and voicemail instructions
* HR info from contractor * Telephone directory, with key contacts
* Keys, badges, and codes ready and highlighted
tested * Internet policy
* Visa, work permit, and eligibility * Password and login instructions
confirmed * Software resource manuals
* Resolution of tax issues * Names of key contact people in IT, HR,
* Telephone and voicemail set up Accounting, etc.
* Phone number listed in directory * Organizational chart
* Set up computer: * Division responsibilities
networked * Overview of company
all applications installed and tested * Key business processes and workflows
email account related to job
login * Guide to city, if applicable
passwords * List of frequently asked questions (with
answers)
printer connection
Documents to Provide

WhatIsTesting.com 19
CORPORATE OVERVIEW
Hexaware is a leading global provider of IT and BPO services. Over 40 of our clients are Fortune 100 companies. We
enable clients achieve competitive advantage by co-developing innovative IT/Process capabilities delivered through
flexible business models. We focus and have achieved leadership positions in domains such as HR, Banking and
Financial Services, Insurance, Leasing and Transportation. On the technology front we specialize in Business
Analytics, Enterprise Applications, Application Modernization/Management and Independent Testing. Founded in
1990, we are a US$ 153 Million company with over 4000 employees in 16 locations worldwide. We are currently ranked
as No. 11 Software Company in India.
TECHNICAL EXPERTISE
Our Key Offerings ‰ Technology – Legacy
Systems, Client Server, J2EE
BR / FS/SR Specification
Industry
Industry Specific
Specific
Business Requirement
Analysis
Gap Analysis
Functional Support
and .NET.
Solutions
Solutions ‰ Operating Systems –
Airlines Software Testing Existing Methodology Review
Existing Tools Evaluation
Multiple Virtual System
Process Consulting Process Recommendations
Manufacturing & High (MVS),
technology
System Integration Black Box - Functional Testing UNIX variants and Window
Banking & Securities White Box - Interface Testing
Testing (SIT) Grey Box - Regression Testing based.
Insurance

Performance
Load Testing
Stress/Volume Testing
AUTOMATION TOOLS
Technology
Technology Practices
Practices Testing Analysis and Interpretation EXPERTISE
Application Management
Test Management
‰ Win Runner, Load Runner
Enterprise Application Test Automation Functional Automation
Load Test Automation
and Test Director - Mercury
Integration
Interactive.
People Soft
UAT
UAT Preparation & Execution
Roll Out / Production Support ‰ Functional, Performance
Oracle User Training
Siebel
Support
and Test Management Tools
E-Business solutions Fail Over / Availability Multi-tier Availability - Rational Software.
Low Resource
Testing Endurance Tests ‰ Silk Test and Silk Performer
from Segue Software.

HITS(HEXAWARE INDEPENDENT TESTING SERVICES) OVERVIEW


¾ Team of 250+ with varied skill sets
¾ Domain focused, Automation driven E2E testing solutions
¾ Independent testing labs based in Chennai and Mumbai
¾ Showcases projects spanning a diverse spectrum of
¾ Domains – BFS, Insurance, ERP and Airlines
¾ Technologies - Mainframe, J2EE, Siebel, People soft and SAP
¾ Expertise in test automation tools like
Win runner, Quick Test Pro, Load Runner, Test Director, Rational suite.
¾ More than 35% have hands on experience in Mercury tools.
¾ Proven Test Methodologies from end-user perspective to meet the customers expectations under real-world
business scenario.
¾ Offshore – Onsite Delivery model providing significant cost savings
¾ More than 1000 Man years experience

Hexaware Technologies
Hexaware Towers, Bldg. No. 152, Millennium Business Park,
51/3, G.N Chetty Road, TTC Industrial Area,
TN S 3 "A" Bl k M h
Cover by Rex Black, President, RBCS, Inc., Bulverde, TX

Story
Is bad testing
eating your

Pr fits?
Using Quality Risks to
Guide Testing Effort
Testing should focus on mitigating specific risks to the
quality of the system. Sequence of test execution should
be driven by associated risk...

S
ince the 1980s, when Bill Hetzel Categories of Quality Risks
and Boris Beizer published their
Computer software, hardware, and systems can
influential books on software testing,
fail in the most amazing and various ways. Some
we have known that testing should be
bugs are not functional problems, but fall into
risk-based. Testing should focus on mitigating
other quality risk categories. We’ll take a look at
specific risks to the quality of the system. The
some categories of quality risks to stimulate our
sequence of test execution and the total effort
thinking about what to test.
expended on any given test should be driven by
the level of risk associated with that test. In the
Functionality
1990s, people like Rick Craig, Paul Gerrard, and
I independently created some ways to achieve The most obvious quality risk category is that
systematic risk-based testing, often by adapting of functionality. There’s always a chance that
ideas from other forms of engineering, such as the system does not provide some function it
insurance and medicine. In this article and the should. The function can include a capability,
next one, we’ll talk about ways to perform risk feature, processing, input or output.
based testing. For example, if you’re testing a calculator

21 WhatIsTesting.com
WhatIsTesting.com 21
Using Quality Risks to Guide Testing Effort

4
Unacceptable performance
load above 500
Transaction Processing Time

Unacceptable performance at
2 any load
Unacceptable performance
degeneration above time

1
Acceptable performance

Transaction Arrival Rate


1000

Figure 1: Performance bugs

program, the lack of an add capability would fall performance. The shaded area at the bottom of
into this category. So would a situation where the figure represents the required performance,
the add capability was implemented, but the “+” which is one second or less transaction
key didn’t cause the function to be activated. processing time at a load of up to 1,000
The add capability might be implemented and transactions per minute.
accessible, but might work only on integers, not
Risks to system quality in the area of performance
real numbers. The add operation, when carried
include the possibility that the system responds
out, might give the wrong result, as in 2+2=5.
to input, produces output, or
Or there could be some strange side effect
processes data too slowly under
where the operation is handled but the
all levels of load. The straight
result is not at all as expected, as in a
dashed line shows this possibility.
divide function where 2 divided by 2
The system might perform fine up
returned one, but in Roman numeral
to some level of load, but have an
format.
unacceptable non-linearity in the
performance curve, as shown by the
Performance and Reliability steep curved dotted line. Finally, the system
In Figure 1, you see a graphical representation might perform within specifications during an
of three types of quality risks in the area of initial test run, but subsequent tests—when the

22 WhatIsTesting.com
WhatIsTesting.com 22
by Rex Black, President, RBCS, Inc., Bulverde, TX

include seeing functionality, performance,


or reliability problems due to the rate of
Reliability problems exist computational, data, and communication flows.
when the system fails to For example, the performance of database
function normally each and management systems often start to degrade
when the database management system load
every time. exceeds 80% of the rated transactions per
minute or the allowed number of simultaneous
system is not rebooted between tests—might
connections.
reveal unacceptable performance degradation,
as shown in the family of three gently curved
Installation and Deinstallation
lines.
Various things can go wrong when installing
The risk of performance degradation—and programs. These include situations where the
indeed, behavioral degradation of any sort— program won’t install or the installation process
over time brings us to the reliability category causes damage to the system.
of risks to system quality. Reliability problems
exist when the system fails to function normally The latter kind of problem once was ubiquitous
each and every time. Such a reliability bug can on Windows systems, with the
exhibit itself as an intermittent functional appropriate nickname “DLL hell.”
problem. Sometimes, such bugs Here, one program overwrote
appear after a long period of runtime libraries used by another program
or after running under heavy load. during its installation process.
I had such a problem with Windows Deinstallation can also create
2000 while writing this article. Extended problems. Sometimes, deinstallation
uptime between reboots usually resulted in does not completely remove files and
characters in some applications taking on the undo changes. Sometimes, deinstallation
wrong font or the wrong font size. causes damage to the system.
You might have seen another type of reliability
bug, too, where the system functions normally
when it functions, but crashes or hangs
unpredictably. Such bugs can occur after some Various things can go wrong
long period of runtime or after running under during installing & deinstalling
heavy load. Alternatively, such bugs can be
truly random. I recently saw such a bug when programs.
a security patch caused reboots on a system
every third or fourth time the system booted.

Stress, Capacity, and Volume Operations


Risks to system quality in the area of capacity We also have those risks associated with
include seeing functionality, performance, or recurring operating activities.
reliability problems due to resource depletion. These include activities carried out at the end
For example, the performance of operating of some operational period, such as end-of-
systems often starts to degrade once the system quarter or end-of-month closing out of accounts.
consumes more than 80% of the available hard Problems can arise especially with failures to
drive or memory space. archive inactive logical records in a safe and
Risks to system quality in the area of volume recoverable manner, as well as archiving of
data that should remain active. In addition, the

WhatIsTesting.com 23
Using Quality Risks to Guide Testing Effort

exhibit their effects a long way from their origin.


Side-effects of changes can impair or even break
The effects of changes, even cohabiting, interacting, or underlying software.
small, localized, isolated The adding of yet-another-feature can lead to
changes, are not always systemic performance and capacity issues.

small, localized, or isolated. Usability and User Interface


timing of archiving and the calculation of when One special category of non-functional quality
a period has ended and a new period begun can risks relates to the usefulness and usability of
fail. the system by the intended user or operator.
Specific usability and user interface bugs
For systems with databases, there can be regular can vary. In some cases, systems present
requirements to compact or repair the databases. cumbersome interfaces that do not follow
In addition, for such systems, operators normal or expected workflows, leading to
often must back up data and configurations user frustration, confusion, and mistakes. In
regularly, along with verifying the restore other cases, functionality, while present in the
process. There’s a strong risk of side effects system, is practically inaccessible to the user
like performance problems related to backup or
restore operations, the inaccessibility of some
or all system functionality during backup or Data quality poses a major
restore operations, and the failure of backup or category of quality risks for
restore operations under full system capacity many systems.
conditions. Sometimes, operations activities
happen automatically, in the background. For
example, rollback logs for a database often or operator. Systems can be inappropriately
need to be purged automatically to avoid major difficult for the users to learn, leading
performance and reliability bugs. to abandonment, mistakes, and
inefficiency. Finally, users and
Regression operators can find instructional,
By regression, I mean when a help, and error messages that
previously-working feature, function, are misleading, confusing, or
capability, or behavior fails following a misspelled.
change. The problem we have in system
testing is that software/hardware systems, Data Quality
being digital, tend to be discrete rather than Many systems exist primarily to do interesting
continuous in their failure modes. things with data. Inputs are processed,
The effects of changes, even small, localized, transformed, and stored. Databases are
isolated changes, are not always small, localized, queried, records linked through foreign keys,
or isolated. How many times have you heard a and integrity constraints enforced. Outputs are
statement like, “How could that have happened? displayed, printed, and transmitted to other
I only changed one line of code.” system.

A small change, even one line of code, can affect So, data quality poses a major category of
the behavior of the rest of the system. A small quality risks for many systems. The system
change can cause incompatible data to enter might corrupt or lose data. The system might
shared data sets, including dynamic dataflows store bad or nonsense data in a database
and static databases, resulting in bugs that without integrity constraints. Databases shared
across multiple systems can allow data which is

24 WhatIsTesting.com
by Rex Black, President, RBCS, Inc., Bulverde, TX

valid for one system to be accessed by another Of course, if the system does not support the
system which does not know how to handle character sets used by the local language, we
that data, resulting in failures that are removed have a localization problem. Those languages
in time and feature space from the source of the that use the Roman alphabet, such as English,
problem. German, and Spanish, have single-byte
character sets. Some languages that use other
Further complicating these situations, it is
alphabets, such as Russian and Hebrew, have
sometimes difficult to restore the system to
single-byte character sets, too.
working state after a badly-handled error
condition. In some cases, the system, in the Localization also has operational implications.
course of succumbing to the error, damages For example, time zones and time formats vary
configuration files or static data stores in a way based on locale. Does the time change in the
that’s hard to fix later. The data quality bug in the summer? (In the United States, this is called
expense reporting package I mentioned earlier “daylight savings times,” but it goes by different
is an example of this kind of misbehavior. names around the world.) If so, when does
adjusted time begin and end? Are
Date and Time Handling dates written “month-day-year” (as
In addition to having to handle in the United States) or in the more
common errors, many systems must logical “day-month-year” format (as
also handle dates. This has created in much of the rest of the world)?
significant information-technology
problems, including the infamous Configuration and
“Y2K bugs” that consumed huge Compatibility
proportions of company and government
IT budgets in the late 1990s and contributed to Quality risks related to
the depression in the high-technology sector in
the early 2000s. In addition to having to handle
Localization may be in
once-in-a-hundred-lifetimes type of events like the categories of GUI or
a new millennium, systems must frequently operations.
handle events like leap years.
Many systems must deal with expiration dates.
Another family of risks to system quality lives
Licenses expire. Credit cards expire. Insurance
in the areas of configuration and compatibility.
policies expire. After some period of time, the
Different users configure both the hardware
right of a bank to disqualify a borrower based on
and software of systems differently. A family
a derogatory like a bankruptcy can also expire.
of systems may support various hardware
Failure to handle such expiry events properly
configurations. Often, the number of potential
can expose a company to serious financial and
combinations of configurations is huge and
legal risks.
testing inappropriate combinations can result
in risk of failure in the field.
Localization
Localization refers to the ability of a system to Standards and Regulatory
support local customs, languages, norms, and Compliance
laws. There are two broad categories of quality
More risks to the quality of the system exist
risks related to localization. One category
in the areas of standards and regulations. A
relates to the user interface, and the other to
system can work properly but be excluded from
operations.
the market by failing to meet standards, either

WhatIsTesting.com 25
Using Quality Risks to Guide Testing Effort

effectively (no one will buy it) or legally (the


government won’t let anyone buy it or sell it).
When you have
Security communicating components,
With the growth of the Internet, awareness of timing and coordination
the risks associated with security has increased.
Security risks are legion. They include viruses
between them is a concern.
and worms, criminals breaking into servers,
vandals causing denial of service attacks, Can You Think of Other Quality
bugging and intercepting e-mail and Internet Risks?
communications, and more. Yes, and so could I. But isn’t this list already
too long? What if you tried to cover all the
Timing and Coordination quality risks discussed so far? Could you test
When you have communicating components, or them all? Would they fit into the budget and
shared components, timing and coordination schedule context of the project? Would you
between those components is a concern. For end up wasting time and effort on unimportant
example, with an e-commerce system, how long problems? Surely any attempt to test this whole
should the system wait between events like set of quality risks would be neither effective
mouse-clicks and submitted screens? At what nor efficient!
point can it safely conclude that the customer So, what shall we do? In the sequel
has abandoned the transaction? to this article, we will discuss some
As another example, consider the ideas of how to trim the infinite
automated teller machine. What number of things you could test
happens when the central computer into a finite list of risks you should
times out or the network goes down? mitigate.
What if that happens in the midst of a
transaction? If we’re testing an inventory About the Author:
system, what happens when two salespeople
try to sell the same item at the same time?

Documentation
For many people the quality of the documentation
significantly affects their experience of quality
when using the system. Documentation quality
problems include being technically incorrect, of
course, especially the examples. The user can
find the documentation insulting or offensive,
teeming with grammatical or spelling errors, or
afflicted with distracting cosmetic or formatting With a quarter-century of software and systems
problems. engineering experience, Rex Black is president
and principal consultant of RBCS, Inc., a leader
Documentation refers not only to hard copy, but in software, hardware, and systems testing.
also to electronic documentation. Help screens,
installation instructions, error messages, and
wizards are a form of documentation. This article is based on an excerpt from Rex
Black’s book, Pragmatic Software Testing,
published by Wiley

26 WhatIsTesting.com
That Have I got a deal for you?

Time
of Year

Have I got
a DEAL
for you …?
A
s this is our first issue, we are in a unique giving something up – time, money, energy, or
place—: This issue will set the ground effort, in exchange for something we value more.
rules for every issue that follows. Future If you don’t think it’s like that in the world of
issues will build on this one, so we have to lay software testing … think again.
the right foundation. I would like to start that
Having an independent test group splits
foundation with a simple assertion:
management attention and costs money, but it
also decreases risk and provides an impartial
The methods and extend of our testing are assessment of the quality of the software.
all choices; you could even say they are Using bug-tracking software costs money and
creates the risk of “information overload”, but
trade-offs.
also ensures that every incident is logged and
tracked. With a complete list
Life is all about trades. We trade of incidents, a change control
a “work week” of our lives for a board (CCB) can determine
pay check, then we trade that which defects should be fixed
pay check in for a home, for food, in the next release, by priority,
and utilities or clothing. We trade but that invariably slows down
some of our freedom for a family. bug fixes and decreases the
personal touch.
At each stage of the game, we are

28 WhatIsTesting.com
by Matthew Heusser, Socialtext, California, US

Documented test cases are to enter into the equation, and that worries me
great, right? We couldn’t a bit.
live without documented test
Okay, more than a bit. It worries me a lot. It’s
cases, could we? Well, maybe.
downright irresponsible to suggest that there is
Time spent documenting test
cases is time that could be spent testing. There
is also some evidence to suggest that following Not all trade-offs are equal;
the same test scripts again and again leads
to thinking about problems in the same way,
the trick is to carefully weigh
which could cause a miss. Many times, finding the pros and cons before
a bug (or a repeatable error condition) is like making a decision....
playing a game of twenty questions; how likely
are those scripted test cases to get the right
answer if they lack feedback?
one single way to do it – a single one-dimensional
Requirements-driven testing requires written scale for goodness. The real suggestion that the
requirements, and “locks in” the feature set at “Best Practice” crowd is that you listen to them,
the beginning of the cycle, when we have the doing things the way they suggest, instead of
least information about what the users actually thinking for yourself. The trade-off is your brain
need and how the software will support them. for their brain. Keep in mind, the guru never set
Reviews and Inspections of documented test foot in your office and doesn’t even know what
cases slow down the test process, again taking product you make.
time away from test execution. Exploratory
When pressed on this issue,
testing requires talent and practice; exploratory
most gurus admit that, of
testing in the hands of someone without
course, “best” doesn’t really
experience could just be a waste of time.
mean “best.” To them, “Best
How can your team get “better?” Mentoring, Practice” is just a short way of
Coaching, and Skill Development are all very saying “A practice that is good
hard to measure and hard to evaluate. Test enough for enough people enough of the time
Process Improvement is easier to measure, but that it’s probably worth considering.” If that
also of more questionable value. were really the case, then there are a number
of alternatives; James Bach of Satisfice recently
Not all trade-offs are equal; the trick is to
listed several on his blog, which you can find at
carefully weigh the pros and cons before making
www.satisfice.com:
a decision – to consciously realize what you are
trading away, what you are trading for, and if • “Here’s a practice I find interesting”
the switch is worth it. The question is, what
• “Here’s what I would recommend for this
do you value more? Which outcome is “better”
situation”
for your company, with your customers, selling
your product, at this point in time? • “Here’s my favorite practice for dealing with
{x}”
I’m harping on this point for a reason. Not
because it’s so blatantlyzing obvious (it is), • “Person {x} attributes Practice {Y} for his
but because so few people are talking about success. Maybe you’d like to learn about
it. Instead of talking about trade-offs, they it”
are talking about “Best Practices”, which,
Notice that all of those examples included
apparently, always solve all of your problems
conditionals, and that best practices are free of
without introducing any new problems. The
all conditionals. When someone consistently
fact that this defies common sense doesn’t seem

WhatIsTesting.com 29
Have I got a deal for you?

7) Only through judgment and skill, exercised


At each stage of the game, cooperatively throughout the entire project,
we are giving something up... are we able to do the right things at the right
times to effectively test our products
in exchange for something
- http://www.context-driven-testing.com/
we value more.
The greek philosopher Socrates is credited with
uses the phrase “best practices” and never saying that the unexamined life is not worth
seems to use any conditionals, my radar goes living. We spend thousands of hours a year
up … then I go to protect my wallet. at work. Examining our work life and striving
Some gurus admit that they don’t know your to constantly improve would seem a natural
situation. They explain when a practice might extension of that, and it is what this magazine
fit and when it might not; they talk about the is all about.
pros and cons of the practice. Some experts and Of course, the choice is yours. Each issue will
consultants admit that all new practices involve cost a little bit of your money, and a little bit
a trade-off, and they are up-front about it. more of your time. Would you like to trade?
At WhatIsTesting, we want to follow that example.
Every issue of WhatIsTesting will contain some
ideas, strategies, techniques, practices, and
perhaps some philosophy. The ideas might fit
into your workplace, they might not, or perhaps About the Author:
you can use them later, but not now.
As I mentioned at the beginning of this essay,
this issue will set the ground rules for everything
that follows, so I want to start it out right. I
consider myself a member of the context-driven
school of testing, that has the following basic
principles:
1) The value of any practice depends on its
context.
2) There are good practices in context, but there
are no best practices.
3) People, working together, are the most
important part of any project’s context. Matt Heusser is a Member of the Technical
Staff at Socialtext, where he is a lead in the QA
4) Projects unfold over time in ways that are
group.
often not predictable.
You can read Matt by email at Matt.Heusser@
5) The product is a solution. If the problem isn’t
gmail.com <mailto:Matt.Heusser@gmail.com>
solved, the product doesn’t work.
or read his blog online at xndev.blogspot.com
6) Good software testing is a challenging <http://xndev.blogspot.com>
intellectual process.

30 WhatIsTesting.com
Learn by Hans Schaefer, Cairman : Norwegian Software Testing Qualifications Board

How To
Test
What a

Tester
Should
Know, even
After Midnight

Testing The Normal Way is Not literature are widely practiced.


Enough. As test execution is generally one of the last
Systematic testing of software or systems can activities in a project, it is very often run under
be learned, just like any engineering discipline. severe budget and time pressure. This means
There are tester knowledge certification that the testers have a hidden or open motivation
schemes like the ISTQB certification, which is to compromise on the thoroughness of their
an internationally recognized, independent and job. For example, as detecting defects always
non-profit organization, and there delays both testing and the delivery
are standards (ISTQB Glossary, or acceptance of the product, there
BS 7925, IEEE 829, 1008, 1012). is a hidden pressure not to find
At least the books and most of the any defects, or at least not serious
standards have been around for a ones. Testing is just “done”. This
long time, and many techniques are job is then not very motivating,
widely accepted. This means testing investment in learning is scarce,
can actually be studied and then people try to find a different job,
executed in some systematic way. and testing does not improve over
This does not mean that the typical time.
testing methods described in the

WhatIsTesting.com 33
What a Tester Should Know, even After Midnight

Can we Do Testing in a Better problems and defects, a mindset that questions


Way? everything is likely to result in better testing.
Glenford Myers, in 1979, defined testing Part of the tester’s task is to report incidents.
differently: The aim of Testing is to find defects. This is not easy because it requires describing
He used this definition because it motivates the problem in such a way that the other side
people. Having a negative focus, trying to break accepts it as important enough to do something
the product, leads to finding more and more about it. It means not only collecting more
serious defects than just checking whether the information about the problem but also to
product “works”. think about how to “sell” the bug report to the
responsible person.
Most people do as they are told. If they are told
to find as many defects as possible, they will try There is definitely more to it. A tester should
always be on the outlook for more challenges in
field of testing. This paper is only the beginning
Test in a better way: of what you may look for.
- Clearly define the purpose of
testing. The Purpose of Testing
- Continuously try to learn There are a lot of possible goals for testing.
One main, but possibly boring, purpose is to
more. measure the quality of a product. Testing is
- A mindset that questions then considered just a usual measuring device.
Just usual measuring is not much fun, but
everything is likely to result in
a necessary job, which must be done well.
better testing. However there are questions a tester should
- Report the bug with a view to ask, in order to measure optimally. The main
question is which quality characteristics are
“sell” it to responsible person. most important to know, and how precisely the
measurement must be done.

to do so. If they are told to get the job done (and Another definition of testing is trying to create
explicitly or inherently passing the message confidence in the product. Confidence, however,
that defects delay the progress), people will try is best built by trying to destroy it (and not
not to find defects, or they will overlook many. succeeding in doing so). It is like scientific work:
Someone proposes a new theory, and all the
Thus the first problem is to clearly define the educated specialists in the area try all they can
purpose of testing, and make the purpose to show that it is wrong.
perfectly clear to the testers.
Second problem relates to change. Software
products are growing more and more complex. Defects clump together: they
The focus of the requirements is changing, are social!
for example emphasizing more security, Defects often have a common
interoperability and usability. This leads to cause!
changes in the requirements on the testing job.
Thus, a tester should continuously try to learn Try to find common causes,
more. and then follow them!
The next problem is the mindset of testers. Where you find defects, dig
As one of the purposes of testing is finding deeper!

34 WhatIsTesting.com
by Hans Schaefer, Cairman : Norwegian Software Testing Qualifications Board

After trying this for some time, unsuccessfully, input and misuse.
the new theory is slowly adopted. This view
There are three kinds of tests: The good, the bad
supports Myers’ definition of software testing:
and the ugly tests: Good means everything is
Find defects! The approach is a pessimist
fine, all inputs are right. Bad means inputs are
approach. The pessimist believes «this probably
wrong. The ugly tests is where all wrong things
does not work» and tries to show it. Every defect
happen simultaneously: Someone restarts the
found is then a success.
server while you do your reservation and at the
People function by motivation. The definition same time sets the machine date wrong, …
of testing as actively searching for bugs is
Another way to look at risk is to asses the possible
motivating, and people find more bugs this way.
damage of the failure. This may be difficult to
It works in two ways: One is by designing more
analyze but one can make a beginning by asking
destructive or just more test cases. The other
“what is the worst thing that can happen if this
one is by having a closer look at the results,
function, feature or request fails?”
analyzing details a not-so-motivated tester
would overlook. In the latter case this may Better tests forces developers to do better work,
mean to analyze results that are not directly inform management about risks, and lead to
visible at the screen, but are deep inside some lower cost of software creation. Testers bring bad
News, but that is their job. Nobody loves speed
checks on the motorway! But speed checks
A tester should try to find make our roads safer, and we all benefit.
defects!
Continuous Learning
Defects may appear at places Continuous learning is required in nearly any
where you do not see them job. But for testers it is absolutely essential.
easily, i.e. not on screen output!

Testing is risk mitigation.


files, databases, buffers or at other places in What determines risk?
the network.
What happens if some input is
Defects tend to cluster together. We should take
wrong?
a deeper look in areas where we find defects.
The trouble is that this could be a self fulfilling
prophecy. We are likely to find more defects
because of our focus in that are.
In most cases, testing is done somehow
One more definition of testing is «measuring systematically, using some black box approach.
risk». This means that testing is a kind of risk In addition, test design may follow heuristics.
mitigation, part of risk management. Testers Any black box approach may leave important
should have an idea about product risk, as well areas un-covered. Any heuristic is incomplete,
as risk management. as it is dependent on personal experience (or on
A very basic method for this is looking at the learnt experience from others. And white box
usage profile, and at possible damage. A tester testing does not uncover errors of omission. It
should ask which kind of user would do what all comes down to: If there is some aspect the
and how often. How will different users use the tester doesn’t know, it is not tested. Hence the
system? How will this vary over time? And it tester should know as much as possible. But
is very important to take into account wrong how?

WhatIsTesting.com 35
What a Tester Should Know, even After Midnight

A tester needs programming experience. There your colleagues, and go to testing conferences!
are lots of programming bugs, even after unit
testing by programmers. The tester should A Critical Mindset
have an idea of problems posed by a particular Don’t believe anything!
programming language. Most testers who have
tested software written in C or C++ know that As a tester, don’t assume anything. It
they should check for memory leaks or memory may be wrong! Designer, specifiers, and
overwriting. Those who used early versions of programmers assume a lot. It may be
MFC (Microsoft Foundation Classes) know that difficult to ask because you may look
the program would crash for any date greater stupid asking. Someone who could answer
than a particular date “We need to check may be far away or not easily available.
what that date was and with which version You wouldn’t even realize that there may be
of MFC” another interpretation. Sometimes people
you ask also don’t know, or you get some
The tester needs design experience. Much design sarcastic answers.
is about contracts and communication amongst
various modules. If the tester has no idea about Using the pessimist view, you may as well assume
architectures and their inherent problems, she that any assumption is probably wrong.
will have trouble planning integration tests. There are ways to overcome the trouble that you
The tester needs domain experience. System may seem stupid. Learn how to deal with people,
testing is about implementing the right solution, learn how to interview, learn how to be self-
doing what the domain requires. Can you test confident. Ask someone else. Read, review, sleep
a railway interlocking system? (Eh, what does over it, and try to find different interpretations.
interlocking mean, by the way...?). At least some You may need a lawyer’s mindset.
domain experience is a must to test the system If you don’t get an answer, have it on your issues
and communicate with different stakeholders.
The trouble is that this may not be enough. Don’t assume! Ask!
Testing for today’s stakeholders may definitely
If nobody else asks the right
be not enough. There are totally new ways a
question, you might do so!
system may be used or interfaced with other
systems and a tester should try to anticipate at Think about new possibilities,
least part of this! A tester should always try to unknown problems, and the
find new ways to look at the object under test, stuff you learn.
new approaches, and new viewpoints.
Think «out of the box»!
And finally: testers should try to use the newest
approaches and technology. You have to learn list. But don’t just assume anything! Don’t take
them. Read testing books, look for and learn things for granted! And especially don’t believe
tools, study journals, participate in discussion that the system is probably right
groups, special interest groups, discuss with
Defects
Learn more, about everything!
Nobody loves the messenger with bad News!
Programming, architecture, As a tester, most of what you report is bad news.
new domains, users, tools, The bad News is the bugs, or issues to call them
anything! in a neutral way. Textbooks generally handle this
area well. There is issue reporting, registration,

36 WhatIsTesting.com
by Hans Schaefer, Cairman : Norwegian Software Testing Qualifications Board

handling, removal, retesting, regression testing. The second problem is worse: Sometimes we
We know all this. But there is something extra experience failures, and we cannot recreate
to it, and that is not there in the books: them. These issues are called intermittent
bugs. They are especially difficult if they
1 - An issue is only interesting for a tester if
introduce system crashes. Upon restarting the
it is accepted as a defect and repaired.
system, any corrupted data in the memory may
2 - There are defects, which are the result of be deleted, destroying the evidence. In many
running many test cases in a row in some cases, intermittent bugs are the result of long-
very special order. term corruption of some resource or memory.
The first problem is one of salesmanship and An example is memory leaks. Some function in
discipline. As a tester, one has a sales job. the program does not return unused memory
Nobody is interested in spending any money on when finishing. But because there is a lot of
repairing defects. They will only be repaired if available memory, this can go on for a long time,
they are important enough. Thus, as a tester you until the memory is depleted. Other resources
have to report an issue in such a way that the may also be depleted. As an example, the Mars
developer understands that it must be repaired. Explorer ceased working after 18 days due to
The damage must look big, the probability of it too many files accumulated. In many real time
occurring must look big, and the issue must be embedded systems, the tasks are restarted at
easy to repeat. certain intervals, in order to cancel out possible
corruption of resources.
Thus the tester should not just write an issue
on the issues list. The tester should think: Are The trouble is that ANY shared resource can
there any other related scenarios, which would be corrupted. It comes down to checking the
make this problem worse? Are there any more not very easily visible outputs such as files,
stakeholders interested in this? Is this really memory pointers, buffers, databases, messages
the whole problem or is there more to it? It may to remote systems, registry and many other
also mean to invent and run some more test resources. It could even be the result of a race
cases. Cem Kaner has presented some excellent condition, which depends on the exact timing
material on this cause which is available at of some parallel tasks. And intermittent bugs
his website at http://www.kaner.com/pdfs/ normally require a whole sequence of test cases,
BugAdvocacy.pdf not just one input and output.
Finally, there are the human issues, about However, if intermittent bugs occur, it is a good
diplomacy, politeness etc. A tester should idea to be able to rerun the same sequence of
make sure not to hurt anyone personally when test cases, maybe even with the same timing,
reporting an issue. and do more checking than before. James Bach
has a good guide to investigating such problems
available at http://blackbox.cs.fit.edu/blog/
james/archives/000197.html.
For every issue (or bug),
One final problem: You may be wrong yourself.
research more about it!
Humans err. Testers are humans. This means
Make sure you report it as a you overlook problems; you misunderstand
risk, and as the whole risk! outputs, and some of the problems you think
you have found are actually not problems.
Defect reporting is a sales job! Be self-critical: Sometimes it is your fault.
Mistrust your memory. It is restricted. This
Be diplomatic when reporting means it is better to take notes, to log
issues!
what you did, what the system did, what

WhatIsTesting.com 37
What a Tester Should Know, even After Midnight

test will be used. If nothing can be said, the


Analyze even intermittent test should be directed at any use, testing
problems!
robustness. This means especially test cases
Log everything you do in for wrong inputs are interesting.
testing! One technique is the basis of most black box
testing: Equivalence partitioning. It helps to save
Log everything you see, and
look at more remote details!

Make it possible to rerun your A tester must be able to state


tests, with more logging and what coverage a test has
analysis tools switched on! achieved!
is installed etc. You can
trust notes more than your memory.

test effort, and it can be applied to derive other


The Late Night Tester’s Toolbox
test techniques. As a tester, you should know it,
How should a tester work? What should a tester but also be aware that it has caveats: Black box
always keep in mind when working? testing may leave out important aspects. You
One main trouble is to test “everything”. This is should also be aware that combination testing
far too much. It can never be achieved. But the is interesting. Lee Copeland (Copeland 2004)
tester should have some ideas about what is has published a good introduction.
tested and what not, or what is tested more or Another big problem is test environment that
less. That means test coverage. has not been validated. The test environment
There are three very basic concepts of coverage, should be prepared and tested early. Waiting for
and they can be applied to any notation for the test environment to work can kill any testing

Follow the usage profile if


possible!
You may be wrong – don’t trust
yourself 100%! If not possible, test for
robustness against wrong
Take notes of what you do! input.

example, a control flow diagram, a data flow effort. Also remember that the defect may not
diagram, a state transition diagram, a call be in the object under test, but in the test data
graph, system architecture or a use case. or the output analysis. Be self-critical!

• Basic coverage is executing every box. And finally, there is test automation. Running
tests using automated tools helps regression
• The next level is testing every connection. testing. But test automation is more than that:
• This should be the minimum when testing. If
there is more time, the next level is combining
things, for example pairs of connections. Equivalence partitioning is a
good basic technique!
Next, a test should follow the usage profile. This
is difficult, especially in module and subsystem Remember combination testing!
testing. But as a tester, one should at least try
to get some idea about how the object under

38 WhatIsTesting.com
by Hans Schaefer, Cairman : Norwegian Software Testing Qualifications Board

Tools may read specifications and automatically • ISEB: Information Systems Examinations
generate test cases. Tools may automatically Board of British Computer Society.
create or restore test environments. Tools may http://www.bcs.org/BCS/Products/
be used to manage the testing effort and the Qualifications/ISEB/ has run a certification
test material. Remember that automaton can scheme for software testers since 1999.
be applied to any part of the software testing
• ISTQB: www.istqb.org International Software
life cycle and not just test execution.
Testing Qualifications Board. Develops
and runs an international software tester
certification scheme.
Test the test environment – well
before test execution! • ISTQB Glossary: www.istqb.org/fileadmin/
media/glossary-current.pdf
Check you test data!
• Kaner 99: C. Kaner, J. Falk, H. Q. Nguyen,
“Testing Computer Software (3rd ed.), John
Wiley, 1999.

Selected References • Kaner bugadvoc: A presentation about how


a tester should report issues. http://www.
• Bach 2005: James Bach. A blog note about
kaner.com/pdfs/BugAdvocacy.pdf
possible causes of intermittent bugs: http://
blackbox.cs.fit.edu/blog/james/ • Myers 79: Glenford Myers: The Art of
Software Testing, John Wiley, 1979.
• Beizer 95: Boris Beizer, Black Box Testing,
John Wiley, 1995 • Schaefer 2004; Hans Schaefer, “What
Software People should have known about
• Better Software Magazine, www.
Software Testing 10 years ago - What they
bettersoftware.com. www.stickyminds.com
definitely should know today. Why they still
Very practical!
don’t know it and don’t use it”, EuroSTAR
• BS7925: British Standard: www. 2004
testingstandards.co.uk/bs_7925-1.htm
• Copeland 2004: Lee Copeland, A Practitioner’s
Guide to Software Test Design, Artech
House, 2004.
• Crispin: Lisa Crispin, Tip House, Testing Automate testing tasks!
Extreme Programming, Addison-Wesley,
2002, also http://home.att.net/~lisa. Be aware that there is more
crispin/XPTesterBOR.htm to automation than using test
robots!
• Gilb 2003: “Testers Rights: What Test should
demand from others, and why?”., Keynote
at EuroSTAR 2003
• GTB: German Testing Board: www.german-
testing-board.info The German Testing
Board developed an earlier version of the
nowadays-existing ISTQB certification.
• IEEE Standards: See www.ieee.org

WhatIsTesting.com 39
Take Control Of Your Quality

Virtusa
4 uality Assurance Services

Enterprises know well that quality can make or break customer loyalty and brand reputation. However, the growing complexity,
constantly changing market needs, and time to market pressures make software quality an elusive challenge.

Virtusa QA lifecycle services allow you to take control of your QA processes, projects, people, and priorities, while strengthening
your QA capabilities, minimizing risk and reducing cost.

QA Assessment
QA Offerings
- QA Outsourcing Evaluation
- Tools Evaluation
- Quick Wins Workshops
QA
Ass ess men t
QA Process optimization

- Process Improvement Framework


QA Pro ces s - Health Check Assessment & Scorecard
Opt imiz atio n
Testing & Test Automation
Tes tin g & - Functional
Tes t Au tom ati on Automated Testing
Manual Testing
- Performance
- Certification
QA - Internationalization
Ou tso ur cin g - Usability

QA Outsourcing

- SQA Outsourcing and Management


- Test Team Establishment/Augmentation
- ‘Quick Win’ Test Project Consultancy

Mission-Critical Software Product QA Heritage


Leverage Virtusa’s eight years of experience in Offering Various domain & State Of The Art SQA Labs
Tools Expertise
testing and certifying hundreds of commercial
Shipping, 5%
products and mission-critical solutions to rapidly Retail, 5%
Financial, 30%
Publishing, 15%
improve QA effcienceis. Reduce cost and time to
market by leveraging Virtusa’s global delivery
Health
model, world-class QA professionals, and state- care, 15% Telecom, 15%
Insurance, 15%
of-the-art labs, tools and technologies.

About Virtusa

Virtusa is a global provider of custom IT solutions and outsourcing services to Global 2000 enterprises and software vendors in
the financial services, insurance, media and communications, high technology and other industries. Our deep domain strength,
custom solutions and services, and a unique platforming methodology enable our clients to reduce costs, improve business
performance and accelerate revenue generation. We deliver these results by integrating a consultative approach with our global
delivery model.
2000 West Park Drive, Westborough, MA 01581
Phone: 508 389 7300 Fax: 508 366 9901
© 2006 Virtusa Corporation. All rights reserved. www.virtusa.com Contact: info@virtusa.com
Learn by Erik van Veenendaal, Improve Quality Services BV : The Netherlands

How To
Test

Finally
Usability
Testing?
will it finally happen?

A
new testing magazine that has chosen software code that is being developed world-
web testing as its central theme for wide is directly or indirectly related to the user-
the first issue! I assume that this also interface, we still only dedicate a minimum
means attention is provided to one of percentage of our test effort to usability
the most critical success factors for websites: testing. Yet, there are many so-called best
usability and thus usability testing. In fact practices available. Last week I was involved
usability has been identified in various surveys in a usability test that very clearly showed that
as one of the main reasons for project success thorough attention for usability throughout the
in any IT project! For a number of years I’ve development process (requirements, standards,
been lecturing on this topic at test conferences. expert reviews, usability testing) can deliver
At EuroSTAR, I have received the best tutorial great results. The users were enthusiastic
award for Discount Usability Testing and regarding the new system that supported their
our company, Improve Quality Services, tasks in an efficient, effective, and user-friendly
regularly runs courses on Usability Testing. manner. This is also possible in real-life IT-
Yet, I don’t have the impression that all this projects!
pioneering work has had much impact on the
As far as I’m concerned every (senior) tester that
testing community. During the last EuroSTAR
operates at system level should, in addition to the
conference, an usability expert from South
conventional functional test design techniques
Africa stated that “usability (testing) will only
(boundary value analysis, equivalence
start to be performed and receive the right level
partitioning, decision tables etc.), also have the
of attention, when testing for
level of knowledge and skills
functionality is under control”.
that allows them to apply a
An interesting thought, which
number of relatively easy to
as far as I’m concerned, is very
use usability test techniques.
much true. Perhaps we were
The first things that come
just not ready for it, but are
to my mind in this context
we ready now…?
are the Heuristic Evaluation
It remains strange that when technique developed by
no less than 40% of the Jacob Nielsen (www.useit.

WhatIsTesting.com 41
Finally Usability Testing? Will it finally happen?

com) and the SUMI questionnaire method (www. During a recent conference, a number of
improveqs.nl). Both techniques are relatively enthusiastic former participants of my
easy to learn, do not require more than one or usability courses told me they were now using
two days of testing effort and therefore have a the techniques mentioned above in their test
great cost/benefit ratio. Recently, the British projects with good results. Usability testing,
Computer Society (BCS) Special Interest Group will it finally happen?
in Software Testing developed a testing standard
For queries or comments you can contact Erik
in the area of usability testing that is certainly
van Veenendaal (eve@improveqs.nl)
worthwhile to get acquainted with (www.
testingstandards.co.uk). Sufficient possibilities A paper on discount usability testing can
exist, therefore, to make a good, low-cost but be downloaded from www.improveqs.nl
thorough start with usability testing; preferably
in co-operation with developers. Prevention is
always better than cure.

42 WhatIsTesting.com
Canarys Automation Pvt. Ltd, # 135, 7th Main, 4th Block Jayanagar, Bangalore – 560011
Ph: +91-80-26539915, +91-80-26642922
marketing@ecanarys.com; info@ecanarys.com

Canarys is glad to inform that we are Partners to Radview Software, providing Sales & Support
Services to customers in India. Please find a brief on the Black Box Testing Solutions offered by
Radview:

Only RadView provides software-testing tools that feature JavaScript test-agenda creation for
performance testing, load testing, and functional testing of website applications. Throughout the
web application development lifecycle, the seamless integration between RadView's performance
testing / load testing products (WebLOAD and WebRM) and functional testing product (WebFT)
provides you with the necessary tools to make certain your web application is scalable and
robust.

Award-winning WebLOAD can help companies deploy high performing e-business applications
by modeling and anticipating the real-life demands on their applications. By accurately
simulating Internet user behavior and predicting capacity requirements, WebLOAD reports
bottlenecks, constraints, and weak links within an application – before they cost you downtime,
lost sales, or more importantly, lost customers.

WebFT is the industry's first Web-centric testing solution that efficiently verifies the functional
accuracy of Web applications and ensures applications perform as expected.

Speed implementation time — use of open standards scripting language reduces the amount of
staff training required
Improve quality — resulting from higher quality Web applications
Reduce test script development costs — leverage single transferable scripts for fast, easy reuse
of test scenarios between development teams
Speed Web application deployment — streamline the testing process through the use of single
transferable scripts.

For more information please contact:

Canarys Automation Pvt. Ltd, # 135, 7th Main, 4th Block Jayanagar, Bangalore – 560011
Ph: +91-80-26539915, +91-80-26642922
Some Things I’ve Learned in Software Testing

Some Things
I’ve Learned in
Software
Testing
S
everal years ago, when I started out as that any error messages that appeared were
a software tester, my goals for learning due to mistakes I made using the software.
software testing were clear. I needed Then, a senior tester encouraged me to follow
to learn how a software company my instincts: he told me that if something
operated, learn about the software I was bothered me, I should log it as a potential
assigned to test, and learn how to test software. problem instead of letting it go by. As I tested,
After a while, I enjoyed finding and reporting I learned that when I had a nagging feeling
difficult-to-reproduce bugs; I felt pleased that that something was wrong, there usually was
we were finding and fixing issues that could a problem in the software. Sometimes it was
negatively affect customers. a usability issue, or an awkward spot in the
application that needed more investigation, but
How did I go from a nervous student to becoming
whatever the issue, it was almost always worth
a confident tester? At first, I read everything
taking the time to investigate further. Even
I could about testing, the product we were
now, it is tempting not to listen to that voice
working on, and the systems we used. When
inside that tells me something is wrong with
I couldn’t find anything to read,
the software, but every time I don’t pay
I asked coworkers to teach me
attention, I miss at least one bug that I
things. I also learned a lot through
regret later. Occasionally, my instinct is
mentoring from more senior
wrong, but more often than not, that
developers and testers.
sense of feeling uncomfortable with
In the end, I learned the most by the software helps me uncover
doing. (I still do.) When I first started important information.
out in testing, my view of what a bug looked
I also learn a lot from my
like was quite narrow. Like many users, I felt

44 WhatIsTesting.com
by Jonathan Kohl, Software Consultant, Kohl Concepts Inc : Calgary, Canada

mistakes, especially when I try something, fail I also read statements like: “Quality Assurance is
and try something else. Do you learn from your much more than software testing.” In this line of
mistakes and from trying new techniques? Who thinking, it is common to suggest that QA should
can you talk to in the organization that can help be responsible for the development process, that
you learn more about testing? quality is only as good as the process it follows.
However, in my testing experience working for
There is More Than One Way to small companies whose survival depended on
Test Software satisfying paying customers, the process took a
It didn’t take long for my experience to show back seat to the product. We strove for product
me that much of popular software testing excellence over process excellence. If a process
information is really folklore. It was interesting helped us deliver a product that met business
to read, but I soon discovered that when I tried to goals, we followed it. If a process got in the
apply popular testing wisdom (frequently called way of those business goals, we scrapped it.
“Quality Assurance”) on real projects, Everything we did needed to be aligned with
my efforts failed. One practice involved the goals of the business if we were to survive.
writing all the test cases first (pre- This key lesson shaped my thinking as
scripting test cases) based on the a software tester.
project documentation, and then My desire to learn more about software
testing using these procedural test testing grew because I learned the most
scripts later. Trying this practice and provided the best business results
caused me a lot of problems. I from actually using and testing software.
found that testers would run out of time I wanted to find more techniques
to actually test because they were so compatible with what I was learning about
busy writing about what they were software testing. So I reread the first book I’d
going to test. As things changed over the life ever read on software testing: Testing Computer
of the project, we got bogged down maintaining Software by Cem Kaner, Jack Falk and Hung
documentation. And, when we started testing, Nguyen. Again it resonated with me, and I began
these pre-scripted test cases really narrowed to read everything I could find that was written
our focus, often making us miss entire classes by Cem Kaner. Through him, I discovered
of tests. James Bach and later Brian Marick. That was
In the software start-up I was working for, it when I found my niche. These were people who
was important for each member of the team thought about testing the way I did. My own
to provide value to the goals of the business. experiences and ideas were echoed in their
A development manager then complained to work. Their writing was true to the point and
me that we spent so much time developing backed by experience, but most importantly,
and maintaining test cases that we didn’t do when I tried what they recommended, it worked.
nearly enough actual testing. Once I took that These three testing thinkers, along with Bret
to heart, the business was pleased with the Pettichord, went on to found the Context-Driven
results I provided by using exploratory testing Testing School1.
to focus on what was important to the business The Context-Driven Testing School has identified
and to the customer. Previously, I had focused different schools of thought in software testing.
on writing lots of documentation (test plans Bret Pettichord has outlined four of them in his
and test cases) before testing. At first it felt a bit Four Schools of Software Testing2 presentation:
wrong, like we weren’t following “the rules,” but
the development team and our customers were • Analytical School
happier with our results. That carried more • Factory School
weight with me.

WhatIsTesting.com 45
Some Things I’ve Learned in Software Testing

• Quality School testing thought3. Bret Pettichord identifies this


as the “Agile” school of thought. There may be
• Context-Driven School
other schools as well. What is important as a
The Analytical School draws heavily on tester is to understand there are different ways
mathematics, uses a lot of tools and techniques of thinking about and communicating testing
for code coverage and uses metrics to try to ideas, and recognize which ones you identify
measure conformance to a specification. This with. That will help you get a focus on what
school proposes that software reliability can to learn, and will help you understand where
be calculated. Some testers in this school others are coming from.
use complex mathematical models for quality
Some people find the identification of schools
prediction.
of thought in testing objectionable, and this
The Factory School generally expresses that that work by the contextualists is somewhat
testing needs to be predictable, repeatable controversial. When I first discovered it I
and software is validated from written was reminded of different schools of
requirements. This school of thought in other disciplines that I
thought is often interpreted so studied in university. For example,
that testing becomes a clerical in philosophy classes, when
task. (Note: many Agile and Lean I learned of another school of
testing ideas are variations of thought in logic, I wanted to learn as
this school of thought. This much as I could to see if it altered
shouldn’t be surprising. Many of my thinking. If I found ideas in
the ideas in this movement come a particular school of thought that
straight from manufacturing where resonated with me, I added them to my
automation, repeatable processes and own repertoire. The schools of thought in
eliminating waste are important factors.) testing idea shouldn’t be something that
bothers us as testers; instead, it can be used
The Quality School encourages conformance
as a model for learning. If I get stuck studying
to a particular process. Often, the tester’s
the same old techniques and processes, I can
job is to police the process, and make sure that
use this model to identify other schools of
everyone is following it. The belief is that if we
thought that I am less familiar with, and begin
follow the process properly, our product quality
researching them.
goals will succeed as well.
As a tester, what works for you, in a given
The Context-Driven School believes testing is a
situation? Have some techniques worked well
skilled activity, and the usefulness of a practice
on some projects, but not so well on others? Is
is dependant on the context it is used in. Not all
there a particular school of thought that you
companies developing software are the same,
haven’t studied before that might help you on
and it is irresponsible to try to standardize
what you are testing right now?
processes for all software development. Different
companies have very different needs and those
Software Testing is
needs are far too diverse to standardize to one
Multidisciplinary
true way of testing. Testers in this school use
whatever testing tools or techniques are the I once worked on an article on tester roles
most effective to help them reach their testing with my colleague Michael Kelly, who is also
goals. a software tester. It became clear to us how
many different disciplines software testers
Since Four Schools of Software Testing was draw from. Different testers described the
published, Cem Kaner has identified Test- following disciplines as influencing their work:
Driven Development as another school of

46 WhatIsTesting.com
by Jonathan Kohl, Software Consultant, Kohl Concepts Inc : Calgary, Canada

general systems thinking, history, software that influence me, and provide enormous
development, construction, law, psychology, possibilities for learning. My background in
family therapy, adult education theory, writing, music and sports, and my education also
writing and performing music, experimental influences the way I approach learning and
science, among others. Older, more established testing. What are your influences in life, and
disciplines have often already dealt the same how much do you draw on these other influences
kinds of problems we are trying to deal with when testing software? What other disciplines
in software development. Applying successful remind you of your work in software testing?
principles from other disciplines can be a
rewarding source of learning. Testers Can Learn From Other
I often explain software testing ideas by
Roles
using an intersection of ideas from different I’ve worked in roles other than software tester,
fields. Three that I think of frequently are and each of these taught me something
philosophy, business and technology. Testing, important about software testing.
like philosophy, involves asking questions. Not Working as a programmer, I learned how to
only do I question the assumptions made in the look at applications differently. Understanding
product I’m testing, in our development efforts, the application from a source code perspective
and in the process we adhere to, but I constantly helped me develop a catalogue of potential areas
challenge my own assumptions about testing. in a particular programming language that are
Studying philosophy and practicing critical more susceptible to bugs. It also provides a
thinking skills especially help me when I’m better understanding of where to find useful
generating test ideas. information for reporting a bug. For example,
Business considerations help me focus the work web applications usually have a server log
I’m doing. Am I adding value on a team? Is that may have debugging information useful
what I’m doing helping or hindering the for reporting problems. As a tester
goals of the organization? Is my testing wearing a developer hat, I was the
focusing on what is important to the recipient of bug reports, rather
goals of the company, or am I blindly than a generator. It helped me
following a process? Understanding understand how a poor bug report
how businesses work, how they can frustrate developers.
market themselves, and how they stay In a technical writing role, I learned about
functioning is important to testing. design and how design (UI or architectural)
Technology and testing are related because we can affect the quality of a product. I noticed a
use tools, and interact with designers, developers correlation between complicated designs and
and users in order to test. We rely on computer the amount of bugs found. I learned that if I
technology not only in software development, had trouble writing user documentation for a
but in most businesses situations. As testers, particular feature, it would likely be a source
we must have a certain level of skill to be able of bugs. Writing down requirements and design
to use technology. Since technology moves so ideas from the point of view of a user exposed
quickly, it is difficult to keep up and it seems complexity.
like there are infinite technological areas to Working in sales taught me about the big
explore as testers. We might specialize in testing picture, about how a software tester can serve
a particular technology, or we may depend on the business goals of an organization. A company
certain tools for our testing. does not necessarily survive because they are
Philosophy, business and technology are areas such-and-such CMM level, or follow the 12
practices of Extreme Programming, or because

WhatIsTesting.com 47
Some Things I’ve Learned in Software Testing

they use .NET or Java, or other technical or Practicing Software Testing is


procedural issues we find so important in Important
development. When I worked in sales, the harsh
We can also learn by practicing software
reality was that a company survives by fulfilling
testing skills. For example, I regularly practice
an important equation:
my testing skills, and ask my testing friends
Revenues – Expenses = Profit to help me develop my skills. One of these
friends is James Bach, who taught me how to
This equation must be greater than zero in order be more consistent with my testing approach.
for the company to survive. He found that when he gave me a number of
I learned customers cared that the product practice testing problems, my test approach
helped them solve a particular problem. They was inconsistent. James helped me develop
didn’t care what technology was used to solve my testing ideas into a consistent system when
it. They cared that the product was easy-to-use, solving different kinds of testing problems. Now
that it helped them in their work, and that it when I am faced with a testing problem, I have
was affordable. It was interesting to see that a strategy and a game-plan instead of an ad-
they would put up with application failures, hoc approach. Practicing testing with someone
but that they were not as tolerant of usability else helped identify an area of testing weakness
issues. When you deal with customers, you get for me to address and improve.
a different view of the product. Testers serve I’ve also worked with programmers and
customers, and it is in our best interests to asked for feedback on how to provide better
be sure that they are satisfied and impressed information when logging bugs. Early in my
with our product. I learned that it is much career when I was first testing web applications,
more important to be testing what is important I wasn’t investigating beyond the error I saw on
to the customer rather than trying to fulfill the screen. One of my programmer colleagues
some generally-accepted testing practice. It is taught me how to find more information in log
absolutely paramount to do software testing files. I practiced developing my web testing
from a user’s perspective. Testers need to investigation skills by:
understand the company, what its goals are,
and to figure out how testing work maps to • Finding relevant server logs on different web
those goals. application architectures

Understanding how an application works from a • Reading error messages in the server logs
technical perspective, and being able to describe
• Changing the level of logging to get more
that in a document helps me test more effectively.
information on the server
It helps me ask questions that people I work
with find useful. Working directly with potential • Saving relevant information and talking
and existing customers has helped me focus on about possible causes with administrators
their needs in my testing. Understanding the and developers
goals of the business helps me prioritize my
Because I practiced, when I next tested the web
mission in testing on a particular task.
application, gathering relevant information from
What other jobs have you had other than in server logs to use for a bug report was second
software development and testing? What have nature. It took much less time to do after I had
you learned on those jobs that you could apply practiced those skills.
to testing? Are there specific skills you developed
This is just one very simple example, but it
in other jobs that give you an advantage as a
helped my testing effectiveness. There are many
tester?
skills we can develop, and many techniques
we can practice. What specific skills you rely

48 WhatIsTesting.com
by Jonathan Kohl, Software Consultant, Kohl Concepts Inc : Calgary, Canada

on as a tester? Can you name them? Can you Learning software testing is a rewarding,
identify technical skills, investigation and career-long journey. We all learn differently,
problem-solving skills and softer skills related and I encourage you to try different ideas and
to communication, and working with others? see what works for you. Don’t be afraid to fail
when you try something new; we often learn
Conclusion more from our failures than successes. Quality
At the end of each section of this article, I have guru W. Edwards Deming said: “Drive out fear.”
posed questions for you, the reader. If you would Don’t be afraid to try something new, if you
like to learn more about software testing, I urge have an open mind, you are guaranteed to learn
you to answer these questions as best you can. something from it.
Take out a pencil and paper, and write down
your answers to the questions. Read them over,
and see if there are any new areas for study for About the Author
you to pursue in testing. You should have some
Jonathan Kohl is the founder and principal
new ideas about software testing you’d like to
software testing consultant with Kohl Concepts
learn more about. Do you want to learn more
Inc., based in Calgary, Alberta, Canada. A noted
about testing techniques? How about different
testing thinker, Jonathan is recognized as a
schools of thought or definitions on testing? Are
leader in the exploratory testing community. He
you interested in developing your technical or
is a popular author and speaker who believes
programming skills? Would you like to learn to
that testing is a challenging intellectual craft.
use a test automation tool? How about learning
Jonathan’s blog on software development and
more about the end users of your software?
testing issues is one of the most well-read testing
With software testing, there are many avenues
blogs in the industry. Jonathan is a regular
for learning, and the more you learn, the more
contributor to Better Software magazine, as an
you realize how much more there is to learn.
author and technical editor. Check out other
I constantly learn more about software testing writings at www.kohl.ca.
and I hope I have spurred your thinking on how
you can learn more about software testing too.
Even though I am no longer a beginner I still do
the following:
Notes
1
Kaner, Bach, Pettichord, Marick. The
• Read about software testing and other Seven Basic Principles of the Context-
disciplines Driven School http://www.context-driven-
• Attend and contribute to workshops and testing.com/
conferences on software testing 2
Pettichord, Bret.(2003-2007.) Four Schools
• Identify skills and techniques I am of Software Testing http://www.io.com/
using when testing, and explain them to ~wazmo/papers/four_schools.pdf
colleagues 3
Kohl, Jonathan. (2005) TDD - A Fifth
• Participate in mailing lists, forums and other School of Software Testing http://www.
communities of practice related to software kohl.ca/blog/archives/000087.html
testing
• Work with others skilled practitioners who
constantly challenge me to do better
• Practice, practice, practice

WhatIsTesting.com 49
Sierra Atlantic Testing Competency Center
Our Testing Competency
With over 12 years of experience, Sierra Atlantic is an established offshoring services company
using CMM Level 5, ISO 9001:2002, and BS7799 certified process. Using our testing competency
center SATIN (Sierra Atlantic Testing Intelligence), we create speedy, low cost and high-quality
software. This in turn is delivered through our well-defined engagement models and process
methodologies and incorporates the industry’s best practices.

State-of-the-Art Facilities
Our state-of-the-art Interoperability Lab provides compatibility / interoperability testing services
to software product companies. The scope of this service includes:
x Hardware / OS platforms
x Enterprise Applications
x Middleware platforms
x Application Servers
x Web Servers
x Databases
x Browsers

With over 250 person years of experience in software testing services, our resources have in-
depth understanding of various testing methodologies and technologies. The following graph
illustrates this:
7% 8% Only manual testing
7%
WinRunner
10% Test Director
28% QTP
LoadRunner
Silk Test
Rational Robot

23%

17%

The following instances help demonstrate our competency.

A leading Enterprise Application product vendor


Sierra Atlantic’s Interoperability Lab enabled the testing of a leading Enterprise Application
vendor’s product on platforms such as Sun Solaris, HP-UX and IBM-AIX. This testing allowed the
customer to remotely log in and execute tests using its staff without having to build its own test
environments, an expensive and time-consuming process.

A leading portal product vendor


This client of ours required its product to be tested and certified across a variety of web servers
and platforms. The product also required to be tested for compliance under Rule 508. Sierra
Atlantic’s Interoperability Lab created multiple functional and compliance test cases and an
automation strategy based on Mercury test automation tools. As a result, the client was able to
cut in-house costs, and the testing rendered its product totally compatible and fully interoperable
with other leading enterprise applications and infrastructure products.

About Sierra Atlantic


Founded in 1993, Sierra Atlantic is a leader in offshoring enterprise applications, helping our
customers optimize their investments in Oracle, PeopleSoft, SAP and Siebel. We offer complete
lifecycle application management solutions -- development, implementation, integration, upgrade
and support -- using our NShore™ methodology. We integrate these point solutions into
Application Networks® that enable seamless business processes within and outside the
enterprise.
by Mrityunjay :

QA
is More
Challenging
than

Development
I
come from a background in product product functionality and issues first hand, and
development and have been in QA for about delivering a complex product to the market. I am
a year or so, that too in a senior management very convinced that in a real world, it is easier
capacity and not necessarily an engineer. to don a developer hat than a QA hat. In this
It saddens me when I interview some good QA article, I attempt to show in a very simplistic
engineers and they seem almost apologetic way what I mean by this statement.
about the fact that they are into testing, and
Of course I say real world, because in an ideal
more so when they are into manual testing and
world, a Dev will be much more like a QA and
not automation. This probably stems from the
QA will be much more like a Dev, and they have
fact that writing code is considered as the best
joint ownership of quality of the product. The
(and smartest) aspect of software development
company I work in doesn’t claim to be the ideal
and anyone not doing that is considered less
company, but I find it much closer to it than
smart.
many other companies I have seen.
I started thinking about whether this is really
Let me start with an example. We are given
the case, that writing code is the smartest part
a functionality to implement: List all prime
of the software development lifecycle and what
numbers between two given numbers X and Y.
I came out was the reverse; that writing code
Now here is what a developer has to deal with:
is probably the easier part of the development,
it is testing and Quality Assurance (QA) which ● Find/implement an algorithm to check if a
is tougher. This is based on my discussions given number is a prime number.
with the QA engineers and leads, looking at the
● Implement a logic which cycles through

WhatIsTesting.com 51
QA is More Challenging than Development

Test Entry

Design

Test Entry F

I
Functional
Requirement
G
Test Entry
U
Design
R
Test Entry
E
Product
Requirement -

Test Entry 1

Design

Test Entry

Functional
Requirement

Test Entry

Design

Test Entry

every number between X and Y, and apply risky since some of the options are being left
the algorithm in #1 above. out and hence some issues may still remain.
● Unit test this with some combinations of X A QA engineer who is a white box tester may
and Y and make sure output makes sense. look at the code and decide there are 232
options only because the developer used a long
A QA engineer who relies on black box testing
variable. This is nowhere better than infinity.
and hasn’t looked at the implementation will
Some choices have to be exercised, probably
know that there are infinite inputs to this
based on decision points in the code. Again
implementation and so he/she will try to pick
a risky affair, as QA is likely to miss many,
some intelligent inputs which are more likely to
including non-function, parts, like dependency
produce issues (think equivalent partitioning,
on CPU and memory, impact of running on say
boundary values, etc). However, this is decidedly

52 WhatIsTesting.com
by Mrityunjay :

Japanese OS, etc. in the given time and money through various
heuristics and techniques, none of which are
Note some of the differences in the roles in a
scientifically proven to discover all the defects.
developer and QA here:
This is decidedly tougher job than development,
● A developer decides on an algorithm and since the choices and the implications of choices
unambiguously sticks to it, implements are much better known and understood when a
and delivers to QA. For a QA, life is full of developer chooses a specific algorithm and its
ambiguities and risk-taking. A week-at- implementation. Given the fact that a functional
heart QA is not a good QA. requirement is broadly defined, it is easier for a
developer to meet those requirements and verify
● A QA has to second-guess Dev to figure
they are met, than for a QA to verify developers’
out what are the likely error scenarios if
output, since they are very precisely defined
he/she wants to avoid running an infinite-
(algorithms and code) and hence so many more
input problem. This is analogous to 20-
ways of proving failure exist.
questions game, where you think of a word
and someone has to guess it by asking only To summarize my arguments above, there are
20 questions. This is tough. two basic points I have made:
● Think of the implication if a developer ● It is easier to drop a needle in a haysack (or
or a QA goofs up. If a Dev goofs up, it is bug in a product) than to find it (discover
supposed to be caught by QA, causing bugs, defect before release). The latter requires
design changes, etc, a costly affair indeed. you to be much smarter, customer-focused,
However, if a QA does so, customers hit with good problem-solving abilities.
those defects, and this is a much higher
● QA problem is an undefined problem and
cost to the company, in terms of money,
hence solving it takes very different skills
credibility and market share. Which
and lots of smartness in addition to hard
role is easier?
work.
In a complex product, locating a bug is
However, don’t get me wrong: these
like searching for a needle in the haysack;
arguments take the example of a typical
you can apply heuristics, but it still is
developer role and a typical QA role and
a hard and challenging work, scary too,
not of individuals who play them. As I have
when you know that a missed needle can
mentioned before, a good developer indeed
cause immense customer frustration,
dons the QA hat many times, verifies the
and management backlash.
algorithms he/she has produced and only
Let’s look at it from another perspective. then allows it to be given to QA. So do not
The waterfall model of product development is use these arguments against any individual;
a tree structure. A product requirement spawns I have been a developer, and I would not love
many functional requirements, each functional to hear these arguments because I thought
requirement spawns many design and algorithm I donned QA hats many times to produce
pieces, which in turn spawn many test cases good quality code. Same goes for many of my
(see fig 1). developer friends out there.
Thus, even in such a simplified scenario Now that we know doing QA takes a lot of
(where next phase only doubles the entities), a smartness and skill, what does it take to be
product requirement generates 8 test entities a great QA? Well, the trick is to think like a
for verification. No wonder then that the QA developer sometimes, and that will be the topic
has to play the game of probabilities: trying to for a forthcoming issue.
find maximum number of high impact defects

WhatIsTesting.com 53
Is scripted testing bad?

25

20

15

10

Is 0

scripted testing

bad?
W
hen I started my testing career the bugs I caught were the result of conditions
over a decade ago, my manager that occur in the real world but are impossible
gave me two directives: to think about while designing test cases. And
there were many bugs that I did not find rather
the bugs found me. With these findings my
● Raise thirty bugs every day respect for writing test cases took a beating.
● 80% of your bugs should be coming from Exploratory testing had begun getting talked
test cases that you would have written prior about when I had formed my own philosophy
to the test execution and technique of mixing test cases and ad-
hoc testing and it struck a chord immediately.
While I was able to accomplish the task of
Exploratory testing described what I was doing
raising thirty bugs every day, I have not been
all my life. Now I had a name for it.
able to achieve the second target even after
twelve years of trying really hard. To figure out However, there was another trend that I noticed
what was going wrong I analyzed the bugs, - scripted testing, which I had been doing all my
created checklists, got my test cases reviewed, life, started getting painted as a bad practice.
learnt about various test design techniques and To set the context right, let me describe what
used them. is generally meant by scripted and exploratory
testing.
Sure, I was able to improve the percentage of
bugs being found but I never could achieve a “Exploratory testing is simultaneous
figure anywhere close to 80%. This made me learning, test design, and test execution”
question the assumption that most of the bugs www.satisfice.com/articles/et-article.pdf
can be caught by pre-written test cases. Many of

54 WhatIsTesting.com
by Vipul Kocher, CEO, PureTesting, NOIDA, India

“Scripted testing means that learning and


test design happens prior to test execution.”
http://en.wikipedia.org/wiki/Software_testing Can there be scripted-
Before you read on the rest of the article, please exploratory testing
pause for a moment and answer honestly if you continuum: meaning thereby,
consider scripted testing a bad practice.
scripted and exploratory
If you are careful about the contexts you are testing can be mixed in any
likely to have answered “It depends… scripted
testing might be useful in some situations” percentage ?
and that is the truth. Unfortunately, contexts
in which scripted testing is useful do not often testing at one extreme and exploratory testing
get elaborated resulting in a message “scripted at the other extreme. Then, there is this idea of
testing is bad.” scripted-exploratory testing continuum which
means that scripted and exploratory testing
Today scripted testing is taking a beating from can be mixed in any percentage
exploratory testing and to take a stance against
it is seen as a sign of enlightenment. The stance Unfortunately there exists no definition for
may vary from “scripted testing is bad” to this type of testing. But isn’t this nameless,
“amount of scripted testing to be done depends definition-less continuum what most testers,
on context” but in all cases the underlying at least the good ones, have been using?
message that gets conveyed is “scripted testing The process being ‘create scripted tests, use
is bad.” It is unfortunate that there are very few exploratory methods to create more tests, run
advocates of scripted testing who are actively them, learn from them, create more tests and
writing in favor of scripted testing or explaining run purely exploratory tests...’
the contexts in which scripted testing is good. To me it would be more natural if somebody
provided a definition for this mix of “scripted”
Is scripted testing really bad? and “exploratory” testing. Let me call this
Before we can answer the question “is type of testing as Natural testing. With this
scripted testing bad” we first need to agree definition, I can call myself a “natural tester”
on the definitions of scripted testing and also and not necessarily a “scripted” or “exploratory”
understand the contexts in which scripted tester because in real life I am neither. This is
testing is good or bad. the position most of the testers I interact with,
take. They are neither pure exploratory nor pure
Scripted and Exploratory scripted testers. We start our testing whenever
Testing: definition is important our organizational goals permit us to which can
be at the requirements stage or late in the cycle
Without going into definitions of scripted and
when development is about to be completed. We
exploratory testing the only questions I would
write test cases which help us understand the
like to ask are:
system and in the process of writing test cases
● Who has created the definitions of scripted we uncover bugs, raise uncomfortable questions
testing? and help improve the product. When we execute
tests, we use our pre-written tests, come up
● Who has defined exploratory testing?
with more test and scenarios to explore the
If the definition of scripted testing comes from product; we document some of these discovered
the exploratory camp or vice-versa, the definition tests and discard the rest. We mix testing using
would naturally portray one as more negative test cases (scripted testing) with guided ad-hoc
than the other. The definitions put scripted (exploratory) testing. This is “natural testing” to

WhatIsTesting.com 55
Is scripted testing bad?

pre-designed test cases.

In exploratory testing test There are numerous advantages of “scripted”


testing over “exploratory” testing, some of them
design, execution and being:
learning happen at the same • The act of writing test cases promotes logical
time whereas scripted testing and more complete thinking.
uses pre-designed test cases. • Written test cases can be reviewed. This is
not a small advantage. The review is likely to
us and we fall in neither the exploratory nor the result in better test cases and consequently
scripted camp. better testing.

Painting scripted testing as a • When test cases are written along with
bad practice the requirements being written, many
requirement bugs can be found and removed
Some of the arguments against scripted testing
even before any code is written.
include:
• Test cases can be shared with developers
● Scripted testing does not promote thinking
resulting in removal of bugs even before
about the problem in different ways. Scripted
they can be “created”.
test cases mechanize the act of testing,
taking intelligence away from testing. • Written test cases can be used as an aid for
training new testers.
Statements like above make people believe
that scripted testing promotes stilted • Even if requirements change, the impact of
thinking. If you define scripted testing requirement change as related to testing can
as “following the pre-written test cases be addressed in a better way with written
VERBATIM” then the statement would make test cases.
sense. If this is how scripted testing was
In my experience of testing, many complex
to be defined, I would not like to be found
products including some which are used by
siding with scripted testing. Of course, there
millions of users, review of written test cases
is no need to define scripted testing in this
has resulted in better understanding of testing
manner because that is not how most testers
and consequently better execution of testing by
test. Unless there is a client demand, most
all testers involved in the review and not only
testers do not follow the same test script
the person who reviewed the test cases.
again and again. They use test script only
as a guide and not the gospel that has to be Of course, there are situations where one
followed verbatim. Testers vary their data, does not have the time to write test cases. But
their actions, and the sequence of actions. enough people write about these contexts. My
purpose to write this article was to defend what
● Scripted testing wastes time. Time is wasted
most people today would not defend. I do not
in writing test cases whereas it could be
favor exploratory testing over scripted testing or
spent testing. Also requirements change
vice-versa. I favor using whichever style gives
often, resulting in time wastage when test
the most benefit in a given situation, rather
cases have to be reworked.
than clinging to one end or the other of the
The difference between scripted and exploratory continuum.
testing is said to be that in exploratory testing
test design, execution and learning happen at
the same time whereas scripted testing uses

56 WhatIsTesting.com
Putting the “Test” back in Test Plan

Putting the
“Test”
back in
Test Plan

U
ntil fairly recently, many people who What to do when Confusion sets
called themselves Software Testers in
came by their jobs by accident rather
I suddenly found myself in the uncomfortable
than by design. This placed many
position of not really knowing something that
of us in the difficult position of having to learn
I thought I already understood. What do I do
how to do our job while we were trying to do that
now? Where do I start?
job. One of my biggest challenges was trying to
figure out what goes into a Test Plan. I began by asking people I worked with. I
networked a bit and asked other testers for
In the first company that I worked for, the answer
advice, but most of the time no one would say
was straightforward enough. A Test Plan was
much because they thought it was confidential
simply a commonly-grouped set of test cases
to share information like that. I even went to
that was executed by a Tester. For example,
a day-long workshop on “Managing Systems
there was a Print Test Plan, a GUI Test Plan, a
Testing Projects”. While I found the workshop
Math Test Plan, and so on. No problem.
to be very insightful, I didn’t believe everything
Doubt in that definition began to creep into the instructor had said because a lot of it went
my mind when I started to network with other against what I had learned so far on my own.
Testers in town and found out that Test Plans For example, a Test Plan was not supposed to
meant different things to different people. When have any test cases in it. This just increased
I got my first Team Lead role in the next company my doubt and anxiety.
I worked for, I discovered that the Test Plan
Back at my desk, faced with an empty Microsoft
I was being asked to produce was something
Word document in front of me, I searched the
completely different. It was supposed to be a
Internet for Test Plan templates and examples.
planning document of some kind.
I needed more opinions and references than

58 WhatIsTesting.com
by Paul Carvalho

I became quite proficient at creating these


Test Plan documents and customising them
Acknowledging that prior for the needs for each project. I even became
familiar with some industry standards for Test
experience and knowledge Documentation1.
based upon someone else’s Then I started to notice an interesting pattern
incomplete knowledge is the emerge with the more projects I worked on. For
biggest hurdle one thing, no one from any other department
ever read any of these documents, even when
they asked me to produce one. For another
just my word against my workshop notes. It thing, no matter how I modified this document,
was at that time that I stumbled upon a few I never really found it useful in the day-to-
mailing lists focussed on Software Testing and day management of the test projects I worked
Quality Assurance. People on those lists were on. Finally, creating and maintaining the
very friendly and helpful and in no time I had test documentation always seemed to take a
several examples to help me develop my first significant amount of time and effort away from
test plans. the actual testing activity itself.
The biggest hurdle I had to overcome was Naturally I tried to find ways to improve the
acknowledging that my prior experience and efficiency of creating and maintaining these
knowledge were based upon someone else’s documents, but after a while I just started to
incomplete knowledge. Until that moment, I question the usefulness of the document entirely.
thought that I knew what a test plan was. Then One day I realised that I had fallen into the trap
how was it that the definition changed when I of forgetting to question why I even had to create
changed companies? I had to unlearn the ways one. This time when I asked the question the
of the Dark Side. response disturbed me: “Because it is expected
that you create this documentation.”
Test Plan 1.0 Wait a minute! Hold the phone! Who expects me
Many of the examples and templates that I had to create this documentation? Why do I have to
were very similar to each other with some minor create this documentation? Where’s the value
variations between them. In general, I found in that? I’m the one doing the job here and I’m
that a Test Plan contained elements like the seeing that I’m wasting my time creating and
following: maintaining documents and procedures that
● Overview and Objectives don’t actually help me do my job any better.
Where’s the sense in that?
● Testing Scope and Strategy (Features To
Be Tested, Not Tested, etc.) A Brief Glimpse into
● Approach, Entry and Exit Criteria, etc. Project Management
By sheer coincidence, it was at
● Responsibilities and Staff
that moment that I attended a
● Schedule and Deliverables (Test Reports, Project Management workshop. I
etc.) had requested it because I was
struggling to manage several
● Resource Requirements (Test different test groups and projects
Environment, Tools, etc.) simultaneously. An interesting
● Risks and Contingencies thing happened after attending
that workshop: I realised that I

WhatIsTesting.com 59
Putting the “Test” back in Test Plan

Development is no different

Nature abhors a vacuum, When you stop creating Test Plans, you run
into all kinds of resistance, especially from
and Software Development is Management. There are some good reasons
no different to create extra documentation and there are
many bad reasons. To be clear, “Because it’s
never wanted to create a Test Plan again. expected” is not a good reason.
During the course I learned about the Project One valid reason for producing some
Management Institute2, we covered the Project documentation is to help you learn from what
Management Body of Knowledge (PMBOK), you did on a test project. Being faced with
and worked through several examples in all of the missed bugs now being reported by
order to understand how to apply the correct Customers through the Support department
knowledge, tools and techniques in order to after a product ships is a harsh wake-up call. If
successfully manage a project to completion. I you don’t have a record of the who, what, where,
highly recommend such a course for any Test when, how, or why you did or didn’t test certain
Manager. One of the most significant aspects things, it is more difficult for you to learn how
of the course for me was learning about the to improve and reduce the number of escaped
elements of a Project Work Plan: bugs in the next project.
● The Project Team It is important to note that a Project Plan doesn’t
● Project Charter completely replace a Test Plan though. While
the project plan may outline all the players,
● Scope Management Plan the general work breakdown structure and so
● Risk Management Plan on, there is at least one thing not captured to
any useful detail by a Project Manager. One
● Communications/Reportin of the single most important things that a Test
Plan Team needs to own on any project is the Test
● Work Breakdown Structure Strategy.

● Master Budget It took me a few years to become reasonably good


at developing and implementing an effective Test
● Task Responsibility Strategy. I think it is a key skill for any Tester or
Test Manager. My learning path involved “going
● Critical Path Schedule
back to square one” so that I could really know
Wow. That was it! I finally understood what it what I needed to be effective. Nowadays there
was that a Test Plan must have originally tried are some good references and workshops that
to accomplish. At some time, before Project can help jumpstart you to reasonable success.
Management became a formally recognised
role in a Software Development organisation, Test Plan 2.0 – A Fresh Start
it must have been commonplace for each of In the end, it comes down to this: you will never
the teams to be required to produce their own be able to test everything; you will never find
little mini project work plans. Since that need all the bugs; and you will never have as much
doesn’t exist anymore, it was time to get with time, people, or resources as you really want.
the program and stop wasting my time creating Starting with that in mind, your Test Strategy
test documentation that clearly no one needed needs to help you work with what you have,
anymore. in the time you have, to do the best job you
Nature abhors a vacuum, and Software possibly can.

60 WhatIsTesting.com
by Paul Carvalho

our strategy as the risks and priorities change


throughout the development phase. This is
Why do certain test practices Agile Development. Things change and we need
or approaches seem to be to adapt our testing strategy along with the new
information as it arises, whenever it arises.
successful sometimes but not
The next time you are asked to provide a “Test
always? Plan”, remember to focus more on the “Test” than
the “Plan”. If you find you are putting too much
For me, the best way to accomplish this kind
effort on the latter, you should take a serious
of “plan” was to use a Risk-Based Testing
look at the value that the documentation effort
approach3. A few authors in particular had
is providing your organisation. Time is money,
the most influence on me during my on-the-
and the last time I checked, I’m getting paid to
job education: James Bach4, Cem Kaner5, and
test.
Ross Collard. It was at that time that I also
came to learn about the Context-Driven School
References
of Software Testing.6
1. An example of an Industry Standard for
Context-Driven Testing was an interesting Test Documentation is IEEE Standard 829
paradigm shift that helped me to understand the - see http://standards.ieee.org/
last piece of the test management puzzle: why
do certain test practices or approaches seem 2. To learn more about the Project Management
to be successful sometimes but not always? Institute, you can find them on the web at
Because that’s the way it is. Success depends http://www.pmi.org/
on a great number of factors that change with 3. For an excellent article to get you started
almost every project. To be a successful Test on Risk-Based Testing, read James Bach’s
Manager requires that you are a keen observer article “Heuristic Risk-Based Testing”,
of these influencing factors and can adapt your available on his web site at http://www.
team’s dynamics and approaches to suit the satisfice.com/articles/hrbt.pdf
needs of your current situation. Darwin had it
right when he said that things in nature adapt 4. James Bach: to find out more about his
or die. We should too. work and for excellent resources on Test
Methodology, explore his web site at
Armed with this new knowledge, I am now http://www.satisfice.com/
quite comfortable developing Test Strategies
tailored to suit the needs of each project that 5. Cem Kaner: author, professor, and
I work on. I take no offence when I am asked advocate of great software testing practices,
to produce a “Test Plan”. Instead of providing he maintains several useful web sites.
a document that someone else thinks I need, I His personal site is http://www.kaner.
create something that I find useful – a usable, com/ but most of his work and Testing
working Test Strategy. Instead of worrying educational materials can be found for free
about templates, cover pages, and document at http://www.testingeducation.org/
control systems, I worry about Quality Criteria, 6. To find out more about Context-Driven
Technical Risks, and Test Techniques. School of Software Testing, check out
A typical Test Strategy document of mine is http://www.context-driven-testing.com/
about one or two pages in length, and I don’t or pick up the book “Lessons Learned
worry about formatting or templates anymore. in Software Testing, A Context-Driven
It sits on a network drive that is accessible to Approach” by Kaner, Bach and Pettichord.
the whole development team, and we update

WhatIsTesting.com 61
Accelrys has over twenty years of innovation and technology leadership in

delivering solutions that transform discovery and development research.

The company provides market-leading modeling, simulation and informatics

software, data pipelining and platform technology, and solutions consulting

and support services. A unique combination of expertise in both life and

materials science lets Accelrys serve a diverse range of clients, including some of

San Diego, CA USA the world’s leading pharmaceutical, biotechnology, chemical, nanotechnology,

government and academic research organizations.


Cambridge, UK
Accelrys is a global company. Our office in Bangalore, India undertakes
Bangalore, India
engineering and quality control tasks.
Burlington, MA USA

Tokyo, Japan For more information, visit our website:

Paris, France
EXPRESS YOURSELF
“WhatIsTesting” magazine is written for software and application development mangers, project
managers, team leaders and Test & QA managers. The magazine is not written for the entry
level tester running test scripts all day, but rather has a larger more strategic view of the entire
application life cycle.
The reader is a decision maker within an IT department. Articles in the magazine should provide
useful information to help him/her understand trends and emerging technologies, come to grip
with new and timeless challenges, adopt best practices and ultimately make better decisions to
improve software quality.

Presentation
Articles should be in the range of 1500 to 4000 words, and be written for practitioners in the field;
with a style that is down to earth, practical, interesting and original. Avoid jargon, speculative
theory and abstract concepts; instead, focus on practical information that can help our readers
today or in the near term.
The purpose of an article is to transfer useful knowledge to the magazine’s readers, rather than to
promote the author’s accomplishments or the products, services and technologies offered by the
author’s employer.
Don’t start the article with long fancy anecdote, a “first-the-earth-cooled” historical timeline or
an academic-style abstract that says, “This article will do such and such”. Just get right into the
subject matter. Also, don’t include footnotes or references. Refer to other sources, such as book,
magazine articles or Web sites, within the main body of the article. Be sure to define terms and
acronyms that may not be familiar to the reader; incase of doubt, define.
Include, annotated source code, only when it helps explain the concepts in the article. Also, add
copious figure, tables, listings, screen captures and other graphics to make the article easier to
understand. Please avoid bulleted points within our prose; it is hard to read such lists. If you feel
that a list can best be expressed using bullets, consider pulling it into a separate tale or textbox.
Do not assume that the reader has specialized experience or knowledge about particular
methodologies, platforms or tools. If the article is written about a specific methodology, platform or
tool, present that dependency in the initial proposal. In the manuscript, include a short introduction
or overview of prerequisite background concepts, if appropriate.

Article Reviews
All proposals and manuscript submissions should be sent to the magazine by the article’s author.
If there are multiple authors, one author will be designated as the lead author. The editors may
send article, proposals and finalized manuscripts for peer review. In some cases, the editors might
ask perform a peer technical review of the manuscript.
Once the necessary review has been completed’ the article will be sent back to the article’s author
for final approval.
Welcome to TEST 2008 agility is synonymous with the testing team’s
resourcefulness and ability to respond quickly
Test2008 is the first conference being organized to changing contexts. Organizations need
by PureConferences in India. Our conference to catch the ‘window of opportunity’ when
will provide a platform for international releasing a product to remain profitable. At the
and national test professionals to interact same time, we, as customers only want to use
and participate. Speakers from around 10 ‘quality’ products.
countries, such as USA, UK, France, Sweden,
Canada, Italy, Netherlands, including India will We are hoping to have intense discussions
deliverkeynotes, tutorials, and papers during around the theme to make it a learning
the conference. We intend to involve academia experience for all participants. The theme is
and institutions of learning with our conference. broad enough and will cover diverse topics.
We also intend to make Test2008 a ‘green’ Keynotes, Tutorials, and Paper presentations
conference as far as possible. Additionally, we by renowned speakers known internationally
will institute two test scholarships for educating and in our country will be the highlight of the
promising students unable to finance their conference.
studies. Please mark theTest2008 conference program in
Animated discussions among testers frequently your calendar. Our conference will offer partners
threw up the requirement of agility in testing theopportunities to associate themselves with
and the challenges associated with it. Creating this endeavor and showcase their products and
a balance between conflicting and changing participate in the conference.
demands of quality by customers and timely If you want to present a paper or tutorial, please
releases by organizations is a real challenge. fill in theSpeaker Submission Form. To attend
Agility in Testing is the theme of Test2008--Test the conference, please Register.
Excellence through Speed and Technology.
Agility represents nimbleness, resourcefulness, We welcome all delegates to our conference.
and adaptability. In the world of testing,

S-ar putea să vă placă și