CH06.L01.Types of Test Tools

MaharaTech - ITI MOOCA
16 Nov 201710:50

Summary

TLDRThis script delves into the diverse types of test tools as per the ISTQB syllabus, categorizing them into five main groups: Management of Testing, Static Testing, Test Specification, Test Execution and Logging, and Performance and Monitoring. It highlights the specific roles and features of each tool type, such as storing requirements, tracing defects, and analyzing code. The importance of understanding tool features and the potential 'probe effect' on testing outcomes is emphasized, urging a careful review of the 'Types of test tools' document for a comprehensive grasp of the subject.

Takeaways

  • πŸ“š The script discusses various types of test tools categorized according to testing activities in the ISTQB syllabus.
  • πŸ› οΈ There are five main types of test tools: Management of Testing, Static Testing, Test Specification, Test Execution and Logging, and Performance and Monitoring.
  • πŸ”„ Test management tools are essential for ongoing control activities and include features like storing, reporting, and tracing.
  • πŸ” Static testing tools are used for code or requirement analysis before execution, aiming to find defects early and reduce costs.
  • πŸ“ Test specification tools assist in generating test data, inputs, and expected results from specifications, enhancing the test implementation phase.
  • πŸ”§ Test execution tools automate or semi-automate the execution of tests, recording outcomes and requiring users with programming skills.
  • πŸ”‘ Performance and monitoring tools are used in the final stages of testing for evaluating exit criteria, reporting, and test closure activities.
  • πŸ‘₯ Some tools are more commonly used by developers (indicated by a 'D') due to their use in unit and integration testing.
  • πŸ”‘ Test management tools include test management, requirements management, incident management, and configuration management tools.
  • πŸ”„ Static testing is divided into reviews & static analysis, with tools including review tools, static analysis tools, and modeling tools.
  • πŸ”Ž Review tools facilitate the process of code review by different individuals to identify defects, while static analysis tools ensure code adherence to standards and security.
  • πŸ“Š Test execution and logging tools encompass a range of functionalities from executing tests to comparing results and measuring code coverage.

Q & A

  • What are the five main types of test tools according to the ISTQB syllabus?

    -The five main types of test tools according to the ISTQB syllabus are: Tool Support for Management of Testing, Tool Support for Static Testing, Tool Support for Test Specification, Tool Support for Test Execution and Logging, and Tool Support for Performance and Monitoring.

  • What is the purpose of Test Management Tools in the context of testing activities?

    -Test Management Tools are used for ongoing test control activities, as they work alongside all other testing activities and are considered a main part of the process due to their use in all test activities.

  • What does Tool Support for Static Testing include and why is it important?

    -Tool Support for Static Testing includes tools used in test analysis and design. It is important because it helps in finding defects early in the software development lifecycle, which is more cost-effective than finding them later in the process.

  • Can you explain the role of Tool Support for Test Specification in the testing process?

    -Tool Support for Test Specification is used in the test implementation stage. These tools help generate test data, test inputs, and expected results from the specifications, which aids in the creation of test cases.

  • What are the key features of Test Execution and Logging Tools?

    -Test Execution and Logging Tools are used in the test execution stage and their key features include the ability to execute software automatically or semi-automatically, record manual tests, log results for each test run, and support the tester in conducting and documenting tests.

  • How are Tool Support for Performance and Monitoring used in the later stages of test activities?

    -Tool Support for Performance and Monitoring is used in the last two stages of test activities: Evaluating exit criteria and reporting, and Test closure activities. These tools help in assessing the system's performance under various conditions and monitoring its behavior over time.

  • What are the four types of management tools mentioned in the script and what are their primary functions?

    -The four types of management tools are: 1) Test management tool - manages the testing project as a whole. 2) Requirements management tools - manage the requirements specifically. 3) Incident management tools or Defect tracking tool - responsible for managing incidents such as defects, failures, and change requests. 4) Configuration management tools - manage software versions.

  • What is the significance of the 'Trace' feature in management tools?

    -The 'Trace' feature in management tools is significant as it helps in linking test objects with requirements for test management tools, tests with requirements for requirement management tools, and ensures traceability throughout the testing process.

  • What are the types of Static Testing tools and their responsibilities?

    -The types of Static Testing tools are review tools, static analysis tools, and modeling tools. Review tools help in the peer review process, static analysis tools find defects in the code by ensuring adherence to standards and security, and modeling tools validate the model by finding defects and inconsistencies.

  • How do Test Specification tools assist in the test implementation stage?

    -Test Specification tools assist in the test implementation stage by generating test inputs and expected results from the requirements, graphical user interfaces, design models, and code, thus helping to create test cases and test data.

  • What is the role of Test Data Preparation Tools and how do they ensure data security?

    -Test Data Preparation Tools are responsible for generating test data from files and databases, capable of handling a wide range of databases. They ensure data security by confirming that the data is secure or by making it anonymous, preventing unauthorized access to the data within the software.

  • What are the five types of Tool Support for Test Execution and Logging and their specific tasks?

    -The five types are: 1) Test execution tool - executes software automatically or semi-automatically and records test results. 2) Test Harness/Unit Test Framework Tools - important for developers during component or unit testing. 3) Comparators tool - compares files, databases, and test results. 4) Coverage measurement tool - measures the percentage of code coverage during testing. 5) Security testing tool - attempts to break and hack the software to test its protective abilities.

  • What is the 'probe effect' mentioned in the script and why can it occur?

    -The 'probe effect' refers to the negative impact that some types of tools may have on the actual outcome of testing. It can occur when the tool's own instructions and processes interfere with the software's execution, leading to inaccurate measurements or results, such as when the tool's presence causes the software to perform slower than it would under normal conditions.

