Founder Project · Contact Center

Contact Center Test Automation: 1,500+ Cypress Tests Across 20+ Microservices

Our founder led test automation for a contact center telephony platform: Cypress UI and API tests, an 800+ test smoke suite and Jenkins pipelines.

A founder project: work our founder, Muhammad Usman, led before he started SprintSynergy in 2021. The client is not named.
founder-project / contact-centerCompleted
Client
Contact center telephony platform, unnamed
Platform
A telephony switch that handles agents' calls: 20+ microservices and 2 web UIs
Role
Our founder was QA lead for the platform's UI service
Team
A QA team of three
Pipelines
Jenkins: smoke (800+ tests) and regression (the full suite)
Test Runs
On a remote machine, with Docker images deployed first
Stack
CypressJavaScriptJenkinsDockerMochawesomeJira
2,000+Manual Test Cases
1,500+Automated Tests
800+Tests in the Smoke Suite
20+Microservices

The Result

What Was in Place by the End

  • An 800+ test smoke suite for quick health checks, with the full 1,500+ test regression suite behind it, both in Jenkins.
  • Tests that follow the platform's setup order: endpoints, then vectors, then agents.
  • Six recurring kinds of failure caught, from agents that could not be created to failed agent-to-station communication.

Overview

The Switch a Call Center Runs On

Our founder was the QA lead for the UI service of a contact center telephony platform: the switch a call center runs on, handling its agents' calls. The platform ran on 20+ microservices and had two web UIs, and a QA team of three tested both. The work covered 2,000+ manual test cases and a test automation framework in Cypress with JavaScript, which also ran the API tests. The automated suite grew to 1,500+ tests. Jenkins ran them as smoke and regression pipelines on a remote machine, where Docker images were deployed first, and Mochawesome reported the results.

The Dependency Chain, Simplified

The Problem

Features That Depend on Each Other

In call center software, features depend on each other. An agent cannot be created until its endpoints and vectors exist, and those have to be created in order: endpoints first, then vectors, then the agent. A test that creates an agent has to build everything it depends on first.

The platform was also spread across 20+ microservices. A fault in any one of them can show up in the UI as a feature that does not work: an agent that cannot be created, a report that does not load or a sign-in that fails.

What Was Tested

Two UIs and the APIs Behind Them

  • Two Web UIs: both of the platform's UIs, automated in Cypress.
  • APIs: the services behind the UIs, also tested in Cypress.
  • Endpoints, Vectors and Agents: creating each one, in the order the platform needs. Vectors are the call routing rules.
  • Agent-to-Station Communication: the connection between an agent and the station they take calls on.
  • Reports: the reports the platform produces.
  • Authentication: signing in and access to the platform.
  • Jira Tickets: features and fixes, tested ticket by ticket.

How It Was Built

Cypress, Jenkins and Docker

  1. A QA team of three, with our founder as QA lead for the UI service.
  2. 2,000+ manual test cases.
  3. A test automation framework in Cypress with JavaScript, covering both web UIs.
  4. API tests in the same Cypress framework, so UI and API tests share one tool and one language.
  5. 1,500+ automated tests.
  6. Tests that run in dependency order. Because features depend on each other, the suite runs in sequence: endpoints first, then vectors, then agents.
  7. Test runs on a remote machine, where Docker images were deployed before the tests ran.
  8. Jenkins pipelines for smoke and regression. The smoke pipeline runs 800+ tests as a quick health check. The regression pipeline runs every test in the suite.
  9. Mochawesome reports for the test results.
  10. Testing of Jira tickets alongside the automated suite.

What Testing Found

The Bugs That Came Up Most Often

Recurring · Agents

Agents Could Not Be Created

Backend issues stopped agent creation, so new agents could not be set up to take calls.

Recurring · Endpoints

Endpoints Not Working

Endpoints are the first step in the setup chain, so a broken endpoint holds up the vectors and agents that come after it.

Recurring · Vectors

Vectors Not Working Properly

The call routing rules, the second step in the chain, did not work as expected.

Recurring · Reports

Reports Not Working Properly

Reports did not show what they should.

Recurring · Authentication

Authentication Not Working

Sign-in and access to the platform failed.

Recurring · Stations

Agent-to-Station Communication Failing

Agents and their stations could not communicate, on a platform built to handle agents' calls.

What Was Delivered

Handed Over

  • 2,000+ manual test cases.
  • A Cypress framework in JavaScript covering two web UIs and the APIs.
  • 1,500+ automated tests, run in dependency order.
  • A smoke pipeline of 800+ tests and a full regression pipeline, both in Jenkins.
  • Test runs on a remote machine with Docker images.
  • Mochawesome reports for the test results.
  • Testing of Jira tickets for features and fixes.

Questions

Frequently Asked Questions

By running the tests in the order the platform needs. On this contact center platform, an agent can only be created after its endpoints and vectors exist, so the suite created endpoints first, then vectors, then agents.

Building on Microservices with Features That Depend on Each Other?

Book a free 30-minute QA strategy call. A written QA plan follows within 48 hours.

Book a Free QA Strategy Call