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 Id 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 softwares 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 its 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 dont 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 cant be driven by the keyboard.

Automation script developers spend so much time fiddling with the softwares 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 youre 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.

Marcus Tettmar is founder and CEO of MJT Net Ltd, specialists in windows automation and publishers of Macro Scheduler, the leading automation tool for Microsoft Windows; and WebRecorder for Web Application Automation. Find out more at http://www.mjtnet.com

Close    To Top
  • Prev Article-Personal Tech:
  • Next Article-Personal Tech:
  • Now: Tutorial for Web and Software Design > Personal Tech > Software > Personal Tech Content
    Photoshop Tutorial
     

    Special Effect

      3D Effect
      Photoshop Articles
    Programming Tutorial
     

    C/C++ Tutorial

      Visual Basic
      C# Tutorial
    Database Tutorial
     

    MySQL Tutorial

      MS SQL Tutorial
      Oracle Tutorial
    Geek Tutorial
     

    Blogging Tutorial

      RSS Tutorial
      Podcasting Tutorial
    Graphic Design Tutorial
      Coreldraw Tutorial
      Illustrator Tutorial
      3D Tutorials
    Webmaster Articles
     

    Domain Service

      Web Hosting
      Site Promotion
    Java Tutorial/ Articles
     

    Java Servlets

      JavaEE Tutorial
     

    JavaBeans Tutorial

    XML Tutorial/ Articles
     

    XML Style

      AJAX Tutorial
      XML Mobile
    Flash Tutorial/ Articles
     

    Flash Video

      Action Script
      Flash Articles
    OS Tutorial/ Articles
      Linux Tutorial
      Symbian Tutorial
      MacOS Tutorial
    Personal Tech
      Hardware Tutorial
      Software Tutorial
      Online Auction