api testing and continuous integration -...

17
David Parker – Director of Strategic Alliances Sanketh Shanbhag – India Technical Lead SmartBear Software, Inc. API Testing and Continuous Integration Leveraging continuous integration to guarantee API quality

Upload: haquynh

Post on 26-Mar-2018

227 views

Category:

Documents


5 download

TRANSCRIPT

David Parker – Director of Strategic Alliances

Sanketh Shanbhag – India Technical Lead

SmartBear Software, Inc.

API Testing and Continuous IntegrationLeveraging continuous integration to guarantee API quality

2

We’ll be covering:• API testing in the software delivery pipeline• Obstacles doing API testing in CI• What’s required

David ParkerDirectorSmartBear

Sanketh ShanbhagIndia Technical LeadSmartBear

3

Continuous Integration - DefinitionContinuous integration is a DevOps software

development practice where developers regularly merge their code changes into a central repository, after which

automated builds and tests are run.

4

Advantages of CI• Improve software quality

• Fast feedback on iterative changes

• Find and address bugs quicker

• Reduce the time it takes to validate and release new software updates

5

Obstacles to Doing CI for APIs• Unreliable tests• Actionable results• Automation• Availability

6

Unreliable tests

ChallengeAPI’s are often highly interdependent making tests hard to build and maintain

Current StateIt is not hard to test a single API function, but stringing functions and tests together requires extensive scripting

ImpactTests are brittle and need constant refactoring, impacting quality and time to market

7

Actionable ResultsChallengeGetting results quickly, distributing those results to the right people and taking appropriate action on them

Current stateAPI tests take too long and results are often obscure

ImpactAPI quality suffers while the team has a false sense of confidence as APIs go into production

8

Automation

ChallengeCommitment of full-scale automation required for CI is often lacking

Current stateStatus quo works and there is investment required to flesh out a CI harness

ImpactTime to market, quality

9

AvailabilityChallengeThe interdependent nature of APIs means you need to test APIs together.

Current stateDependent assets are often not available as they too are in development

ImpactTime to market, quality

10

What’s required – Better Test Reliability

• Express your API tests in a scriptless manner

• String unit tests together with stateful transfer

• Use point and click test workflow cdesign

• Simplify your environment refactoring

11

What’s required – More Actionable Results

• Distribute your tests across the network to speed test execution

• Use purpose-built API functional and load testing

• Customize reports and distribute in various formats

• Automate report distribution

12

What’s required – Full Test Automation

• Simplify API test expression

• Directly integrate API tests into Jenkins or other CI frameworks

• Automate functional testing, load testing and virtualization

13

What’s required – Service Virtualization

• Simplify the creation and management of virtual services

• Make it affordable

• Tight integration into functional and load testing

• Ability to easily generate “virts” from a specification framework like Swagger

14

Best Practices

• Enhance developer responsibility (and accountability) for API quality

• Don’t try to “boil the ocean” implementing API testing on day 1

• But ultimately, automate, automate, automate

• Pay attention! Take note, and correct, persistent problems

15

16

SmartBear Technology Stack

17

Thank you!

David ParkerDirector, Strategic Alliances

Email: [email protected]

SanKeth ShanbhagPresales Engineer

[email protected]