After a few weeks of analysing source code, building scripts and going through all of the possible outcome scenarios, the automated Linux wrapper was created.
I decided to put it through functional testing. One of the multiple tests was to break it by emergency stopping the installation process at different stages. The test passed with the result that, it would just abort and then try again on the next attempt.
Another interesting test case was to pass invalid arguments into the user ID analyser of the program. This was the most challenging point of my software because it was the only module, which required user interaction. Luckily, the latest version of my code was equipped with an ID and password validator so it was impossible to break it.
My automated software handled all of the interrupts and weird scenarios very well. When it comes to the release version of my Linux wrapper, I did not manage to break it even once thanks to its automated process nature and defensive design.
My next step was integrity testing, which in this case meant running my automated Linux wrapper on multiple workstations just to make sure that it is universal.
The automation recognises the stage of the workstation and, based on this information, decides what needs to be installed and then downloads it and installs it. Subsequently, it gives the user option to store some information in the ‘cache’ to provide further comfort when it comes to typing in user credentials such as email, login, password etc.
We hear a lot of bad prognoses about what automation will do to jobs in the future, but in my opinion, there is no need to be afraid. We can already see the benefits of automation in multiple industry sectors such as banking, IT or HR. Fully automated processes are running 24/7 allowing us to transfer money from one end of the world to another and yet we can note that financial services employee numbers are at highest levels ever and they are still increasing. HR and Marketing offices are equipped with all sorts of tools, which automate and improve some of the tasks. The only difference between now and then is that some positions require a little bit more training.
When it comes to IT engineering industry, automation provides major benefits such as an increase in productivity, high performance and reliability of software. The project I worked on provides much evidence, which proves that automation brings faster feedback, accelerates results of debugging, reduces business expenses, improves precision and provides earlier detection of potential system defects.
My automated solution saved approx. 4-6 working days of each engineer employed on this project. No one lost their job, in fact, the result was quite the opposite. Sectors, which required more attention, were found, fixed and tested quicker. Instead of an unnecessary step of setting things up and having to learn the scope of the whole system, the Linux wrapper allowed engineers to spend more time on actual fixes and problem-solving and everyone involved in the project benefitted, from the customer to the team here at Zircon.