Software Testing 3.0: Delivering on the Promise of Software Testing

This is an adaptation of a presentation entitled Software Testing 3.0 given by Hung Nguyen, LogiGear CEO, President, and Founder. The presentation was given as the keynote at the Spring 2007 STPCON conference in San Mateo, California.

Watch for an upcoming whitepaper based on this topic.

Introduction

This first article of this two article series (The Early Evolution of Software Testing), discussed the early phases of software testing (Software Testing 1.0 and 2.0). It highlighted how both of these phases have largely underperformed expectations and discussed the shortcomings of these early phases of software testing.

Software Testing is now on the threshold of the next major evolutionary development in software testing – Software Testing 3.0. Many organizations are starting to realize the strategic importance of Software Testing 3.0, and others are starting to adopt Software Testing 3.0 principals in their Software Testing programs that are now finally delivering better software faster and meeting management expectations.

This article discusses Software Testing 3.0 and how it delivers on the promise of software testing. It also discusses why senior management will find this evolutionary step strategically important.

Software Testing 3.0

The foundation for Software Testing 3.0 is a strategic end-to-end framework for change based upon a strategy to drive testing activities, tool selection, and people development. Fundamental to its success is the realization that testing is its own function, and an integral part of the development process. Testing must have its own budget to build the necessary infrastructure, as well as clear leadership and ownership. It must provide executive management with visibility into the status of the software under test so that executives can make intelligent and informed decisions about projects and have confidence that they are developing and delivering a quality product that will meet customer needs.

Moving from Software Testing 2.0 to Software Testing 3.0 requires a strategic commitment on the part of the organization, and elevation of software testing from a task or tactical effort to a “strategic effort”. An organization must form a team or task force to address the needs of people, practice, and process (SP3T). This task force will develop a team-based methodology to drive tool selection (tools that support the methodology) as well as people development (training in the methodology, tools, and software testing techniques that support the methodology), and determination of necessary metrics to provide management with visibility into the status and quality of the software under test.

This transformation of culture, methodology, beliefs, and techniques will yield a team-based software testing program that is test design focused with an emphasis on testing as a whole rather than in parts. It will address feature reliability; compatibility, usability; and interoperability; performance acceptability, availability, and scalability; security; as well as accessibility. More importantly, it will yield a software testing program that:

  • Improves quality by increasing testing coverage and effectiveness
  • Decreases testing time
  • Decreases costs
  • Provides the necessary information for informed decision making
  • Provides several assets, including:
    • Tested, high quality software
    • Reusable software tests that codify organization knowledge about the software under test and provide the basis for the testing of future generations of that software
  • Focuses on test design and agile test development practices, and
  • Extends test automation to multiple platforms including non-GUI platforms

What Software Testing 3.0 Means for Senior Management

