QA Labs Inc.
Issue #21 - October 2003
QA Labs Testing Treats
services@qalabs.com  -  http://www.qalabs.com
 Reduce costs - Take advantage of lower labour costs and today's exchange rate. Make the choice to hire QA Labs Inc.

Archives... Archives of this newsletter along with other on-line resources are available on our website.


Test Earlier... It is a well-established fact that the sooner a defect is found the less expensive it is to fix. Early involvement also allows evaluation of important planning, design, and development decisions with respect to how these decisions aid or impair the testability of the application.



Outsource Testing... We have the facilities and the people - you have the software. We can assist your in-house test team by performing system / compatibility testing, functionality testing, usability testing, performance testing, and localization testing to help you make sure you're ready to go to market.



Regression Testing... Outsource your regression testing and keep your software reliable. Working in parallel with your in-house team, we can help ensure that after the latest additions and changes your software continues to work across your supported configurations: operating systems, processors, browsers, networks, etc. with effective test plans, leveraged automation and custom facilities.



TX Packages... Do you need short-term test resources? Do you want to try outsourced test execution? QA Labs' Test Execution Packages give you a zero ramp-up, zero overhead, full reporting solution right at your fingertips.



Roadmaps... Improve product quality and reduce support costs with a Roadmap to Quality. QA Labs can investigate your current project workflows and tools to produce a report of recommendations and Quick Wins tailored to you - all in parallel to your current ship cycle and at a low fixed cost.



Tool Choices... Specific selection criteria in advance of a significant software purchase are crucial. QA Labs has the expertise required to provide you with an objective evaluation of the commercial tools that may best fit your requirements. Before you commit valuable time and money, let us do the evaluation that will let you make the best decision.

QA Labs brings you practical tips and tools on testing, quality assurance (QA), and related topics through this monthly e-newsletter.

Upcoming Course Announcement: Register now for QA Labs' two-day Quality Assurance course presented through the University of British Columbia Continuing Studies on October 30th and November 7th.

Visit Software Quality Assurance: More Than Just Testing or http://www.tech.ubc.ca/softeng/curric.html to register.


FEATURE ARTICLE

Pot-holes on the Road to Automation

Introduction

Testing costs can be a significant part of the project with software project managers spending up to half of their project budget on testing. But how do you make testing more cost effective so that you are getting more done with less?

One effective solution is automated testing or "tool assisted test activities performed with the objective of evaluating the software against pre-defined results/expectations that require no operator input, analysis, or evaluation." [QA Labs Inc., 1999]

Many people try to add automation to their projects, only to end up frustrated, and annoyed. After one or two disastrous attempts, many just give up and stop trying. However, implementing automated testing is a basic cost-benefit analysis.

It is well-recognized that an automation undertaking will require significant investment up-front before actual savings can be experienced. At the same time, the positive effects of having automation can be experienced by the organization in advance of the anticipated actual break-even point.

To help approach the undertaking of automation from a realistic perspective, keep in mind that Automated Testing is not:

  • Immediate effort reduction
  • Immediate schedule reduction
  • A silver bullet to find all the application defects
  • Automatic Test Plan Generation for 100% test coverage
  • One tool fits all and is easy to use
  • Cheap to implement

The savings and benefits will come, though, if you recognize and plan for the following.

Avoiding Pot-holes

The following are some typical issues that those implementing test automation run into:

  • Pot-hole: Test automation is not treated as a project with proper project planning and design
    Solution: Treat test automation as you would a development project and manage the scope, resources and schedule appropriately. Implement a pragmatic approach to testing such that: the project can be decomposed into modular, defined tasks with assigned resources and timelines; others can easily carry forward the process that has been defined; the effort and results are quantifiable; each test cycle becomes more efficient in uncovering defects; and the most critical test types and application functionality are targeted.

  • Pot-hole: No reusability (use of functions and utilities) in automation scripts
    Solution: Implement an effective test automation framework through abstracting navigation, data access, verifications, reporting, and other common functions into libraries to modularize scripts thereby minimizing maintenance costs as there are changes to the application functionality.

  • Pot-hole: Testers untrained in programming techniques are assigned automation tasks
    Solution: Testers performing test automation must be able to create and maintain automated test scripts. This requires strong knowledge of software development practices, experience with procedural programming languages, and experience with the test automation tool to be used.

  • Pot-hole: Automation test suite is not maintained
    Solution: Test suites need to be maintained with each new build and release of an application. Maintenance of robust scripts typically requires ~10% of the time of originally creating the automation scripts, assuming an automation framework is firmly in place and that major additions or redesigns are not being done to the application.

  • Pot-hole: Testing is typically performed at the end of the project life cycle
    Solution: The test process should begin where the development process does, at the beginning. Moving testing up the life cycle increases the ability to find defects sooner and provides more time for effective test planning, design, execution and tracking, and stability for automation.

Scripting Best Practices

Test Automation Scripts are software. And even if the current intended use is for testing the current project only, you never know where those scripts could end up, or for what other purpose they could be used.

You may develop a framework and individual scripts for one version of the product, but require subtle modifications for a version of the product customized for another customer.

You may have large automation effort ongoing, including potentially multiple applications or versions of your product and have multiple people modifying the core framework scripts.

To help in succeeding with an automation undertaking, keep the following best practices at the front of your mind:

  • Document
  • Manage expectations
  • Keep in mind the overall project testing goals
  • Plan to control progress and recovery of the execution of the testing
  • Control the scope of the automation
  • Use coding standards when writing your scripts
  • Version Control is important
  • Get early feedback
  • Test your scripts!

Summary

"... when all the pieces come together - the right people, the right processes, the right time, the right techniques, the right focus - then we can achieve truly impressive returns on our testing investment." [Investing in Software Testing, Rex Black]

If implemented thoughtfully, the automated test suite will prove to be much more efficient than manual testing in terms of hours spent and defects uncovered in previously manually tested functionality. The automation suite can be left unattended to run at night, on weekends and holidays. The tools never get bored or tired and never assume the application/architecture works while emulating as many users as needed, accessing the application and performing any mix of transactions desired.

Therefore, the return on investment (ROI) of automated testing can be tremendous, as long as you can avoid the pot-holes along the way.

[Reference - "Test Automation - Pot-holes, Best Practices, and Cost-Benefits", QA Labs, 2003]

About QA Labs Inc...

QA Labs is a powerful player on your team supplying the critical competitive advantage you need today. Our mission is to help you make your software products succeed in the marketplace, whatever the climate. We work with you to make wise choices that reflect project constraints, industry trends, and business considerations. We are the largest independent software quality assurance and testing service provider in Canada. For more information, please visit www.qalabs.com.

Contact Us...

QA Labs Inc.
#470 - 1122 Mainland St.
Vancouver, BC, Canada, V6B 5L1

Tel: 604.605.0111 x111
Fax: 604.484.2680
Email: services@qalabs.com
Web: http://www.qalabs.com


Subscribe to this newsletter at our website.

Unsubscribe from this newsletter at our website.

Copyright © 1999-2005 QA Labs Inc. All rights Reserved.