Skip to content
  • QA

The evolution of traditional test cases in quality assurance

December 8 — 2023

Philippe Lachance
Director ⏤ Quality Assurance

Historically, the conventional method of writing test cases has been a laborious process, filled with an abundance of information, steps, and data already known to everyone on the project. This method often failed at distilling relevant information, making it challenging for the reader to focus on the main features. In contrast, checklists, renowned for their simplicity and speed of execution, have emerged as a valuable tool for quality assurance (QA) professionals. They offer a degree of flexibility that allows quality professionals to apply their expertise and judgment, rather than strictly adhere to a predefined script.



What is a test case?

Traditional test cases are specific scenarios or conditions that are designed to test a particular aspect or functionality of a software application or system. Test cases are typically written based on requirements, specifications, or user stories and follow a detailed format. They include test objectives, steps to reproduce the scenario, expected results, and sometimes even test data or preconditions.



What is a checklist?

A testing checklist is a list of items or tasks that need to be verified or evaluated during the testing process to ensure quality and accuracy. It serves as a quick reference guide for testers to ensure that all important aspects of testing are covered. The checklist can include steps such as verifying specific requirements, checking for user interface consistency, reviewing performance metrics, ensuring error handling, among other relevant testing activities.



How do they differ from one another?

Test cases and testing checklists are two different approaches to ensuring software quality, each serving a unique purpose in the software testing process. 

Traditional test cases are detailed and predefined, step-by-step instructions that are executed to validate specific functionalities of the software. They are typically documented in a test case management system and cover various scenarios to ensure thorough testing coverage. Traditional test cases are designed to be repeatable and can be executed multiple times to verify that the software behaves as expected. They are often used in complex systems requiring a high level of precision. Test results must be extensively documented for future reference. 

Testing checklists, on the other hand, are a more informal approach to software testing. They are typically used as a quick reminder or a supplemental tool to ensure that certain critical tasks or considerations have been addressed during testing. Checklists consist of a list of items or questions that need to be verified or validated during testing. Unlike traditional test cases, checklists are not as detailed or step-by-step in nature. They are more flexible and can be modified or expanded based on the specific needs of the testing process. Testing checklists are often used for routine tasks, sanity checks, or as a mechanism to ensure that all necessary steps have been covered before a software release.



A picture is worth a thousand words


Traditional test case

As you can see from the reference image, the traditional test case style is very detailed and informative. While this format provides a comprehensive overview of the test scenario  it is important to note that it can be time consuming to create and maintain. The intricate nature of traditional test cases requires a significant investment of time and effort, not just in documenting the tests initially, but also in keeping them up to date as the system evolves. Consequently, teams often find it challenging to maintain an extensive library of test cases, necessitating a more efficient approach for testing.

Checklist style test cases

In contrast to the detailed nature of traditional test cases, the checklist-style test cases, as shown in the reference image, offer a more concise and straightforward approach to testing. This streamlined format proves to be more time-efficient, particularly in scenarios where test case descriptions are relatively obvious or self-explanatory and can be clearly represented in the test case's title. With the checklist-style, testers can quickly scan and comprehend the primary objectives of the test without the need for extensive documentation. Additionally, the checklist style of test cases is often easier to maintain than their traditional counterparts. As changes occur within the system, updating and managing the checklist-style test cases becomes a simpler task, as modifications typically involve minimal changes to the test title or criteria. Overall, the checklist-style test cases offer a more efficient and manageable testing approach, especially when the cases' descriptions are relatively straightforward.

Using checklists presents significant advantages

Checklists allow for a more judicious allocation of team members, eliminating the excessive time and effort traditionally associated with test cases creation and execution. This shift enables teams to concentrate more on exploring and resolving potential problems, thereby enhancing the quality and reliability of the product. Stakeholders, primarily concerned with the quality of the final product, find checklists a suitable alternative to exhaustive test documentation, as they reconcile quality with operational efficiency.



What’s the catch?

While a test checklist can be a useful tool in the quality assurance process, it is important to note that it does not fully replace traditional test cases. Both approaches have their own strengths and can be used together to enhance the effectiveness of the testing process. An organization relying solely on a testing checklist without using traditional test cases may encounter some limitations:


  • Lack of detail: Testing checklists provide a high-level overview and reminders, but may lack the detailed steps, inputs, and expected results that test cases provide. This can make it difficult to reproduce and validate specific scenarios comprehensively.

  • Reduced coverage: Without detailed test cases, there is a higher risk of missing certain scenarios or functionalities during testing. Test cases ensure that different aspects of the software are validated, while checklists may not be as thorough in identifying all possible test scenarios.



Why not both?

There is a way to utilize both approaches effectively. We think that organizations can use a combination of testing checklists and traditional test cases to maximize the benefits. Here's how we think it should be done:


  • Start with a checklist: Begin by creating a testing checklist that covers the high-level areas of the product under testing. This can act as a general guide and reminder for the testing process.

  • Develop detailed test cases: Use the checklist as a starting point and develop detailed test cases for critical functionalities when needed or areas that require thorough testing. Test cases should include step-by-step instructions, expected results, and any specific test data required.

  • Use the checklist for additional coverage: When executing detailed test cases, the checklist can be used to ensure that all the important areas or tasks are addressed, even if they are not explicitly covered in the test cases.

  • Tailor the approach to the project: The balance between test cases and checklists may vary depending on the nature of the project, its complexity, and time constraints. It is essential to adjust the approach to strike the right balance.



Fostering a culture of adaptability

Recognizing the different needs of different industries is crucial to success in this paradigm. In sectors where maintaining rigorous test case systems is imperative, such as in hospitals and banks, a balanced approach may be necessary. However, in sectors where systems are less mission-critical, the transition to using checklists may be easier. Embracing this change means fostering a culture of adaptability and encouraging quality professionals to leverage their expertise and discernment. This transition streamlines testing processes, promotes agility in response to project needs and aligns with modern development principles (CI/CD).

The evolution from traditional test cases to more flexible and efficient checklists marks a significant step forward in the field of software testing. While this shift brings many benefits, including operational efficiency and focused quality assurance, it is important to approach this change with caution, considering the specific needs and impact on different industries. By fostering adaptability and leveraging the strengths of both methodologies, we can ensure the product’s quality, reliability and overall user experience while meeting the diverse needs of stakeholders.

00:00
00:00

En français SVP !