Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a...

16
Tools and techniques for superior test management White paper Table of contents Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 The need for test management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 What is test management? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 The test management process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 HP Quality Center software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Transcript of Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a...

Page 1: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Tools and techniques forsuperior test managementWhite paper

Table of contentsIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

The need for test management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

What is test management? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

The test management process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

HP Quality Center software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Page 2: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

IntroductionIn recent years, the field of application testing hasevolved. The growing complexity of today’sapplications, combined with increased competitivepressures and skyrocketing costs of application failureand downtime, have catapulted the need for testing tonew heights.

While the pressure to deliver high-quality applicationscontinues to mount, shrinking development anddeployment schedules, geographically distributedorganizations, outsourcing and high turnover rates forskilled employees make application testing challenging.

Faced with the reality of having to do more with less,juggling multiple projects and managing diverse anddistributed project teams, many organizations areadopting test management methodologies and areturning to automated test management tools to helpcentralize, organize, prioritize and document theirtesting efforts.

This white paper explores the challenges and rewardsof test management and provides practical ways tohelp you implement an organized and structuredtesting process. In addition, this paper discusses thebenefits of HP Quality Center software, whichaddresses the need for global test management.

The need for testmanagementIn the world of application development, manyorganizations do not seriously consider testing untilprogramming is almost complete. Testing at this phase isinadequate in light of increasing demands for softwarequality and shorter release cycles. As a result, the role oftesting in the application lifecycle is changing.

Fueled by competitive pressures and high costs ofdowntime, organizations are now beginning to definetheir testing plans as they create their applications.Planning your testing in parallel with your developmentprovides a key advantage. The knowledge you applyto the application design can also apply to yourtesting strategy.

The application testing strategy is evolving into a multi-stage process with its own methodology, structure,organization and documentation. Similar to thedevelopment process, a testing process needs amethodical, building-block approach that includes yourtesting requirements, planning, design, execution andanalysis—to provide coverage, consistency andreusability of testing assets.

2

Page 3: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Based on a project’s objectives, your test managerscan create a master test plan, which communicates thetesting strategy, priorities and objectives to the rest ofthe team. Using the master plan, your testers candefine test requirements or specific testing goals.Requirements define what needs to be tested andidentify the objectives, such as performance goals.Once your testers have defined your testingrequirements, they can begin developing testingprocedures that meet and validate your requirementsand run the tests.

The goal of a test management process is to createone central point of control that is accessible to allmembers of the testing team. This central point housesall testing assets and provides a clear foundation forthe entire testing process—from deciding what needsto be tested to building tests, running scenarios andtracking defects. The test management methodologyalso supports the analysis of test data and coveragestatistics to provide a clear picture of the application’saccuracy and quality at each point in its lifecycle.

What is testmanagement?Test management is a method of organizingapplication test assets and artifacts—such as testrequirements, test plans, test documentation, test scriptsand test results—to support easy accessibility andreusability. Its aim is to deliver quality applications in

less time. Test management is firmly rooted in theconcepts of better organization, collaboration andinformation sharing. Planning, designing and runningtests represent a considerable amount of work, butthese efforts are rewarded when all testing assets areshared by testers, developers and managers alike,preserved when a tester leaves the team and reusedthroughout an application’s lifecycle.

Do it right or do it over—compellingreasons for test managementAlthough test project management is widely acceptedas a common practice, most organizations don’t havea standard process for organizing, managing anddocumenting their testing efforts. Often, testing isconducted as an ad-hoc activity that changes withevery new project.

Testing without following planning and designstandards can result in the creation of tests, designsand plans that are not repeatable and cannot bereused for future test iterations.

If you think a testing process is difficult to implementand even more challenging to enforce and maintain,consider the cost of redundant work and accidentallylost and overwritten testing assets. Without a centralpoint of control and clear, repeatable methodologies,it’s difficult to keep your testing projects on track anddeliver quality applications on time with limitedresources.

3

