AI-powered Edtech platforms need Next-gen Quality Assurance. With a pandemic over our shoulders, a lot of new e-learning apps emerged in the market. The biggest challenge these organizations face is time to market. They want their app in the market ASAP and without any Performance issues.
In this blog, we will see how to test an Edtech platform for performance issues. We will briefly explain the methods followed during the performance testing of the platform.
Growth of Edtech Industry
The education industry is one of the world’s largest industries contributing to more than 6% of the GDP. The Education industry is witnessing a steady rapid growth in recent years. The current shift to the massive adoption of online education, especially after COVID-19 has boosted the EdTech market.
Education Technology or EdTech is the combination of educational practices and IT tools aimed at aiding and enhancing learning. This includes remote learning, distance learning, online learning and more. The global EdTech market size is expected to grow from USD 85,818 million in 2020 to USD 181,265 million by 2025, at a Compound Annual Growth Rate (CAGR) of 16.1% during the forecast period.
This sudden increase has caused a massive boost to the education industry with the inflow of investments, acquisition, up-gradation in offerings and more
Starting from AI-powered teaching, AI is playing a vital role in Edtech by offering a lot such as content recommendations, chatbots, voice to text and more.
About our client
Our client had an innovative Edtech platform, powered by an AI engine. The platform was designed to provide digital education experiences to students and a wide audience of learning aspirants for professional skills and higher education. The portal connects over 2 million schools and leverages analytics to deliver personalized learning outcomes for end-users. The app is envisioned to be scalable across education markets, devices, and data by delivering content to a diverse learning audience.
The application is an AI-based edtech platform designed for students to give them the best digital experience. The application delivers learning content, recommendations, features guided practice, and in-depth analytics. This application is developed on Java and is deployed in Kubernetes environment. The is available on Web and Mobile versions (Android and iOS). The application had over 3 million monthly visitors and the engagement is massive.
Related Article: Performance Testing of Mobile Applications – Things to Consider
Testing Edtech Applications for Performance
Performance testing is crucial to any application and the Edtech application is not an exception. Given the fact that multiple users can log in at the same time to access their profiles, it is necessary to test the application for performance.
Since the portal connects over 2 million schools, our focus was on load testing. We have to be absolutely sure that the application should not crash when it hits the peak.
How we tested the application for Performance
There were several challenges our client faced with the performance of the application. They wanted an expert in software testing services to help them with their application’s performance testing.
As a first step, we conducted a maturity assessment of the application. We also checked the API requests for reliability and performance. This will give us an understanding of the current scenario.
Indium is a leader in Quality Assurance consulting. We always define a roadmap and provide suggestions before the execution of the project. As A Result, we defined a workload model based on production volume transactions and also a research of similar products to arrive at a peak load of 100K
Since we need to test 100k concurrent users, we suggested the Locust load testing tool. Locust is proposed for its event-driven testing and scaling users.
The use case to support distributed and scalable number of users in a single process is taken into consideration to conduct tool-based tests. Locust is deployed using Kubernetes engine service provided by Google Cloud and Azure
API request and response times against user load are tested by progressively adding users and assessing performance until the target concurrent load is achieved
Locust test metrics were captured via CSV file. Server metrics were monitored via the New Relic APM tool and individual pods servers in the Kubernetes environment was monitored via Prometheus & Grafana tool
Reported Performance Bottlenecks in JIRA (defect management) and provided recommendations to meet industry standard SLAs. Key recommendations:
- Hardware Sizing – Number of Pods required (Pods Sizing) for the application server to support 100K users
- SQL tuning: Based on analysis of Queries and transaction traces from the New Relic APM tool, high response times of 3 secs and above are identified. Response times have significantly improved to 1 second, after executing recommended SQL tuning methods.
Our consultative approach to QA has been the standout feature throughout the project. We monitored performance metrics and provided actionable recommendations to our client. Post implementing the performance recommendation and Regression tests, there were less than 1% failed concurrent access which was down from 8%.
Our team achieved one-second post query tuning after aggressive API load SLAs
Realistic test scenarios and iterative testing to accomplish standard responsiveness of the application to high volume transactions/ 100K+ spike load instances.
We saved money for our client by using open-source tools like Locust at no additional investment in gathering metrics. Our experienced team of performance test engineers contributed to adding the comprehension layer to interpret the tool-generated results and translate them into insights
Indium’s Performance Testing Capabilities
Indium Software has been in the Quality Assurance industry for more than two decades now. Our expertise span across various performance testing services, including load testing, performance tuning, stress testing, spike testing and more. Our hands-on experience in various performance testing tools has always been a key factor in creating happy clients. Want to know more about what we can offer, check out our performance testing capabilities.