Ways to API: Tools and Methodology

Author Nilesh Ahire, Senior Consultant – Testing

Application Program Interfaces (API) testing improves the coverage of your test cycle, conserves resources, and results in faster, more efficient releases with the right tools and expertise. And, it can supplement existing testing efforts and contribute added capabilities to your testing goals.

Previously, testing your existing API without backend or coding knowledge was not something that was easy to do in the past. But now, there are several new programs and tools available that make the more tedious testing phase much easier.

API Testing Tools
Postman: Postman can be considered as one the most beneficial for API testing tools. It is cost effective and efficient for regression. Postman Monitors automatically run tests at regular intervals and Postman’s Tools Support Every Stage of the API Lifecycle, such as:

  • Design APIs in Postman & use Postman’s mock service.
  • Examine responses, test API’s, as well as add tests and scripts.
  • Run automated tests using the Postman collection runner.
  • Create APIs documentation with private and public view.
  • Create automated tests to monitor APIs for uptime, responsiveness, and correctness.

SOAPUI: This is a headless functional testing tool dedicated to API testing, allowing users to test REST and SOAP APIs and Web Services easily.

JMeter: JMeter is used for functional API testing which is needed to test an API. It has features which help boost the performance of API testing and is used in both static as well as dynamic resources performance testing.

REST-Assured: A popular framework to test REST services in Java. REST Assured is fluent in Java libraries and brings the simplicity of using languages (Ruby and Groovy) into the Java domain.

Tricentis Tosca: A continuous testing platform for Agile and DevOps that supports and array of protocols, including HTTP(s) JMS, AMQP, Rabbit MQ, TIBCO EMS, SOAP, REST, IBM MQ,NET TCP. Tricentis Tosca integrates into the Agile and DevOps Cycle and maximizes reuse and maintainability with model-based test automation.

Apigee: A cross-cloud API testing tool, Apigee allows the user to measure and test API performance, support and build API using other editors such as Swagger. It offers security and governance policies across all APIs.

HTTP Methods used in REST API
There are 4 main HTTP methods are most commonly used in a REST based architecture:

POST: Used to update an existing record or create a new record by providing the input in JSon or XML format.
GET: Used to retrieve data, which is Provides a read only access to a record.
PUT: Used to create a new record or Update, calling the same PUT request multiple times will always produce the same result. In contrast, calling a POST request repeatedly make have side effects of creating the same record multiple times.
DELETE: Used to remove a record.

API testing gels well with Agile methodology. It allows access to an application without a user interface. Testing the core, code-level functionality of the application provides an early evaluation of its overall build strength before running GUI tests, exposing small errors before they become huge problems. Core access also enables testing in tandem with development, promoting communication and improved collaboration between teams.

