Example of Tool Evaluation Criteria

advertisement

Example of Tool

Evaluation Criteria

Once the test engineer has narrowed the search for a particular type of test tool to two or three lead candidates, the Evaluation Scorecard depicted in Table 1 can be used to determine which of the tools best fits the particular requirements.

Tool Evaluation Scorecard

Table 1 Evaluation Scorecard—Automated GUI

Testing (Record/Playback) Tool

Weight Score Value

(1–10) (1–5) (1–50) Test Tool Characteristic

Ease of Use

Learning curve

Easy to maintain the tool

Easy to install—tool may not be used if difficult to install

Tool Customization

Can the tool be customized (can fields in tool be added or deleted)?

Does the tool support the required test procedure naming convention?

Platform Support

Can it be moved and run on several platforms at once, across a network (that is, cross-Windows support, Win95, and WinNT)?

7

5

5

7

8

8

5

5

3

4

4

4

35

25

15

28

32

32 continued

1

2 Example of Tool Evaluation Criteria continued from page 1

Test Tool Characteristic

Multiuser Access

What database does the tool use? Does it allow for scalability?

Network-based test repository—necessary when multiple access to repository is required

Defect Tracking (For more detail on evaluating defect tracking tools, see Chapter 8)

Does the tool come with an integrated defect-tracking feature?

Tool Functionality

Test scripting language—does the tool use a flexible, yet robust scripting language? What is the complexity of the scripting language: Is it 4 GL? Does it allow for modular script development?

Complexity of scripting language

Scripting language allows for variable declaration and use; allows passing of parameters between functions

Does the tool use a test script compiler or an interpreter?

Interactive test debugging—does the scripting language allow the user to view variable values, step through the code, integrate test procedures, or jump to other external procedures?

Does the tool allow recording at the widget level (object recognition level)?

Does the tool allow for interfacing with external .dll and .exe files?

Published APIs—language interface capabilities

ODBC support—does the tool support any

ODBC-compliant database?

Is the tool intrusive (that is, does source code need to be expanded by inserting additional statements)?

Communication protocols—can the tool be adapted to various communication protocols (such as TCP/IP, IPX)?

Custom control support—does the tool allow you to map to additional custom controls, so the tool is still compatible and usable?

Ability to kick off scripts at a specified time; scripts can run unattended

Allows for adding timers

Allows for adding comments during recording

Weight Score Value

(1–10) (1–5) (1–50)

8

8

10

9

9

8

9

9

10

9

10

10

9

9

10

9

10

7

5

5

3

5

5

4

5

5

5

5

4

4

4

3

3

5

5

5

40

40

30

45

45

45

45

32

50

45

40

40

36

27

30

45

50

35 continued

Example of Tool Evaluation Criteria 3 continued from page 2

Weight Score Value

Test Tool Characteristic

Compatible with the GUI programming language and entire hardware and software development environment used for application under test (i.e., VB, Powerbuilder)

Can query or update test data during playback (that is, allows the use of SQL statements)

Supports the creation of a library of reusable function

Allows for wrappers (shells) where multiple procedures can be linked together and are called from one procedure

Test results analysis—does the tool allow you to easily see whether the tests have passed or failed (that is, automatic creation of test results log)?

Test execution on script playback—can the tool handle error recovery and unexpected active windows, log the discrepancy, and continue playback (automatic recovery from errors)?

Allows for synchronization between client and server

Allows for automatic test procedure generation

Allows for automatic data generation

Y2K compliance

(1–10) (1–5) (1–50)

10 5 50

10

10

10

10

5

8

10

5

8

4

3

3

10

5

5

5

5

5

40

50

50

30

15

50

40

40

50

Reporting Capability

Ability to provide graphical results (charts and graphs)

Ability to provide reports

What report writer does the tool use?

Can predefined reports be modified and/or can new reports be created?

Performance and Stress Testing

Performance and stress testing tool is integrated with GUI testing tool

Supports stress, load, and performance testing

Allows for simulation of users without requiring use of physical workstations

Ability to support configuration testing (that is, tests can be run on different hardware and software configurations)

Ability to submit a variable script from a data pool of library of scripts/data entries and logon IDs/password

Supports resource monitoring (memory, disk space, system resources)

Synchronization ability so that a script can access a record in database at the same time to determine locking, deadlock conditions, and concurrency control problems

9

10

10

8

8

8

8

10

10

10

10

5

5

5

5

5

3

3

3

3

3

5

40

40

40

40

45

30

30

30

30

30

50 continued

4 Example of Tool Evaluation Criteria continued from page 3

Test Tool Characteristic

Ability to detect when events have completed in a reliable fashion

Ability to provide client to server response times

Ability to provide graphical results

Ability to provide performance measurements of data loading

Version Control

Does the tool come with integrated version control capability?

Can the tool be integrated with other version control tools

Test Planning and Management

Test planning and management tool is integrated with

GUI testing tool

Test planning and management tool is integrated with requirements management tool

Test planning and management tool follows specific industry standard on testing process (such as SEI/CMM, ISO)

Supports test execution management

Allows for test planning—does the tool support planning, managing, and analyzing testing efforts? Can the tool reference test plans, matrices, and product specifications to create traceability?

Allows for measuring test progress

Allows for various reporting activities

Pricing

Is the price within the estimated price range?

What type of licensing is being used (floating, fixed)?

Is the price competitive?

Vendor Qualifications

Maturity of product

Market share of product

Vendor qualifications, such as financial stability and length of existence. What is the vendor’s track record?

Are software patches provided, if deemed necessary?

Are upgrades provided on a regular basis?

Customer support

Training is available

Is a tool Help feature available? Is the tool well documented?

Availability and access to tool user groups

Total Value

Weight Score Value

(1–10) (1–5) (1–50)

9 5 45

10

8

10

10

8

8

8

7

10

10

10

9

10

7

9

10

9

8

8

9

8

8

8

8

5

5

4

3

4

4

5

5

4

3

5

5

4

3

4

4

4

4

3

4

5

5

5

4

30

40

50

40

24

40

40

28

50

50

50

36

40

21

36

32

32

32

32

40

30

36

45

32

2,638

Example of Tool Evaluation Criteria 5

As the weighted values for the test tool characteristics will vary with each type of test tool, the test team may wish to develop an evaluation scorecard form for each type of test tool required. In Table 1, an automated GUI test tool (capture/playback) candidate is evaluated against the desired test tool characteristics. The total value of

2,638 for this candidate must then be compared with the total values derived for the other two candidates. As noted in the sample scorecard summary below, Candidate

3 achieved a rating of 75.3% in being able to provide coverage for all the desired test tool characteristics:

Candidate

Candidate 1

Candidate 2

Candidate 3

Score

2,360

2,530

2,638

Rating

67.4%

72.3%

75.3%

An optional evaluation scoring method involves sizing up the three candidates using only the most important test tool characteristics. Note that 12 of the characteristics were assigned a weight of 10. Table 2 reflects the scores for the three test tool candidates using a preferred scorecard form based upon product information obtained from each vendor.

Table 2 Preferred Scorecard—GUI Record/Playback Tool

Test Tool Characteristic

Integrated defect-tracking feature

Recording at the widget level

Published APIs—Language interface capabilities

ODBC support—tool supports

ODBC-compliant databases

Custom control support

Allows for adding timers

Compatible with GUI language/ development environment

Can query or update test data during playback

Supports the creation of a library of reusable functions

Allows for wrappers (shells)

Test results analysis

Candidate 1 Candidate 2 Candidate 3

(1–5)

3

5

4

(1–5)

5

5

5

(1–5)

3

5

4

4

3

4

5

4

4

4

3

4

5

5

5

4

4

5

5

4

3

5

5

4

5

5

3 continued

6 Example of Tool Evaluation Criteria continued from page 5

Test Tool Characteristic

Y2K compliance

Supports stress, load, and performance testing

Allows for simulation of users

Supports configuration testing

Ability to use variable scripts

Supports resource monitoring

Synchronization ability

Client to server response times

Performance measurements of data loading

Version control

Supports test execution management

Allows for test planning

Measuring test progress

Price is within estimated range

Customer support

Total Value

Candidate 1 Candidate 2 Candidate 3

(1–5)

5

3

(1–5)

5

5

(1–5)

5

3

4

5

4

5

3

3

97 0

3

3

3

4

3

3

3

3

5

4

4

5

5

117 00

4

4

4

5

5

3

4

5

5

4

5

4

3

103 00

3

3

3

5

3

3

3

A Preferred Scorecard Summary is provided in Table 2. Note that using this different model for scoring, test tool Candidate 2 achieves a higher rating than Candidate 3, which had posted the highest rating using the Evaluation Scorecard method.

Candidate 2 achieved a rating of 90.0% for being able to provide coverage for the highest priority test tool characteristics.

Candidate

Candidate 1

Candidate 2

Candidate 3

Score

97

117

103

Rating

74.6%

90.0%

79.2%

Remember that the evaluation for each kind of test tool being considered for an organization or project is different. Each particular type of test tool has its own particular desired characteristics and a different weight scheme for the tool’s desired characteristics. The guidelines of what to look for and weigh when evaluating a

GUI test tool will be different from guidelines for how to evaluate a network monitoring tool.

Download