Skip to main content

 

 

Coupa Success Portal

Development and Quality Engineering

Product Development (Dev)

Our crack team of engineers, consisting of some of the best and brightest minds in the field, work out of Coupa's development center in San Mateo, in the heart of Silicon Valley. Our Dev or engineering team takes designs from Product Management (PM) and builds them into our technology stack.

Once a product or feature is ready for development, Coupa follows an agile software development process using SCRUM/Sprint iterative methodology.

Underlying Coupa's software development lifecycle is Time Box, a project management technique that facilitates the development of each product release. At Coupa, a Time Box usually includes 3-5 Sprint cycles, or development cycle units, which last 2 weeks each. The Time Box promotes continual product development, by setting expectations for the time and effort to be dedicated to building specific product features and enhancements during each Sprint cycle.

For each product release cycle, Coupa’s development team focuses on building a new set of features and enhancements. Sprint planning meetings are held to determine which subset of these new product features will be developed during each Sprint cycle. When the development of a product feature has been completed, it is then tested by our Quality Engineering (QE) Team.

Quality Engineering (QE)

Before any code goes live, it undergoes rigorous testing by Coupa's QE team to ensure a high level of quality and customer satisfaction.

Our QE team tests the code developed during each Sprint cycle using a set of test scripts. Critical features are also tested through a number of automated unit test and selenium scripts. If any bugs or issues are identified, a ticket is generated and routed back to our development team so the necessary repairs can be made.

QE testing is ongoing throughout the development process and sprint cycles. Once all the code has been developed for features targeted for the product release, our QE team performs full application testing. The Coupa application must successfully execute all test scenarios before the new product features and enhancements are deployed in Coupa's production system and released for customer availability.

Release Testing 

Edit section

In order for Coupa to deliver three releases a year and updates every other week, we do an incredible amount of testing as part of each individual code change that gets put into the product. We want to provide you some insight into the level of testing that happens to show you our commitment to a high quality release process.

 Type Coupa Testing Rigor
Major release

We run tens of thousands of tests for every line of code that's put into Coupa. These tests run hundreds of times per day, and fall into four categories:

  1. Developer unit tests and quality engineering tests during development
  2. End-to-end scenario tests across all supported browsers; automated regression and integration tests
  3. Early hardening tests; automated and manual regression tests; performance tests against customer clone instances; further integration tests
  4. Late hardening tests; automated and manual regression tests; upgrade and migration testing; final integration tests
Maintenance update

We perform the same developer unit tests as we do for major releases. We also perform automated regression tests for all browsers, and flat file integration testing. Finally, we manually verify all of the bug fixes included in the maintenance update.

Daily update We perform all the automated testing as part of a Daily Update.  This includes automated test around developer unit tests, regression tests, integration tests, end to end scenarios.  In addition we manually verify that the issue that caused the Daily update is resolved.
Post update Testing In addition to all the testing we do as part of the software development process.  We also have automated tests that will validate components across a set of customer sandbox and production instances as part of the release process.
  • Was this article helpful?