Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

I have a screen with a "I agree" check box and the "Next" button. I tested it in the following way:

  1. Do not select a check box.
  2. Click "Next".
  3. Expect an alert message is shown.

Is this functional test or invalid input test?

Can you please give me basic functional and invalid input cases for the above scenario?

share|improve this question
    
What is the difference between functional test case and validation test case? And why does it matter? –  dzieciou Mar 6 at 7:09
    
lots of difference ... validation testcase refer to validate data which we insert from front end. suppose you enter abc in mobile no. filed. These comes in validataion –  user3097 Mar 6 at 7:13
2  
I guess you meant invalid input test. Why does it matter for you to differentiate between those two types of tests? Would be a difference if the following scenario was a functional test and not an invalid input test? –  dzieciou Mar 6 at 7:41
1  
The distinction between "functional test" and "invalid input test" seems a bit odd in this case. Both cases seem to be functional test cases. –  prockel Mar 6 at 8:07
1  
"Is this functional test or invalid input test?" It is both. –  Joe Strazzere Mar 6 at 14:44
add comment

2 Answers 2

To answer the main question, your test is a functional test which uses an expected invalid input condition.

Some of my classifications of functional test types are:

  • Functional test - any test of the application's functionality. This can include valid input, invalid input, navigation through the application, and pretty much anything else that involves the application doing things.
  • Valid input - subset of functional tests using valid input data
  • Invalid input - subset of functional tests using invalid input data. Invalid input data can be expected (such as the user fails to enter data in a required field) or unexpected (if something can be done, a user will do it)
  • Valid conditions - subset of functional tests where the conditions the application is running under are in the expected range of conditions (e.g. if the application requires a database, the database is available).
  • Invalid conditions - subset of functional tests where the application is running under anomalous conditions (e.g. database is not available, network connectivity is lost, and so forth)
  • Monkey tests - subset of functional tests where the application is given random/semi-random input more or less equivalent to a small child or a monkey playing with the keyboard.

This isn't an exhaustive list, nor are any the subsets mutually exclusive. Valid input in one circumstance can be invalid input in a different one (this doesn't apply to your scenario, but it does happen when there are complex business rules in an application).

Since testing time is usually limited, functional tests will typically cover these areas in roughly this order:

  • Valid inputs in valid conditions
  • Expected invalid inputs in valid conditions
  • Time and resources permitting, valid inputs in invalid conditions
  • Time and resources permitting, expected invalid inputs in invalid conditions
  • Anything else the tester has time for and can think of
share|improve this answer
add comment

Can you please give me basic functional and invalid input cases for the above scenario?

Functional testing for your scenario would cover cases including but not limited to:

  1. Test whether the UI of the screen containing a checkbox and a button are displayed properly (as in color matches the requirement document, the positioning of those form controls matches the requirement document, the size of the button and should it show a different color when hovered, etc)
  2. Testing that the button click triggers an action based on the input (here it would be the tick and untick of checkbox)

The input data test cases I can think of are only two:

  1. Button behavior upon clicking with checkBox set to FALSE
  2. Button behavior upon clicking with checkBox set to TRUE

In general, I'd say that the functionality testing is the super set where as the input data testing is a subset of it.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.