Outlines

00:00

πŸ“š Chapter 6: Test Tools Overview

This paragraph introduces the various types of test tools categorized according to testing activities as outlined in the ISTQB syllabus. It discusses five main types: Test Management Tools, Static Testing Tools, Test Specification Tools, Test Execution and Logging Tools, and Performance and Monitoring Tools. Each category is explained with its specific use in the testing lifecycle and features such as storing, reporting, and tracing. The paragraph also notes the distinction between tools commonly used by developers (marked with 'D') and those used by testers. The importance of early defect detection and the role of static testing tools in reducing costs are highlighted. Additionally, it mentions the types of management tools, including test, requirements, incident, and configuration management tools, each with its unique features and functions.

05:01

πŸ” Deep Dive into Static and Test Specification Tools

This paragraph delves deeper into the specifics of static testing tools, which are used for code or requirement analysis before execution. It explains the purpose of review tools, static analysis tools, and modeling tools in identifying defects early in the development process. The paragraph also covers the role of test specification tools in generating test data from specifications, the responsibilities of test design tools in creating test inputs and expected results, and the capabilities of test data preparation tools in handling large databases and ensuring data security. Furthermore, it outlines the different types of test execution and logging tools, including execution tools, test harness/unit test frameworks, comparators, coverage measurement tools, and security testing tools, each with its unique task and importance in the testing process.

10:03

πŸ› οΈ Test Execution Tools and Their Impact

The final paragraph focuses on the impact of test execution tools, explaining how they can record and replay manual tests, log results, and measure code coverage. It also discusses the role of performance and monitoring tools in identifying time dependencies, detecting memory leaks, and monitoring system reactions under simulated usage conditions. The paragraph concludes with a cautionary note about the potential 'probe effect' where tools themselves can introduce defects or affect the outcome of testing. It encourages a review of the types of test tools and their special considerations, emphasizing the importance of understanding each tool's features and potential impact on testing accuracy.

Mindmap

Keywords

πŸ’‘ISTQP Syllabus

The ISTQP (International Software Testing Qualifications Board) Syllabus is a set of guidelines and topics that form the basis for software testing certification. In the video, it is mentioned as the reference for classifying test tools, indicating that the content is structured around this recognized standard in the field of software testing.

πŸ’‘Tool Support for Management of Testing

This refers to software tools that aid in the management and control of the testing process. The script emphasizes their importance as they are used throughout all testing activities. An example from the script is that test management tools are considered a main part of the testing process due to their ongoing use alongside other activities.

πŸ’‘Static Testing

Static testing is the process of evaluating software without executing it, typically involving code reviews and static analysis. The script explains that static testing tools help in identifying defects before the software is run, which is cost-effective and crucial for early defect detection.

πŸ’‘Test Specification

Test specification tools are used in the test implementation phase to generate test cases, inputs, and data from specifications. The script mentions that these tools help in creating test inputs from requirements, which is essential for designing effective tests.

πŸ’‘Test Execution and Logging

This refers to tools that automate or semi-automate the execution of tests and log the results. The script describes these tools as crucial for the test execution phase, where they record test outcomes and can even replay manual tests, highlighting their role in ensuring thorough testing.

πŸ’‘Performance and Monitoring

Performance and monitoring tools are used in the later stages of testing to evaluate system performance under load and monitor the system's behavior. The script explains that these tools are used for evaluating exit criteria and reporting, as well as for test closure activities, indicating their importance in the final stages of testing.

πŸ’‘Test Management Tool

