Creating software test automation is frequently difficult in an Agile software development environment. In a fast-paced Agile setting, the time required to create much traditional software test automation can render the test automation obsolete before the automation can be deployed. A growing trend in software quality assurance is the increasing use of ultra lightweight software test automation (ULSTA). Ultra lightweight software test automation is characterized by being script-based, short, quick to write, and disposable. Script-based test automation is automation which can be created using a simple text editor and which can run on a host system with minimal overhead. In non-Windows operating system environments, JavaScript and Perl are usually the best choices of programming languages because of their maturity and extensive libraries of support routines. In a Windows operating System environment, Windows PowerShell is the clearly the best choice of language because of PowerShell's .NET support and interactive capabilities. In the context of ultra lightweight software test automation, "short" test automation generally means two pages of code or less. Similarly, in an ULSTA context, "quick to create" generally means the automation can be written by an average-skilled SQA engineer in two hours or less. All ultra lightweight software test automation is disposable by design. A typical life span for an ULSTA script is one Agile iteration, often roughly two to four weeks. This paper presents concrete examples of four types of software test automation where ultra lightweight test automation has proven to be especially effective: automated unit testing, application Ul test automation, automated Web application HTTP request-response testing, and Web application Ul test automation. The four ULSTA examples are presented using Windows PowerShell, the new Windows-based command shell and scripting language which are essentially replacements for the old cmd.exe command shell and .bat files. The use of ultra lightweight software test automation is most appropriate to replace mundane manual test activities, freeing up a software quality engineer's time to perform more advanced, important, and interesting test activities where the engineer's experience and intuition play a large role.
展开▼