Software Testing 3.0, treating software testing as a strategic effort, enables an organization to turn quality into a strategic advantage. To be convinced of the value of this proposition, it is important for senior management to understand the “whys” of Software Testing 3.0.

    • Why Treat Software Testing as a Strategic Initiative?Software development represents 40% of the product release budget for any company that develops software for resale (LogiGear internal studies). Software testing typically represents 40% of the development budget. Any company task that represents that much money should be treated as a strategic initiative. Strategically “doing-the-right-thing” coupled with “doing it right” can have a profound impact both on the outcome as well as the cost. Conversely, treating it as a tactical initiative can (and will) yield sub-optimal results and lead to unnecessary costs. Put simply, Software Testing 3.0 will save time and money, and result in higher quality software.
    • Why Should Software Testing be its Own Organization with a Separate Budget?There are several reasons why software testing should be a separate organization from development, with its own budget. First, it is important to realize that software testing performs functions that are very different from software development. Development is a creative process of providing new functionality and features. Testing is a destructive process where testers actually try to “break” the software so that customers do not.Testers are not developers. The skills and experience needed differ from those of a developer. Having testing as its own organization with its own budget allows testing-centric management to nurture and develop testing-specific skills in their testers (skills in methodology, tools, metric reporting, etc.).Having testing as its own organization also gives it the independence necessary to “stand up” to development when there are problems with the software under test. It is much less likely that development will be able to ram sub-standard code through an independent testing organization to meet delivery promises without a red flag being waved to senior management. While this may potentially cause delays in delivery, these are delays that can prevent significant down-stream costs as well as lost revenue and customer good-will that results when bad software makes it to market. Having software testing and its budget separate prevents testing getting short changed or circumvented and will help to deliver higher quality products.Software Testing’s budget should also be separate because there are large amounts of money involved. Having the budget separate gives the organization the ability to exert more direct fiscal control and oversight. With an independent budget, software testing becomes much easier to measure the return and the costs savings that may be realized from initiatives such as automation or offshoring of testing efforts.
    • Why is Visibility so Important?Software Testing performs several key functions for the benefit of the company, product development, and company management. Testing:
      • Is a service to the company that helps the organization produce and release higher quality software
      • Is also a service to the development team to help it produce higher quality code
      • Is an information service for senior management providing information about product quality
      • Organizational improvement
      • Better confidence in the quality (consistency and dependability) of the software
      • Better decision making, and better confidence in the decision making because it is based on data
      • Fewer “surprises”
      • Better allocation and utilization of resources and budget
      • Ability to spend more time and money on development and less on maintenance
      • Delivering higher quality software

Testing performs these services by providing key metrics or data, including test cases run, testing coverage statistics, defect reports and more. This data provides visibility into the status and quality of the software under test. This data can be used by the testing group itself to further refine and enhance testing efforts. Development can use this data to gain an understanding of what parts of the product are causing problems, which may lead to new processes or development tactics to deliver better code to testing. Senior management uses this data to make critical decisions about product schedules and delivery, as well as resource allocations.

With visibility comes:

Conclusion

Software testing has undergone an evolutionary process. The early phases emphasized tactics and tools and yielded sub-optimal results. As with any evolutionary process, it is imperative for an organization to continue to evolve, or perish. Software Testing 3.0 is the next phase in the evolutionary development of software testing.

Organizations that make the transition to viewing testing as a strategic initiative – organizations that put testing on a even footing with development by making testing its own organization with its own budget, place methodology and strategy first and then move on to tool selection – will be able to turn quality into a competitive advantage.

  • They will have happier customers.
  • They will have a happy sales force with less turnover.
  • They will meet or exceed their marketing and promotional claims.
  • They will deliver quality software to channels and customers in a timely manner.
  • They will minimize potentially damaging product failures.

All of this will help to improve sales and generate revenue, while reducing costs and speeding product to market. Software Testing 3.0 is an evolutionary imperative for any organization that develops software.

 

Hung Nguyen

Hung Nguyen co-founded LogiGear in 1994, and is responsible for the company’s strategic direction and executive business management. His passion and relentless focus on execution and results has been the driver for the company’s innovative approach to software testing, test automation, testing tool solutions and testing education programs.

Hung is co-author of the top-selling book in the software testing field, “Testing Computer Software,” (Wiley, 2nd ed. 1993) and other publications including, “Testing Applications on the Web,” (Wiley, 1st ed. 2001, 2nd ed. 2003), and “Global Software Test Automation,” (HappyAbout Publishing, 2006). His experience prior to LogiGear includes leadership roles in software development, quality, product and business management at Spinnaker, PowerUp, Electronic Arts and Palm Computing.

Hung holds a Bachelor of Science in Quality Assurance from Cogswell Polytechnical College, and completed a Stanford Graduate School of Business Executive Program.

Rob Pirozzi

Over 20 years of sales, marketing, management, and technology experience in high technology with exposure to industries including financial services, healthcare, higher education, government, and manufacturing; demonstrating a strong track record of success. Proven ability to build and maintain strong relationships, contribute to target organization success, and deliver results. Website: http://www.robpirozzi.com/

