CH04. L01. Test development process

MaharaTech - ITI MOOCA
16 Nov 201705:12

Summary

TLDRThis video script delves into the intricacies of the software testing process, emphasizing the importance of test analysis, design, and implementation. It introduces key concepts such as test conditions, traceability, and the significance of the expected result in test cases. The script also highlights the IEEE STD 829-1998 standard for test documentation and discusses the transition from manual to automated test procedures, including the creation of test scripts and execution schedules. The goal is to ensure comprehensive coverage and understanding of the testing terminology and process.

Takeaways

  • πŸ“‘ The script discusses the completion of a fundamental test process video, adding terms to test analysis, design, and implementation stages.
  • πŸ” In test analysis, the basis documentation is reviewed, and testable items or events are identified as test conditions, described in test cases, and linked to their sources through a traceability matrix.
  • πŸ”— The traceability process is crucial for tracking changes in requirements and ensuring all requirements are covered, with test conditions and cases linked to each other in a bidirectional traceability matrix.
  • πŸ“ Test case design includes a test case document with components such as input values, execution preconditions, postconditions, and expected results, with a focus on the expected result to avoid defects remaining hidden.
  • πŸ“˜ The 'Software Test Documentation' standard (IEEE STD 829-1998) is highlighted, emphasizing that test design specifications should contain test conditions and test case specifications.
  • πŸ› οΈ Test implementation involves preparing test cases and, if using a tool, converting the test procedure into a test script written in a programming language for automated execution.
  • πŸ“‹ The sequence of test case execution is outlined in a test procedure specification and managed through a testcase execution schedule, influenced by factors like prioritization and dependencies.
  • πŸ“š The script distinguishes between different 'specification' terms, such as 'test case specification' with its components, 'test design specification' containing test conditions and cases, and 'test procedure specification' detailing the execution sequence.
  • πŸ“ Understanding the sequence and automation of test procedures is important, especially when transitioning from written steps to an automated form for tool execution.
  • 🎯 The script aims to ensure comprehension of the terms related to the test process, including the sources of test conditions, the linking process of traceability, and the execution sequence in test procedures.
  • πŸ“ The terms and concepts discussed in the script can be reviewed in a file named 'Test development process' for further study and reference.

Q & A

  • What is the purpose of the Tractability matrix in the test analysis phase?

    -The Tractability matrix is used to link test conditions with their sources in the test basis documentation. It is crucial for ensuring that any changes in the requirements directly affect the test conditions and for verifying that all requirements are covered.

  • Why is it important to define the expected results in a test case specification?

    -Defining the expected results is essential because if they are not clearly stated, errors may be overlooked as correct, allowing defects to remain hidden in the software.

  • What does the term 'test case specification' include according to the script?

    -A test case specification includes a set of input values, execution preconditions, execution post conditions, and the expected results that describe the test condition.

  • What is the IEEE STD 829-1998 standard and why is it important to remember?

    -The IEEE STD 829-1998 is the 'Software Test Documentation' standard that confirms test design specifications should contain test conditions and test case specifications. It's important to remember as it provides a framework for test documentation and may be referenced in professional discussions or assessments.

  • How does the script differentiate between 'test basis' and 'test conditions'?

    -The test basis refers to the sources from which testable items or events are derived, while test conditions are the specific items or events from the test basis that are written into one or more test cases.

  • What is the role of a 'test procedure' in the test execution phase?

    -A test procedure outlines the steps to be followed during the execution of test cases. It helps in determining the order or sequence of test execution.

  • Why might a test procedure be written in an automated form?

    -A test procedure is written in an automated form when the software is executed using a tool. This allows the steps to be clear for the tool and ensures the program runs correctly with successful execution.

  • What is a 'test script' and how does it relate to a test procedure?

    -A test script is the automated form of a test procedure, written in a programming language so that the steps are clear for the tool and the program can be executed successfully.

  • What factors control the order of test cases in the 'test case execution schedule'?

    -Factors controlling the order in the test case execution schedule include prioritization, regression tests, technical, and logical dependencies.

  • What is the significance of the 'test procedure specification' document mentioned in the script?

    -The test procedure specification document outlines the sequence of test cases and the desired test script during execution, which helps in organizing and planning the test execution process.

  • How does the script suggest reviewing the terms related to the test process?

    -The script suggests reviewing the terms in a file named 'Test development process' for a comprehensive understanding of the test process and its related terms.

Outlines

00:00

πŸ“š Test Analysis and Design Overview

This paragraph introduces the completion of the Fundamental test process video from chapter 1, focusing on the addition of terms in the stages of test analysis, design, and implementation. It explains the importance of reviewing and analyzing test basis documentation, identifying test conditions, and linking them to their sources through a tractability matrix. The paragraph also emphasizes the significance of traceability in ensuring all requirements are covered and test conditions are accurately located. It outlines the components of a test case, including input values, preconditions, postconditions, and expected results, highlighting the importance of defining expected results to avoid hidden defects in software. The paragraph concludes with a reference to the 'Software Test Documentation' standard (IEEE STD 829-1998), which confirms the inclusion of test conditions and test case specifications in test design specifications.

