Quality website updates delivered fast through training, QA & Testing.


SECTOR / INDUSTRY
CAPABILITIES FEATURED
CASE STUDY PDF
OVERVIEW
The Department of Internal Affairs Government Information Services (DIA GIS) group faced challenges in maintaining their suite of SilverStripe-based websites. With many complex customisations and an absence of Test Automation, site updates often required labour-intensive manual testing or, in some cases, were postponed. Assurity Consulting provided expertise in Specification By Example training, Test Automation, and Continuous Integration. This initiative led to improved development speed, higher quality assurance, and a secure approach to website updates, ushering in a new era of efficiency and reliability at the DIA GIS.
KEY OUTCOMES
ABOUT THE CLIENT
Within the Department of Internal Affairs (DIA), the Government Information Services (GIS) group maintains and develops a suite of SilverStripe-based websites deployed on the Common Web Platform. This group is responsible for delivering government information through sites such as the Government services website, the data resources website, the New Zealand Gazette and the Government’s digital site.
THE CHALLENGE
During the course of maintaining and developing these sites, DIA GIS had put substantial effort into adding features above what the standard SilverStripe content management system provided. These features included the guided process of registering a new baby and a questionnaire to determine if you are a New Zealand citizen. Also, website management interfaces are comprised of particularly complex customisations.
While some features had corresponding unit test cases, a large portion had no test automation. As a result, site changes often required significant manual testing, or as was the case with the particularly error-prone base CMS update, had been postponed for several months.
OUR SOLUTION
Assurity brought deep experience in Test Automation, Continuous Integration and Specification By Example (SBE) to help the GIS group transform how features were delivered and provide tooling to continuously test and report on the quality of the sites in the portfolio.
Through targeted education with our SBE course, team members were upskilled in how to write real-world, plain-text test specifications early in the development process. This process of shifting left helps developers move with greater velocity by guaranteeing quality before delivery downstream. Assurity also went through the existing feature customisation and developed automated test specifications to verify the functionality of those features across the four sites.
Assurity used the SilverStripe Behat extension to automate these plain-text test specifications. Behat translates plain text Gherkin test scenarios into executable Selenium scripts. Assurity was responsible for developing more than 50 automated test specifications across the portfolio, many of which can be reused for future sites. Finally, Assurity aided in continuously testing the portfolio by onboarding the sites to the Continuous
Integration tool CircleCI. As each developer checks in code to the source repository, CircleCI will check it out and execute the entire suite of test specifications against the newly updated code.
Through CircleCI’s parallelisation features, more than 40 minutes of test scenarios could be executed within five minutes of the commit being checked in. Developers are notified of how their test performed against the scenarios within a few minutes. Any code that is to be deployed to production must pass these test gates.
RESULTS
Assurity aided in developing test specifications for existing features and transforming how new features are developed. Through targeted upskilling in SBE skills, Product Owners can now write test specifications as they write the user stories. These can be translated into automated test specifications with little or no effort. As a result of this ‘shift-left’ investment, developers can move with greater velocity and confidence as they
begin to implement new features or do things more fundamental, like updating the SilverStripe installation.