Page 4: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Daily builds and numerous testsThe process of releasing a new build every day and thenchecking it for consistency, functionality and compatibilityis becoming increasingly popular not only in the webenvironment, but in any organization that builds complex,dynamic applications. The sheer number of tests andversions can make the testing process overwhelming andnearly impossible to manage. A well-defined, systematicapproach to testing and a centralized repository for testplans, tests and execution results can significantlyincrease the accuracy of your tests and add value tofrequent builds.

Managing changing requirementsComplete requirements-based testing helps a newapplication meet your users’ needs. Ideally, you wouldtest each requirement at least once and somerequirements several times. But constant time andresource constraints make it extremely difficult toconduct comprehensive testing of all requirements. Asa result, your testers must prioritize the requirementsthat they test. And requirements undergo frequentrevisions and changes, which your tests should reflect.

Without a test management process that ties test plansto application requirements and lets you track changesin requirements to test cases—and vice versa—it’snearly impossible to design tests that verify that yourapplication contains the functionality that you require.

Global testingGlobalization is affecting testing, like most other IToperations. Even small companies often distribute theirtesting teams throughout a country or the world. Inaddition, as part of cost-saving measures and higheravailability of qualified testers, some companies areturning to an outsourced testing model. It’s notuncommon to have multiple development and testingteams, composed of in-house and outsourced staff,spread around the world, working on the same project.

The Internet makes communication among these teamseasier, but how can you prevent members of yourdistributed team from accidentally deleting each other’sfiles or working on duplicate defects? Without a

clearly defined testing process and an easy-to-use,intuitive collaboration method, a geographicallydistributed, “virtual” testing team likely results ingreater problems and complexity than benefits.

Many tests, many projectsEffective testing requires a systematic process. Whenyour testing team manages multiple projects, each withits own cycles and priorities, it’s easy to lose focus.Almost no organization can dedicate a testing team toone development project. At best, a testing team ispart of the development group for a particular product.Additionally, you need to validate multiple functionalareas, builds and baselines, different platforms andenvironments, and a vast number of integrations. Totrack multiple test cases, your testers need a processthat allows them to manage multiple projects andclearly define the objectives of each one.

More than bug tracking—meetbusiness outcomesSome IT organizations regard testing as a bug-trackingactivity. It’s true: your testing team’s primaryresponsibility is to find defects. However, a testingprocess is more than recording bugs and passing themto developers. Testing should focus on verifying that theapplication’s design and functionality meet yourbusiness requirements and your users’ needs. Toachieve those goals successfully, a testing processrequires clearly defined system specifications andapplication business rules.

Early in the lifecycleEarly problem detection can be as much as ten timesless expensive than finding issues during production,requiring that testing and development beginsimultaneously. However, to implement testing earlier inthe lifecycle, your testers need a clearly defined set ofgoals and priorities to help them better understandsystem design, requirements and testing objectives. Awell-defined, structured and intuitive test managementprocess can help them meet your testing goals andenhance the quality of your applications.

4

Without a standard foundation for test planning, executionand defect tracking, testing efforts are non-repeatable, non-reusable and difficult to measure.

Page 5: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

The test managementprocessThe basic principles for test management are the same,regardless of the underlying platform or how you writeyour tests. Test management begins with gathering anddocumenting your testing requirements and continuesthrough designing and developing your tests, runningthe tests—manual and automated, functional andload—and analyzing application defects.

The testing process is not linear, and it differsdepending on your organization’s practices andmethodologies. This section delves deeper into eachphase of the test management process and exploreswhat it means to have an effective method fororganizing, documenting, prioritizing and analyzingyour entire testing program.

Requirements managementThe testing process begins with defining clear andcomplete application requirements that can be tested.Developing and managing these requirements arecritical for developing and testing your softwareapplications and should reflect your organization’s needs.

To use a metaphor, a team of architects needs to consultwith the homeowners and thoroughly document theirrequirements before designing and building a house.Otherwise, the homeowners may end up with a housethat completely differs from what they envisioned.Building a house without requirements is difficult enough,but the problem becomes greater when dealing withsoftware applications, which are intangible, complex andconstantly changing.

