a1qa shifts testing left and helps release high-quality real estate software
Portfolio

a1qa shifts testing left and helps release high-quality real estate software

With a1qa’s support, the client ensured the reliability, performance, and usability of released IT solutions, accelerated time to market, and shifted to Agile workflows.
Compatibility testing
Integration testing
Migration testing
Mobile app testing
Performance testing
Regression testing
Usability testing

Overview

The client is a UK-based company that serves millions of agents and property seekers around the country to buy and sell real estate.   

The client wanted to release a multi-functional web portal integrated with third-party services. It is separated into 3 parts ― for agencies, for renters/buyers, and the admin panel. The client was also simultaneously developing a native mobile app for iOS and Android to ease the search for housing for end users. 

To accelerate time to market and roll out high-performance software that appeals to millions of people, the client was looking for professional QA support. 

Services offered

GUI testing 
Usability testing 
Compatibility testing 
API testing
Regression testing
Performance testing
Mobile app testing
Test automation
Integration testing
Data migration testing

Project scope

Throughout the project, a1qa:  

  1. Designed and implemented a holistic QA approach from scratch to quickly deliver sound software.   
  2. Embedded shift-left testing strengthened by behavior-driven development.

To achieve the first aim, a1qa assigned a QA manager who analyzed existing workflows, compiled a QA strategy to perform end-to-end UAT, and made sure the product was ready for release.

Additionally, a1qa dedicated the team of QA experta1qao fulfilled:

Preparation

The team delved into the software specifics and created test cases, acceptance criteria, requirements, and other necessary test documentation within tight deadlines to check software business logic and make sure it operates as designed.

GUI testing

To confirm that the platform had the best appearance per requirements, a1qa verified the location and unification of layout elements (menus, buttons, icons, etc.), the stylistic integrity of data display in the system, readability of fonts, the clarity of images, and other aspects.

Usability testing

a1qa’s team checked usability heuristics to provide an intuitive, user-friendly design was applied and end users had no bugs when working with the software (e.g., the layout of elements, the number of user steps per operation, primary action buttons are in bold).

Compatibility testing

Cross-browser (Google Chrome, Mozilla Firefox, Safari) and cross-platform (Windows, macOS) testing, enabling identical behavior of the platform under different conditions, meeting responsive design criteria, and identifying critical defects that could affect system functioning.

API testing

The platform supported integration with third-party services (e.g., HubSpot). After writing end-to-end scenarios, the a1qa QA engineers used Postman to check that requests were sent correctly to and from the platform, clients’ data in requests were full and correct, and more.

Regression testing

Regression testing helped confirm the faultless operation of a previously introduced patches.

Having contributed to the release of the platform within a tight deadline successfully, a1qa’s team switched to the second goal ― introducing a shift-left testing approach reinforced by behavior-driven development. To do so, a1qa applied the following best practices:

  • Created a specific type of test document called ‘Test approach’

This document included sections with verifications to test each feature. More importantly, it contained extra data for each user story such as test environments, cybersecurity risks, further coverage by test automation, the connection of features with other modules, and possible dependencies.

QA engineers drew this document up before developing the functionality. When developers received the task, they followed a detailed blueprint for each feature and wrote code with the least number of bugs.

  • Monitored diverse metrics

a1qa’s QA manager set up automated metrics in Power BI that took data on software issues from Microsoft Azure DevOps and established a target result on their allowed number.

The specialist also created appropriate metrics to track defects detected during user story testing and bugs found in the production environment or during regression testing.

So, managers evaluated the quality of developing new functionality and reached the set goal ― only 1 defect in 2 user stories. Thus, the number of defects/bugs and regression risks decreased, as well as the time required for opening and fixing defects/bugs.

  • Seamlessly blended behavior-driven development (BDD) into the shift-left approach

QA engineers wrote test documentation (requirements, acceptance criteria, etc.) using Gherkin syntax to allow for easy test automation in the future. a1qa recommended writing atomic test cases that contained only 1 requirement in order to test them separately or in diverse combinations (forming suits).

QA engineers could automate selective user stories instead of working with multi-step end-to-end cases and save time and effort, as test cases were already suitable for automation.

  • Implemented Three amigos meetings

Business analysts, developers, and QA engineers regularly discussed software requirements for multiple features before any development starts. Software engineers and testers analyzed potential risks, foresaw integration problems between software modules, and determined aspects to consider, while business analysts used this data to form requirements.