05:01

πŸ” Reviewing the Test Development Process

The second paragraph serves as a reminder for viewers to review the discussed concepts in a file named 'Test development process'. It suggests that revisiting the material will aid in reinforcing the understanding of the test analysis, design, and implementation stages, as well as the key terms and processes involved in software testing.

Mindmap

Keywords

πŸ’‘Test Analysis

Test Analysis refers to the initial phase of the software testing process where the test basis documentation is reviewed and analyzed to identify testable items or events, termed as 'test conditions'. It is crucial for ensuring that all requirements are covered and forms the foundation for the subsequent design and implementation stages. In the script, it is mentioned as the first step where the test basis documentation is reviewed.

πŸ’‘Test Conditions

Test Conditions are the specific items or events within the software that can be tested. They are derived from the test basis documentation and are described in one or more test cases. The script emphasizes the importance of linking these conditions to their sources, a process known as 'Tractability', to ensure that any changes in the requirements directly affect the test conditions.

πŸ’‘Tractability Matrix

The Tractability Matrix is a tool used to link test conditions with their sources in the test basis documentation. It is highlighted in the script as essential for tracking changes in requirements and ensuring that all test conditions are covered, thereby maintaining the integrity of the testing process.

πŸ’‘Test Cases

Test Cases are detailed descriptions of test scenarios, including the steps to execute and the expected results. They are derived from test conditions and are a critical component of the test design. The script mentions that test cases should be linked to their test conditions through the Tractability Matrix.

πŸ’‘Traceability

Traceability is the process of linking test conditions to their sources in the test basis, ensuring that any changes in the source directly affect the associated test conditions. The script explains that this is important for maintaining the relevance of test conditions and for ensuring that all requirements are tested.

πŸ’‘Test Case Specification

A Test Case Specification is a document that outlines the components of a test case, including input values, execution preconditions, postconditions, and expected results. The script emphasizes the importance of the expected result component, stating that it includes outputs, changes to data and states, and other consequences of the test.

πŸ’‘Expected Results

Expected Results are the outcomes anticipated from executing a test case. They are a key part of the Test Case Specification and are crucial for identifying defects if the actual results do not match the expected ones. The script warns that undefined expected results can lead to errors being overlooked during testing.

πŸ’‘Test Design Specification

The Test Design Specification is a document that contains the test conditions and the test cases, as per the 'Software Test Documentation' standard (IEEE STD 829-1998). The script mentions this as a key document that should be memorized for its importance in the testing process.

πŸ’‘Test Procedure

A Test Procedure is a set of steps written in words that describe how to execute test cases. The script explains that when software is tested using a tool, the test procedure is written in an automated form, known as a 'Test Script', to ensure clear execution by the tool.

πŸ’‘Test Script

A Test Script is an automated form of a Test Procedure, written in a programming language that the testing tool can understand and execute. The script mentions that this is used when the software is tested using a tool, as opposed to manual testing by a tester.

πŸ’‘Test Procedure Specification

The Test Procedure Specification is a document that outlines the sequence of test cases to be followed during the execution of software testing. It is mentioned in the script as a document that includes the order of test execution, which can be influenced by factors such as prioritization and dependencies.

πŸ’‘TestCase Execution Schedule

The TestCase Execution Schedule is a schedule that includes the sequence of test procedures and the desired test scripts during the execution. The script explains that this schedule is influenced by factors such as prioritization, regression tests, technical, and logical dependencies.

Highlights

Introduction to completing the Fundamental test process video in chapter 1.

Adding terms in test analysis, design, and implementation stages.

Review and analysis of test basis documentation in test analysis.

Identification of testable items or events called test conditions.

Describing test conditions in test cases with links to test basis.

Importance of Tractability matrix for linking test conditions to sources.

Traceability to ensure all requirements are covered and test conditions are determined.

Bi-directional traceability matrix for writing traceability information.

Components of a test case in the design stage - input values, preconditions, postconditions, expected results.

Focus on expected results to avoid defects remaining hidden in software.

IEEE STD 829-1998 standard confirming test design specifications include test conditions and test case specifications.

Test implementation and execution for test cases, following test procedures.

Writing test procedures in automated form as test scripts when using tools.

Test procedure specification document for the sequence of test cases during execution.

Test case execution schedule with factors like prioritization, regression tests, and dependencies.

Differentiating between terms with 'specification' as documents - test case specification, test design specification, test procedure specification.

Understanding the role of test basis as sources for testable items and events.

Linking test conditions with test basis called 'traceability'.

Sequence of test procedures during execution, written in automated form as test scripts.

Completion of the test process with all related terms reviewed.

Transcripts

play00:05

This video can be considered a completion

play00:07

for the Fundamental test

play00:09

process video in chapter 1.

play00:11

We will add some terms

play00:13

in the stages of test analysis and design,

play00:15

as well as the test implementation stage.

play00:17

In chapter 1, in the test analysis

play00:19

we reviewed and analyzed

play00:21

the test basis documentation.

