Letter from the Editor – June 2015

API testing– an old school technology gets way cool again. APIs and testing them is nothing new; the technology has been around for decades. The most basic definition of an API is an exposed function— a producer (person or company) writes a function and exposes it so that others, consumers, can use it. We copy text from a word processing document and paste it into a spreadsheet thanks to the clipboard API being exposed, so that both the word processing and spreadsheet applications can use it.

My first job in testing was for a product that shipped with printer drivers for all the popular printers. At the time, each application installed on the desktop machine handled printing itself. I tested dozens of printer drivers. It was mindless and boring. By the next product release, Windows95 launched and the operating system took over all the printing through a Print API. One set of printer drivers was stored in the OS, and when an app needed to print, it called the OS print function and let the OS do all the work.

Today, APIs still work basically the same way, but the applications — especially with web services and social APIs — are broader. When I go shopping at my five favorite online stores I can check out at all of them using PayPal. Rather than each store writing code for checkout, or for individual credit card processing, they need only integrate with, and test, the PayPal web service — Paypal handles all the coding work. And using web services has facilitated the huge growth in mobile apps.

Now APIs are a key part of product development from enterprise to mobile to wearable Internet of Things (IoT) devices. Many new applications are just a combination of APIs, whether you call them “traditional” APIs, web APIs, web services or even social APIs.

Not too long ago the major concerns for testers were:

  • “It’s easy enough to test through the UI, so let’s wait to test.”
  • “I don’t have any good low level details on how it works, so testing it is tough.”
  • “You need a tool to interface with the API at that level, and we don’t have one.”

These aren’t really concerns any more. API testing usually needs to be done before the UI is complete, and for some companies, the API is the product, so there is no UI to test. There is a lot of documentation and plenty of detail on just about any web service or social API, plus forum discussions. And, tools are abundant — some API providers have great custom tools, then there are off-the-shelf tools specifically for web service technologies. All of this makes API testing easier. But, the real key to successful API testing today is knowledge! You need to have a good understanding of the various technologies and tools – as well as great test design skills – for effective API testing.

This issue’s Special Section is a foundation for web service testing. Its purpose is to help you understand that, just because web services are common, it doesn’t mean they not complex and don’t require thorough testing. We already have another issue of LogiGear Magazine on API/Web Service testing on our 2016 editorial calendar, since this area of work is growing so dramatically. Until then – learn a lot about APIs, web services and social APIs!

Michael Hackett
Michael is a co-founder of LogiGear Corporation, and has over two decades of experience in software engineering in banking, securities, healthcare and consumer electronics. Michael is a Certified Scrum Master and has co-authored two books on software testing. Testing Applications on the Web: Test Planning for Mobile and Internet-Based Systems (Wiley, 2nd ed. 2003), and Global Software Test Automation (Happy About Publishing, 2006). He is a founding member of the Board of Advisors at the University of California Berkeley Extension and has taught for the Certificate in Software Quality Engineering and Management at the University of California Santa Cruz Extension. As a member of IEEE, his training courses have brought Silicon Valley testing expertise to over 16 countries. Michael holds a Bachelor of Science in Engineering from Carnegie Mellon University.

The Related Post

I spend about half my work time in the role of a consultant assessing, auditing and examining software development team practices and processes for the purpose of process improvement. I am regularly surprised to find teams that lack basic skills, management support, tools, information, access to users, Product Owners and to developers. And yet they’re ...
There has been a tectonic shift in software development tools in just the past few years. Agile practices and increasingly distributed teams have been significant factors but, in my opinion, the main reason is a new and more intense focus on tools for testing driven by more complex software and shorter development cycles. There have ...
Automation is a mantra in testing. Anyone associated with software development wants more test automation, but it’s often misunderstood. People who do test automation know how difficult it can be. But some people do not understand that automation is code, and that it needs to have architecture and design just like production code. They do ...
Methods and strategy have been my favorite topics since I started working in testing. It’s essentially engineering problem-solving. It’s both looking for efficiency and attempting to measure effectiveness. So, how do we develop a set of practices to solve our Software Testing engineering problems?
I have been training testers for about 15 years in universities, corporations, online, and individually – in both a training, managing and coaching capacity. So far, I have executed these various training efforts in 16 countries, under good and rough conditions – from simultaneous translation, to video broadcast to multiple sites, to group games with ...
Hello everyone – I’m hoping each one of us is having a great October. This time of the year is always my favorite, with the changing of the seasons, Fall was always my favorite time of year; it signified change and renewal – but I don’t want to digress to much from what’s going on ...
A while ago, I helped start a Software Quality Certificate Program as a part of the Software Engineering Program at the University of California, Santa Cruz Extension in Silicon Valley. I was on the Board of Advisors. While putting the curriculum together, a few people suggested a Measurement and Metrics course. Since I was teaching ...
In every year since 2011, we have devoted one edition of our magazine to the topic of mobile testing. In this year’s issue on mobile, we focus on testing from the point of view of the user experience. Most teams start with UI testing, and it may seem basic — until you look at the ...
Testers need to learn their craft and hone in on their skill set. That means building skills, sharpening their tools, and becoming creative detectives. There is no cookie-cutter tester and no best practice. The best circumstance is a fully-skilled, aggressive tester mixed with curiosity, nimbleness, and agility.
Test automation is a big topic. There are so many different areas to talk about: tool choice, jumpstart, cross platform, services, cloud… Each of these areas have changed so much in the recent past that they could each be worth their own magazine issue.
Change is constant. What’s different today is the rate of change. Moore’s law resulted from the observation that that the rate of change in computing power is exponential. The products, services and software landscape appears just as dynamic. At the same time, we pretty much take for granted the ubiquitous presence of software running our ...
What is testing in Agile? It’s analogous to three blind men attempting to describe an elephant by the way it feels to them. Agile is difficult to define and everyone has their own perspective of what Agile is. When it comes to testing and Agile the rules are what you make them. Agile is ideas ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news