When it comes to testing software, there’s a lot of jargon flying around at any given time that can become quite confusing. For example, what’s a test case? How does it differ from a test script or test suite? Knowing what a test case is and how to optimize test case management will save your company money and your team lots of frustration down the road as you implement your next vital test monitoring project.
What is a test case?
The industry standard, IEEE610, defines a test case as a “set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.” A test case can be as simple as testing a web contact form to find out if the data will generate an automated email to the correct contact person. However, in reality, test cases often involve multiple “what-if” scenarios to ensure any given application performs properly.
The Open Office Wiki notes that a proper test case should meet the following criteria:
“Track tests during the development and review process.
Filter tests according to a variety of criteria (for example, whether or not they are applicable for a particular profile or optional feature).
Identify the area of the specification that is tested by the tests.
Aid in the construction of a test harness to automatically execute tests.”
A test case may be part of a functional test, a user-acceptance test, a web-application test, or a module of an ERP system (to name a few types). In any event, crafting a proper test case can be difficult because:
There may exist a diversity of possible targets/outcomes.
The level of instructions within the test case depends on the type of tester and their background.
A poorly constructed, clunky test case will frustrate the tester and waste time and resources. To get ahead of the game, your process must take the following considerations.
As you plan your test case, ask: “What is the goal? What data do we want to find out as a result? What are the expected outcomes?”
Some common goals for test cases include:
Identifying defects – often seen as the primary reason to test case.
Conformance assessment – for example, are the expected specifications operating within acceptable parameters?
Discovering the greatest number of bugs early to avoid deeper issues down the road.
Mitigation of risks for support managers (especially for “go/no-go” decisions).
Know What You Need
As you plan your test case, it’s vital to understand what components you will need in order to proceed forward. The best way to ensure you capture everything is via an outline.
Dr. James C. Helm of the University of Houston suggests the following components be included in a test case outline:
“A description of the use case, use-case scenario, test objective, or condition being evaluated has been clearly stated for each test case.
Each test case states the expected result and method of evaluating the result.
Each test case describes or represents a unique set of inputs or sequence of events that results in a unique behavior by the target-of-test.
Each test case, or group of related test cases, identifies the initial target-of-test state and the state of the test data.
All test case names and/or IDs are consistent with the test artifact naming convention.”
The Name Is the Game
Like naming a child, naming your test cases can have a profound impact on the future success of the overall outcome. Naming protocols must follow a method that encompasses the nature of the case while not getting tangled in jargon.
For example, an average ERP test could have more than 500 test cases. Ensuring that (as Helm noted above) “all test case names … are consistent with the … naming convention” can avert disaster down the road.
Using professional test management tools empowers your team to relate test cases to reusable objects without garbling the name with too much chaos. In addition, test registration tools can organize relationships of tests in a more intuitive way.
TestMonitor provides a clear description of the test case purpose, simplifying the activity’s expected outcome. In addition, our tool allows users to define labels or tags that can be linked to test cases based on criteria such as business process, risk, requirement, or application.
Bringing it all together
As you journey through the test case process, it’s easy to be overwhelmed when considering all the permutations that can unravel at any time across the project. Before jumping into such a complex undertaking, why not consider the advantages of partnering with a professional solution like TestMonitor? Whether you’re implementing enterprise software, building a quality app, or optimizing your manual testing process, TestMonitor has you covered. Request a free trial of TestMonitor today, and watch your test case troubles evaporate.