If you’re a current user of Agile Requirements Designer (ARD), you are most likely using ARD to design your functional tests. But did you know that you can use ARD to create API tests that can be executed with your test automation framework? In this blog, I’ll share five real use cases for creating API tests with ARD. These examples come directly from our customers, and illustrate how our powerful model-based approach can scale your API testing.
Use Cases for API Testing with ARD
1. Optimize Data-Driven Testing
A multinational investment bank and financial services company used ARD to optimize their data-driven API testing. This company built a custom testing framework to test mortgage eligibility APIs. Based on inputs, these APIs determine if a customer is eligible for a mortgage, and, if so, present the selection of mortgage products that the customer is eligible to sign up for.
Previously, testing had been performed manually, and their limited API test coverage became an issue. They used model-based testing and ARD to generate their data and test their APIs. While this can be accomplished with other API testing tools on the market, it is very convenient if you already have ARD because you can generate your data and API tests in the same tool.
2. Requirements-Based API Testing
In another multinational financial services company, teams were building more new APIs than ever before, which meant that they needed to test more APIs than ever before. Managing this large quantity of APIs became a concern. Teams feared that, due to the increased complexity, they would be exposed to greater risks of defects.
To contend with this risk, the team agreed upon a standard requirement: In order for someone to publish a new API, it had to point to a corresponding API model in ARD. This ensured that all APIs were associated with their respective requirements.
This practice goes beyond just generating tests. It ensures that everyone who is involved in building or publishing the model is on the same page. By deriving API tests directly from the model, teams can promote greater quality and accuracy.
3. Using ARD as a Gateway to API Testing
ARD can be used as a gateway tool for API testing. This can be particularly helpful for those teams who don’t have much experience with API testing. This was the case for a team within a telecommunications company, who wanted to ease into the practice of API testing.
If your teams are already generating GUI tests with ARD, they can utilize their existing models and have ARD generate different types of tests—including API tests. With this method, you can delegate this task to the computer, rather than coding the API tests yourself.
4. Using API Testing for BDD Approaches
Teams can also use ARD for API testing by employing Behavior Driven Development (BDD) approaches. Users tend to like this approach because BDD is a scenario- or user-driven language that has common nomenclature. We sometimes refer to ARD as a “visual BDD” tool. (If you are interested in learning more, check out our webinar replay: Modeling for Visual BDD to Accelerate Agile Testing.)
Another reason why users may lean towards BDD approaches is that they lack direct coding skills. Employing the BDD keyword framework in ARD, teams can support API testing, even if they don’t know how to code these tests. Plus, teams can use ARD to generate test combinations and more complicated feature files.
5. Using ARD for API Monitoring
In production environments, monitoring is especially important, enabling teams to prevent, detect, and fix any API issues that may degrade the customer experience.
You can achieve greater efficiency by using ARD for API monitoring. If you know that you are going to be creating a large number of tests for monitoring, ARD can help. ARD can generate API tests based on the model to ensure that whatever is running in production is in alignment with the model that the team has agreed to.
Conclusion
These are all terrific use cases; they illustrate why ARD is complementary to API testing, and how the solution can kickstart or even improve your API testing experience.