With a rapid increase in size and complexity of software today, the scope of software testing is also expanding. The efficiency of software testing needs to be improved in order to ensure the appropriate delivery deadline and cost of software development. For improving efficiency of software testing, the test needs to be designed in a way that the number of test cases is sufficient and appropriate in quantity. Test analysis is the activity to refine Application Under Test (AUT) into proper size that test design techniques can be applied to. It is for designing the test properly. However, the classification for proper size depends on individual’s own judgments. This paper proposes a test analysis method for the black box testing using a test category that is the classification based on fault and AUT knowledge.
2. 2
Agenda
1. Introduction
2. Issues of Test Analysis in Black Box Testing
3. An Approach of Test Analysis Based on Test Categories
4. Comparison of Test Condition Derivation Result by Test Categories
Practical Use Existence
5. conclusion
3. 3
1. Introduction
With a rapid increase in size and complexity of software today,
the scope of software testing is also expanding.
Testing
increaseinsize
increasecomplexity
Testing
Development
・Requirement
・Specification
・Design
・CodeDevelopment
・Requirement
・Specification
・Design
・Code
The efficiency of software testing
needs to be improved in order to ensure
the appropriate delivery deadline and
cost of software development.
4. 4
2.Issues of Test Analysis in Black Box Testing
Development Lifecycle and Test Process
• Software testing is performed in multiple verification levels during the
development life-cycle. These verification levels are depicted in the V model.
• This proposal will focus on the black box testing performed at the system-level
verification, enclosed in a red frame.
V model (Forsberg,1995 et.al)
Testing performed at
each level depicted in
the V model has a
process similar to the
development process.
5. 5
2.Issues of Test Analysis in Black Box Testing(Cont.)
Test development process and Test analysis
• Three activities, test analysis, test design, and test implementation in the
test process are also called Test development process.
Test analysis
An activity of selecting
and organizing items to be
covered by the test .
6. 6
2.Issues of Test Analysis in Black Box Testing(Cont.)
Issues of Test Analysis
ソフトウェア
テスト
・要件定義
・基本設計
・詳細設計
・コーディング
・Preventing defects in software
development
・Test needs to be designed in a
way that the number of test is
sufficient and appropriate in
quantity
・Test execution should be
automated
For improving efficiency of
software testing
.
.
.
White box testing
Analyzing the
structure of AUT
to cover by test
Test analysis for
White box
testing is
consistent in its
refinement
Black box testing
Analyzing the
spec of AUT to
cover by test
Test analysis for
black box testing
is often not
consistent in its
refinement
Some of the test cases are
often lacking or overlapping
Types of test desgin
7. 7
2.Issues of Test Analysis in Black Box Testing(Cont.)
Issues of Test Analysis in Black Box testing
• The test condition, which is an output of test analysis, is a generic term for
elements such as functions, transactions, quality characteristics, and structure
elements.
• Therefore it is necessary to structure in order to sort out relationships between
each element. That is also called test suite architecture.
• However, in research and practice, structuring of test conditions in the test
analysis stays just experiences and heuristics.
Examples of Table 1 contain the following issues.
• The category “Setting” appears both in Level 1 and Level 2.
• The number of levels is not constant, thus there is a variance in meaning of each level.
• The expected result is not indicated in the upper row.
• The same specification is written on both upper and lower rows.
8. 8
Structure of Test Condition
• Test condition can be considered as spec item from the testing point of view.
• Since black box testing is the method of the test design by external observation,
selection should be start from the feature is contained in test basis
• the test category, which is the classification defined using knowledge of AUT
and fault, is added to the structure.
The test analysis in alignment with a clear rule is attained by such
a classification and arrangement.
3.An Approach of Test Analysis Based on Test Categories
9. 9
3.An Approach of Test Analysis Based on Test Categories
(Cont.)
Test Category(1)
• A set of test categories is the classification that multilaterally captures a feature
to be tested without omission.
An logical structure of feature (Sakuhei Omura,2005 )
An logical structure of feature is
an abstract concept of a set of test categories.
10. 10
3.An Approach of Test Analysis Based on Test Categories
(Cont.)
Test Category(2)
• The test category needs to have a specific naming and a meaning specialized in
the scope of testing against an abstract concept.
• The knowledge of AUT and the fault experienced in the past is used for defining
the test categories.
Knowledge of AUT
Knowledge of faults
experienced in the past
11. 11
3.An Approach of Test Analysis Based on Test Categories
(Cont.)
Listing and Organizing Test Conditions Using Test Categories
• Spec items, expected results, and test parameters for testing the feature to be
tested, these are selected from test basis, are listed as shown in Table below.
Test categories can be used as a guide at the time of selecting spec
items for covering feature to be tested.
Same test categories are used
for all features to be tested.
12. 12
4. Comparison of Test Condition Derivation Result by Test
Categories Practical Use Existence
Execution Steps of Test Analysis
• In order to sequentially derive
test conditions, test analysis
activities are divided into
steps.
Comparison of test condition
derivation ware executed on
Step3
13. 13
4. Comparison of Test Condition Derivation Result by Test
Categories Practical Use Existence(Cont.)
Exercise Overview
Feature to be
tested
Test
categories
Spec items Expected
results
Test
Parameters
Feature to be
tested
Spec Item Expected
results
Test
Parameters
Test Basis
Results
were
classified
to test
categories
Analyze
Comparison
Spec items Expected results Test parameters
The team that use test categories
The team that didn’t use test categories
14. 14
4. Comparison of Test Condition Derivation Result by Test
Categories Practical Use Existence(Cont.)
Comparison of Spec Items Selection Percentage
• The result showed the rate of selecting spec items was higher by 22% for the
team that used test categories than for the team that did not use test
categories.
Inputadjustment
Management
InputA
ConvA
ConvB
SuppA
SuppB
OutputA
OutputB
StrageA
StrageB
ManagA
Func A 0 2 1 0 2 1 0 1 0 2 Suggested answers 9 100%
0 2 0 0 0 1 0 1 0 1 NOT using test categories 5 56%
0 2 0 0 2 1 0 1 0 1 Using test categories 7 78%
Using test categories-NOT using test categories = 22%
Persentage
SpecitemTotal
Conversion
Support
Strage
Output
adjustment
Features tobe tested
Test categories
15. 15
4. Comparison of Test Condition Derivation Result by Test
Categories Practical Use Existence(Cont.)
Results of the selection of the number of expected results and test
parameters
• Although the ratio of the number of expect results without test categories to the
number of them with test categories is 43%, the number of test parameters is
1.5 times higher.
<the team that did NOT use testing categories> <the team that use testing categories>
Features
to be tested Test categories Spec items
Number of
Expected Results
Number of
Test parameters
Features
to be tested Test categories Spec items
Number of
Expected Results
Number of
Test parameters
Func A InputA N/A N/A N/A Func A InputA N/A N/A N/A
ConvA Spec item1 1 5(3) ConvA Spec item1 1 N/A
Spec item2 N/A 1 Spec item2 1 N/A
ConvB Spec item3 N/A N/A ConvB Spec item3 N/A N/A
SuppA N/A N/A N/A SuppA N/A N/A N/A
SuppB Spec item4 N/A N/A SuppB Spec item4 1 2
Spec item5 N/A N/A Spec item5 1 2
OutputA Spec item6 1 N/A OutputA Spec item6 1 2
OutputB N/A N/A N/A OutputB N/A N/A N/A
StrageA Spec item7 1 3(1) StrageA Spec item7 1 2
StrageB N/A N/A N/A StrageB N/A N/A N/A
ManagA Spec item8 N/A 1 ManagA Spec item8 1 1
Spec item9 N/A N/A Spec item9 N/A N/A
Total 3 10(4) Total 7 9(0)
※() in the coloum of test parametrs is the number of test parametors for one spec item are written dispersedly throughout the test condition list.
Ratio by Number of expected results : NOT using test categories / Using test categories = 43%
Ratio by Number of test parameters : NOT using test categories / Using test categories = 156%
16. 16
4. Comparison of Test Condition Derivation Result by Test
Categories Practical Use Existence(Cont.)
Sum up
Feature to be
tested
Test
categories
Spec items Expected
results
Test
Parameters
Feature to be
tested
Spec Item Expected
results
Test
Parameters
Test Basis
Results
were
classified
to test
categories
exercise
Comparison
Spec items Expected results Test parameters
The team that didn’t use test
categories had a higher possibility
of designing duplicated test cases
at the time of a test design.
• 4 of all test parameters that can
possibly become test parameters
for the same spec item, had
addressed as another spec item,
when it was 0/9 for the team that
used test categories.
The team that
didn’t use
test categories
did not clearly
specify the
expected results
The team that didn’t use
test categories had a
higher possibility of
designing lacked test
cases at the time of a
test design.
• The rate of selecting
spec items is different
more than 20%.
17. 17
Conclusion
• Test analysis method based on the rule by organizing classifications of test
conditions, and knowledge for it is using the concept of test categories.
• To avoid lacks or duplications of test cases, which often results from a test
analysis and classifications of test conditions based on an individual’s own
judgments.
• In case of performing a test analysis using test categories…
• the rate of selecting spec items had increased more than 20%.
• the rate of spec items was improved when the expected results were also
selected.
• the variance in descriptions was alleviated.
18. 18
References
[1] IPA, Report of industry actual survey for Embedded Software in 2009: METI; 2009 (In Japanese).
[2] Myers, Glenford J., Corey Sandler, and Tom Badgett. The art of software testing.: Wiley; 2011.
[3] Forsberg, K., and H. Mooz. "The relationship of systems engineering to the project cycle. " Engineering
Management Journal 4.3 ;1992 p.36-43.
[4] Uetsuki Keiji, Tohru Matsuodani, and Kazuhiko Tsuda. "An efficient software testing method by decision
table verification." International Journal of Computer Applications in Technology 46.1 ; 2013, p.54-64.
[5] ISTQB FLWG. "Foundation Level Syllabus Version 2011. ": International Software Testing Qualifications
Board ; 2011.
[6] Nishi, Yasuharu. "Viewpoint-based Test Architecture Design." Software Security and Reliability Companion
(SERE-C), 2012 IEEE Sixth International Conference on. IEEE; 2012, p.194- 197.
[7] Kang, Kyo C., et al. "Feature-oriented domain analysis (FODA) feasibility study. No. CMU/SEI-90-TR-21. ":
CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST; 1990.
[8] IEEE ."IEEE standard for software test documentation ", IEEE829. 2008.; 2008.
[9] Tsuyoshi Yumoto,Tohru Matsuodani,Kazuhiko Tsuda. "A practical Using Method for Efficent Design of
Functionai Testing": 75th National Convention of IPSJ; 2013 , paper#5B-4 (In Japanese).
[10] Sakuhei Omura. Phenomenology of general system: gohodoshoppan; 2005 (In Japanese).
[11] Rasiel, E. M. The McKinsey Way. McGraw-Hill; 1999.
[12] Haimes, Yacov Y., Stan Kaplan, and James H. Lambert. "Risk filtering, ranking, and management
framework using hierarchical holographic modeling." : Risk Analysis 22.2 ; 2002, p.383-397.
Editor's Notes
9月11日 10時30分~10時50分 18分、質問2分 10枚で1枚2分
Good morning everyone. My name is Tsuyoshi Yumoto.
Today, I am going to talk about [A Test analysis Method for black box testing]
And the key point of this method is using Knowledge of AUT, that means application under test, and Software Faults.
This is an agenda of this presentation.
First of all, I will explain the background, in short, I will talk about testing is the big challenge for software development.
Second of all, I will explain about position of testing in software development process, and test process as underlying premise(パーミス).
And then, I will explain about what is issues of Test Analysis in Black Box Testing.
After explanation of issues, I will propose an Approach of Test Analysis Based on Test Categories.
And I will talk about what is test categories and how to use it.
Next, I will introduce one survey about Comparison(コンパリスン) of Test Condition Derivation(デリベイション) Result by Test Categories Practical Use Existence(イグジスタンス).
And efficiency of this proposal can be confirmable from this survey result.
This slide, I will tell you the situation of software development today. As I wrote in this slide, With a rapid increase in size and complexity of software today, the scope of software testing is also expanding.
Actually, There is a survey that indicates 45% of development cost is spent on software testing.
Therefore, the efficiency of software testing needs to be improved in order to ensure the appropriate delivery deadline and cost of software development.
For improving efficiency of software testing, the test needs to be designed in a way that the number of test cases is sufficient and appropriate in quantity.
Before talking about issues of software testing, I would like to explain about position of testing activity in software development process.
V-model is really famous to depict it.
As V model is shown, software testing is performed in multiple verification levels during the development life-cycle.
This proposal will focus on the black box testing performed at the system-level verification, enclosed in a red frame.
Because the system-level is where the effects caused by the increase in size and complexity of software are greatest.
Testing performed at each level depicted in V model has a process similar to the development process, respectively .
In the testing process, the test planning is performed in parallel with the activities on left side of the V model.
Then, another activities of test process are performed in chronological(クロノロジカル) order.
In addition, three activities, test analysis, test design, and test implementation in the testing process are also called test development process.
Because these are main activities to derive tests for AUT.
Underlying specifications to test design for black box testing are artifacts on left side of the V model. These are called test basis.
When performing test design, it is necessary to refine the size of AUT .
In test development process, test basis is first input, and after analyzing the test basis, test condition is going to be output.
This activity is the test analysis.
As everybody know, the test design can be divided into a white box testing and a black box testing.
White box testing is based on structure of AUT such as the source code.
On the other hand, black box testing is based on a specification that describes the behavior and operating conditions of AUT.
But, test analysis for black box testing is often not consistent in its refinement.
Because, the specification documents are normally written for subsequent processes.
Therefore, the specification of one item that test design techniques are applied to, can be written dispersedly(ディスパーストゥリ) throughout the document.
Test analysis in black box testing is an activity of selecting and organizing items from the test basis that I described.
That’s why some of the test cases are often lacking or overlapping.
Please look at the example table of typical test analysis.
It is almost impossible to determine if there are lacks or duplications of test cases from the example.
Because test condition is a generic term for elements such as functions, transactions, quality characteristics, and structure elements.
So, if there is no structure in order to sort out relationships between each element, it is easy to be disorganized.
In fact, in research and practice, structuring of test conditions in the test analysis stays just experiences and heuristics.
In the approach of the test analysis method proposed in this paper, test condition ,as the ambiguity of the term, is eliminated(エリミネイテッド) by layering elements based on the test case structure.
Using this approach means that the test analysis in alignment with a clear rule is attained by such a classification and arrangement.
There are 3 key points in this structure of test condition.
1)layering elements based on the test case structure.
2)starting from the feature that is contained in test basis.
3)the test category, which is the classification defined using knowledge of AUT and fault, is added to the structure.
This aims to help selecting spec items without a lack or duplication by using the test category as a guide for test analysis.
In this slide, I want to explain about test category.
A test category is the classification that multilaterally(モーティラレラリィ) captures a feature to be tested without omission.
A feature is a conversion equipment that changes a certain input, and it adds value to the input and produces a new output.
Therefore, it is supposed that it has structure logical certainly as shown in this slide.
The spec items belonging to the feature for a test can be arranged to MECE based on the logical structure.
Actually, the spec items of feature to be tested often distribute to whole test basis.
Therefore, since it is also the cause of the omission in selection and duplication by test analysis, guiding by test categories become effective.
The test category needs to have a specific naming and a meaning specialized in the scope of testing against an abstract concept.
The knowledge of AUT and the fault experienced in the past is used for defining the test categories.
In this slide, UI input , operation, UI display and so on in a column “test categories” are specific names.
When you analyzing test basis, spec items, expected results, and test parameters, these are selected from test basis, are listed as shown in the table like this.
The column headings in this table are same as structure elements shown in structure of Test Condition.
Multiplicity(モーティプリシティ) is according to structure of Test Condition.
This is the way to avoid disorganized listing.
And, same test categories are used for all features to be tested.
It is the practical way that multilaterally(モーティラレラリィ) captures a feature to be tested without omission.
From now on, I would like to introduce an example to use test categories.
In order to sequentially derive test conditions, test analysis activities are divided into steps shown like this.
And Step3 is the target for an example.
I organized the workshop on test analysis. And its participants carry out an exercise on test analysis step 3.
This is for Comparison of test condition derivation between test categories in practical use and not in use.
This is the Exercise overview.
the participants were divided into 2 teams to carry out an exercise on test analysis step 3.
One team had listed spec items, expected results, and test parameters of AUT without using test categories, and another team had listed the same with using test categories.
All participants have knowledge in the theme of this exercise through past testing experiences.
The team that carried out an exercise with test categories used the same set of test categories as the workshop facilitator’s.
On the other hand, another team that undertook an exercise without using test categories. Then Results from this team classified to the test categories after the workshop by facilitator
And then Exercise results are compared.
This table in the slide shows the comparison result of the number of spec items being selected.
The numbers on the first row are suggested answers provided by the workshop facilitator.
The numbers on 2nd and 3rd rows are answers in the exercise by the participants during the workshop.
The result showed the rate of selecting spec items was higher by 22% for the team that used test categories than for the team that did not use test categories.
And then, this table in the slides shows the summary of the numbers of expected results and test parameters.
The ratio of the number of expect results without test categories to the number of them with test categories is 43%, although the number of test parameters is 1.5 times higher.
From these results, it is safe to sum up 3 points
1) The team that didn’t use test categories had a higher possibility of designing lacked test cases at the time of a test design.
Because, the rate of selecting spec items was different more than 20%.
2) The team also did not clearly specify the expected results.
Because the ratio of the number of expect results is 43% less.
3) The team also had a higher possibility of designing duplicated test cases at the time of a test design.
Because 4 test parameters had addressed as another spec items, Although that can possibly become test parameters for the same spec item.
So, I would like to conclude this presentation.
This proposal is test analysis method based on the rule by organizing classifications of test conditions and knowledge for it is using the concept of test categories.
Generally , classifications of test conditions often based on an individual’s own judgments.
Disorganized classifications cause lacks or duplications of test cases.
so this proposal is challenge to avoid lacks or duplications of test cases.
And through the survey in the workshop, efficiency is conformed between test analysis using test categories and not using test categories.
This is the end of my presentation.
Thank you very much.