What is an API?

An Application Programming Interface (API) can be thought of as a software-to-software interface. APIs allow software to be easily integrated to third party products and applications. An API contains the core functionality of a program or the business logic. End-users do not interact with an API directly. Users interact with the software through the Graphical User Interface (GUI) which in turn interacts with the API.

What is API Testing?

Testing APIs occur at the business logic layer of the software architecture.

API testing requires an application to interact with the API. Instead of using standard user inputs and outputs, API testing uses software to send calls to the API and get the output.

API testing treats the component under test as a black box. All stimulus takes place using the published interface, with no changes or instrumentation to the internal logic. The goal of API testing is to verify correct performance and error handling of the component prior to its integration into an application.

A secondary benefit of API testing is automation. GUI tests are generally difficult to build, maintain, and automate. By removing the GUI from the test environment complete automation is possible.

Unit Testing vs API Testing

API Testing and Unit Testing are similar, but they are not the same thing. The most significant difference between Unit Testing and API Testing is in completeness. Unit tests are not by nature functional tests. Generally unit tests rely on simplistic stubbed dependencies, and the unit test activity is owned by the development team.

 

By contrast, API tests validate a complete component and typically include tests for:

  • Positive tests -- does the software do what it is supposed to do
  • Negative tests -- how well does the software handle error conditions
  • Robustness tests -- are there any throughput or timing issues

Why API Testing?

API testing is an effective way to improve software. Organizations with multiple developers and a continuous integration (CI) build process can greatly benefit from API testing. Key benefits of API testing include:

Testing Complexity is Reduced
By isolating a component from the rest of the application test preconditions are greatly reduced making it easier to write tests, and quicker to run them.

Testing without Source Code
Third party libraries are often delivered in binary form without source code. API testing allows the correct performance of the object code to be confirmed.

Negative and Error Testing
Often it is difficult or impossible to cause error conditions in a completely integrated system. API testing allows error conditions to be easily injected by controlling all inputs to the component.

Testing is Easily Automated
Because APIs can be controlled with scripted or compiled test code, it is much easier to automate tests.

Who Should Use API Testing?

All development groups should use API testing. Whether you are the producer or the consumer of the component, it is critical that components have well-documented and tested APIs. API tests allow component producers to formalize the expected behavior for normal and error cases and component consumers will find fewer bugs in the integrated application if it is built with adequately tested components.

Additionally, API tests allow the correct behavior of the component to be easily validated in a variety of operational environments, such as testing with different platforms, operating systems or compilers.

Why VectorCAST?

The biggest challenge with API testing is creating and maintaining the test code that is required to stimulate the API. The volume of test code to perform API testing is usually on par with the size of the component being tested. Components that contain tens of thousands of lines of source code are likely to require thousands of lines of test code. VectorCAST addresses this challenge by automatically generating the test code needed to perform API testing and automatically updating the test code as the API changes over time.

VectorCAST provides the following benefits:

  • Testing without writing test code
  • Testing object libraries when source code is not available
  • Automatic test execution on any platform using any operating system and compiler

Vector Software’s VectorCAST is the leading automated software test tool for safety critical embedded systems, targeting mil/aero, medical and transportation....Read More »

Dan Mender, Vice President Business Development, Green Hills Software

I have been using VectorCAST C/C++ on embedded realtime projects for over 3 years. Creating unit tests has been greatly...Read More »

Alan Yorinks, Software Engineer, ITT Geospatial Systems

Our test tool evaluation team considered a number of other applications for software testing. We ultimately chose VectorCAST for its...Read More »

Larry Rogers, Avionics Software Manager, Aurora Flight Sciences

Vector Software has a proven record of developing the most advanced dynamic software testing solutions that address the real needs...Read More »

Neil Langmead, Chief Operating Officer, Emenda Software

Key to our selection of VectorCAST was that it offers a single software engineering platform that can manage process complexity...Read More »

Stefan Sauerer, MBtech

Vector Software engineers were extremely helpful in supporting our goal to achieve DO-178B certification in short amount of time....Read More »

Pauline Ng, GM Engineering and Technologies, Flight Focus

Vector Software’s integration with VxWorks Cert Platform further extends VectorCAST’s support for the comprehensive capabilities of the Wind River Workbench...Read More »

Joe Wlad, Senior Director of Product Management, Wind River

The combined offering delivers an unparalleled solution for ensuring quality, reliability, and compliance in the development of critical software systems....Read More »

Michael Carey, President, Polarion Software

We evaluated many embedded software testing tools during this process. We chose VectorCAST for its robust features and ease of...Read More »

Pauline Ng, GM Engineering and Technologies, Flight Focus

VectorCAST matches our development paradigm exactly. Therefore the tool was simple to set up and integrate into our development process....Read More »

Sven Natus, Manager of Software Development, Fujitsu Semiconductor Europe

Our confidence that VectorCAST will provide for our unit test needs is quite high and went beyond expectations.Read More »

Ronald L. Martinez, Information Technology, Raytheon Company

Big Thanks for this extra-ordinary service!!!Read More »

Ronald L. Martinez, Information Technology, Raytheon Company

We carefully evaluated a number of tools and we were very impressed with the level of automation provided by the...Read More »

Steven Lincoln, C-130 Software Development Manager, Lockheed Martin Aeronautics

As part of our selection process we evaluated several freeware and commercially available off the shelf applications. We chose VectorCAST...Read More »

Helen Muth, Senior Director of Engineering, MEI Group

Trinity is committed to bringing the most innovative and advanced technologies in safety critical software development. We are convinced that...Read More »

Jeff Chen, Vice President, Trinity Technologies

The decision to use Vector Software's automated solution is driven by our need to achieve the highest levels of software...Read More »

