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

What are the benefits of requirement traceability?

664


What is Catapult Testing in E-Learning Domain?

4665


Can anybody give me some tips on how to face telephonic interview and Write some expected telephonic questions as a 2+yr exp. in testing. Try to give Ques. that u already hv faced in telephone. Plz Help me out friends.

1604


How do you scope out the size of the testing effort?

1914


what is the testing approach for windows Explorer(Not IE Explorer)

2249






Anyone attended the manual testing interview with L&T infotech in recent past. please let me know the type of questions they can ask especially in PM round. Thanks

10385


can u write some high level scenarios on ms outlook express

2287


What are the basic forms of variations?

1690


can we do database testing in manual testing? then how we write the test case?

5939


what is diffrence between dynamic black box testing and dynamic white box testing

1564


How to test whether the application is having memory leakage using task manager and PerfMon. Please tell if any one know. thanku

1538


How to explain a banking project in interview ? like project discription is Client Online Banking Application provides access to information relating to Banking Online Services provided by Axis to View daily customer transactions, Current and Previous customer statements, Transfer funds from Chequing and Savings accounts ................ From interview point of view can any one explain this project in laymans language

10004


Is quality control similar to quality assurance?

639


Tell me about Agile scrum and what is your role in Scrum ?

1359


Beyond the customary advantages of having a testing group, what are the benefits does a company receive from a well run, automated testing group?

3002