Hung Q. Nguyen
Hung Nguyen co-founded LogiGear in 1994, and is responsible for the company’s strategic direction and executive business management. His passion and relentless focus on execution and results has been the driver for the company’s innovative approach to software testing, test automation, testing tool solutions and testing education programs. Hung is co-author of the top-selling book in the software testing field, “Testing Computer Software,” (Wiley, 2nd ed. 1993) and other publications including, “Testing Applications on the Web,” (Wiley, 1st ed. 2001, 2nd ed. 2003), and “Global Software Test Automation,” (HappyAbout Publishing, 2006). His experience prior to LogiGear includes leadership roles in software development, quality, product and business management at Spinnaker, PowerUp, Electronic Arts and Palm Computing. Hung holds a Bachelor of Science in Quality Assurance from Cogswell Polytechnical College, and completed a Stanford Graduate School of Business Executive Program.
Hung Q. Nguyen on Linkedin
Rob Pirozzi
Over 20 years of sales, marketing, management, and technology experience in high technology with exposure to industries including financial services, healthcare, higher education, government, and manufacturing; demonstrating a strong track record of success.

The Related Post

This article first appeared in BETTER SOFTWARE, May/June 2005. Executives and managers, get your performance testing teams out of the pit and ahead of the pack Introduction As an activity, performance testing is widely misunderstood, particularly by executives and managers. This misunderstanding can cause a variety of difficulties-including outright project failure. This article details the ...
Test design is the single biggest contributor to success in software testing. Not only can good test design result in good coverage, it is also a major contributor to efficiency. The principle of test design should be “lean and mean.” The tests should be of a manageable size and at the same time complete and ...
For mission-critical applications, it’s important to frequently develop, test, and deploy new features, while maintaining high quality. To guarantee top-notch quality, you must have the right testing approach, process, and tools in place.
Reducing the pester of duplications in bug reporting. Both software Developers and Testers need to be able to clearly identify any ‘Bug’, via the ‘Title’ used for the ‘Bug Report’.
The Testing Domain Workbook is the most extensive and exhaustive work you will ever find on a specific testing technique (or related techniques if you include equivalence class analysis and boundary testing as the book does). What I like best is the combination of academic background and roots combined with practical experience and industrial practice. All the concepts are ...
Differences in interpretation of requirements and specifications by programmers and testers is a common source of bugs. For many, perhaps most, development teams the terms requirement and specification are used interchangeably with no detrimental effect. In everyday development conversations the terms are used synonymously, one is as likely to mean the “spec” as the “requirements.”
This article was originally featured in the May/June 2009 issue of Better Software magazine. Read the entire issue or become a subscriber. In my travels, I’ve worked with a number of companies that have attempted to assess the quality of their testing — or worse, their testers — using poorly considered metrics. Sometimes the measurement ...
Test plans have a bad reputation, and perhaps, they deserve it! There’s no beating around the bush. But times have changed. Systems are no longer “black boxes” where QA Teams are separated from design, input, and architecture. Test teams are much more technically savvy and knowledgeable about their systems, beyond domain knowledge. This was an old ...
It’s a bird! It’s a plane! It’s a software defect of epic proportions.
Test organizations continue to undergo rapid transformation as demands grow for testing efficiencies. Functional test automation is often seen as a way to increase the overall efficiency of functional and system tests. How can a test organization stage itself for functional test automation before an investment in test automation has even been made? Further, how ...
March Issue 2019: Leading the Charge with Better Test Methods
Regardless of the method you choose, simply spending some time thinking about good test design before writing the first test case will have a very high payback down the line, both in the quality and the efficiency of the tests. Test design is the single biggest contributor to success in software testing and its also ...

Leave a Reply

Your email address will not be published.

Stay in the loop with the lastest
software testing news

Subscribe