Research shows that more than 30 percent of all softwareprojects fail before completion and that this failure islargely due to ambiguous, poorly worded and badlydefined requirements. All too often, requirements areneglected in the testing effort, leading to a chaoticprocess in which your testers fix what they can andaccept that they will not verify certain functionality.

You achieve quality only through testing theapplication against its requirements. Although unittesting of individual components may be sufficient

during the development process, you need to test theentire application based on its requirements so that theapplication functions as expected. Of the many typesof requirements, functional and performancerequirements most often apply to the testing process.Functional requirements help validate that theapplication contains specific functionality and shouldbe derived directly from the use cases that developersuse to create the application.

Performance requirements include the performancestandards and specifications, such as transactionresponse times or maximum numbers of users,identified by the project team. These requirements—also referred to as service-level objectives(SLOs)—increase the likelihood that the applicationcan scale to the expected number of users and providea positive user experience.

Both functional and performance requirements give thetesting team a clear, concise and functional blueprintwith which to develop test cases. Most software testingmanagers agree that it’s impossible to test everything,even in a rather simple application. To test everyfeature and functional permutation, you may need todevelop thousands, if not millions, of test cases, whichis unrealistic given time-to-market goals and otherpressures. Requirements-based testing is one way tohelp you prioritize your testing effort.

You can group requirements according to how criticalthey are to your business success. You must testextensively the requirements that affect the corefunctionality of your application. You can address thenot-so-critical requirements with minimal testing effortor later in the lifecycle.

For example, if you test a new release of a matureproduct with only a few functional changes, yourtesting effort should concentrate on the modified orenhanced areas. These changes are usually well-documented in the development or marketingspecification documents, and you can derive thetesting requirements from them.

5

Page 6: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Recognizing the importance of requirements-baseddevelopment and testing, testing solutions now includea variety of tools designed to aid the creation,traceability and management of applicationrequirements. Some of these enterprise requirementstools are sophisticated and complex. Others offerbasic functionality designed to assist in creating,storing and documenting requirements. The key toselecting the appropriate tool is the functionality youneed. Most organizations still use word-processingtools or spreadsheets to track requirements; however,commercial tools designed for requirementsmanagement are a better choice if you want a solid,flexible, requirements-based testing process.

Requirements-based testing helps keep your testingeffort on track—even when priorities shift, resourcesbecome tight or the time for testing runs out.Requirements-based testing measures quality againstyour end users’ needs.

Planning testsComprehensive planning is critical, even with shorttesting cycles. Planning your tests and designing yourapplications simultaneously gives you a complete set oftests that covers each function the application isdesigned to perform. If you do not address testplanning until later in the application lifecycle, much ofthe design knowledge is lost, and testers will need toreturn to the analysis stage in order to recreate whathad been done before.

During a test planning phase, your testing teamidentifies test-creation standards and guidelines, selectshardware and software for the test environment,assigns roles and responsibilities, defines the testschedule and sets procedures for running, controllingand measuring the testing process.

The test plan itself contains test designs, testprocedures, naming conventions and other testattributes. Use the planning phase to define which testsare needed, how to execute these tests and the risksand contingencies that require planning.

Establish the rulesYour testers don’t need overly bureaucratic processesto slow them down, but ambiguities and a lack ofclearly defined procedures can make testing abottleneck for product deliverables. You shouldestablish rules for keeping test logs and documentation,assigning roles within the team, agreeing on namingconventions for tests and defects and defining theprocedure for tracking progress against project goals.

Set up your test environmentYou need to create a test environment to support alltesting activities. Consider all issues that have longlead times as early in the testing process as possible.The planning phase is the time to complete hardwareand software procurements, network installation, testenvironment design and special arrangements thatmay be necessary during the actual testing phase.

Define test proceduresDuring the planning stage, your testers determinewhether tests are going to be manual or automated. Ifthe test is automated, your testers need to understandwhich tools to use for automation, and estimate whattechniques and skills are needed for the effective useof these tools. While test automation is mandatory formany organizations, most companies still use manualtesting. Regardless of the type of testing you use—manual or automated—you need robust testmanagement processes.

6

The test management process lets you organize,document, prioritize and analyze yourorganization’s entire testing effort.

Page 7: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Develop your test designYou can represent your test design as a sequence ofsteps for executing a test (as done in manual testing)or as a collection of algorithms and code thatsupport more sophisticated, complex tests. Duringtest planning, your testers create a detailed descriptionof each test and identify the types of data or ranges ofdata that the tests require.

Map your test dataYou need to map the requirements for your test dataagainst your test procedures. Your testing team mustunderstand what types of data they need to support eachtype of test, and how to obtain or generate this data.

Design your test architectureThe test architecture helps your testers understand thetest building blocks and assists them in developing theactual tests. The test architecture helps you plan fordata dependencies, map the workflow between testsand identify common scripts that may be reused forfuture testing.

Communicate your test planOnce you create the test cases, you must create amaster test plan and communicate it to the rest of theorganization—specifically project leaders, developersand marketing personnel—letting them know whatyour testing group will be testing. In this way, morepeople in your organization have visibility into theproject and can add their input, questions orcomments before the actual testing begins. The testplan can also provide visibility into testing projects foryour executives. Having access to organized, detailedplan data gives your executives the confidence thatthey are working with a professional quality assurance(QA) organization and are getting value from theirtechnology and human resource investments.

Running your testsAfter addressing test design and development issues,your testing team can start running tests. To test thecomplete application, your testers need to performvarious types of testing—functional, regression, load,unit and integration—each with its own set ofrequirements, schedules and procedures.

You set up the test environment in the planning phase,so at this time, your testers can view the availablehardware and choose which tests to run on whichsystems. Typically, applications are tested on different

operating systems, different browser versions or otherconfigurations. During the test-run phase, your testerscan set up groups of systems to increase the efficiencyof your lab resources.

Scheduling automated tests is another way to optimizethe use of your lab resources as well as save yourtesters time by running multiple tests simultaneouslyacross multiple systems on the network. You can scheduletests to run unattended, overnight or when a system is inleast demand for other tasks. Using automated tests alsomakes the scripts more reusable and easier to maintainby letting you create more modular tests and schedulethem in a certain sequence.

Having an organized, documented process not onlyhelps your automated tests. It also helps make yourmanual tests more accurate by providing your testerswith a clearly defined procedure that specifies thetasks they need to perform at each step in the manualtesting. For both manual and automated tests, yourtesters must keep a complete history of all test runs,creating audit trails to help trace the history of the testsand test runs.

Create your test setsA popular way to manage multiple tests is to groupthem into test sets, according to a business process,environment or feature. For example, you can group alltests designed to verify the log-in process under the“Log-in” test set. You can assign individual tests, bothmanual and automated, to test sets to help your testersthoroughly cover the functional areas of your application.

Set your execution logicTo verify application functionality and usability, yourtests must realistically emulate your end users’behavior. You should follow the predefined logic, suchas running certain tests after other tests have passed,failed or completed. For example, a user logs into thesystem, enters a new order and then exits the system.To emulate this simple business process, you shouldrun the tests in the same sequence: log-in, insert order,log-out. You should set the execution logic rules prior toexecuting the actual tests.

7

Page 8: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Manage your test resourcesAfter setting up and configuring your test environment,your testers define what tests or groups of tests shouldrun on which systems. You can set up your hardware totest a particular operating system, platform or browser.Additionally, managing test lab resources by assigningtests to individual systems helps to use your hardwareand network resources efficiently and effectively.

Run your manual testsRunning manual tests involves manually interactingwith an application then recording actual resultsagainst expected outcomes. While some manual testsare routine, they are an essential part of the testingprocedure, allowing your testers to verify functionalityand conditions that automated tools cannot handle.

Schedule automated test runsAfter developing automated tests and assigning themto host machines, your testing team needs to create anexecution schedule. Scheduling is another way toavoid conflicts with hardware and system resources.You can schedule tests to run unattended, overnight orwhen a system is in least demand for other tasks.

Analyze your test-run resultsWhen your tests execute, your testers uncoverapplication inconsistencies, broken functionality,missing features and other problems commonlyreferred to as “bugs” or “defects.” The next step is toview the list of failed tests and determine what causeda test to fail. If your tester determines that the test faileddue to an application defect, you need to report thisdefect into the defect tracking system for furtherinvestigation, correction and re-testing.

Managing issuesManaging or “tracking” issues and defects is a criticalstep in the testing process. As today’s systems becomemore complex and mission critical, so does the severityof the defects. A well-defined method for defectmanagement benefits not just the testing team.Developers, managers, customer support, QA andeven beta customers can effectively contribute to thetesting process by having access to an open, easy-to-use and functional defect-tracking system. The key tomaking a good defect-reporting and resolution processis to set up the defect workflow and assign permission

rules. In this way, your testers can define how alifecycle of a defect should progress and who has theauthority to open a new defect, who can change itsstatus to “fixed” and under what conditions the defectcan be closed. You should also maintain a completehistory and audit trail throughout the defect’s lifecycle.Extra time spent on documenting the defect and itshistory is often rewarded with easier analysis, shorterresolution times and better application quality.

Analyzing defects helps your managers make “go/no-go” decisions about application deployment. Byanalyzing defect statistics, your testers can analyzeyour applications and determine how many defectsthey have and other related factors, such as theirstatus, severity, priority and age. By giving differentteam members access to defect information, yourtesters can greatly improve communication in yourorganization and share the current status of yourapplications.

Agree on a naming conventionEffective defect management relies uponcommunication across the different parties involved inthe process. Before you establish reportingmechanisms, your testing team needs to set the rules,such as defining the severity of bugs, and agree onwhat information must be included in the defect report.For example, many testing organizations categorizedefects as follows:

• Cosmetic or user interface

• Inconsistency

• Loss of functionality

• System crash

• Loss of data

Cosmetic and inconsistency defects are the easiest toreport and address. Although they make theapplication more difficult to use, they don’t affect theapplication’s functionality. Defects that result in loss offunctionality are more severe and more urgentlyrequire correction. Defects that cause the system tocrash or lose data are commonly called “showstoppers.”You must document these types of defects asthoroughly as possible and correct them before yourapplication goes live.

8

Page 9: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Establish reporting proceduresFor good defect reporting, you need to supply yourdevelopers with the information they need toreproduce and fix a problem. A defect report generallyincludes a summary and detailed description of theproblem, version and system configuration information,the steps needed to reproduce the problem and anyrelevant information and attachments that help illustratethe issue.

Set permission rulesEach step in the test management process requiresdifferent access privileges. This is especially true inmanaging defects, as defect information helps yourmanagers make “go/no-go” decisions regardingapplication release. Before the testing begins, yourtesters must decide which team members havepermission to report, open or re-open defects, adjuststatus and determine that a bug has been fixed andis closed.

Establish the process flowAfter you find a defect, submit it into the defectrepository. A developer should review it and determinewhether the reported issue is indeed a defect. If so, thedeveloper assigns it a “new” status. As fewdevelopment organizations have the bandwidth torepair all known defects, a developer or projectmanager must prioritize them. If your development

group is pressured to release the next version of theapplication, a project manager can decide to fix only“show-stopper” defects and correct others after therelease cycle. This process flow creates anaccountability chain, which defines who owns whichdefects and the status of the corrections.

Retest repairsAfter a known defect is repaired, you need to retest theapplication to see that the changes have taken effectand that the correction did not introduce additionalproblems and unexpected side effects.

If the defect does not appear when you retest theapplication, you can change the status to “closed.” If the problem persists or the correction introducedadditional problems, re-open the defect and repeatthe cycle.

Analyze defectsAnalyzing defects is critical. With analysis, your testerscan understand the application being tested and viewthe number of known defects and related information,such as their status, severity, priority and age. Throughdefect analysis, your management can make aninformed decision whether an application is ready fordeployment.

9

Extra time spent on documenting adefect and its history is oftenrewarded by easier analysis, shorterresolution times and betterapplication quality.

Page 10: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

HP Quality CentersoftwareHP Quality Center software is web-enabled, testmanagement software that supports the testmanagement process in one powerful, scalable andflexible solution. It combines an integrated suite of role-based modules, a business dashboard and an open,scalable and extensible foundation—all designed tooptimize and automate key quality activities, includingrequirements, test management and defects tracking,functional testing and regression testing, and manualand business-process testing. Seamless integrationamong these modules provides smooth informationflow among the different stages of the testing process.With HP Quality Center, you get enterprise-levelfunctionality that meets the needs of the mostsophisticated application testing projects.

Global, web-based test managementHP Quality Center is global test managementsoftware. By being web-enabled, it supportscommunication and collaboration among distributedtesting teams—whether they are located in differentparts of the world or separated by organizationalboundaries.

In today’s organizations, different groups are involvedin the testing process—managers, developers,customer support, in-house and offshore teams andeven customers. By using a browser, all these groupscan easily access testing information and collaborateseamlessly. In addition, HP Quality Center canconfigure user groups and set up permissions to helpmaintain access privileges and preserve informationintegrity so that users see only the tests and assets thatare relevant to them. This functionality is particularlybeneficial for offshore testing projects.

The web-based software can also synchronize usersthrough version upgrades or installing new modules.As a result, users no longer need to go offline duringupgrades. They simply refresh the browser andsynchronize with the rest of the organization.

10

Figure 1. Comprehensive testing.HP Quality Center links test casesto testing requirements and tracesthe testing process.

Page 11: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Requirements managementThe Requirements Management feature in HP QualityCenter links test cases to testing requirements,providing traceability throughout the testing process.This lets users easily see what percentage ofapplication functional requirements are covered bytests, how many of these tests have run and how manyhave passed or failed.

Developing testing requirements starts with reviewingthe documentation for the application being tested,including marketing and business requirementsdocuments, system requirements specifications anddesign documents. You can use these documents togain a thorough understanding of the applicationbeing tested and to determine the testing scope: testgoals, objectives and strategies.

Based on the testing scope and goals, your QAmanagers can begin developing requirements, logthem into the HP Quality Center requirements tree andassign responsibilities for specific areas. Therequirements tree is a graphical representation of yourorganization’s specific requirements and displays thehierarchical relationship among the differentrequirements. Each requirement in the tree is describedin detail, such as the reviewed status, priority andcreation date, and includes any relevant attachments.

Requirements Management provides two ways to linkyour requirements to tests:

• Your testers can automatically generate tests basedon application requirements. Or, if they have anexisting test plan, they can link requirements to teststhat are associated with defects. In this way, yourtesters can track their testing needs at all stages ofthe testing process. If a testing requirement changes,they can immediately identify which tests and defectsare affected, and who is responsible.

• Your testers can group and sort requirements in the tree, monitor task allocation and the progressof requirements and generate detailed reports and graphs.

At any stage in your testing process, HP QualityCenter can help your testers generate graphs andreports quickly to gain accurate status informationabout the tested application. For example, once youcomplete your requirements, your testers can quicklyextract information on what percentage of therequirements the tests address and what the status is ofthose tests. They can also extract information on howmany requirements were rejected in the review processand need to be repaired and which requirements have“urgent” priority and need to be validated as soonas possible.

