Articles
Search:

Home | Computers | Software



Benefits of Automating Software Processes

Perhaps the most obvious reason for automating software is to speed up a process and remove mundane, repetitive manual tasks. Software automation therefore saves time and resources, which equates to cost savings. Examples of this abound. But in this article I'd like to talk about some other good reasons for automating software, beyond the obvious benefits of saving time and money.

One consequence of software automation is an improved understanding of the software's interface. One of the best ways to learn to use a software product fully is to try to automate it. Testers and automation engineers have to learn the software's interface really well, possibly better than the people who wrote it. The developers may well know the algorithms better than anyone else, but it is the person automating it who knows the ins and outs, pitfalls and quirks of the interface.

We all know how badly designed some Windows programs are. And in these days of fancy hi-res graphics and snazzy toolbar buttons it's easy for the designers to forget about shortcut keys and keyboard navigation. The most productive way to use a PC is to forget the mouse and learn the keyboard shortcuts. You can get things done much more quickly. Yet even the most experienced Windows users don't know half the keyboard shortcuts that exist in Windows. (For tips on keyboard navigation in Windows see: http://support.microsoft.com/default.aspx?scid=kb;en-us;301583)

Knowing these shortcuts makes automation so much easier and more reliable. Automating an application by sending mouse events and mouse clicks is unreliable and depends on the screen resolution never changing. Although you can use relative mouse coordinates, sooner or later something is going to change and the button you want to click is not in the place it was when the script was created.

The automation/test engineer is the one who figures out the keyboard shortcuts and finds the simplest, most reliable way of navigating an application. People who automate applications regularly have a good understanding of the different ways to move around Windows and Windows applications. Automated Software Testing can help find issues in the interface just from the process of building the automated test, even before the test script has been run. Building an automation routine for an application will help you find those missing or duplicated shortcut keys and other objects that can't be driven by the keyboard.

Automation script developers spend so much time fiddling with the software's interface that they will often become more knowledgeable than the "power-users". Testers also have the great advantage of being allowed to try unusual scenarios that developers never think about or are too busy to try. They are allowed to break things!

So it goes both ways. Find out the Windows keyboard shortcuts and the hot-keys for the application you're scripting and you can create a better script. Build an application with good keyboard support and your application can be automated more easily. If it can be automated easily it will be easy to use!

Software automation can also lead to improved documentation. Automation scripts are the ultimate way to document a process. A script that automates a process describes how to carry it out properly. Businesses need to document all their manual processes so that other people can carry out the task. By scripting the process it is being described at the same time. As well as saving time by automating it, it is also now easy for someone else to see how the process is carried out.

Finally, an important benefit of software automation is in contingency planning. Contingency goes hand in hand with documentation. If only one person in the organisation knows how to carry out a task there will be problems if and when that person is sick, on vacation, or leaves the company. Not all absences are planned. By documenting a process the business is ensuring that someone else can carry it out should the usual task owner be unavailable.

Automation takes that one stage further. If the process is scripted and automated it is easy for someone else to take on ownership of the task in the future. The task will continue to run and the script itself describes how the task works.

Therefore software process automation not only allows businesses to save considerable time and human resource, but it can also improve documentation and contingency; aid in software development and testing and help towards building better user interfaces.


Information and Articles: http://www.mastersmba.com

Providing Information on various topics, please browse our other Articles for more informative resources, we house information on every topic imaginable so regardless of your needs you can be assured to find the answer here. If you wish to reprint this on your own website, simply click the "Web Version" in the right menu, and you are presented with a pre-formatted document to use.

A lot of the information is written by the Master Article team, and published exclusively on the MastersMBA.com website, and we do our best to research all information to ensure it's as accurate as possible. However at times we also publish documents given to us by other sources, we do examine these documents to ensure they are as accurate and correct as possible however at times they discuss highly specialized fields making it hard to authenticate the validity of every fact in the document. These are written by specialists in their respective fields, and we do trust their integrity and judgment however it's always a good idea when doing any research to consult a number of sources and form your own conclusion based on a number of view points.

RSS

You can click the XML Icon Above to Read Software Articles Via RSS!

Design by SEO Info: SEO Forum

Providing Articles on everything from Credit and Finance to Health and Beauty