A test management tool is a software application that helps manage the entire testing project. The script mentions that it stores, reports, and traces test objects with requirements, emphasizing its role in organizing and tracking testing activities.

πŸ’‘Incident Management Tool

Also known as a defect tracking tool, it is responsible for managing incidents such as defects, failures, and change requests. The script describes how these tools store incident reports and are integral to the process of identifying and resolving issues within the software.

πŸ’‘Static Analysis Tools

Static analysis tools are used to examine code for defects without running it. The script explains that these tools ensure the code adheres to standards, is secure, and is correctly structured, which is vital for maintaining software quality.

πŸ’‘Test Data Preparation Tools

These tools are responsible for generating test data from files and databases, ensuring the data is secure and, if necessary, anonymized. The script highlights their importance in the test implementation stage, where they help create the necessary data for testing scenarios.

πŸ’‘Coverage Measurement Tool

Coverage measurement tools determine the extent to which the software's code has been tested. The script mentions that these tools can measure coverage for statements, branches, modules, or functions, which helps in understanding how comprehensive the testing has been.

πŸ’‘Comparators Tool

Comparators tools are used to compare actual test results with expected outcomes. The script explains that these tools need to know the correct result to compare against, which is generated by a test oracle, and are essential for verifying the correctness of the software under test.

Highlights

Chapter 6 discusses various classifications of test tools based on testing activities.

There are five main types of test tools: Management, Static Testing, Test Specification, Test Execution and Logging, and Performance and Monitoring.

Test management tools are essential for ongoing test control activities.

Static Testing tools are used for code or requirement analysis before execution, helping find defects early.

Test Specification tools assist in generating test data and inputs from specifications.

Test Execution and Logging tools are crucial for executing and recording test results.

Performance and Monitoring tools evaluate exit criteria and assist in test closure activities.

Some tools may have features from multiple types, while others may specialize in one or two features.

Tools with the letter (D) are more commonly used by developers, especially during unit and integration testing.

Management tools include Test Management, Requirements Management, Incident Management, and Configuration Management tools.

Common features of management tools are storing, reporting, and tracing functionalities.

Static Testing is divided into reviews, static analysis, and modeling tools.

Review tools facilitate the process of reporting, recording, and resolving code defects.

Static Analysis tools act like compilers to ensure code adherence to standards and security.

Test Data Preparation tools generate test data from files and databases, ensuring data security and anonymity.

Test Execution tools can record manual tests and play them back for repeated execution.

Comparator tools compare actual test results with expected outcomes for accuracy.

Coverage measurement tools determine the percentage of code coverage during testing.

Security testing tools attempt to hack the software to test its protective capabilities.

Performance and Monitoring tools track system status and alert for potential issues.

The 'probe effect' refers to the negative impact some tools may have on test outcomes due to their own execution instructions.

It is important to review and remember the features of each tool type for effective testing.

Transcripts

play00:05

Chapter 6 generally tackles test tools

play00:07

the test tools. There are many classifications

play00:09

for types of tools according to

play00:11

different criteria. However, in

play00:13

ISTQP syllabus, we will know them

play00:15

according to the classification

play00:17

of testing activities .

play00:19

we will learn 5 main types:

play00:21

The first type is

play00:23

Tool Support for Management of Testing

play00:25

this is used in a test control.

play00:27

We know that the activity test control

play00:31

is the ongoing activity, this means that

play00:33

it works always beside all the activities.

play00:35

that is the why the test management tools

play00:37

can be considered as a main part

play00:39

as we use in all the test activities.

play00:43

The second type is Tool Support

play00:45

for Static Testing. This is used in

play00:47

the test analysis and design.

play00:51

The third type is Tool Support For Test Specification.

play00:55

this is used in the test implementation.

play00:57

The fourth type is

play00:59

Tool Support for Test Execution and Logging

play01:03

this is used in the test execution.

play01:05

Finally, the fifth type is

play01:07

Tool Support for Performance and Monitoring

play01:11

this is used in the last 2 stages of test

play01:13

activities; Evaluating exit criteria and reporting

play01:17

and Test closure activities.

play01:19

In each type of tools, we will study its features.

play01:21

we should notice that

play01:23

some tools may have all the features of this type,

play01:27

and may have only one or two features.

play01:29

There is a note that we have to take into

play01:31

consideration before start explaining

play01:33

the types. The type which have letter (D)

play01:35

beside its name, this means that

play01:37

this type is more commonly used or related

play01:39

to developers more that testers. Because

play01:41

this type of tools, for example, is used

play01:43

during the unit testing and integration testing

play01:47

which are related more to the developer.

play01:49

the types of management

play01:51