play00:23

We checked each item or event that

play00:25

could testable.

play00:27

We called them the test conditions.

play00:29

We described the test conditions

play00:31

in one or more test cases.

play00:33

Of course we need to link

play00:35

the test conditions with their sources

play00:37

which are test basis.

play00:39

This linking process is

play00:41

the Tractability, which we do through

play00:43

the tractability matrix.

play00:45

It is very important because

play00:47

in the requirements, which is one of

play00:49

test basis sources, any change

play00:51

happens to it will affect directly the test

play00:53

conditions. The second reason

play00:55

is to ensure that all the requirements

play00:57

were covered, and to determine

play00:59

exactly where are the test conditions and

play01:01

test cases, since they are all

play01:03

linked to each other. we write

play01:05

the traceability information in

play01:07

the Bi-directional traceability matrix.

play01:09

As for the design stage,

play01:11

we describe the test case and test data.

play01:13

Here, we will add

play01:15

the components of a test case

play01:17

or the test case specification,

play01:19

which is the test case document.

play01:21

They are as follows:

play01:23

The set of input values,

play01:25

The execution preconditions,

play01:27

The execution post conditions

play01:29

and finally The expected results,

play01:31

which we write to describe

play01:33

the test condition.

play01:35

We should focus more on the expected

play01:37

result which is a part of the test case

play01:39

specification. It includes

play01:41

Outputs, changes to data and states

play01:45

and any other consequences of the test.

play01:47

If the expected result haven't been

play01:49

defined, the error can pass

play01:51

as it is correct, therefore

play01:53

the defects keep hidden in the software

play01:55

and no one will find them.

play01:57

that's why writing the ER must be

play01:59

defined before the test case execution.

play02:01

The Standards of

play02:03

"Software Test Documentation" (IEEE STD 829-1998)

play02:09

confirms that test design specifications

play02:11

contain the test conditions

play02:13

and Test case specification.

play02:15

We should memorize

play02:17

the number of this standards very well, as

play02:19

you may be asked about it.

play02:21

Now, we will move to the test

play02:23

implementation and execution.

play02:25

As we've learned, implementation

play02:27

and development are both for the test cases.

play02:31

while the test execution is for the test cases,

play02:35

through following test procedure.

play02:37

From which we can figure out the order

play02:39

or the sequence of the test execution

play02:43

used in the Test Cases.

play02:45

If we will execute the test case

play02:47

for the software using a tool,

play02:49

and not manually by the tester,

play02:51

Then test procedure

play02:53

which is written in words,

play02:55

and it is usually a description for steps,

play02:57

will be written

play02:59

in an automated form. i.e. It will be

play03:01

written in the form of programming language.

play03:03

so that the steps will be clear for

play03:05

the tool, and to have the program running correctly

play03:07

and with a successful execution.

play03:09

So,when we write the test procedure

play03:11

in an automated form, the name

play03:13

became test script instead of test procedure.

play03:15

Here, we can add that the sequence of

play03:17

the test case in execution

play03:19

will be put in a document called

play03:21

test procedure specification.

play03:23

The sequence of the test procedures

play03:25

and the desired test script

play03:27

during the execution are both added in

play03:29

a schedule called

play03:31

"the testcase execution schedule".

play03:33

There are some factors controlling

play03:35

the order in the schedule like:

play03:37

prioritization ,

play03:39

regression tests,

play03:41

technical and logical dependencies.

play03:43

By the end of this video,

play03:45

we can ensure together that

play03:47

we've reached the required targets

play03:49

in this part.

play03:51

The first Target is that we can differentiate between

play03:53

the terms with the word "specification",

play03:55

which all of them can be

play03:57

considered as documents.

play03:59

for the " test case specification ",

play04:01

we knew its components, which

play04:03

includes the expected result.

play04:05

The " test design specification"

play04:07

contains the test conditions

play04:09

and the test cases, and this is according to

play04:11

Software Test Documentation (IEEE STD 829-1998)

play04:15

As for the "test procedure specification",

play04:17

it includes the sequence of

play04:19

test cases, that we will follow

play04:21

during execution of the software.

play04:23

The second target required from us,

play04:25

is to compare and understand these terms.

play04:27

The test basis are the sources

play04:29

from which you can take items

play04:31

and events that can be tested

play04:33

or testable and we call them

play04:35

test condition.

play04:37

The test condition can be written

play04:39

in one or more test cases.

play04:41

Linking the test condition with the test basis

play04:43

is called "traceability".

play04:45

In the test procedures,there is

play04:47

the sequence we will follow

play04:49

during execution.

play04:51

We will write the test procedures in

play04:53

an automated form when software

play04:55

is executed by using a tool.

play04:57

Now, we've finished

play04:59

the test process with all

play05:01

the terms related to it.

play05:03

You can review them again in a file under the name of

play05:05

"Test development process".

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

5.0 / 5 (0 votes)

Related Tags
Software TestingTest AnalysisTraceabilityTest DesignTest CasesIEEE STD 829Test ExecutionAutomationTest ScriptsQuality Assurance