Fábio Assis, Director, XMobots Robotic Systems

Overall, we reduced our testing effort 83% by using VectorCAST.Read More »

Taeyoung Noh, Quality Assurance Manager NEOS Project, MDS Technology

Vector Software provides one of a kind capabilities to address the challenges of testing embedded software applications. Representing Vector Software...Read More »

Uri Farkash, Director of EDA Operations, Advanced Semiconductor Technologies

We evaluated VectorCAST based on very specific criteria that included the vendors’ experience in safety-critical embedded software testing and the...Read More »

Michael Dalpiaz, Development Manager, Imaging Systems, Sirona Dental

With the time savings introduced by VectorCAST, final software development phases could be reached early, reducing the total project costs....Read More »

Mauricio Ribeiro Barbieri, Software Engineer Manager, AEL Sistemas, A.S.

Our leading solutions for Requirements Management, Quality Assurance, and ALM, optimally complement Vector Software’s advanced tools for automated software testing...Read More »

Michael Carey, President, Polarion Software

Our project requires compliance with DO-178B Level B, which will require stringent testing activities. We needed the best suite of...Read More »

Vladimir Baburov, Director, VNIIRA-Navigator

We are very pleased to work with Vector Software. The VectorCAST integration with FreeRTOS provides a engineers with a professional-grade...Read More »

Richard Barry, Director, Real time Engineers, Ltd.

The open interfaces of VectorCAST give us the necessary flexibility to adapt VectorCAST to all needs in all our development...Read More »

Sven Natus, Manager of Software Development, Fujitsu Semiconductor Europe

With its broad support for target compilers and integrated testing capabilities the VectorCAST applications fit well in our current and...Read More »

Sven Natus, Manager of Software Development , Fujitsu Semiconductor Europe

We are enthusiastic about the integration and partnership with such a high caliber test automation company such as Vector Software....Read More »

Regg Struyk, Product Manager, Polarion Software

Automation in testing is typically considered in the context of meeting safety or regulatory requirements. VectorCAST supports our goal of...Read More »

Arun Devaray, Senior Software Manager, Visteon Electronics

The support we have received from Vector Software has been outstanding. Vector Software’s trainers and support staff consist of highly...Read More »

Stanislav Fligl, Core Team Leader, ŠKODA ELECTRIC

VectorCAST is the premier dynamic software analysis tool for embedded applications. We are very pleased that our partner, Vector Software,...Read More »

Mats Ullström, Product Director, IAR Systems

VectorCAST is a very important component in our embedded software development process allowing us to detect defects early and assure...Read More »

Sven Natus, Manager of Software Development, Fujitsu Semiconductor Europe

We are excited to partner with Vector Software in offering developers a powerful, fully integrated solution for embedded systems development....Read More »

William E. Lamie, President, Express Logic, Inc.

The VectorCAST tools have greatly reduced the time it takes to fully test our code. VectorCAST/Manage allows us to...Read More »

Stanislav Fligl, Core Team Leader, ŠKODA ELECTRIC

Vector Software’s VectorCAST product suite is now more integrated with TI’s Code Composer Studio IDE than ever before, offering users...Read More »

John Stevenson, Product and Applications Manager, Texas Instruments

We evaluated a number of test tools and were impressed with the VectorCAST automated solution. Using VectorCAST/C++, we have significantly...Read More »

Julieta Catania, Quality Manager, Tecme S.A.

System test alone is ineffective in enabling organizations to achieve customer demanded quality and meet market opportunity windows. To achieve...Read More »

Axel Kehlenbeck, Sr. Analyst, Sentry Technology Group

Although no hard cost saving metrics were generated comparing the use of VectorCAST/Ada vs. testing with other tools or testing...Read More »

Mark Hall, Test Consultant, Lockheed Martin

We were impressed with Vector Software from the outset. VectorCAST provided excellent ease of use and functionality.Read More »

Chris Brown, Vice President of Engineering, Athena Technologies

We are delighted that Vector Software has integrated its industry-leading VectorCAST suite with AdaCore’s GNAT Pro Safety Critical product for...Read More »

Jamie Ayre, Marketing Director, AdaCore

VectorCAST made our job a lot easier.Read More »

Taeyoung Noh, Quality Assurance Manager NEOS Project, MDS Technology

I would like to personally thank David Pierson for his hard work and dedication in helping us here at Northrop...Read More »

Fernando Anguiano, Senior Staff Software Engineer, Northrop Grumman Aerospace Systems

We decided to adhere to all the rules within MISRA and the QA.C tool made this extremely easy to achieve....Read More »

Lee Jaques, Senior Software Engineer, Marshall Aerospace

VectorCAST is unique in that it provides us with the ability to increase the reliability and quality of our flight...Read More »

Wayne Young, Software Principal Engineer, Honeywell ASCa Inc.

The VectorCAST testing environment is an ideal complement to the static analysis capabilities available in GNAT Pro, together providing a...Read More »

Cyrille Comar, Managing Director, AdaCore

The capabilities of VectorCAST for unit/integration test and code coverage perfectly complement our existing static analysis solutions. Coupled with our...Read More »

Neil Langmead, Chief Operating Officer, Emenda Software

Vector Software's VectorCAST embedded software testing platform was identified as the ideal solution for developing critical software in compliance with...Read More »

Dr. Stefan Kaneff, Managing Director, EUROS Embedded Systems

With VectorCAST we are able to quickly apply state of the art unit testing...Read More »

Yves Schenker, Embedded Software Engineer, Helbling Technik

See the Benefits of VectorCAST with Your Embedded Software Applications

Discover how VectorCAST tools improve performance in your exact testing environment by registering today for a fully-functional version.

You may also contact us to arrange a demo for your project.