Wintertainment 2020 - Day 8: Creating Extendable API Tests and Moving Them Into Automation Workflows

Wintertainment-2020-day8-top.png

 

Only a few days left when you can participate in the Wintertainment 2020 discussions, talk to peers and experts, share your thoughts, and win prizes!

 

Today's article is about creating extendable API tests. Read the below article and answer the questions at the end of it.

See participation rules and event schedule

 

Creating Extendable API Tests and Moving Them Into Automation Workflows 

  

According to the SmartBear State of API report, APIs continue to grow in number and importance. They are the glue that connects applications and data. Interoperation between internal systems continues to drive API development, as two-thirds of organizations identified this as their main driver. 

 

API1.png

 

With that said, it is mandatory that API providers (internal and external) have clever ways to iterate and accelerate API development to fulfill the needs of your consumers. One of the best ways to speed up API development is integrating API tests into your DevOps environments to follow CI/CD practices, and rapidly deliver value to your consumers 

 

This does not have to be an arduous task. There are certain things to take into consideration from the testing side and the operations side to create workflowsn with less hassle. Here are some of the things that ReadyAPI  from SmartBear can do to help you. 

  

Reusability: 

 

I know what youre thinking. “Here is yet another blog using the R word lightly.” At SmartBear we understand this is not an easy task, but with the below functions that exist within ReadyAPI , you will surely understand how seamless we make reusability to ensure testing efficiency. 

With ReadyAPI, you can: 

 

Create reusable, modular steps and store them in a centralized location for best results when collaborating. The feature is called Run TestCase Test Step. The feature allows you to setup a series of steps that are common on more than one test flow, and easily reference it versus having to build the sequence of steps every time you need it.  


 - Collaborate across teams and/or team-members to avoid rework and take advantage of others work, even converting some of your colleagues work into modular steps like mentioned above. The best way to achieve this level of collaboration is to treat your tests as you would code. In ReadyAPI  you can use the Git Integration to do just that! Easily check-in/check-out work, merge conflicted projects, and perform other common Git interactions with the work done in ReadyAPI . 

 

 - Create variables at different points of a test (e.g., query variables, resource variables, variables for entire or parts of the payload, etc.), and it will help the tests be dynamic and touchless in terms of maintenance. ReadyAPI handles variables very well and has distinct functions to help with that:  

  1. Datasources to pull data from external sources and feed them into your tests. 
  2. Property Expansion propagate data into the variables and an additional feature to auto-generate the syntax for Property Expansion. 
  3. Custom Scripting capability to really enhance the flows of your tests. 

 

Separate execution and authoring of tests: 

 

To be as efficient as possible in authoring and execution of the tests, it's important to have these as targeted focus areas. As seen above, ReadyAPI  is a great authoring tool to build elaborate, reusable tests which can also execute them, but requires the entire software to be installed wherever it is executing your tests.  

 

To truly enhance the execution experience, and have the best results in terms of execution efficiency, I recommend TestEngine. This tool sits in a centralized location where any person or process can send ReadyAPI test jobs, and the jobs can be executed in parallel or use its queue management system to allow users to priorities the test jobs. It is much lighter and requires less configuration to run these automated test jobs! 

 

Going back to the SmartBear State of API survey, we have found two key areas that have increased tremendously YOY and those are the tools being used to develop APIs and what the APIs are built for. As you can see below, CI/CD is the second most used tool in API development, which means there is high demand for accelerating API development to fill the consumer’s needs.  

 

With ReadyAPI, you can really take it to the next level. Iyou have further questions please reach out to us and let us know if you have questions or want to share your experience with API testing in DevOps. Thanks for reading. 

 

API2.png

 

What do you think? Comment below!

 

  1. What measures are you taking into consideration to evaluate your Automated API testing? 
  2.  Are you building your API tests with reuse or object-oriented strategies in mind? 
  3.  Are your API tests easily executable in different ecosystems like Docker, Jenkins, or others? 
TSanchez_1
Moderator
2 Comments
Marsha_R
Community Hero

As I mentioned on a previous day, I'm not doing any automated API tests.  The developers may have some but it's nothing shared with QA.

sonya_m
Community Manager

@richie @HimanshuTayal @msiadak @ChrisA how do you go about evaluating your Automated API testing? You are API testing pros, would be interesting to learn from your experience!🙂

Users online (179)
New Here?
Join us and watch the welcome video: