This no-nonsense primer covers the benefits and basic principles of good testing, offers practical advice for getting the most out of your testing efforts, and pinpoints several areas where automation will help you achieve the most cost-effective results.
APPLICATION
TESTING BASICS:
A PRACTI CAL G U I D E TO I M PR OVI N G S O FTWAR E Q UALITY
By Paul Conte Picante SoftwareAPPLICATION TESTING BASICS: A PRACTICAL GUIDE TO IMPROVING SOFTWARE QUALITYby Paul ContePicante Software
CONTENTS
Introduction .......................................................................................2
Software Management, Quality Assurance, and Benefits of Testing ..................................................................2Software ManagementQuality AssuranceBenefits of Testing
Choosing the Right Type of Testing............................................5Identifying the Scope of TestsIdentifying Test CasesFirst-Time or Regression TestingOther Types of Testing to Consider
Testing Principles.............................................................................9Demonstrating is Not TestingTests Should Be RepeatableTesting Should Provide Adequate Coverage
Key Testing Tactics .......................................................................10Adopt a "Tester" MentalityAdd Code to Facilitate TestingStructure Interactive Applications to Simplify TestingConsider Some Form of "Test-Driven" DevelopmentPlan Your Test CasesKeep Track of Your Results
Automation......................................................................................14Test Drivers and Results ComparatorsTools for Data Extraction, Capture, and Generation
Getting Started..............................................................................16
Where to Learn More...................................................................18
1APPLICATION TE STI NG BAS ICS: A PRACTICAL G U I D E TO I M PROVI NG SOFTWAR E QUALITY
by Paul Conte Picante Software
INTRODUCTION managers and professionals may have varied opinions aboutITmany software development principles, but most agree onone thing above all - the software you deliver must be accurate andreliable. And successful software development groups have longrecognized that effective testing is essential to meeting this goal.Despite testing's well-established benefits, however, many ITorganizations still give the practice short shrift, perhaps becausethey consider thorough testing impractical. The limited testingthey do conduct is often haphazard and painfully cumbersome, aneffort with little if any gain.If your IT organization is in a similar position, and you'd liketo improve your testing practices to increase the quality of yoursoftware, this whitepaper will help. I'll explain different types oftesting and the purpose of each, and I'll guide you towardestablishing a well-defined strategy that exploits automation soyour testing process is routine, efficient, and delivers maximumbenefit. As you'll also see, you can take an incremental approachto testing so that over time your testing becomes more extensiveand your software more reliable.
SOFTWARE MANAGEMENT, QUALITY ASSURANCE, AND BENEFITS OF TESTING
efore we dive into the details of testing, let's look at whereBtesting fits in the larger world of software management andwhy it is a valuable practice.
SOFTWARE MANAGEMENTSoftware management is a set of practices that attempt toachieve the following goals:?Deliver software products with the expected functionality and quality?Deliver in the expected timeframe?Deliver for the expected cost?Meet expected levels of service during the software's use
Effective software management is a matter of setting andmeeting expectations, which requires a software developmentprocess that's predictable and that produces consistent outcomes.Testing is one of the software management practices that helpsimprove predictability and consistency.
2APPLICATION TE STI NG BAS ICS: A PRACTICAL G U I D E TO I M PROVI NG SOFTWAR E QUALITY
(If you're just starting to explore ways to improve your ITorganization's software management practices, you may want toread the Software Development Survival Guide - Five Steps fromChaos to Control whitepaper. See "Where to Learn More" at theend of this whitepaper.)
QUALITY ASSURANCETesting is a technique you use to measure, and therebyimprove, software quality. Testing fits in the broader category ofsoftware management practices known as quality assurance (QA),along with other practices, such as defect tracking and design andcode inspections. The overall goal of QA is to deliv... [download for more]