tools are 4 types:

play01:53

1. Test management tool:

play01:55

it is a tool that manage testing the project as a whole.

play01:59

2. Requirements management tools :

play02:01

it manage the requirements in particular.

play02:03

3.Incident management tools

play02:05

or Defect tracking tool:

play02:07

it is responsible for managing the incident.

play02:09

the incidents means that

play02:11

defects,

play02:13

failures, change requests,

play02:15

perceived problems and anomalies.

play02:17

Finally,

play02:19

4. Configuration management tools

play02:21

which manages the software versions.

play02:23

Most of the features of the management tools

play02:25

have three repeated words related to

play02:27

all of them, which help us to remember their features;

play02:29

Store, Report

play02:31

and Tracing.

play02:33

store the Feature:

play02:35

for the requirement management tools

play02:37

it stores the requirement statements

play02:39

and its attributes.

play02:41

for the incident management tools,

play02:43

it stores the incident reports.

play02:45

for the configuration management tools,

play02:47

its main feature is that it stores

play02:49

versions, software and test ware which are

play02:53

related to our software.

play02:55

specially if we are dealing with more

play02:57

than software at the same time.

play02:59

Regarding the Trace feature:

play03:01

the test management tool

play03:03

traces the test objects with the requirements.

play03:05

for the requirement management tool

play03:07

traces the tests with the requirements.

play03:11

The Report feature for progress

play03:13

is based on the quantitative analysis,

play03:15

which the test management tool conducts.

play03:17

The incident tool conducts a report

play03:19

statistical analysis about the incidents

play03:23

Finally, there are some more features in test.

play03:27

Such as a tool linked to other tools,

play03:29

e.g. requirements tools,

play03:31

incidents and execution.

play03:33

The remaining feature is the prioritizing,

play03:37

and setting the missed requirements

play03:39

using requirement management tool.

play03:41

Tool Support for Static Testing:

play03:45

As we've learned in chapter 3, the static testing

play03:47

is what we apply for the code or

play03:49

the requirements of a software before execution.

play03:53

this happens before the dynamic testing.

play03:55

Therefore, we can say that

play03:57

the static testing tools help in

play03:59

finding the defects early.

play04:01

and the cost of finding defects early is

play04:03

less than finding them at the development process

play04:07

The static testing is divided into

play04:09

2 stages: the reviews & static analysis

play04:11

and accordingly the types of

play04:13

static testing tools are:

play04:15

review tools, static analysis tools

play04:17

and modeling tools.

play04:19

which all its responsibility is

play04:21

to validate the model we work on,

play04:23

by finding defects and the inconsistencies

play04:27

in the model.

play04:29

As for Reviewing the code,

play04:31

we've mentioned that it has to be done

play04:33

by a different person from the one who

play04:35

wrote this code, in order to

play04:37

find defects in it.

play04:39

this review can be done by using

play04:41

the review tools. we'll know

play04:43

the features of this type in a form of

play04:45

logical sequence.

play04:47

At the beginning we can report defects,

play04:49

then we record the review comments about them,

play04:53

and to communicate between the comments

play04:55

and those who are related to them

play04:57

to resolve them.

play04:59

Last but not least, it is possible that a tool support

play05:01

the online review in case you work with

play05:03

a large team in a project and in different places.

play05:05

The static analysis tools

play05:07

is an extension for or looks like the compiler.

play05:09

So the main feature of this tool

play05:11

is to find the defects in a code.

play05:13

This is by ensuring

play05:15

that the code is following definite standards

play05:17

and it is secure to be an example

play05:19

that no one can hack our software.

play05:21

Then it analyzes the code structure

play05:23

and the dependencies

play05:25

to be written correctly or not.

play05:27

Finally, the tool can count the metrics of code

play05:31

like the complexity. This can help us

play05:33

in risk analysis and to know which

play05:35

parts need more testing.

play05:37

In the test implementation stage,

play05:39

we will start write virtually

play05:41

the test cases, test inputs and test data.

play05:43

Tools of test specification

play05:45

can help us to generate all the test data

play05:47

out of the specifications.

play05:49

The test design tools

play05:51

are responsible for the test input

play05:53

and the expected results of the test case.

play05:55

So it is responsible for generating all

play05:57

test inputs out of the requirements,

play05:59

graphical user interfaces,

play06:01

design models like (state, data or object)

play06:03

and code.

play06:05

Its only responsibility is to generate

play06:07

the expected result.

play06:09

The Test Data Preparation Tools,

play06:11

is responsible

play06:13

for generating the test data out of

play06:15

the files and database since it is a tool

play06:17

capable of dealing with a large

