Writing Test Cases from SRS Document (Download Live Project Sample Test Cases) – Software Testing QA Training Day 4

Just to rehash what we have been doing so far – we are working our way through the Software Testing Training mini-course on a live project OrangeHRM.

In this free online QA training series so far, we are done with:

Now, we have reached the part that is the real deal, the test cases.

As indicated in the article before this: Test cases are documented by the QA team while the Code phase of the SDLC is going on. In other words, while the Dev team builds the software system, the testing team gets ready with the test cases that would help us test the system once it is ready, i.e. at the end of the code phase.

So, in today’s article, we will work on understanding what test cases are, how to create them and write a few sample test cases for our live project.

Let us get to it right away.

Basics Of Writing Test Cases

#1) If Test Scenarios were all about, “What we are going to test” on the AUT – the test cases are all about “How we are going to test a requirement”.

For Example, if the test scenario is “Validate the Admin login functionality” – This would yield in 3 test cases (or conditions) – Login (successful), Login-unsuccessful when the incorrect username is entered, Login-unsuccessful when the incorrect password is entered. Each test case would, in turn, have steps to address how we can check a particular test condition is satisfied or not.

#2) The input to create a test case document is FRD, Test scenarios created in the earlier step and any other reference documents if present.

#3) The test case documentation is an important deliverable by the QA team and is shared with BA, PM and other teams when done for their feedback.

#4) Work is divided among the team members and each member is going to be responsible for creating test cases for a certain module or a part of a certain module.

#5) Just like with the test scenarios, before we begin Test case documentation, a common template has to be agreed upon. Practically anything can be used to create test cases. The 2 most often used choices are MS Excel and MS word.

#6) The MS word template looks something like this:

#7) The Excel template could look like the following:

#8) From the above two templates, it can be observed that the fields (or the components) that make up for a test case are the same, the only difference is the way in which they are organized.

So, as long as there is a field for each of the types of information to be included in a test, the format of the template does not matter. However, my personal favorite happens to be the excel sheet, because it is easy to expand, collapse, sort, etc. But again, choose any format that works best for you.

Fields In Test Cases

Let us take a moment, to observe the fields that are part of a test case.

Test case Id and Test case description are the generic ones.

The other fields can be explained as follows:

Precondition: State of the AUT (the state in which the AUT needs to be for us to get started).

State of the AUT (the state in which the AUT needs to be for us to get started). Input: Data entry steps. For these steps, it is important to note what kind of input info is required – Test data.

Data entry steps. For these steps, it is important to note what kind of input info is required – Test data. Validation point/trigger/action : What is causing the validation to happen? (Click of a button or toggle or the link access. Make sure there is at least one validation point to a test case- otherwise it is all going to be data entry with nothing to look for. Also to ensure that we have enough modularity, try not to combine too many validation points into one test case. 1 per test case is optimum.)

: What is causing the validation to happen? (Click of a button or toggle or the link access. Make sure there is at least one validation point to a test case- otherwise it is all going to be data entry with nothing to look for. Also to ensure that we have enough modularity, try not to combine too many validation points into one test case. 1 per test case is optimum.) Output: Expected result.

Expected result. Postcondition: This is additional information that is provided for the benefit of the tester, just to make the test case more insightful and informative. This includes an explanation of what happens or what can be expected of the AUT once all the test case steps are done.

See Also => Sample Test Case Template

Live Project Sample Test Cases (Download)

Now that we have enough background information to get started on the test case creation process, let us get going and create few test cases for our Live Project.

Based on the process mentioned above we have created some sample test cases for the OrangeHRM account module. These should give you an exact test case format and idea on how to approach writing test cases.

=> Download Sample Test Cases Document for our Live Project here.

Note: There are few images referred to sample test cases XLS document. If you are viewing this on the older MS Office version, you may face compatibility issues.

We have listed those images below as per their names in the XLS files:

View Pic 1

View Pic 2

View Pic 3

There, all done and all good.

Test Cases Writing/Optimization Methods

Now, imagine a situation where a certain page has a few 10’s of fields on it or has a complex business logic that is implemented in there. To make sure that we optimize the test case creation process in situations like that, we testers have certain Test case optimization methods.

Enlisted below are the links that are provided for more information on these methods.

Boundary Value Analysis

Equivalence Partitioning

Error Guessing – This is a very simple method and relies on a tester’s intuition. For Example , Say there is a date field on a page. The requirements are going to specify that a valid date is to be accepted by this field. Now, a tester can try “Feb 30” as a date- because as far as the numbers are concerned, it is a valid input, but February is a month that never has 30 days in it- so an invalid input.

This is a very simple method and relies on a tester’s intuition. , Say there is a date field on a page. The requirements are going to specify that a valid date is to be accepted by this field. Now, a tester can try “Feb 30” as a date- because as far as the numbers are concerned, it is a valid input, but February is a month that never has 30 days in it- so an invalid input. State Transition Diagrams

Decision Tables

Using the above techniques and following the general test case creation process, we create a set of test cases that would effectively test the application on hand.

Few Important Points To Be Noted

The test cases we create are not only the point of reference for the QA phase but also to the UAT.

Internally test cases are Peer-reviewed within the team.

When a certain situation is not addressed by a test case – the rule of thumb is, it is not going to get tested. So, this is a good place to check whether the test suite we created achieves the 100% test coverage goal or not. To do so, a traceability matrix can be created. Check out all there is to know about the Traceability matrix here.

Tools – Test management tools like QC, qTest help us with the test case creation activity. For an example of how test cases can be dealt with using Quality Center, check out this Quality Center tutorial.

Automation tools can be used to create test cases- in which case, they are referred to as, Test scripts.

Pro Tip: Please perform a spell and grammar check on each and every document we create. We are the quality representatives for IT projects – and it doesn’t reflect positively on us if our deliverables themselves are of inferior quality.

That brings us to the finish of another interesting segment.

Conclusion

The end of the test creation process/test design phase (STLC) and the end of the Code phase (SDLC) will generally mark the end of the test preparation phase and the beginning of the Test execution phase.

Next tutorial in this Software Testing Course – In the coming article, we will talk about what Test Execution is, what it includes and what are the expectations from the QA team during this phase.

=> QA Training Day 5: Test Execution

We hope all of you are working along with this series. For the sake of simplicity, only a few test cases have been created. However, the best results can be seen when you work on testing extensively, which means writing more and more test cases. So, please don’t limit your work and do as much as you can.

Please do let us know your questions and comments below. Happy testing!

PREV Tutorial | NEXT Tutorial