2. Introduction
Test case is a set of conditions or variables that is used to determine if an
app or an app feature works correctly as expected. The simpler & concise the
test case is, the easier it is to execute the tests. They contain a unique name,
preconditions, steps, input conditions & expected results for a particular app
function. The following are the key information to be included while creating
test cases:
3. Essential Fields To Be Included In Test Cases
1) Test Case Number
It is a unique number to identify the Test Case from among the number of
Test cases. For example: TC_2001
2) Component
Component is the Area of the App/Website to be tested. For example,
‘Login”. Components to be tested should be shared before the test case
writing starts.
4. 3) Attributes
These are those aspects that describes the product’s purpose and goals.
Just like adjectives that describe nouns by giving some information, an
attribute describes qualities of an app like speed. Attributes are also
shared before the test case writing process.
4) Test Case Type
This depicts the type of Test Case like Functional, GUI, Technical etc.
5) Priority
It confirms the Priority/Importance of the test case in terms of Show
Stopper, High, Medium, Low.
5. 6) Test Name
This is a logical and unique name to indicate what the test case stands for. As
far as possible name test cases as per the module name or functional area you
are testing. At 99tests, we choose to write the test case name in Camel Casing
format. The format would be <Component>_<Subcomponent>_<Details>
Here are some examples of test names:
● Login_Email_Valid
● AccountSettings_EditProfile_Devices
● MyMessages_NoNewMessage
Note that the Test Name should be unique, and in no condition it should be
duplicate of any other test case.
6. 7) Test Description
This is contains details of the test. It is normally a one-liner that specifies the
verification to be done in the test case. For instance, in the above example of
test case name, “ “MyMessages_NoNewMessage”, the description would be “To
Verify the functionality of the Messages when there is no new message
available”.
7. 8) Input Data
Test Data is mentioned in Input Data field. Here are a few pointers for
handling input data:
● If the test data can be reused over time, mention test data to be
used. For the test. e.g. – If the client has already proved the
credentials to login, the same can be used again.
● If the test only involves some values to be verified, specify the
value range or describe what values are to be tested for which
field.
● A few values from each equivalence class which should give good
coverage for your test.
● Mention the type of data, which is required to run the test and not
the real test data value where the test data keeps changing
8. 9) Pre-conditions
This explains any Assumptions/Pre-conditions to be used for testing. It
should be mentioned point wise. For Example for the Test Name
Messages_NoNewMessage , the preconditions can be as follows:
● 99tests Website is available
● User should be logged in and registered as Tester
9. 10) Step Number
This indicates the Number for the step description like 1,2,3 etc. Should
always be in order.
11) Step Description
This specifies the actions to be performed. Please make sure the
description is brief and can be executed after one reading. Also, note that
it should not be too small like – “Click Submit”, “Enter data in field 1”
For example:
● Click on Message Button and check the results.
● Enter the data in the Textbox and Save
10. 12) Expected Result
This specifies what is the actual expected out of the step that is executed.
Let’s take the example of the 99tests testers page:
● Message Button should be clickable by Tester
● Data Entered Should be Saved by System
● Following Contents should be displayed by My Bugs Page:
✓ Header part
✓ ‘Search Testers’ field
✓ ‘My Bugs’ Title
✓ ‘Enterprise Bug’, ‘Open Bug’, ‘Contest Bugs’ link
✓ Paginations Links (optional)
✓ Bugs Details column
11. 13) Actual Result
This specifies what actually happens after performing the step. For
Example with reference to the 99tests testers page: Message Button is
clickable by tester, Data Entered is not saved and an Error Message is
populated by System
Following Contents are being displayed by My Bugs Page
✓ Header part ✓ ‘Search Testers’ field
✓ ‘My Bugs’ Title ✓ ‘Enterprise Bug’, ‘Open Bug’, ‘Contest Bugs’
link
✓ Bugs Details column ✓ Paginations Links (optional)
However, actual result is not to be written while writing the test cases.
Actual results will be written by the testers who are executing the test
cases.
12. Test Coverage
This is done while keeping the End User in mind and using the experience
of various testers in variety of domains. It is also ensured to cover the
following points while writing test cases:
1. Functional Testing
2. Boundary Value Analysis and Equivalence partitioning
3. Error/Warning Message
4. Input/ Output Data
5. Negative Scenarios
6. Risk Coverage
With effective test case writing, companies can standardise the testing
process & validate the testing coverage of the application. If you have any
more tips for drafting test cases, do share them in comments below.
13. About 99tests
99tests is an online crowd testing platform that helps enterprises meet their
App quality goals. Our crowd testing platform provides economical, and
effective crowd-sourced testing solutions that enable individuals and
businesses to pursue excellence in software technology.
Learn more about the App testing services provided by 99tests. Visit
www.99tests.com . For more information, contact: contact@99tests.com