Portfolio

Boosting software quality for investment portfolio management ecosystem

a1qa provided complex software testing support and shaped QA processes to help the developer of financial software reach their business objectives.
Big data testing
Financial services
Functional testing
Integration testing
Mobile app testing
Test automation

Overview

Having worked closely with a1qa, I have found them to be:

  • Enthusiastic and eager to learn business concepts.
  • Disciplined and diligent in meeting project deadlines.
  • Quality- and detail-oriented in their approach. 

I recommend a1qa to anyone looking for a competent and qualified test automation team.

Director of Technology at a software development company

The client is the US-based founder of a professional infrastructure, designed for both novice investors and seasoned market players. The IT solution helps end users undertake investment operations and make sage tradeable decisions with confidence.

Aimed at delivering high-quality trading software and avoiding expensive post-release defect fixing, the customer decided to involve the a1qa team.

Services offered

Functional testing
Test automation
Mobile apps testing
Integration testing
Big data testing

Project scope

The client developed a range of subscription-based IT products to provide end users with useful market data and recommendations for stress-free acquisition of the most lucrative stocks:

  • A B2B solution — to allow financial advisors to conduct data research, create investment portfolios with certain sets of positions (sorted by a company, position type, paid dividends, etc.), and publish those portfolios on their websites or a B2C platform.
  • Desktop systems — to visualize financial data in charts, graphs, and tables.
  • A B2C platform — to equip end users with access to the tools for finding novel investment opportunities, streamlining decision-making, tracking their assets, and other trading activities.
  • Mobile apps (Android, iOS) — to provide customers with an opportunity to commit investment activities without being bound to a certain place.

a1qa provided extensive QA support to help the client reach their set business goals:

  • Provide impeccable quality for the IT products through a combined QA strategy
  • Expedite software delivery time and increase test coverage by implementing test automation.

A complex software testing approach comprised the high-priority verifications aimed at delivering sound software for individual investors and traders and mitigating any business risks related to financial losses.

Testing the B2B solution

The B2B app consists of a website, API, and a console for nightly test runs.

The a1qa team supported the client throughout the entire SDLC — from an idea to the release of a new feature — by performing functional testing and test automation.

  • Functional testing

As the cost of trading app error is high, QA engineers conducted functional testing within all functionalities to prevent expensive bug-fixing after going live.

The QA team verified the calculation formulas manually to ensure data accuracy for research statistics as well as tested different options of data sorting.

In order to have a timely response to changes, business affiliates harness alerts — modifications triggered by a certain condition. The a1qa experts tested this feature against a large amount of input data.

To give financial advisors an opportunity to publish information about various positions and their prices on their websites, the client developed HTML- and JS-based embedded views.

The development team generated HTML and JS codes, affiliates put those codes in the back-end of their websites, and the QA engineers made sure that the data transferred accurately as well as complied with one in the source system.

Another option to publish investment data is to do it via API. To verify that affiliate’s websites contain the necessary description of positions, the a1qa team suggested implementing test automation.

To optimize QA workflows and shorten the testing time, QA engineers performed image-based test automation. Test scripts identified defects by comparing each pixel of an original screenshot and a screenshot taken after a test.

To keep pace with changing data and timely check modifications in the software, the QA team introduced a console that ran automated tests every night while recalculating all the figures for correctness. After each launch, test automation specialists checked the run results for software bugs related to inappropriate API parameters.

Verifying the quality of desktop analytical systems

The client also engaged the QA team in testing desktop solutions that alleviate research activities and provide data in convenient formats.

The analytical systems harnessed source data from databases (DBs) used by the B2B solution. To correctly process assets, the platforms leveraged WQS files with established calculation rules.

The QA engineers checked uploaded data for consistency, completeness, and relevance, as well as verified the compliance of the system’s calculations with pre-defined rules.

Checking the quality of the B2C platform

The B2C platform is based on dozens of subscriptions that provide end users with various tools for investment activities. The a1qa team was to check that every instrument worked as intended and that a certain end user had access to the possibilities they paid for. QA engineers fulfilled the following QA activities:

  • Functional testing

To verify the expected available tools (showing statuses of tokens, calculating position size, filtering positions, etc.), the a1qa team connected to the third-party CRM system via API calls, compared the actual results with paid opportunities, and detected defects.

a1qa helped the client ensure high-quality software while enabling end user’s trust and confidence in managing their investments.

  • Mobile apps testing

The a1qa team initiated the testing of mobile versions of B2C platforms, including web mobile versions and native apps to provide all users with an impeccable experience.

