api testing and continuous integration -...
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
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
17
Thank you!
David ParkerDirector, Strategic Alliances
Email: [email protected]
SanKeth ShanbhagPresales Engineer