Background
Prior to this new version, test cases in Spira products could be linked to requirements in other products, and requirements can be shared amongst products, however it was not possible to create a test set in product A that contains test cases from products B and C. With this new version, you can now create a test set in one product that includes test cases from other products. For security reasons, those other products must first grant access to their test cases to the product containing the test set.
Benefit of Cross Product Test Sets
Creating test sets that include test cases from several systems in the same test set is important and useful for several reasons:
-
Comprehensive Testing: Modern software systems are often complex and interconnected, involving multiple subsystems or components. Testing these systems in isolation might not reveal integration issues or interactions between components. Including test cases from several systems ensures that the entire system is tested comprehensively.
-
Realistic Scenarios: Users typically interact with a system as a whole, not with individual components. Test sets that include test cases from multiple systems can simulate real-world usage more accurately, leading to more reliable and relevant testing outcomes.
-
Efficiency: Managing and executing tests for different systems separately can be time-consuming and inefficient. By combining test cases from multiple systems into a single test set, testers can streamline their testing processes, reduce redundancy, and save time.
-
Dependency Management: Systems often depend on each other to function correctly. Testing these dependencies together helps identify and resolve issues that might not be apparent when testing systems independently.
-
Consistent Test Coverage: Ensuring that all parts of a system are tested consistently can be challenging when dealing with multiple systems. Combined test sets help maintain consistent test coverage across the entire system.
-
Simplified Reporting: Generating test reports for integrated systems can be complex if test cases are scattered across different test sets. Combined test sets enable more straightforward and cohesive reporting, making it easier to understand the overall test coverage and results.
-
Regression Testing: When updates or changes are made to one part of a system, it’s essential to verify that these changes haven’t adversely affected other systems. Including test cases from multiple systems in a single test set facilitates more effective regression testing.
-
Collaboration and Communication: Development and testing teams often work on different systems. Combined test sets encourage collaboration and communication between teams, fostering a more integrated approach to testing and problem-solving.
-
Traceability: Managing test cases from multiple systems in a single test set improves traceability, making it easier to track which test cases cover which requirements, and how changes in one system affect others.
-
Scalability: As systems grow and evolve, the complexity of testing increases. Combined test sets provide a scalable approach to managing this complexity, allowing testers to handle larger and more intricate test scenarios effectively.
Cross Product Test Sets in Action
To understand the new feature, lets look at it in action. This example is the same one demonstrated in the recent webinar on Spira 8.2. Using one of the sample Programs "Financial Services > Customer Experience", lets imagine we have two core products:
- A web banking portal that allows customers to transact with their bank online
- A mobile banking application that allows the same customers to perform of these tasks on a phone
We now want to be able to test some integrated flows where a customer starts a payment on the website, but has to authorize it on their phone (for example):
To facilitate this, we now create a new product called "End to End Banking Integration Testing". This product can then include requirements and use cases that describe some of the desired end to end capabilities.These requirements may well roll up into the capabilities outlined at the program level (for example, allowing customers to make secure payments across devices). Now the question is, how would we test such as cross-product capability?
Well, first we need to authorize the two existing products (Mobile Banking and Web Banking) to share their test cases with the new product:
Once this is done, you can now create a new test set in the new product:
When you click on the newly created test set, you have the option to include test cases from the current product and the two other products that have been authorized to share their test cases:
Once you have added the test cases from the two different products, you can use the Show/Hide Columns option to display the product name as one of the columns to make it easier to see which product the test cases come from:
Now the test set can be assigned and executed in the current product in the same was as normal:
You can see that the tester is able to enter results for all the test cases, regardless of the product they belong to. The recorded test runs are logged in the same product as the test case, but any associated incidents they create are logged in the new integrated product, but associated back to the test case and test runs in the source products. This allows you to have traceability of test results across products seamlessly.
Once the test set has been executed, you can see the execution status in the integrated product:
Drilling down, you can see the test results by test case in this test set:
You can also see the individual test runs logged across multiple cycles for this test set:
As mentioned above, any defects/incidents logged during the testing, will also be logged in the integrated testing product:
For more details on how this feature works, please refer to the detailed guidance in SpiraDocs.