To provide availability of the apps across the globe against any devices, QA engineers conducted cross-platform and cross-browser checks using real devices.

  • Test automation

As the scope of calculation activities was vast, the a1qa team introduced test automation. Engineers started from writing automated tests using C# and applying Docker for deploying test environment in AWS before running tests. Then, they moved to data-driven automated testing to be in line with daily changes in financial figures.

To run tests without modification, the team uploaded a copy of the DB, put it in the test environment, and blocked data changes. This resulted in stable figures and allowed conducting streamlined automated testing while minimizing scripts code smells from 190 to 1.

graphic-2023-07

Big data testing

The expert team assigned by a1qa was to ensure the validity, reliability, precision, integrity, and timeliness of the data sets (global stock exchange trading statistics, currency cross rates, financial market news, etc.) received from numerous providers. In the case of switching to other data vendor, the engineers conducted data migration and performed its testing while making sure all the information was safe and sound.

To enhance the quality of big data used for functional testing, the engineers spotted defects, validated them, and analyzed them to revise programs operating with input data. In cooperation with developers, the QA engineers prepared business rules that were covered by a monitoring system and were updating them in a timely manner for monitoring logs of inbound data processing programs.

While verifying the correct calculation of complex financial metrics, the QA engineers in unison with the development team were implementing an algorithm on the QA’s side and running various data sets to identify inconsistencies.

In addition, QA specialists created a daily comprehensive system status report based on the large number of SQL queries applied by the QA team. It allowed receiving internal metrics of system viability, increasing data quality, and reducing the number of calls to the client’s customer support service in the case of incorrect financial data.

Integration testing

B2B and B2C solutions used data from numerous broker sites. To streamline the integration with them and provide subscribers with transparent investment processes, the client integrated proprietary platforms with a data aggregator. The a1qa team performed thorough integration testing, which helped the customer verify that all the data was of the same format and all the necessary information had been transferred successfully.

In order to always deliver the project on time and within budget, a1qa:

  • Applied need-driven scalability.

Each time the workload increased, a1qa briskly assigned more QA experts to cope with any client’s arising concerns.

  • Built Agile-based QA processes from scratch.

The experts nailed an operative communication plan. By participating in Scrum events, the QA team established effective interaction with the development team while providing support in processing the user’s feedback.

  • Designed a customized approach to educating project newcomers.

The client’s software contains complicated features, complex business logic, and sophisticated financial concepts. In order for new team members to cope with the tasks within set deadlines, a1qa created a one-week knowledge transfer program. It included delving into the glossary of investment terms and technical aspects specific to the software products.

  • Increased QA efficiency to cope with suboptimal tester-developer ratio.

There were 6 QA experts to ensure the high quality of code written by 26 developers. Therefore, a1qa demonstrated high flexibility and initiated process enhancements. a1qa introduced retrospectives to review the project’s success, identify space for improvement, and solve occurring issues.

The QA experts also offered to implement estimations for QA tasks. Previously, during sprint plannings only software engineers were discussing their capacity. As a result, the last-minute passing of features for testing occasionally caused problems with meeting deadlines. To avoid that and streamline overall planning, both QA and development efforts were considered and wisely allocated within each sprint.

  • Increased the visibility of the obtained results.

For that, a1qa discussed with the client the most significant aspects and customized a comprehensive report describing the current software quality state, statistics on the status of discovered issues, open defects dynamics, data on automated test results, and more.

Due to a1qa’s commitment, the client managed to avoid post-release expensive defect fixing and meet set deadlines. The client is content with business and operational benefits received during the partnership with a1qa and appreciates current cooperation.

Technologies & tools

  • SQL Server Management Studio
  • Lighthouse
  • TestRail
  • Jira
  • Jenkins
  • PostgreSQL
  • Selenium WebDriver
  • VisualStudio
  • SonarQube
  • Allure
  • MSTest
  • Git
  • Bitbucket

Results

  • Accelerated time to market owing to redesigning a test automation approach, which allowed minimizing scripts code smells from 190 to 1.
  • Enhanced software quality due to professional QA assistance throughout the SDLC.
  • Optimized QA workflows and prevented critical defects from leaking into production.
  • Shortened the feature life cycle (from idea to release) on account of a fine-tuned QA process.

In numbers

12+
years of the project duration
7
QA engineers involved during the peak load
860+
found defects with automated tests
2-week
decrease in the feature life cycle (from idea to release)
190X
decrease of scripts code smells

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.