I’ve been designing, developing, and testing APIs for many years, and I consider myself fortunate to have witnessed just about every type of API initiative. Although many aspects of the API lifecycle are the same as they’ve always been, over the past couple of years I’ve noticed a number of distinct trends that are revolutionizing the ways these critical assets are conceived and evaluated.
In this blog post, I’ll tell you about five noteworthy transformations that are exceptionally significant, and how they will likely impact your daily work responsibilities and longer-term career.
- Business-driven API design and development. In years past, APIs – and the teams that built them – were largely viewed as peripheral concerns for the IT organization. That couldn’t be further from the truth now. Because APIs have become such strategic enterprise resources, it’s now very common for business users to get involved very early in the process and participate on an ongoing basis. These line-of-business leaders aren’t along just for the ride: they expect the APIs that you’re certifying to be high quality and offer performance in compliance with strict service level agreements.
- Agile methodologies. Although many software development teams continue using waterfall processes, the momentum is clearly on Agile’s side. This means that testing will need to become much more streamlined and well integrated into the mainline software development process. What else could be expected in a world where builds are happening multiple times a day? If you’re working in an organization where you’re still carrying out your API appraisals using “leisurely” waterfall assessment procedures, get ready for some big changes. To be proactive, you would be wise to learn about how other organizations have adopted Agile and its impact on API testing.
- Test automation. One byproduct of the move towards Agile is the newfound prominence of automated tests. This is having a devastating impact on old-school quality assurance organizations: automated scripts written by developers or senior test architects are replacing testers at an accelerating rate. To remain gainfully employed, testers must increase their skill levels. If you spend your days running API tests by hand and evaluating the results one-by-one, beware: this is not a tenable long-term career path. A better plan would be to start gaining the knowledge – now – to become a test architect adept at employing high-powered test automation technologies.
- API complexity outstripping testing capabilities. As mission-critical resources, it’s becoming routine for APIs to encode the majority of an organization’s business logic. In the past, when APIs were optional add-ons, it was relatively straightforward to assemble a collection of basic tests that would be sufficient. But APIs now demand a level of testing that is beyond the reach of many QA teams, especially when they’re not close to the business processes. If your understanding of your enterprise’s APIs is more casual than serious, this is a vital gap that you need to close.
- New dangers for siloed testing. Many organizations continue to artificially separate their functional, performance, and security testing teams. My colleagues and I have been preaching the gospel of reusing thorough, comprehensive functional tests for longer than we care to admit. Yet the obstacles among these different constituencies persist. I chalk this up to an unhappy confluence of factors, including technical, organizational, and political motivations. The upshot of these artificial barriers is that the APIs for these enterprises are extremely vulnerable to outages, overloads, and attack. The good news here is that even if you work for a dysfunctional organization, you can enhance your skills and marketability by going beyond your specialization to learn about other aspects of API testing.