How to implement a large-scale agile testing strategy?

Implement a test strategy as part of a tool migration

Large companies have an IS made up of structuring business applications, sometimes involving thousands of different users, spread across several subsidiaries, countries or departments.

Upgrading or migration of versions, sometimes imposed, requires a large-scale testing strategy to ensure a successful production launch, while guaranteeing continuity of service for operational teams.

AssetValue Consulting is a specialist in eFront solutions. Following recent announcements by the publisher, user companies must upgrade their eFront application . Front Invest Alternative application in order to comply with the new standard.

In this case, the teams mobilized often have to carry out a large-scale non-regression test campaign, which can include over a thousand test cases to be programmed, written and deployed.

This major task can be carried out directly by the IT department, or entrusted to a trusted partner in the event of a lack of availability. In this case, it's a good idea to choose a service provider with both functional and technical skills.

The different types of test

Several types of test can be carried out by teams as part of a tool migration. There are two types of test:

  • Unit tests are the simplest to carry out and must be able to be run quickly. The aim is to check whether the version upgrade has any impact on the tool's existing functionalities.
  • End-to-end business testing involves testing the entire business process to identify sticking points and discrepancies between interface, development and specifications. Each business team uses functionalities and modules that meet specific needs, hence the importance of a good understanding of their business process (review of Middle Office / Transfer Agent team user guides).

Key steps to a successful test strategy

A number of steps are essential to build, program and execute a test strategy in the best possible conditions. Indeed, failure to follow these phases can entail risks.

Stages of a test strategy

Steps to a successful test strategy :

  • Initialization: the project kick-off meeting enables us to identify key contacts, draw up a macro-planning and estimate the workload (duration, constraints, resources, etc.). Certain aspects essential to the project's success must be addressed (availability of trades, tools to be used, existing documentation, access, etc.).
  • Test strategy development through the definition of :
    • Recipe perimeter,
    • Recipe requirements,
    • Applicable and reference documents,
    • Recipe actors,
    • General objectives,
    • Tools and environments,
    • Recipe planning,
    • Constraints and risks,
    • Expected deliverables.

It is then necessary to agree on the methodology to be applied, as well as the priorities (certain priority test cases are essential to the release upgrade, others may be classified as priority 2 or 3 according to their criticality, etc.). This test roadmap must then be validated by the business and IT teams.

  • Drafting test cases: this stage follows a series of workshops and a review of existing documentation (specifications, user guide, etc.). It's not uncommon to have several exchanges to understand the context and avoid discrepancies. Test scenarios are then written and logged in a Test Management tool, such as ALM QC, Zephyr for JIRA or Xray for JIRA.
  • Execute integration test campaigns: once the roadmap has been validated, tests can then be carried out in the form of campaigns. This stage involves regular monitoring of progress, incidents, anomalies and so on.
  • Business acceptance: this is a critical stage in a testing strategy. It involves mobilizing business teams with the utmost agility, in order to test the scenarios assigned to them according to their availability.
  • Go-live and deployment: this is the final phase of the project, i.e. the end of the acceptance phase and the official deployment of the solution / new version of the tool.

Pitfalls to avoid for a successful test strategy

Documentation quality

The quality of documentation is an essential aspect of a successful testing strategy. Certain evolutions are sometimes left undocumented for several years, complicating the migration project. It is therefore important to ensure that teams can update specifications. The same applies to the recovery of historical tests, which must be preserved to facilitate the development of the test roadmap.

Define the perimeter at the start of the project

When the scope of the application and the volume of test cases are large, it is essential to agree on the priority projects right from the initialization phase. This stage needs to be carefully thought through and validated, in order to secure deadlines, organize the workload and estimate resources.

It's also important to respect each phase of the project. The risk lies in trying to reduce the timing by parallelizing several stages. For example, it doesn't make sense to write, validate and execute test cases simultaneously, as this can lead to errors.

Involvement of the trade

It is essential to involve key users from each team in the project to ensure that the business acceptance is completed on time. As part of a large-scale acceptance campaign, it is important to :

  • Identify and establish direct contact with knowledgeable people in the business,
  • Make them aware of the project from the outset, through preparatory meetings,
  • Secure time and resources for the acceptance phases,
  • Carry out weekly check-ups to assess progress and highlight any sticking points,
  • Provide training in Test Management tools, if required.

Furthermore, it will always be more complex to carry out tests on a recipe environment in which the dataset is anonymized. Business references get lost, creating confusion and slowing down the process.

Agile methods speed up test strategy

In a testing strategy, as in any IT project, it's important to establish a clear comitology to ensure that the project progresses smoothly and to defuse any stumbling blocks.

Organizing a daily meeting between the test teams and the company's IT teams is important for monitoring the project's progress and anticipating any sticking points.

A weekly follow-up meeting with the project's key contacts provides an opportunity to review the week's progress, address critical issues and make any necessary adjustments.

A monthly steering committee brings together business sponsors and key project contacts to monitor progress with the business. The aim is to involve them over the long term, reassure them of the project's progress and understand the operational impact on the business.

Implementing a Test Management tool facilitates project management. In terms of trends, tools such as "Zephyr for JIRA" or "Xray for JIRA", which are more intuitive and accessible, are the most popular on the market. They can also be interfaced with a company's existing project management tools.

 

Hotmane Touzri - Senior Business Analyst - AssetValue Consulting

By Othmane Touzri
Senior Business Analyst at AssetValue Consulting