Who is the Client

The client is an online specialty retailer in the business of selling clothing and outdoor recreation gear.

The Challenge

The single most significant challenge was that the client had no cohesive Quality Assurance (QA) infrastructure. Not a single bug had been logged, which meant there was no way to identify vulnerable components in the overall application architecture. Without a viable change history, tracking the overall development of the software infrastructure was extremely difficult. The client was using Rally, but only to develop customer stories.

Another key challenge was to get the client's developers realize the value regression testing provides in gauging the impact a new feature can have on the existing codebase. Without a set of regression tests, there's no way to predict in advance if a new feature, or other application modification, broke existing functionality. Individual developers were engaged in sporadic unit testing without a coordinated central strategy. To further compound the problem, only a single round of uncoordinated user testing occurred with each new release.

The client needed:

  • A coordinated testing strategy and methodology: If the developer did not catch the bug, the only other way it was spotted was in production. The client needed a coordinated testing strategy and an introduction to testing methodology.
  • End-to-end testing infrastructure and management: In addition to organized unit testing, the client also needed a consistent testing infrastructure that performed tests that included integration testing, feature testing, smoke testing, and regression testing. A centralized test management system was also needed to tie the various forms of testing together.
  • Orderly deployment process: Developers could post code directly to production without testing, verification, or validation. At times, when a developer merged a new branch, conflicting commits caused bugs. The client needed an orderly way to deploy new features.
  • Automated testing and deployment infrastructure: The client needed an automated infrastructure that accounted for testing, integration, and deployment in order to minimize potential errors during the rollout of a new release.

The Solution

GSPANN's QE team came up with a comprehensive plan that completely revamped the client's application release process. One significant contribution was introducing the client to the concept of the QA lifecycle. The test automation infrastructure included the creation of test strategies, an overarching test plan, and building a test case repository.

To provide a comprehensive solution, our team did the following:

  • Created a testing repository: This repository provides a centralized location where test cases are stored. The client can easily add or modify the contents of this at any time, providing a scalable foundation for future testing.
  • Built a centralized planning framework: Using Confluence as a team workspace tool, the client can now document application planning and module descriptions, among other things.
  • Provided bug tracking, reporting, and resolution: Bugs are now formally logged and tracked using Jira. Developers and management can instantly view the application release status at any given moment.
  • Implemented end-to-end testing: Incorporated integration testing, feature testing, smoke testing, and regression testing, among other forms of testing, into the client's overall deployment process.
  • Created a QE automation framework: The comprehensive testing framework is fully automated, reducing the possibility of human error when new features are rolled out to production. The automation aspect also improves scalability.

Business Impact

  • Rapid deployment of new features: Cross-browser and cross-platform automation testing significantly reduced the deployment of new features, ultimately leading to greater customer retention and increased sales.
  • Minimized rollbacks: The QA cycle was introduced with every application module as it went live. Bugs are now spotted earlier in the development process, reducing the chances of rollbacks, saving developers’ time, and adding to overall efficiency.
  • Better optimization using switch-on/switch-off feature testing: In the past, the client could not remove a badly performing new feature without a lot of careful surgery. With the new testing and deployment infrastructure, the customer can quickly switch on a new feature or turn it off without disrupting the user experience.
  • Future growth and scalability: The new infrastructure is highly automated and includes a centralized test case repository providing a solid base for future growth.

Technologies Used

Nightwatch.js. Integrated end-to-end testing JavaScript platform for web applications
Sauce Labs. Automation tool to provide cross-browser, cross-platform testing
Jenkins. Feature-rich CI/CD delivery server used to automate the deployment process
Faker. Generates realistic test data
Confluence. Collaboration tool designed to facilitate collaboration between remote team members
Jira. Collaboration tool that helps teams to plan, track and release application software
GitHub. A version control system that allows for seamless collaboration without compromising the integrity of the original project

Related Capabilities

Utilize Actionable Insights from Multiple Data Hubs to Gain More Customers and Boost Sales

Unlock the power of the data insights buried deep within your diverse systems across the organization. We empower businesses to effectively collect, beautifully visualize, critically analyze, and intelligently interpret data to support organizational goals. Our team ensures good returns on the big data technology investments with the effective use of the latest data and analytics tools.

Do you have a similar project in mind?

Enter your email address to start the conversation