Automated testing is a critical aspect of software development, utilising specialised tools and scripts to execute test cases without the need for human intervention. This approach offers several advantages, such as improving efficiency, accuracy, and the ability to perform repetitive tests consistently. However, its application can present unique challenges, as demonstrated by a project with a long-standing client.
The client specialises in developing middleware for Point-of-Sale (POS) systems, and their testing requirements posed distinct obstacles. Traditional testing tools could not interface with physical POS devices, demanding innovative solutions.
In response, an automated scanning robot named ‘Steve’ was conceived. Steve, ingeniously constructed with a stepper motor, cardboard barcode cylinder, an Arduino Nano, and a .NET C# client application, could remotely scan barcodes, emulate mouse, and keyboard inputs, and interact with POS controls. This development was instrumental in facilitating testing, particularly for large transactions conducted over extended periods.
As the pandemic waned, the organisation continued its remote-first approach, necessitating the evolution of Steve. The robot transitioned into a solid-state system where barcodes were displayed on a monitor and scanned by a hand scanner. Another client application was introduced to manually send barcodes to the remote display, and camera systems were employed to monitor receipt printers.
The team also introduced ‘Granville,’ a motor-driven device designed to forcefully close cash drawers after transactions, reminiscent of a popular TV series reference.
While there were plans for ‘Julie,’ a solenoid rack to operate POS buttons and power/reset functions, this development was deemed unnecessary when the equipment returned to the office.
In summary, automated testing, as showcased by Kristian’s innovative development of Steve and Granville, offers substantial advantages, including remote operation, enhanced efficiency, and precision.
Ready to elevate your testing process to new heights? Contact us today to discuss automated testing.