With HP Quality Center, you can save all filters,reports and graphs as “Favorites” for public or privateaccess. Only the person who creates private favoriteviews can access them. Public favorites, however, canbe used by the entire team. For example, a managerneeds to have updated information on the status of alltesting requirements for a particular application for aweekly meeting. She only needs to create the reportonce and save the filter under Favorites. From thatpoint on, HP Quality Center automatically updates herview with new information, and the manager gets anupdated status of all requirements every week.

HP Quality Center also helps organizations maintainan audit trail by providing the history of any changesmade to a particular requirement. This helps preserveinformation integrity and allows your testers to traceevents throughout the requirement lifecycle—from initialcreation through changes to its status, priority or testcoverage.

11

Page 12: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Planning your testsThe test-plan tree in HP Quality Center is a graphicalrepresentation of your test plan. It is a hierarchical list oftests, organized according to topic, and describes the setof tests needed to meet your quality requirements. Yourtesters can also associate a test with specific defects. Thisis useful, for example, when you create a new test for aknown defect. Through association, your testers candetermine whether the test should run based on the statusof the defect.

HP Quality Center allows your testers to link each test inthe test-plan tree with a requirement in the requirementstree. By defining the requirements for a test, your testerscan track the relationship among the tests in the test planand the original testing requirements.

For each test, HP Quality Center helps your testerscreate test steps that describe which operations toperform, what specific areas to check and whichresults to expect. After your testers define the test steps,they can decide whether to perform the test manuallyor to automate it.

In addition to supporting both manual and automatedtests, HP Quality Center supports the migration frommanual to automated tests. If your testers automate atest, HP Quality Center creates a template for anautomated test based on the design steps. Your testersonly need an automated testing tool, such as HPWinRunner software or HP QuickTest Professionalsoftware, to record the business process and completethe test.

Before you execute your tests, you should review the testplan to determine how well it meets the goals that yourtesters defined at the beginning of the testing process.They can analyze their test plan by generatingcustomizable reports and graphs. For example, they cancreate a report that displays design step data for eachtest in a test-plan tree. They can also use this report tohelp determine their test design priorities.

As with reports and graphs in the requirements tab,testers can save their test plan views as Favorites andaccess this information at any time.

12

Figure 2. Graphically view yourtest plans.A test-plan tree in HP QualityCenter is a graphicalrepresentation of your test plan.

Page 13: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

If your planning information is already stored in anapplication, such as Microsoft

®Word or Excel, your

testers can reuse this information and import it into HPQuality Center, preserving your investment andeliminating the need for redundant planning efforts.Additionally, HP Quality Center allows your testers tocreate attachments so they can add information, suchas design documents or feature specifications, to aspecific test.

Running your testsThe Test Lab feature in HP Quality Center helps yourtesting team manage the scheduling and running ofmany different types of tests. To help organize the teststhat need to run, HP Quality Center uses the conceptof a “test set.” A test set is a group of tests in a projectdatabase, designed to achieve specific testing goals.Test sets can include all tests that validate specificfunctionality, such as a log-in process, or that verify anapplication works with a particular version of a browser.

With HP Quality Center, you can add tests to a test setfrom the planning tree by dragging and dropping.Your testers can also create a filter inside the planningtree and export it into a test set for all tests that satisfyspecified criteria.

In addition, your testers can define the executionconditions and control the execution of automated testsin a test set. They can set conditions and schedule thedate and time for executing automated tests. They canalso set the sequence in which to execute the tests.

For example, to verify a simple business process in whichthe user logs into a system, creates a reservation, enterspayment information and logs out, you can create fourmodular tests: “Log-in,” “Create Reservation,” “InsertPayment” and “Log-out.” To emulate this simple businessprocess, you can arrange the four tests sequentially,beginning with “Log-in” and followed by “CreateReservation,” “Insert Payment” and “Log-out.”

You can also define the execution conditions. In thisexample, you can set the “Create Reservation” test torun only after the “Log-in” test passes. The “Log-out”test, on the other hand, can run regardless of whetherthe previous test passes or fails. For example, you canset “Log-out” to run after “Insert Payment” has finished,regardless of the result.

