Testing HR software
Portfolio

Providing top-tier operation of an employee relationship management platform

To resolve issues detected by users and free up the time of developers who had to be involved in testing, the client reached out to a1qa.
Functional testing
Other
Test automation

Overview

An employee relationship management platform was designed for HR managers to increase staff engagement and improve business efficiency. It allows users to fulfill tasks leveraging a single solution — from assessing personnel performance to publishing company news. 

However, the organization didn’t have QA and testing activities in place, which caused problems with software quality. 

Services offered

Functional testing
Test automation

Project scope

Firstly, two a1qa engineers were tasked with enhancing QA practices and addressing blockers and critical defects throughout the pilot project. Secondly, it was crucial to increase test coverage and automate the tenant management process. 

Pilot project

After the software was released, each end user worked with a customized version of the platform. The lack of dedicated QA teams and the frequent introduction of new functionality created risks, threatening the product’s success. To address these challenges, a1qa began building QA processes from the ground up, focusing on improving quality. 

One of the first steps was helping the client choose an optimal toolkit to organize QA processes effectively, tailored to the project’s needs. JIRA was selected for issue tracking, and Zephyr was chosen for test management, ensuring seamless integration and scalability as the project evolved. 

Selecting the scope of functionality for testing was next in line. As new features appeared swiftly, together with the client, the specialist determined critical flow and most stable features to verify in the first place. 

First, the QA engineer developed a full functional test to perform positive and negative checks and test logical chains between web app functions and a compatibility test for a mobile version. 

Rapid functionality growth was followed by a need to introduce test automation to reduce labor costs and speed up testing cycles. The specialist got down to test design, described test cases, launched them manually, and selected 10 of them to be automated as a critical path. Having the necessary scope, a QA automation engineer selected a technical toolset matching customer’s standards:  

  • C# as a programming language  
  • Microsoft Azure DevOps as a CI and test execution system  
  • Selenium WebDriver as a way of web interface interaction.  

Next, the QA automation engineer automated 10 test cases and configured a test execution pipeline. All tests were created for one tenant only. 

Further cooperation 

Setting up the QA process was followed by further broadening test coverage.  

As for functional testing, a1qa enlarged the testing scope and verified less critical features of the already tested tenant. The specialist proceeded with new feature and regression testing, defect validation, generating detailed reports on testing results. Close collaboration with the client’s customer support head helped track defects spotted by end users and analyze their root causes. 

a1qa initially focused on running existing automated tests on other tenants while progressively increasing test coverage for the highest-priority functionality. The ultimate goal was to fully automate the tenant management process, including their creation, deactivation, deletion, and running test cases on both newly built and existing ones. 

To streamline the process and improve efficiency, the QA engineer developed testing scenarios that accounted for the differences between tenants while utilizing shared logic. 

Next, the QA automation engineer implemented shared logic through reusable, universal scripts while isolating specific differences as custom implementations. 

To effectively handle multiple tenants, the QA automation engineer designed a test automation framework and took the following actions: 

  • Implemented a factory pattern for tenants to choose the right environment and have suitable objects during the test execution. 
  •  Set up a system to process additional configurations, enabling their selection and passing based on the properties specified for each test run. 
  • Built a Page Object model abstraction where the specialist generalized common implementations for different tenants and described inherited Page Objects containing specific implementations for them. This approach ensured the independence of the test logic and tenant logic. 
  • Introduced an interactions and integrations module for data transfer through system components like back-end, database requests, and a utilities module for data formats and models conversion. 

a1qa tested tenants containing the relevant data and empty ones. The QA process for the latter represented a challenge, as after creating them, the engineer had to input big data amounts into them before testing. 

To streamline this process, the specialist developed separate automated tests for entering data that simultaneously checked its proper generation and integrity. Automated tests were applied to verify functionality responsible for managing tenants and data generation.  

Technologies & tools

  • SpecFlow
  • Microsoft Azure
  • Selenium WebDriver
  • Postman
  • Zephir
  • JIRA

Results

  • Improved operational efficiency by implementing accurate and streamlined testing processes that promptly identified issues, reducing the chances of rework.
  • Increased test coverage due to implementing test automation, thus enhancing both the depth and breadth of quality control processes.
  • Strengthened product reliability as a result of introducing consistent quality assurance practices across the entire development cycle.
  • Minimized regression risks with test automation, which enabled frequent and thorough retesting of software after changes were made.
  • Improved scalability of QA processes by designing an adaptable and efficient testing framework tailored to meet the client's current and future needs.

In numbers

1.5
years of the project duration
2
QA engineers involved
3
tenants covered with testing
87
automated test cases developed
6
pipelines created
36
blockers detected

Get in touch

Please fill in the required field.
Email address seems invalid.
Please fill in the required field.
We use cookies on our website to improve its functionality and to enhance your user experience. We also use cookies for analytics. If you continue to browse this website, we will assume you agree that we can place cookies on your device. For more details, please read our Privacy and Cookies Policy.