How to Ease API Testing Constraints
I was recently interviewed by TechTarget and explained some of the top API testing issues that organizations encounter, along with how automation and a DevOps team approach can address them. I thought I'd share some of that here with you today.
Question: What makes testing APIs challenging?
Answer: When you're building an application, you're not just using your own APIs or your own internal applications. Instead, you have to rely on a wide variety of endpoints and APIs and databases. We see lots of industry-specific, third-party API integration. For example, in the hospitality and airline industry, Sabre is common; in retail, credit card/address API verification is common.
If I integrate with Facebook or integrate with other applications, how can I tell if those APIs are in the state that I need them to be in, are available on my release schedule and are going to be functioning the way that I need?
That's really why availability's a constant problem, because we have all these pieces that are moving. Developers, as well as testers and QA architects, need to get all those pieces in sync to optimize their release schedule.
Question: How does a business's organizational structure hamper API testing?
Answer: Access to internal resources can be a challenge. Frequently, all of these resources are controlled and managed by different groups. If I'm a developer building an application, I will work in an environment containing lots of groups that I rely on. It's not just my own development effort. These internal resources may be unreliable or I may have little control over them. Many financial organizations face internal testing bottlenecks associated with mainframe access, for example.
In another example, as a developer, I may rely on a database maintained by a DBA on a separate team. Or I could rely on an API maintained by a different group of developers (and these developers may or may not be part of my organization). This disconnect between who needs an API for testing and who controls the API means that my test environment will commonly be a bottleneck in my development or QA process.
Question: Is testing APIs more difficult from the availability standpoint than testing software, or are there no differences?
Answer: The increased focus on mobile development and interconnectivity of applications means that testing in just about any application development project will rely heavily on API integration. So, more API testing is being done than in the past, and that adds another layer of work for quality assurance teams. Otherwise, there is little difference in resource availability problems for API and application testers in modern development.
Question: How are development organizations addressing this API test problem?
Answer: From a process standpoint, organizations are using DevOps to provide more collaboration and fewer constraints for API testers. DevOps, in particular, facilitates "shifting left", where testing is done earlier.
Head on over to TechTarget to read more!
Parasoft’s industry-leading automated software testing tools support the entire software development process, from when the developer writes the first line of code all the way through unit and functional testing, to performance and security testing, leveraging simulated test environments along the way.