API testing with Infogain will help you get closer to achieving exceptional business outcomes. Infogain’s Quality Assurance solutions combine automation with intelligence to help enterprises deliver products that are error-free and in line with customer expectations download our whitepaper on using Predictive Analytics and Advanced Test Automation to Boost Business Assurance (https://www.infogain.com/making-an-impact/idc-technology-spotlight/ )

To know more about Infogain’s Quality Assurance solutions read more here (https://www.infogain.com/quality-assurance/ ) or contact a QA expert here info@infogain.com.

Understanding the benefits of API Testing

Author Nilesh Ahire, Senior Consultant – Testing

Gartner and Forrester recommend that testers shift more of their testing efforts to the API level—with the ultimate goal of achieving 80% of functional test automation at the API level. And for a number reasons, API testing is recognized as a better fit for Continuous Testing, Agile, and DevOps.

We hope that this blog will help give a better understanding of how API’s work and what benefits API Testing has to offer.

What is an API?
API is an acronym for application programming interface. APIs are responsible for allowing applications to interact and communicate with other applications. API’s are a set of tools, protocols, standards and code that allow for companies to become more agile, and for everything to work together in a streamlined, integrated way.

What is API Testing?
Once an API is built, it is necessary to test the interface to provide truly secure, reliable and scalable connections between platforms. An API receives requests and sends back responses through internet protocols including HTTP and SMTP.

There are three levels of API testing:

Functional Testing: Provides input parameters in JSON or xml Payload. Functional Testing provides a response code and response body within a millisecond.
Load Testing: Checks performance under load and helps determine how much traffic the system can handle before being overloaded.
Security Testing: Shows which type of authentication is required and whether sensitive data is encrypted over HTTP and includes penetration testing for validating authentication.

Before you start API testing, you need to understand two key types of web service designs that impact it: REST and SOAP services.

RESTful Web services (REST for Representational State Transfer) provides a predefined set of stateless operations and allow requesting systems to access and manipulate textual representations of web resources.

SOAP (Simple Object Access Protocol) is a messaging protocol that allows programs that run on disparate operating systems to communicate using Hypertext Transfer Protocol (HTTP) and its Extensible Markup Language (XML).

Both services have unique sets of benefits, and benefits of SOAP API over REST API:

  1. Language, platform, and transport independent (REST requires use of HTTP)
  2. Works well in distributed enterprise environments (REST assumes direct point-to-point communication)
  3. Standardized and provides significant pre-build extensibility in the form of the WS* standards
  4. Built-in error handling, Automation when used with certain language products.

Benefits of REST API over SOAP API:

  1. REST uses JSON architecture which is easier as compare to XML architecture used in SOAP.
  2. REST can use SOAP web services as it is an architecture and not a protocol like SOAP.
  3. Speed of REST API is faster as compared to SOAP.
  4. REST is not that stringent and inherits security measures while SOAP has its own strict standards and defined security measures.

And while API Testing has tremendous benefits it also has a few limitations, such as:

  1. Parameter Combination: APIs handle communication between systems by assigning data values to parameters and passing those parameters through data requests. All parameter request combinations in the API must be tested for problems pertaining to specific configurations.
  2. Parameter Selection: Validating the parameters sent through API requests can be challenging. It is imperative to ensure all parameter data uses the correct string or numerical data type, fits within length restrictions, designated value range, and passes other validation criteria.
  3. Call Sequencing: In many cases, API calls need to appear in a specific order to work correctly. This creates a sequencing challenge for the testing team especially when working with multiple-threaded applications.
  4. No GUI to help test team to provide input values.
  5. The test team should have some coding knowledge, be aware of the request and response parameters including error codes and Exception handling function.

Despite the aforementioned limitations that API testing provides several key advantages and is the way into the future of testing.

API testing can improve the coverage of your test cycle, conserve resources, and result in faster, more efficient releases, some of which are:

  • API testing allows access to the application without a user interface.
  • Testing the core, code-level functionality of the application provides an early evaluation of its overall build strength before running GUI tests, exposing small errors before they become huge problems. Core access also enables testing in tandem with development, promoting communication and improved collaboration between teams.
  • API Testing provides easy integrations and is time effective and language independent.

At Infogain we combine automation with intelligence to help enterprises deliver products that are error-free and in line with customer expectations, download our whitepaper on using Predictive Analytics and Advanced Test Automation to Boost Business Assurance.

To know more about Infogain’s Quality Assurance solutions read more here or send us an email at info@infogain.com.

Infogain & IDC Roundtable: “Platforms and Cognitive: Transforming QA Engineering Technologies, Roles and Expectations”

October 18, 2018
IDC & Infogain Roundtable
Gaylord Texan Resort, Grapevine, Texas
3pm – 6pm CDT
Architecture patterns are changing in NextGen software platforms with the adoption of Microservices, Containerization, Cloud Native designs, API integration and Auto-Scaling Cloud Infrastructure-as-Code.  In this session, we will discuss how Quality Assurance is embedded in dev, test and deployment, with greater focus on automation and use of cognitive approaches.

Event participants will discuss and debate key topics including QA Transformation, benefits of test automation, cognitive technologies, enterprise adoption and industry trends. In addition, they will learn from technology experts and influencers regarding the successful implementation of QA process and technologies.

  • Agenda Highlights
  • Keynote by Peter Marston, Research Director IDC
  • Presentation by Nishith Mathur, Chief Solutions Officer & Vikas Mittal, Global Head- Quality Assurance, Infogain
  • Sharing Sabre Point-of-view by Andy Munns, Senior Director, Sabre Travel Network
  • Case studies and open discussion
  • Cocktails and networking

If you are a senior Testing practitioner and IT leader driving technology related initiatives within your organization, contact events.us@infogain.com to reserve your spot.

Delivered significant savings in license cost and test execution effort for a product engineering company

The Client

The client develops software used by the automotive industry to manage Collison and medical claims, replacements and so on. It operates throughout the United States and Canada and processes more than 50 million transactions a year.

 

Business and Technical Challenges

  • Long test cycle of 3 weeks negatively impacting time-to-market
  • Production issues for a desktop product used by large number of users led to huge support and patch fix cost
  • Lack of scalable test automation platform
  • Heavy dependence on Licensed Microsoft Test Automation tools
  • Lack of reusability of test automation scripts between scrum teams and system t
    esting teams
  • Manual testing wasn’t able to validate all data combinations leading to a high production defect backlog

Can Microservices revolutionize automated testing?

Source: https://dzone.com/articles/what-are-microservices-actually

In the field of test engineering, microservices have been making waves in the testing community over the past year, and with good reason. With many companies investing in DevOps and favoring a more microservice-oriented framework of software development, testing practices will also need to change. Microservices will have various significant impacts on the future of testing.

Before we tackle these changes, let us define microservice. Microservices architecture is a branch of services-oriented architecture (SOA) that consists of several extremely narrowly focused services that, when brought together, function as an application. In contrast, monolithic applications are when a single application is comprised of the client access code, business logic, and the data layer combined.

The problem with monolithic applications is that when a company wants to make minor changes to a single line of code, it requires a complete overhaul of entire application. Microservices present a novel solution to this problem, because rather than redeploying all the code, an arduous and complex process, the target layer they wish to change can be altered individually.

A real story of this positive transition is the Amazon application. In 2001, the Amazon retail website was one large architectural monolith, a huge single code base and a clumsy, frankly outdated way to operate the application. In keeping with their forward-looking culture, they took the truly revolutionary approach of decoupling service architectures to simplify their pipeline and enable them to roll out updates every 11.6 seconds. This is a testament to the value of microservices and demonstrates how it is feasible for scalability, relatability, and availability. Other companies like Netflix and HelloFresh are following Amazon’s example and breaking up their apps as well.

As these development processes transform, optimal testing technology choices also change.  Karate is a simple, elegant open-source tool that simplifies microservices testing and claims that the business of testing web APIs might be fun. It does this by reducing the entry barrier to writing a test, thus increasing the readability of tests and making the test easier to maintain.

Furthermore, microservices will change the methodology of testing. When you want to make a specific change a microservice, you can use stubs to isolate individual integration points of the application from each other for unit testing. This will dramatically simplify the testing process. Also, you can automate testing earlier in the process, because you won’t have to test the code that’s driving the user interface and experience, absolving you of onerous, manual, often subjective evaluation of these components. On the other hand, testing microservice architecture poses a unique challenge that did not really exist with monoliths: when running software tests on a microservice, you need to ensure that not only that specific microservice performs as expected, but also that all the microservices that compose an application behave harmoniously as they were intended.

In summary, as teams adopt microservices, companies will observe significant simplifications in the way in which testing takes place.  Infogain’s testing team provides microservices-based testing for Fortune 100 companies and is a world leader in automated, cognitive-automation-driven automation testing.

Vikas Mittal | Head – Testing Expert Centers and Solution Delivery

https://www.infogain.com/digital-experience/

Delivered Significant Savings in License Cost and Test Execution Effort

Client:

The client develops software used by the automotive industry to manage collison & medical claims.

Business Results

  • Saved $1 Million in annual license cost for Microsoft Visual Studio used earlier for test automation by moving to UAP
  • Shorter application QA cycles from 3 weeks to 3 business days
  • Improved customer’s confidence in the build and reduced time-to-market

Unified Automation Platform- Automated Business Assurance

Leveraging Digital in Quality Testing Automation

 

Benefits of Unified Automation Platform (Business Assurance) in Quality Automation Testing:

  • 5X Improvement in test case development efficiency.
  • Enhanced quality of Test & QA outputs by 80%.
  • Reduction in application QA cycles from 13 Days to 1 Day.
  • Improved test execution accuracy to greater than 99%
  • Reduced defects from an average of 10 to less than 2 per 1000 lines of code
  • Test suite maintenance cost reductions of 70%

Watch Unified Automation Platform:

To know more, contact: salesteam@infogain.com

Intelligent Test Automation will see increasing prominence among enterprises According to New Technology Spotlight

Los Gatos, February 7, 2018: Infogain, a leading provider of technology solutions and services, today unveiled an IDC Technology Spotlight supported by Infogain, “Using Predictive Analytics and Advanced Test Automation to Boost Business Assurance.” The Technology Spotlight covers the changing dynamics and challenges in Application Delivery, Key Application Portfolio Trends and the need for Smart and Intelligent Automation Testing due to increasing adoption of Agile and DevOps methodologies.

“Application Lifecycle Management is getting complicated with more and more organizations opting for DevOps and open source platforms and there is increasing need to leverage automation in testing. We will see increasing adoption of Machine Learning which will bring predictive intelligence to the test planning process” said Robb La Velle, VP and Global Practice Leader – Business Assurance Services.

IDC predicts automation within application life-cycle management will continue to grow in importance over the next several years as organizations seek to drive higher levels of speed and cost savings in application delivery. To achieve the desired outcomes from testing, organizations should :

  • Define clear and measurable goals and objectives.
  • Assess the existing state of automation within application testing.
  • Explore, size, and prioritize areas of application testing to automate
  • Develop a governance and overarching performance monitoring model.

“With the change in business environment, enterprises today are expanding their applications portfolio, accommodating more frequent enhancements with shorter deployment cycles,” said Pete Marston, Research Director for IDC Application Development, Testing, and Management Services (ADTMS), “To counter the challenges organizations need to adopt progressive methodologies and bring more predictability to testing. Intelligence and Automation in testing will be critical for future enterprises.”

Please click to download IDC Spotlight – https://www.infogain.com/making-an-impact/idc-technology-spotlight/

About Infogain

Infogain (www.infogain.com) provides front-end, customer-facing technologies, processes and applications that lead to a more efficient and streamlined customer experience for enterprises in the US, Europe, the Middle East, Asia Pacific and India. Offering solutions for the high-tech, retail, insurance, healthcare and travel & hospitality verticals, Infogain specializes in areas such as software product engineering, digital service automation, cloud, mobility, testing and business intelligence & analytics. The company has 9 delivery centers and close to 4000 employees globally. Infogain has a customer retention rate of 90%+ over a five-year period.

For more information, contact:

Infogain

Cathy Chandhok
VP – Marketing
Cathy.Chandhok@infogain.com
(408) 355-6028

Sudeshna Mukherjee
Corporate Communications
sudeshnam@infogain.com
+91 7738574137

Infogain Business Assurance Service Overview

Capability Overview & Deep Dive into Key Offerings

  • Unified Automation Platform
  • Mobile Device Lab
  • Performance Engineering
  • Consulting
  • Predictive Analytics
  • Quality as a Service

Software Test Automation Services

Infogain builds automated regression test suites using a mature and proven automated test framework and reusable code that includes:

  • Automation Framework
  • Reusable Libraries
  • Summarization and Publication of Results
  • Integration with Continuous Integration Platforms