Ensuring API integrity is difficult in today's complex application cloud, on-premises and hybrid environment scenarios. In this interview with TechTarget, Parasoft solution architect manager Spencer Debrosse shares his experiences about the top API testing issues that organizations encounter and how automation and a DevOps team approach can address them.
The following is an excerpt from that interview...
What makes testing APIs challenging?
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.
How does a business's organizational structure hamper API testing?
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.
Is testing APIs more difficult from the availability standpoint than testing software, or are there no differences?
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.
How are development organizations addressing this API test problem?
From a process standpoint, they're using DevOps to provide more collaboration and fewer constraints for API testers. DevOps, in particular, facilitates "shifting left", where testing is done earlier...
The complete article continues to discuss:
- What test-driven development means from a business perspective
- What technologies are needed to reduce pressure on API testers
- Why and how to perform a large number of validations very quickly at an early stage of the SDLC
- Tips for capturing the data needed to make intelligent business decisions.
You can read the complete Ways to Ease API Testing Constraints article here (no registration required).
API Testing Resource Center
To access a host of API testing resources that can help you better understand and apply API testing best practices, see Parasoft's API Testing Resource Center. Here, you'll find resources such as:
- Case studies in how API Testing was applied at leading companies such as DirecTV, Ignis Asset Management, Lufthansa, Siemens, and a leading Western Pacific Bank
- On demand webinars such as API Testing Tutorial and Test Data Management for Agile Continuous Testing
- Top 5 API Testing Myths paper
- Gartner Research: API Testing package
- API Testing Maturity Model
About Parasoft API Testing
Parasoft's API Testing solution is widely recognized as the leading enterprise-grade solution for API testing and API integrity. Thoroughly test composite applications with robust support for REST and web services, plus an industry-leading 120+ protocols/message types.
Why choose Parasoft for API Testing?
- Industry leader since 2002
- Recognized for “ease for use”, intuitive interface
- Advanced intelligent automated test generation
- Extensive protocol and technology support
- End-to-end testing across multiple endpoints (services, ESBs, databases, mainframes, web UI, ERPs…)
- Designed to support continuous testing
Here's a quick overview of our API Testing solution: