Letter from the Editor – June 2015

Michael Hackett

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.

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

In the November 2011 issue: Mobile Application Testing, I began my column with the statement, “Everything is mobile.” One year later the statement is even more true. More devices, more platforms, more diversity, more apps. It boggles the mind how fast the landscape changes. Blackberry has been kicked to the curb by cooler and slicker ...
I remember the times when test teams sat in their own area and we were not allowed to “bother” developers.
How do you test software? How do you validate it? How do you find bugs? These are all good questions anyone on your project team or anyone responsible for customers may ask you. Can you articulate your test strategy─not your test process, but explain your approach to testing? I find that this can be a ...
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.
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 ...
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 ...
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 ...
This is LogiGear magazine’s first issue on the big world of DevOps. DevOps is a very large topic. Just when you thought you were safe from more process improvement for a while—not so fast. There’s DevOps, Continuous Testing, Continuous Delivery and Continuous Deployment. In this issue, we are focusing on Continuous Testing, the part most ...
In our continuing effort to be the best source of information for keeping testers and test teams current, we have another issue to explore testing in Agile development. As Agile evolves, systemic problems arise and common rough situations become apparent. We want to provide solutions. For anyone who has worked on Agile projects, especially if ...
There is a growing software development dynamic of teams without Testers. When I first went into Software Quality, I learned one thing right away: My role was user advocate. My main job was to find bugs. This is the Lean principle called Amplified Learning. We learn about behavior by testing. Even then, validation was not ...
Testing the Software Car. As usual with the LogiGear Magazine, we are tackling a big subject. With our goal of having single-topic issues, we have the ability to grab and disseminate as much information as we can related to a current topic that is interesting and also on the frontier of Software Testing.   Some ...
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. Required fields are marked *

Stay in the loop with the lastest
software testing news

Subscribe