I seem to be getting this automation thing too much on my mind and have actually seriously started considering the QA – Automation as a hobby instead of a job… 🙂 So today I went out to my favourite Galgotia’s and bought myself – Effective Methods for Software Testing by William E. Perry; a renowned author and QA person for testing related topics. It is an interesting read and informs a lot on what is to be done and what is the responsibility and roles of a QA in making the product a success. [check out my usage of QA … 🙂 actually what i meant at these places is testing, but that seems to be a taboo word in India, where each and every Software Engineer, who graduates from the plethora of Engineering and MCA education imparting institutes aspires to become without knowing the actual meaning and responsibility attached to it. I think it is mainly due to the disparity between a tester and a developer pay package, which the companies in India do a lot]
Anyways, getting back to the automation part. I seem to be enjoying this stuff and it has suddenly turned to a hobby for which I can sit late at night doing nothing but planning on how to getting it to work and more so how to optimize it… I have managed to get the automated image installation on windows system, for windows systems to get into a shape where it is working considerably better than what I had thought it could do. It seems that using a combination of PXE [network boot], Image installation tool, DOS Batch scripts/Shell Scripts, Perl, and an assortment of PHP, MySQL and Linux mixed together to produce the perfect cocktail of goodies that can be used to install and deploy any kind of image installation and automation.
What I did for Windows image automation was: Install PXE on a Linux system, use syslinux’s memdisk to initialize and load the virtual RAMDisk, create a boot floppy using MODBOOT which has networking capabilities for DOS, and using ‘dd’ on Linux system; convert the floppy contents to an image file, [get back to me if you wish to know the complete commands and procedure… :-)] now just add a pxelinux.cfg directory to the /tftpboot root directory and put the hex form of the IP as a file into that, use the basic syntax and make your system boot from the network and check this file’s contents which will direct it to use memdisk and the .img floppy contents to boot itself. Now after the basic DOS gets installed, use the Image tool, [my recommendation: use UIU if you are working with windows and then create the image from whatever image creation tool you have, this will save a lot of headache, if you have a plethora of systems from different vendors which are given to you to use for the automation test framework to function on, or you have the choice of trying to figure out how to use a image for a particular system and not for the other which has a different configuration… :-D].
Ok, so if you have got here, we now have an installed Windows system and when you created your image, ensure that you enable ‘autoadminlogon’ key in the registry and have specified the local administrator account password in the registry along with the username as ‘Administrator’, else you aren’t doing any automation… 😛 Use the startup folder of the ‘All Users’ or ‘Administrator’ account to initialize the test framework with all instructions [create a .BAT file for doing this task] and there you have a completely automated test framework running on multiple images… oh! yeah in the framework do specify that when it finishes, it needs to replace the local boot in the hex converted file on the server to network boot.
Happy auto-imaging and execution of your tests.