Nov 24, 2020 Admin

Tech Buzz

How to Write A Test Case: A Practical Guide with Example

The primary motive of managed qa services is to ensure the delivery of quality products while reducing the time and cost required for project completion. Every quality assurance (QA) engineer needs to write effective test cases to verify software properly. The test case is a crucial part of the documentation in software testing. Without writing good test cases, your QA teams can’t validate and verify your software accurately. This might result in software failure and glitches after deployment.

This is something you don’t want as an outsourced software development company. So let’s explore the process of how to write a test case adequately for effective testing: 

Importance of Documentation in Software Testing 

Documentation plays a significant role in software testing. Many times, test steps are not simple to execute, hence require proper documentation. Also, sometimes the QA member who wrote some important test cases in a project might go on leave or become very busy with other tasks. In such a case, other QA members might be asked to execute those test cases. Document steps will help other members in test execution. Lastly, documenting also lets you create a written proof of your work and avoid client arguments at a later stage. 

There are several levels of documentation in testing like: 

Test Scripts: This is simply the step-by-step description of all the actions that need to be taken to execute a test. 

Test cases: It refers to a specific set of actions that need to be performed to verify a particular functionality of your software application. 

Test Scenario: It refers to specific functionality in software that needs to be tested. It is a collective set of test cases that are used by any software testing team to determine the positive and negative behavior of software applications. 

Here is an example to get more clarity over the same: 

For an eCommerce application, the test scenario could be: 

Test Scenario 1: Verify the Login Functionality

Test Scenario 2: Verify the Payment functionality 

For Test Scenario 1 “Check Login Functionality,” the test cases would be:

Test case 1: Check system response when valid email ID and password is entered

Test case 2: Check system response when invalid email iD and password is provided. 

Now moving further, let’s discuss test cases in more detail: 

What is a Test Case in Software Testing? 

A test case includes a set of steps that need to be executed by the tester to verify a specific functionality in any software application. It includes test steps, pre-condition, and post condition for a particular test scenario to verify it. A test case also has specific variables or conditions which are used by any QA to compare the expected and actual results to determine whether the software conforms to the documented requirements or not. 

After test scripts, test cases are the second most effective way of documenting test work for any QA and software testing company -  no matter what type of software testing they perform. It focuses on “what to test” and “how to test” as it clearly defines test pre-requisites, test steps, and expected results. It focuses on exhaustive testing and also requires more resources for test documentation and execution. 

Some of the benefits of writing a good test case include: 

  • Better test coverage 
  • Improved software quality 
  • Decrease maintenance and software support costs 
  • Verification of end-user requirements 
  • Reusable scripts for future testing 

Test Case Format  

Some of the key elements of a test case include test ID, description, test case type, test scenario, test data, pre-condition, post-condition, expected results, actual results, and comments. Let’s explore each in detail: 

  • Test Case ID: This is an alphanumeric number for easy identification. 
  • Test Case Description: It enlists details about what needs to be tested. 
  • Pre-conditions: It includes assumptions that apply to the test or conditions that should be met before execute
  • Test Case Type: It contains details about whether the test case is positive or negative. 
  • Test Data: The input data for the test case. 
  • Expected Results: It contains details about what results in the tester can experience as a result of executing this test
  • Actual Results: It includes actual results or behavior of an application after the test is performed on it 
  • Comments: Any useful information like screenshots, links, etc. that can help other test team members are highlighted here. 

This is typically the standard format of documenting test cases. It instils testing clarity and improves the overall quality of software. The test case design techniques are broadly classified into three categories: 

  • Specification-based techniques (Black box techniques): Test cases are designed in a systematic manner based on the external features of the software (using requirement specification, technical design, etc.0
  • Structure-based techniques (White box Techniques): Test cases are designed based on the internal structure of a software program. Developers go into minute details of the application code and test each module one by one.
  • Experienced-based techniques: These techniques vastly reply to the experience of quality assurance teams who understands the software functionality very well. The application of such techniques requires special skills, knowledge, and expertise from QA. 

Also Read: Benefits of Software Testing and Quality Assurance

How to Write a Test Case 

Let’s create a simple test case for the scenario: Check Login Functionality of an Ecommerce website like Amazon 

Step 1: A simple test case for the given scenario would be 

Test Case ID

Test Case Description

 

Check the response when a valid email and password is entered 

TU01

 

Step 2: In order to execute the above test case, we would need test data like below: 

Test Case ID

Test Case Description

Test Data

TU01

Check the response when a valid email and password is entered 

Email: xyz@gmail.com 

Pass: X1y@z2

 

Identifying test data sometimes is time-consuming, hence it is documented properly. Also, sometimes testing teams needs to create afresh test data. 

Step 3: A specific set of actions needs to be executed to implement the given test case, this is a document below: 

Test Case ID

Test Case Description

Test Steps 

Test Data

TU01

Check the response when a valid email and password is entered 

1. Enter email address

2. Enter password 

3. Click on the login button 

Email: xyz@gmail.com 

Pass: X1y@z2

 

Often, test cases are not as simple as given above, Hence, they are documented properly to keep everyone in the testing team well-informed. Documentation also facilitates reviews by other stakeholders of a project. 

Step 4: Now the behavior of the application under test is checked by the QA team against the expected results. This needs to be documented as well: 

Test Case ID

Test Case Description

Test Steps 

Test Data

Expected results

Actual Results

Status

TU01

Check the response when a valid email and password is entered 

1. Enter email address

2. Enter password 

3. Click on the login button 

Email: xyz@gmail.com 

Pass: X1y@z2

Login should be successful 

As expected

Pass


Test Case Writing Best Practices  

Test cases are extremely vital in any development project as they’re the first step of the testing cycle. In anything that goes wrong here, you will experience undesirable impacts while moving forward with test cycle activities. 

So, here are a few tips you should consider while writing test cases:

Simple and Transparent: Always write test cases that are simple, clear, and concise, assuming the author of the test case is not executing them. Use assertive language to speed-up test execution. 

80/20 Rule: Make sure 20 percent of your test cases cover 80% of your software functionality for improving test coverage. 

Test Prioritization: Always prioritize test cases based on project timelines and risk factors of your software. 

Avoid Repetition:  Don’t repeat test cases, If a test case execution is a pre-requisite for another one, write that in the assumption column. 

Apply Different Testing Techniques: Checking every feature of your software is not possible. Apply different testing techniques like boundary value analysis, equivalence partition, etc. to increase the possibility of finding a defect. 

Conclusion  

Hope you gained comprehensive knowledge about how to write a quality test case by visiting this article. Remember writing hundreds of test cases and pile them into a single folder is not useful if you don’t systematically tag and classify them. Use a quality test management system to smoothen your quality assurance approach. Also, if you are looking for a reliable and trusted quality assurance company, then look no further beyond A3logics. 

We are a leading QA and software testing Services Company with decade long experience in the testing industry. Our certified and experienced quality assurance engineers take care of all your testing needs throughout the testing lifecycle for delivering a quality product that guarantees customer satisfaction. 

Drop us a line to discuss your next testing project with our expert QA professionals.

Leave a Comment

Related Blog Posts

Our writing ninjas are offering their experience and knowledge to our users through their latest blogs with up-to-the-minute trends!

Contact Us

Guaranteed response within 24 Hrs. No obligation quote

india India

Call: (+91)-141-5166900

Send Email: info@a3logics.com

microsoft iso

Drop Us a Line

Make Enquiry Today - Request Free Quote