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

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 ...
Our plan for the December LogiGear Magazine was to have a forward-looking Trends and Challenges issue. However, whilst assembling our September issue on SMAC, we realized the momentum SMAC was gaining in the industry. We had a large amount of content on our hands from a range of excellent contributors. Thus, we decided to split ...
As part of my work, I spend a lot of time at client’s sites and talk to various software development organizations. I am beginning to see a problem arise regarding Test Automation. There is too much automation! Surprised? While there are still many teams struggling to make progress with Test Automation, many teams have been doing ...
“Why do we need to understand a bunch of test methods? I write test cases from user stories or requirements, automate what I can and execute the rest manually, and its fine.” If this is your situation: good for you. If you are time crunched, if your automated tests have lost relevance, are hard to ...
Software development projects are multifaceted. There is staffing and budget work. There are communication and team dynamics. There are project and process issues from what the customer wants, when they want it, revenue projections, and production dates. As part of my work in helping people deliver software, I get involved in all aspects mentioned above. ...
Testing tools – very important, very often overlooked, and very often where mistakes are made. First, the most common mistake people make about tools is thinking tools are only about test automation! False. Automation tools are merely one type testing tool. We will try to balance this issue between test automation tools and other test ...
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 ...
Hi everyone and welcome to our fourth edition of LogiGear Magazine. This month we finish Michael Hackett’s piece on “Agile in Testing” with part five, Tools.
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?
Everything is mobile. What else can we say? Everything. If your product or service is currently not, it will be very soon. As Apple says: “There’s an app for that.” There is an app for everything. The race for mobile apps has consumed the software development world. I did a few projects at Palm Computing in the ...
I led the Editor’s Note in our very first mobile issue with “Everything is mobile”, but it is now way beyond what we thought. Mobile has come to mean only the smart phone, mobility is the word that describes everything a smart phone enables you to do. Mobility is more than a device! Mobility is ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe