Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile Testing, Goblin

Agile Testing, Goblin

rivaturi

March 24, 2016
Tweet

Other Decks in Technology

Transcript

  1. Agile Testing Framework, Goblin Ravi Sankar Ivaturi, Senior Software Engineer,

    Test, Groupon Inc. Adithya Nagarajan, Director, Test Engineering, Groupon Inc
  2. Agile Testing • Agile development is both incremental and iterative

    • Agile testing is an approach on development projects using agile methods and paradigms satisfying agile values
  3. Agile Testing Quadrants • Technology facing tests and Business facing

    tests • Technology facing tests: Building the product right • Business facing tests: Building the right product
  4. Agile Testing Quadrants Contd ... Q1: Technology facing tests that

    guide development Q2: Business facing tests that guide development Q3: Business facing tests that critique (evaluate) product Q4: Technology facing tests that critique (evaluate) product
  5. Goblin, An Agile Testing Framework Goblin is a modular and

    extensible Agile testing framework developed at Groupon, designed to model the agile test quadrants by integrating proven and state-of-the art open source tools and frameworks that help kick-start writing various automated tests for databases, RESTful microservices, user interfaces and messaging systems with minimal effort that helps support Continuous Integration (CI) and Continuous Deployment (CD) pipelines. Goblin is a multi-module Maven project that inherently supports convention-over- configuration with plug-n-play design that ensembles various open source tools and frameworks.
  6. Goblin Framework Essentials • Utilities • Database tests • Service/API

    tests • User Interface functional tests • Acceptance Tests • Client side Performance tests • Load/Stress tests • Security tests • Tools support
  7. goblin-utils • Utilities to read from property files • Utilities

    to read from YAML files • Utilities to read from XML files • Utilities to read from JSON files • Utilities to read from CSV files • Utilities to support Internationalization (i18N) and Localization (l10N) testing • Utilities to test caches • Utilities to convert JSON schema/objects to POJOs • Utilities to support TDD
  8. goblin-db-test-utils • Utilities to connect to single/multiple databases (H2, Mysql,

    Oracle, Postgres) • Utilities to test CRUD operations • Utilities to seed database tables • Utilities to test data migrations • Utilities to generate schema documentation from database schemas
  9. goblin-api-test-utils • Utilities to test HTTP methods of REST APIs

    • Utilities to support test doubles using Stubs for mimicking downstream services • Utilities to support Consumer Driven Contract (CDC) tests
  10. goblin-ui-test-utils • Utilities to functional test Web and mobile User

    Interfaces using WebDriver • Utilities to bring up local Selenium Grid or connect to remote/cloud providers • Utilities to test using proxy • Utilities to test Web Consistency • Utilities to test usability • Utilities to test static reports generated on Web
  11. goblin-atdd-bdd-utils • Utility Fixtures to write Acceptance tests using Fitnesse

    using ATDD • Utility Fixtures to write BDD tests using Fitnesse & GivWenZen • Utility Fixtures to integrate UI acceptance tests using WebDriver • Utility Fixtures to integrate REST and DB tests
  12. goblin-test-data-utils • Utilities to generate test data for databases •

    Utilities to generate test data for UI and service tests
  13. goblin-test-utils • Utilities to generate screenshots for UI tests using

    listeners • Utilities to support parameterized XUnit frameworks
  14. goblin-security-test-utils • Utilities to security test Web and Services using

    OWASP standards • Utilities to proxy Web and services and generate reports
  15. goblin-perf-test-utils • Utilities to capture client side http statistics •

    Utilities to configure performance parameters in YAML foramt • Utilities to generate Performance test reports
  16. goblin-load-test-utils • Utilities to configure load/stress parameters • Utilities to

    run load tests • Utilities to generate load test reports
  17. goblin-alm-utils • Utilities to support outside-in barrier free ALM tools

    integrations • Utilities to measure Code Coverage • Utilities to measure quality metrics • Utilities to manage test plans and test cases
  18. goblin-archetype • Provides a multi-module taxonomy of tests • Easy

    to kick-start writing tests • Example tests help start writing various tests with a little to no help • Help run these test on CI and CD pipelines using Maven profiles • Helps organize all dependencies