This approach aimed to change the software developers focus so as to prevent bugs rather than fix them and provide everyone with an understanding of each functionality and probable risks.

  • Preserved authentic working styles within each development team

a1qa performed 6 customized internal audits to analyze the approach applied within the 6 development teams, identify process issues, and find solutions.

Initially, the purpose of the audit was to help design a universal approach to ensuring software quality for all the teams. However, a1qa considered the client’s desire to preserve a unique working style in each team as it makes them feel comfortable and motivated to reach objectives.

Instead of making everyone follow a single scheme, a1qa created basic QA guidelines (contained retrospectives, demos, Three amigos before planning sessions, Test Approach, etc.) and allowed each team to preserve autonomy in their flow and support shift-left testing.

For instance, the frequency of retrospectives, sprint pre-planning sessions, or the number of steps on Agile boards varied from team to team.

  • Conducted tailored meetings with the client’s teams

a1qa and the client’s PM crafted presentations for the whole company and 6 development teams. These presentations showed existing process challenges, solutions, time and money saved by applying them ― all to motivate software developers to deliver good-to-go code from the start.

In parallel with these activities, a1qa provided post-release QA support that included:

Performance testing

a1qa’s engineers defined scenario coverage, required performance testing criteria, and fulfilled server-side testing of APIs that included stress, load, volume, and configuration testing. They also conducted client-side testing to measure the time required by the user’s browser to upload HTML pages. It helped improve performance. Even within 1 API (book evaluation), the number of total handled requests increased from 400 to 46,000, the number of users ― from 1 to 45.

Mobile app testing

a1qa demonstrated to the client the value of using real devices and the increased testing accuracy and help with spotting more flaws they bring.

Using such an approach, the QA engineers checked the connectivity, functionality, menu, and other high-priority aspects of the software.

Test automation

a1qa assisted the client in automating tests to check Android and iOS versions and work out a single solution that allows for executing the code of the same test case for any platform.

The native application was written using React Native and React Navigation frameworks and possessed multiple complex elements.

The structure of pages had layers. It was impossible to find elements on the page because of the XCUITest driver’s limitation. Tests couldn’t run on iOS using standard web/mobile driver solutions.

First, the QA expert tried to implement the Appium framework, which worked well on Android but bad on iOS. Then, the specialist tried to implement tests using Swift and XCUITest driver directly, and that’s when defining the issue with layers’ limit occurred.

Therefore, QA engineer chose a Detox framework that works as a “Grey box” by adding additional code lines into applications to interact with elements on a process level.

Detox worked well for the iOS version. However, it only is suitable for simulators and doesn’t support real devices. For the Android version, it was necessary to rewrite the application to use with Detox. It required extra scripts that inserted necessary lines of code to build the .apk file suitable for Detox.

The engineer implemented 2 test variants. The first option used a Cucumber framework which has good readability for non-developers but requires more time from the developers. The second ― using Jest, which is less readable but easier and faster to use for developers.

Integration testing

The QA team performed integration testing to make sure the platform received data from third-party systems such as HubSpot (for instance, requests for estimating accommodation costs) and the interaction of modules was flawless.

Data migration testing

The client cooperated with numerous real estate agencies that had extensive databases. The QA engineers performed data migration testing to help transfer this information from real estate agencies (requests, houses, clients, etc.) into a proprietary database and ensure data correctness and integrity.

The client appreciated a1qa’s support and contribution to meeting business objectives.

Technologies & tools

  • WebPageTest
  • Grafana
  • Postman
  • DevTools
  • PageSpeed ​​Insight
  • Lighthouse
  • speed.io
  • Apache JMeter
  • Detox
  • Cucumber
  • Jest
  • Power BI
  • Microsoft Azure DevOps
  • BrowserStack

Results

  • Setup of a shift-left-based approach to QA supported by behavior-driven development, which contributed to rolling out sound software without professional assistance. Later, only 2 manual QA engineers and 1 QA automation engineer supported 6 development teams.
  • Release of high-performance software due to integrating QA into the CI/CD development process and introducing efficient metrics and toolkits ― all to increase quality in the production environment.
  • Significant acceleration of the QA process as less time was necessary to identify and fix defects detected during user story testing rather than bugs found in the production environment, which decreased over time.
  • Improved software efficiency due to performance testing of APIs, which helped increase the number of total handled requests by tens of thousands of times.

In numbers

2
years of project duration
10
QA engineers involved during peak load
46,000
total requests handled due to performance testing
6
customized internal audits

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.