One of our major projects with the charity was working within the Customer Relationship Management (CRM+) programme.
This project was a vital part of the modernisation and consolidation of the business systems within the charity. It aimed to combine the functions of several existing systems, including Ascent (the main CRM system in use).
This consolidation brought together the record information for supporters, volunteers, and anyone donating funds in one centralised location. The CRM+ project was to implement Microsoft Dynamics CRM 365, as a Cloud-based solution. The data platform, data processing, data migration, and reporting features were implemented to support the solution.
Our involvement was initially to design a test strategy that would be followed across the project, our testing team, and several key project suppliers. During the development stage, a strategic analysis was conducted. This brought transparency to all related risks and how they should be mitigated.
The test phrases are listed below:
- Supplier Unit Testing and DevOps Functional Testing on bespoke elements of Dynamics 365 that includes data processing, income processing, mass engagement, and relationship management.
- Data Migration Testing with qualitative and quantitative analysis.
- Data Platform Testing with data generation, maintenance, and purging of hundreds of thousands of records, to maintain confidentiality and best practices.
- System Integration Testing for high-value giving, processing hub & income processing along with related queued job engines.
- Regression Testing with an easily repeatable and traceable azure test plan.
- Acceptance Testing for UAT and Pre-Prod.
- Non-Functional Testing– including performance and security.
- API Testing for integrated components and other services.
- Comprehensive test completion reports after each sprint.
- Strict adherence to the design authority policies to deliver the best services.
DevOps was implemented to automate and bring together the processes between software development and IT teams. With the DevOps implementation, it ensured a smooth production and execution process with higher reliability. The set of practices allows the IT team to build, test and release software faster with increased accuracy.
Automated Regression Testing
Previously, Regression Testing would take two Manual Testers one week to complete. Once Automation was
developed and integrated into DevOps, the time needed was reduced. Slowly but gradually, each module and
manual test case was automated. The automated script meant only one tester or resource was needed to run
Automation, results were given in one day (7 to 8 hours). The new automated process does not require the Manual Tester to be present throughout the 8 hours, only once or twice throughout the process. This in turn reduces costs as well as improves quality by increasing the test coverage.
Prolifics Testing Test Automation Framework & Capabilities
Our team incorporated our GAT Framework into the process as it overcame the usual problems associated
with traditional Automation frameworks. The main aim of the GAT Framework is to provide a time and cost-effective solution to fast track Automation, whilst reducing the ongoing maintenance through 'promoting ease of use'.
Benefits of our GAT Framework:
1. Object Repository
The software uses library files to save object properties so there is no need to update multiple excel sheets, one change in the respective class file will do the job. It also promotes reusability - we can use the object properties in any function.
2. Test Data
Our framework approach uses SQL queries in driver script, which means we can use test data from multiple tables.
It has predefined, structured methods which cover multiple scenarios and conditions. This helps to make scripting easier and faster. Execution time is quicker as library files are minimised. Only the necessary files are loaded during execution and promote reusability.
This is a continuous project with the charity. We anticipate increasing the team members as we move into the
later stages of the delivery, using both on and offshore resources to deliver the remaining test phases.