13

Figure 3. Run tests locally orremotely.With HP Quality Center, testscan run locally or remotely onany available system on thenetwork.

Page 14: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

With HP Quality Center, your testers can run testslocally or remotely on any available system on thenetwork. Through the Host Manager feature, they candefine the systems for running tests and group them bytask (functional or load testing), operating system(Windows® or UNIX®), browser type and version(Netscape or Internet Explorer) or by any otherspecification or configuration.

HP Quality Center is tightly integrated with other HPquality management offerings. You can also use itsopen API to run tests using a third-party testing tool.Your testers can schedule automated tests to rununattended, either overnight or when the test labsystems are in least demand for other tasks. Using itsscheduling mechanism, HP Quality Center invokes theautomated testing tool, runs your tests and reportsresults back into the central repository.

Managing issuesInformation about issues or defects is critical fordetermining the status of an application and decidingwhether it is ready for deployment. The DefectManagement feature in HP Quality Center logs, tracks,manages and analyzes application defects. Differenttypes of users—testers, project managers, developers,beta customers and many others—can use it to enterdefects directly into the database.

An effective defect-tracking process is firmly rooted inthe concepts of well-defined workflow and permissionrules. Your testers can define how a defect shouldprogress through its lifecycle—from initial problemdetection through solving the problem and verifying thecorrection—as well as set permission rules and accessprivileges for any member of the organization.

14

Figure 4. Analyze applicationdefects.The Defect Management modulein HP Quality Center logs, tracks,manages and analyzesapplication defects.

Page 15: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

Using customization options, you can establish theworkflow rules that are most appropriate for yourprocess. For example, a defect must start its cycle withthe status “new.” It cannot be closed without a QAmanager reviewing it first, then it transfers to thedevelopment team. A developer either rejects thedefect or corrects the problem and assigns a newstatus, “fixed.” The defect remains open until theproject manager reviews the corrections and changesthe status to “closed.” By setting the workflow andpermission rules for different members of the team, youcan configure HP Quality Center to reflect your processflow and organizational requirements.

Share customizable analysis toolsBased on organizational roles, you can restrictindividuals from viewing certain records in the defect-tracking process. For example, you can restrict somedevelopers to viewing only defects that have beenassigned to them. Similarly, you can block betacustomers who have access to the defect databasefrom viewing the “target fix date” for any defect.

Your testers can attach information to a defect, such asa description file or a view of the application beingtested, to help illustrate a problem. To further helpdevelopment reproduce the issue, your testers canattach information about all system components, suchas memory, operating system or color settings.Attached as a text file, all this data can help reproducethe problem and accelerate problem resolution.

The filters, reports, graphs and favorites in the DefectManagement feature in HP Quality Center can helpassess whether an application is ready to be deployedby answering the following questions. Are your testersfinding more defects than they are fixing? Are yourdevelopers overloaded with too many urgent bugsassigned to them? Are there more defects in the currentversion of the application than in the previous release?All of this information is available through thecustomizable analysis tools and can be shared acrossthe organization.

15

Page 16: Table of contents - Hewlett Packard...conduct comprehensive testing of all requirements. As a result, your testers must prioritize the requirements that they test. And requirements

SummaryThe application-testing process is unique for everyorganization. However, many testing teams follow asimilar methodology that includes identifying thefunctional requirements, creating a test plan, runningtests and tracking application defects. This approachto testing requires powerful software that can promotecommunication and collaboration among teams, whileadding organization and structure to the testingprocess. HP offers global test management with HPQuality Center. By integrating requirementsmanagement with test planning, test scheduling, testexecution and defect tracking in a single web-basedapplication, HP Quality Center streamlines andaccelerates the testing process.

To learn more, visit www.hp.com/go/software© 2007 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HPproducts and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed asconstituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

Microsoft and Windows are U.S. registered trademarks of Microsoft Corporation. UNIX is a registered trademark of The Open Group.

4AA1-2314ENW, May 2007