More Coverage, Better Diagnostics


Published on

Ole Lensmar, co-creator of soapUI and Chief Architect at SmartBear Software, gave this presentation at STARWEST 2012. We are working, he says, in the "Golden Age of APIs."

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • No UI – you can’t see it!
  • More Coverage, Better Diagnostics

    1. 1. More Coverage, Better DiagnosticsIncluding API Testing Into the Continuous Integration and Deployment Process Ole Lensmar, SmartBear Software
    2. 2. Why should you care about API Testing?
    3. 3. Because today, APIs are at the core of everything!
    4. 4. Mobile Mashups Devices Game Web Consoles Apps APIs Cloud Social MediaServices B2B Appliances Partners Other APIs
    5. 5. APIs are at the core of business strategies – not just technology strategies
    6. 6. APIs are showing extreme growth in all industries (from
    7. 7. We are in the Golden Age of APIs!
    8. 8. What do we actually mean by “API”?
    9. 9. … WOA SOAP REST JSON WSDL XML JMS ThriftBuzzwords? Check! HTTP SOA OAuth Protocol Buffers WADL WS-* POX SPDY WebSockets …
    10. 10. An API is data or a service that is available overthe network using a standard protocol and format for example… An HTTP search request returning results in JSON format A SOAP request for authorizing access to a secured system
    11. 11. Common characteristics of APIs APIs are consumed by software, not end users APIs do not have a UI – there is nothing to “look” at or interact with APIs expose business logic or functionality, mostly for integration purposes APIs can be both private or public
    12. 12. How do APIs fit into an architecture?Business A Business B Mobile / Web App Web App Desktop App REST SOAP Public REST Public API API REST JMS SOAP Thrift Service Service Service Service API 1 API 2 API 3 API
    13. 13. Quality Aspects of an API Functionality – does it work as expected? Performance – does it perform as required? Security – is it secured for common attacks? Usability – is it usable? Compliance – does it follow common practices?
    14. 14. How do you test an API? APIs generally implement a request-response model for exchanging messages or data Parameterized Request Test API ResponseA simple test sends a request message and validatesthat the response message has the expected content
    15. 15. Single vs Multi-Request Tests Request API 1 Response Multi- Request Request API 2 Test Response Request API 1 Response
    16. 16. the “short” demo
    17. 17. How does API Testing relate to other types of testing? UI Tests Web / Mobile / Desktop(automated or manual) API Tests API Unit Unit Unit Unit Tests Unit Unit Unit
    18. 18. Automated API Testing – what do we mean?
    19. 19. “Running preconfigured API Testsautomatically using a test execution framework or scheduler” Functional – Performance - Security
    20. 20. In Agile you have “Continuous Integration”API Tests should be run automatically andcontinuously for every build of the software
    21. 21. In DevOps you have “Continuous Deployment” API Monitors run continuously toensure operations and production quality
    22. 22. Opportunity : Reuse of API Test Assets Development : Continuous Integration / Deployment API Tests and Quality Assets Operations : API Monitoring
    23. 23. Benefits of Test Asset Reuse Realistic monitoring Development Feed-forward – how it’s supposed to work Automated Tests / Assets Feedback – Comprehensive error information Operations
    24. 24. Wrapping up -How should you treat your APIs?
    25. 25. R-E-S-P-E-C-T your APIs! Design for usability Test Early Create Dedicated API Tests Automate your testsAssert performance and security
    26. 26. Thanks!