Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Brightcove presentation on Automated Testing


Published on

Keith Williams, Senior Software Engineer in Test at Brightcove presented at MassTLC's automated testing event on June 12, 2013 at Brightcove, Boston, MA

Published in: Technology
  • Be the first to comment

Brightcove presentation on Automated Testing

  1. 1. Balancing Test Automationin a Continuous DeliveryWorld
  2. 2. kwilliams@brightcove.comtwitter: @bckwilliamsKeith WilliamsBrightcove Automation Specialist
  3. 3. Composition of Effective Test StrategyComponent TestAPI or IntegrationTestWebdriver
  4. 4. • Low level - testing within a component• Developed in same language as product• Written by developers• Use TDD if it works for your team• Heavily mocked, eliminating DB and otherservice interactionsComponent Testing
  5. 5. • Easy to develop tests - function/methodbased• Run as first step of every code checkin• Very fast runtime with many tests• Easiest tests for great code coverage• Depending on language, some great toolsavailable (RSpec, JUnit, Midje,CoffeeScript, etc)Component Testing - Benefits
  6. 6. • Tests the exposed API of a running service• Tests target the services API, but may useother APIs• Define each services API specification andtest cases• May leverage mocking of other services orDBAPI Testing
  7. 7. • Developer and CD pipeline run afterdeployment• Fast running with many tests• Catches server configuration anddeployment issues• API_Test Framework for RESTful APIsAPI Testing - Benefits
  8. 8. • Browser based testing of deployed stack• Tests are a flow through web pages perhaps indifferent services• Few or no mocks• Fewer tests that are slow running• More difficult to developWebdriver Testing
  9. 9. • Full Integration tests• Good for testing services with UI components• Catches environment, networking,configuration, deployment and service issuesWebdriver Testing Benefits
  10. 10. • Selenium 2.0 based with Ruby page_object• Pages of each service are in separate gem• Tests reside in the service source treeWebdriver Framework
  11. 11. • API Specificationo Service Resource (base_url)• Operationo http verb, list of urls (versions)• API Shortcuts - ease use from other testsAPI_Test Framework
  12. 12. • API Tests - reside with service source• Allow table based specification of test cases• Easy to understand what tests arepresent/missing for a resource/operation• Automatically expanded for all operations(versions) and urls• Easy to add new positive/negative testsAPI_Test Framework(contd)
  13. 13. ?Questions