play06:19

range of database.

play06:21

It is also responsible for confirming

play06:23

that the data is secure.

play06:25

or to make it anonymous which means that

play06:27

not any one can see it in the software.

play06:31

Tool Support for Test Execution and Logging

play06:35

It's divided into 5 types.

play06:37

Each type has almost one clear task

play06:39

of the name.

play06:43

The test execution tool in general

play06:45

executes the software automatically

play06:47

or semi automatically.

play06:49

through storing inputs on it

play06:51

and the expected outcomes.

play06:53

However,

play06:55

the user of this tool should be a tester

play06:57

who has programming skills.

play06:59

As it is a tool which runs

play07:01

when you write its script, so

play07:03

how it can execute our software.

play07:05

The word that can remind

play07:07

us with the feature of the execution tool

play07:09

is "records".

play07:11

It can record a manual test,

play07:13

you have conducted to the software,

play07:15

then it plays it back to the software.

play07:19

and repeat it by itself many times.

play07:21

It also records or log results for each test run.

play07:25

Test Harness/ Unit Test Framework Tools

play07:27

were put together

play07:29

since both of them are

play07:31

important to the developer during

play07:33

testing the components or units

play07:35

of the software.

play07:37

The Comparators tool compares between

play07:39

the files, database and

play07:41

test results in general.

play07:43

Firstly, this tool will need to know

play07:45

the correct result to which it'll compare to.

play07:47

As we previously mentioned in

play07:49

test design tool, we generate

play07:51

the expected results by using a test oracle.

play07:53

This tool can hold a dynamic comparison

play07:57

or Post execution. The dynamic comparison

play07:59

means: if the comparator tool

play08:01

works during testing.

play08:03

For the Post execution comparison,

play08:05

if the comparator tool works

play08:07

after we finish testing.

play08:09

and this one is better if

play08:11

we'll compare a large amount of data.

play08:13

The Coverage measurement tool:

play08:15

It measures the percentage of coverage

play08:17

for the code lines at the time

play08:19

of testing. whether we want

play08:21

the percentage of coverage for

play08:23

the code structure according to:

play08:25

statements, branches or decisions,

play08:27

module or function calls.

play08:29

Finally,

play08:31

the security testing tool,

play08:33

which role is to try to

play08:35

break and hack the software

play08:37

in order to test its abilities to

play08:39

protect:

play08:41

data confidentiality,

play08:43

integrity, authentication,

play08:45

authorization, availability

play08:47

and non-repudiation.

play08:49

The last classification of tools is

play08:51

Performance and Monitoring tools.

play08:53

The dynamic analysis tool

play08:55

identifies time dependencies,

play08:57

and detects memory leaks.

play08:59

For the performance , load , stress tool,

play09:03

it performs 2 main tasks;

play09:05

At first,

play09:07

it loads generate on the system

play09:09

then it monitors and reports

play09:11

the reaction of system with

play09:13

the simulated usage conditions

play09:15

in terms of :

play09:17

concurrent user,

play09:19

ramp-up pattern, frequency

play09:21

and relative percentage of transaction.

play09:25

e.g. if the tool generates

play09:27

virtual users to log in the system,

play09:31

and execute some different transactions

play09:33

to the software then check

play09:35

the system's reaction towards them.

play09:37

Monitoring Tool:

play09:39

we always track the system status

play09:41

during the actual use.

play09:43

these tools help us to analyze

play09:45

and report about the system resources.

play09:47

It also gives us an alert for

play09:49

any expected problems.

play09:51

A last note to finish our discussion

play09:53

about tools in general:

play09:55

Take in consideration that some types

play09:57

of tools may even cause

play09:59

defects, and negatively affect

play10:01

the real outcome which should be resulted

play10:03

out of testing.

play10:05

such as when the actual timing

play10:07

measured by the tool to the software

play10:09

was larger. This is due to the fact that

play10:11

the tool has instructions

play10:13

to be executed, then it starts

play10:15

running the program.

play10:17

The wrong effect that resulted from tools

play10:19

we call it " probe effect".

play10:21

Now we've finished the testing tools

play10:23

types. You can review them again

play10:25

and remember the features of each tool,

play10:27

by reading the file:

play10:29

Types of test tools.

play10:31

confirm that you've reviewed

play10:33

the special consideration of:

play10:35

the test management tools,

play10:37

test static tools,

play10:39

test execution tools,

play10:41

and data & key word driven approach.

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
Testing ToolsSoftware QualityISTQP SyllabusTest ManagementStatic TestingTest SpecificationTest ExecutionPerformance MonitoringCode AnalysisDefect TrackingRequirements Management