Millions lines of code, several complete business solutions and hundreds of individual functions –consistent improvement of the stability of our employee management system has always been one of our main goals.
The stability should come with the reduction in a number of bugs. We don’t like bugs! In fact, we don’t know anyone who likes bugs! And when you are a leader in your industry you want to put every effort into minimizing the negative effect of the software bugs found by your customers.
The solution seems to be easy – if your testing system finds the issue first, then the customer will not. Simple? Well it’s not quite as black and white as this.
Correcting the software may fix the issue that has been found but it could also introduce many more problems into the software. Not fixing it is not an option. Software that stands still…dies, so the question is how to evolve our product, deliver more, but still be as solid as a rock for the user.
Achieving stability involves the whole software development lifecycle. The software developer is just as accountable as the testing team. The first step is to ensure a test plan exists authored by the software developer and quality control team. The testing team need to know what “success” is before they can release a product that has a chance of it.
We have employed many industry techniques of manual testing. These can involve testing specific features or making sure that the product actually adheres to our definition of what our product should be. We want our system to wear the product name with pride.
To take this one step further we have introduced automated testing. This is to complement our existing techniques but it basically means teaching a computer how to test the software for us.
This truly innovative software can start up the application on its own, use the mouse to click on the menus, check the values displayed on the screen and even type in information like a keyboard!
Computers also have no need for rest (we are told!) so these tests do all this overnight and with no human intervention, producing a report for the team to look at in the morning.
The Development team can now spend more time on adding new features that customers have requested, and looking for even more advanced solutions in our latest releases such as the new Rostering module.
So we have covered the night shift… and scheduled computers to help!