What is a test condition ?

Answer Posted / david

A test condition is a categorized input and a required
output. Conditions are written during a planning period,
before executing a test, and they should act a little like
a checklist of variations that you want to test before we
can confidently say that the code appears to be working.
A single requirement can translate into multiple
conditions, and [depending on the writing style] multiple
requirements may be grouped into a single condition. Also,
types or categories of data often enter into a condition,
but the condition itself is data independent.

In the common User Login example, a high level requirement
would state that a user is able to log into a system (we
will call this requirement 1). A sub requirement of that
might state that the username is not case sensitive (call
this requirement 1.1). Below is an example of some test
conditions that may have been written for these
requirements; conditions A-D:

A) 1 – When a valid username is entered with the correct
password, a user is logged into the system.
B) 1 – When a valid username is entered with the wrong
password, an error message displays.
C) 1 – When an invalid username is entered with a password,
an error message displays.
D) 1, 1.1 – When a valid username is entered in all caps
with the correct password, a user is logged into the system.
E) 1, 1.1 – When a valid username is entered in all
lowercase with the correct password, a user is logged into
the system.

These conditions can be refined into fewer conditions.
Since conditions C and D require a valid username/password
combination, condition A is not necessary. However, if we
tested a valid username in all caps (condition D)with the
wrong password (condition B), then in properly executing
code we should see an error message and the user is not
logged in. Had we tried to combine conditions B and D, we
would have both a fail and a pass for the condition.
Or, if the code that checks a username and password
combination was not implemented properly and the username
was also coded to be case sensitive, then it may be unclear
which condition actually failed (assuming there is one
generic error message for both an invalid username and an
invalid password). A condition should have a single cause
for any failure.

The value of writing out each variation that can be tested
is lessened with more simple processes like the user login
example. The time it takes to document each variation that
we plan to test may take twice as long as the test itself.
However, when we need to test a more complicated system,
like a banking application that manages interest, deposits,
withdrawls, etc for a large number of clients, test
conditions are necessary for the simple reason that we
might forget to test it if we don't write it down!

Is This Answer Correct ?    22 Yes 2 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

write 5 critical test cases on product payment form on flipkart.com?

1716


Explain user acceptance testing.

880


Hello can anybody list out supported and unsupported browsers for Window OS,Android OS,MAC OS Ubuntu

1334


Discuss what test metrics you feel are important to publish an organization?

4500


Write notes on apparel testing equipments.

949


How do you estimate white box testing?

868


About Hierarchy level in your company.

1795


What is un-installation testing?

842


Encapsulation of attributes and operations inside objects makes it easy to obtain object state information during testing. is it true.explain

1849


Hi, this is not a tech question, i have 4 yrs of experience in Mainframe systems, presently as a mainframe tester in pune, i just want to step towards south locatios(preferable hyd), suggest me the best way to get calls from hyd.

1864


write test case for linked in sign up page ?

2086


How will you do beta testing?

817


Can anyone tell me about banking project? abt the transactions? the flow?

1708


How to find bug in photos and videos ??

1976


what is sanity test (or) build test?

845