Behind the world’s transportation networks lie a hidden world of software devices and testing challenges. Here, GPC’s CTO discusses how they developed and tested their new 3D pothole repair software.
Test Magazine spoke to GPC’s chief technology officer, Huw Morgan, to find out more about the development and testing of their innovative highway repair solution.
TEST: How was the GPC 3D modelling solution developed?
Huw Morgan: “GPC have been working with 3D camera technology and image analytics for around six years. Initially our work was in the medical field with 3D wound care applications.
“At an innovation conference I challenged the audience to identify new uses for the technology and highway maintenance was discussed! From that, pothole measurement and monitoring was developed.”
TEST: You recently partnered with ART Concrete Solutions in the US?
Huw Morgan: “A hardware partner in the US supplies tablets with a 3D camera option. ART liked the tablets but wanted to find a company with software to help their customers better measure an area of concrete that required a repair.
“The hardware supplier referred us, being recognised as a world leader in this technology with a significant breadth of applications and experience.”
TEST: What was the most challenging stage of the dev process in building the 3D imaging and modelling software?
Huw Morgan: “It took us over three years to develop the initial algorithms from the 3D data we gather. This includes analytics to enhance accuracy and a set of AI-based tools to process the hundreds of software and hardware configuration options, presets and parameters to discover the best set-up for both hardware and software.
“In the early days a lot of this was manual. With each use case and environment requiring different set-ups we developed a set of tools to enable us to do this quickly.”
TEST: Were there any software/platform challenges with developing for different mobile devices?
Huw Morgan: “Every device and use case and environment requires configuration and substantial testing. We now have a set of configuration and testing tools to automate this process. This considers millions of combinations and tests each one in the environment provided for accuracy.
“Changes such as range, lighting, indoor/outdoor, sunlight, shadow, camera hardware, mobile device all require separate configurations to achieve optimum results.”
TEST: What’s your cloud environment and how does it benefit test & deployment?
Huw Morgan: “We provide applications for all devices and platforms, mobile, tablets, laptops, PCs, standalone, vehicle mounted, ceiling mounts and drone mounts. We also supply a unique data capture electronic forms platform on Microsoft Azure.
“Customers will rarely have the capability to handle or store the data produced by a 3D device so this 4D portal cloud platform does that for them. It is highly configurable by the customer: not requiring any bespoke development by us. Microsoft Azure allows us to rapidly deploy environments for us to test. We are able to scale the environment quickly and effectively when the demand requires it.”
TEST: Were there any database/cloud platform challenges with the software?
Huw Morgan: “The initial challenge was how to handle new data types and transfer larger file sizes. We developed a unique file structure to efficiently handle 3D data in combination with any other data types, including images, text and most other data types. Software is available across all common platforms supported by a web app running on a Microsoft Azure Cloud instance supplied as a SaaS.”
TEST: As it’s an ‘in the field’ software; were there any particular End-user / UX testing challenges?
Huw Morgan: “Every end-user is considered independently to ensure their needs are met. The diverse set of users range from a specialist hospital-based doctor to a highways inspector. Our software is highly configurable out of the box allowing organisations to configure and even apply translations with no bespoke coding. This allows us to supply customers in Finland and Germany, for example, with all applications in their own language. It also allows us to deliver any text elements with unique customer phrases. For example, for ART we would have the concept of ‘Customers’, whereas for highways teams they may use the same concept to describe a geographical area, for example ‘West A’.”
TEST: What challenges were initially encountered in real-world use cases?
Huw Morgan: “Every use case requires extensive configuration and testing as well as text changes. In addition each customer will want to gather different data. ART may want to gather warranty information and a highways team may want to capture GPS coordinates. The 4D portal including translation handles all that with no bespoke coding.”
TEST: Please outline your software testing environment?
Huw Morgan: “We follow test-driven development methodologies (TDD). The developers are given a requirement that will be turned into a unit test. This enables the developer to fully understand the requirement before implementing the feature. The developer then has to make a pull request to the source code where two developers will review the code. The code is reviewed to ensure best practices and procedures are followed.
“We use NUnit to perform all our unit tests and these are run on the developer machine, and then within the Jenkins build server. If the test passes on the build server, an email is sent to the QA team to inform them that there is a new version to test.”
TEST: Did you have to devise any special testing methods after use case/test case results?
Huw Morgan: “We have built a special test tools rig that enables us to test the camera in various scenarios. This test tools compare the results between previous versions and the current version.”
TEST: Do you have a DevOps culture, if so, how did you introduce it/nurture it?
Huw Morgan: “Yes we do. It has grown naturally from when the company was first started with just two on the dev team. Our approach is always ‘user needs’ focused with a period of requirements and scoping followed by first prototype. Then we enter an iterative period of user engagement, including hands on and live testing, feedback and development updates – repeated until an agreed first release to the customer.
“Informally this first release is what might be described as beta but we often get past beta stage during the iterative cycle. User needs is always the driving force.”
TEST: How are deployment and/or QA processes handled?
Huw Morgan: “For devices it will be traditional methods, e.g. MSI, app stores, web apps etc. The software will also check for updates automatically. Deployment can be done from the 4D portal by the user or installation files can be provided. QA is an internal part of the iterative process described above.
“We deploy using Jenkins build server to a QA environment that will build the relevant software e.g. MSI, web app, web services, app stores. All web environment deployments will be pushed live once QA have signed off on the test plan. The MSI will be available on the web portal or an notification will appear on the current desktop app to indicate that there is a update available.
“The QA process is handled with the following process:
- automated tests are carried out on the product
- automated tests are carried out on the camera within our test tools
- the results are compared to previous results and an average standard deviation calculation is compared
- manual tests are carried on new features. These will be converted to automated tests on successful completion of manual tests
- the QA team will check the build manually against a test plan before signing off that it is ready for live.”
TEST: How do you assess and incorporate client/user feedback into your products?
Huw Morgan: “Users can feedback to us informally during an iterative cycle or can provide feedback using an online support tool. The feedback is reviewed and if applicable updates are included in our online bug tracker/feature dev tool.
“Each item is reviewed by a senior member of the dev team, prioritised and when appropriate allocated to a developer or team. Each item is assigned target version numbers which in turn produce reports used as release notes and to monitor expected release dates of each version.”
TEST: Do you have any source repository usage/connections in cloud?
Huw Morgan: “Yes we use the Azure DevOps platform and we use Jenkins and Docker together for our build server. It will build to the correct environment based off Git branches.”
TEST: Were there any challenges you encountered at any stage in terms of architecture?
Huw Morgan: “Handling of larger than usual file formats which are now stored online in Azure storage facilities.”
TEST: Any aims for future development in cloud integration/migration?
Huw Morgan: “Always plenty of aims – we already have cloud integration and API’s for all our apps including the 4D portal. Our record in integration is good with the fastest completed in 48 hours and typically embedded in 3rd party systems within two weeks as we supply documentation and code samples with our API.”
TEST: Have you broken any new ground with developing this software?
Huw Morgan: “We have been told by the 3D camera manufacturers we have the largest breadth of technology, solutions and experience they have encountered globally. We are breaking new ground every week with applications and algorithms being developed for new use cases!”
TEST: What do you see as the future for GPC and 3D imaging and modelling software/applications in general?
Huw Morgan: “We strive to continue to be the ‘go to’ company for 3D imaging and AI applications based on our history and experience of providing the largest breadth and experience of any company in the field.”
TEST Magazine was speaking to:
Chief technology officer