Viewpoint-based Test Requirement Analysis Modeling and Test Architectural Design

Yasuharu Nishi
Yasuharu Nishi電気通信大学
© NISHI, Yasuharu
Viewpoint-based
Test Requirement Analysis Modeling
and Test Architectural Design
6th
World Congress for Software Quality
London, UK
2014/7/3(Thu)
Nishi, Yasuharu
The University of Electro-Communications, Japan
© NISHI, Yasuharu2
Profile – Dr. NISHI, Yasuharu
Assistant professor:
the University of Electro-Communications, Japan
(also providing consultancy service to industry on testing and TQM)
President:
Association of Software Test Engineering, Japan (ASTER)
President:
Japan Software Testing Qualifications Board (JSTQB)
National delegate:
ISO/IEC JTC1/SC7/WG26 Software testing
Founder:
Japan Symposium on Software Testing (JaSST)
Founder:
Testing Engineers’ Forum (Japanese community on software testing)
Vice chair:
SQiP/Software Quality Committee of JUSE (promoting organization of TQM)
(SQiP has published the book of “SQuBOK: Software Quality Body of
Knowledge”
and is operating engineer certification on software quality)
Research interest:
Software testing, software quality/TQM , embedded software engineering,
software process improvement, software project management, system safety
© NISHI, Yasuharu3
Software Test Engineering Process
• As software has got huge and complicated,
test cases (= test suite) also get huge and complicated
– such as
» a test project with over 100,000 test cases
» over 10 test levels
» various test types such as load, configuration and security
– You have to develop huge and complicated test suite systematically
• But technologies on test planning or test strategy
are just immature
– Engineering work and management work for test development are confused
• It is necessary to define software test engineering process
to develop huge and complicated test suite systematically
© NISHI, Yasuharu4
Independent RA is necessary for testing
• Independent requirement analysis for testing is necessary
– Requirement analysis for software isn’t usually exact or detail enough
– Of course test requirement analysis depends on SUT and its dev. Process
• Requirement analysis for testing should be more important
– Test “planning” is just management word and NOT engineering word
Test
Architecture
Design
Test
Requirement
Analysis
Test
Detail
Design
Test
Implementation
VSTeP: Viewpoint-based Test Process
Test
Planning
Test
Design
Test
Implementation
(Scripting)
Part of typical test process
Test Management (including planning for management)
© NISHI, Yasuharu5
VSTeP
• VSTeP(Viewpoint-based Software Test Engineering Process)
is a generic test engineering process model
focusing on test viewpoint
– You can stress upper phase of test engineering process such as
test requirement analysis and test architecture design
which tend to be negligent
– VSTeP drives you to good test suite, good review for test design,
accumulation of knowledge and experience on testing
– Reuse and improvement will be easy because you can do
reverse-engineering of your past (unorganized) test suite
– NGT (Notation for Generic Testing) is a made-in-Japan notation
for Test Requirement Analysis and Test Architecture Design
» Modeling skill like object-oriented design is essentially necessary
Test
Architecture
Design
Test
Requirement
Analysis
Test
Detail
Design
Test
Implementation
VSTeP: Viewpoint-based Test Process
Test Management (including planning for management)
© NISHI, Yasuharu6
Detail phase of VSTeP
• TRA: Test Requirement Analysis
– To make a test requirement model
» To extract, organize and understand test requirement
» To create a test requirement model which consists of test viewpoints,
i.e. to create a viewpoint diagram
• TAD: Test Architecture Design
– To make a test architecture model
» To re-organize test viewpoints into test containers
as test types, levels and cycles for making test smooth
» To assemble test viewpoints into test frames which is template for TDD
• TDD: Test Detail Design
– To make test cases
» To set values in detail into test frames or test viewpoints
• TI: Test Implementation
– To make test scripts
» To add detail information necessary to execution to test cases
» To combine simple test scripts into a compound test script
for making execution efficient
© NISHI, Yasuharu7
Example of part of viewpoint diagram drawn for TRA
E-mail client
GUI Functions Environment Data
Platform Network
OS Hardware
Kind of OS Version of OS Internet Explorer
Test Item / SUT
© NISHI, Yasuharu8
What is test viewpoint: abstract test case
• Test cases has test values
– ex) parameter: Kind of OS, values: Win7, WinXP, Win2000
– Test parameters are also called as test conditions
and test values are also called as test coverage items
– Test cases consists of test values
• Viewpoints are abstract test cases
– Bottom viewpoints means test parameters
– Viewpoints don’t express
any test values or test cases
– Viewpoints can have hierarchical structure
like classification trees or class diagrams
– Viewpoints can be extracted from
test conditions, test items and quality characteristics
such as load, configuration and performance
– Ideally viewpoints should indicate
an INTENTION of a test case
» Viewpoint diagram can be a repository of intentions of TCs
Kind of OS
OS
Platform
Environment
- Win7
- WinXP
- Win2000
Test
Cases
Bottom
viewpoint
Viewpoint
Viewpoint
© NISHI, Yasuharu9
Various test viewpoints
– What should be exhausted:
» Specs, functions, data etc.
» Test conditions
– Characteristics which should be
achieved
» Quality characteristics, non
functional requirements etc.
– Parts of test items
» Funcs, Subsystems, modules etc.
– Bugs
» Errors and failures, bug patterns,
weak points of test items etc.
– Customer usage
» Business, lifestyle etc.
– Other parts of systems than software
» Hardware units, hardware failures etc.
– Test types
» Load test, configuration test etc.
– Test levels
» Component test, system test etc.
– Lists and/or diagrams developed
until software testing
» Use cases, State transition diagrams etc.
• Test viewpoint is a point where test engineers focus
an attention for grasping a big picture of test design
– Test viewpoint is abstraction and source of test cases
• Types of test viewpoints depend on organizations
and/or test engineers
OS
© NISHI, Yasuharu10
• The word “viewpoint” is independent of roles
Why “viewpoint” ?
Test purpose
Requirement!
Test condition
Parameter
Test Environment
Analyst
Test Manager
CT Researcher
Test EngineerTest Operator
© NISHI, Yasuharu11
Types of Hierarchical relationship
• Test viewpoints have two fundamental relationships
– Hierarchy relationships and Interaction relationships
– Types of relationships can be expressed as “<<stereotype>>”
• Hierarchical relationships can bear several meanings
– is-a relationship: inheritance
– has-a relationship: possession
– There may be other hierarchical relationships
» object-attribute and cause-effect is example
OS
Windows Memory
Management
Subsystem
<<has-a>><<is-a>>
© NISHI, Yasuharu12
Interactive relationships of viewpoints
• Viewpoints can relate each other with interactive relationships
– Non-hierarchical relationships are necessary: Interactive relationships
– They can also bear several meanings: combination, sequential etc.
– Lines without arrowhead represent “combinatorial relationships”
– Arrows with an open head represent “sequential relationships”
– Relationships can represent their meanings with <<stereotype>>
– In this workshop interactive relationships without stereotypes represent
combinatorial relationship
Function Configuration
<<sequence>>
OS Web browser
<<combination>>
© NISHI, Yasuharu13
Relationships of viewpoints
• Test viewpoints have two fundamental relationships
– Hierarchy relationships
» Detail a viewpoint step by step to reach test coverage item with a straight line
» Have several types such as is-a, has-a, cause-effect, object-attribute
– Interaction relationships
» Connect test viewpoints to test combination of viewpoints with a curved line
» Have several types such as combination (needs combinatorial testing) etc.
• Types of relationships can be expressed as “<<stereotype>>”
OS
Version of OS
<<has-a>><<is-a>>
Interaction
Hierarchy
<<combination>>
Viewpoint
Filesystem
© NISHI, Yasuharu14
Notation of viewpoint diagram in NGT
Viewpoint Viewpoint
Hierarchical
Relationship
Combinatorial
Relationship
Sequential
Relationship
<<combination>>
<<stereotype>> Stereotype
<<sequence>>
...
...
...
...
...
... Interactive
Relationship
Drawing tools for
mindmaps
are useful
Test
Container
...
© NISHI, Yasuharu15
Viewpoint diagram is simple enough
• Viewpoint diagram is simple enough
to make a TRA/TAD model
– More simple than classification tree
OS Web browser
OS Web browser
7 Vista IE Chrom
e
Firefox
Classification Tree Viewpoint diagram
© NISHI, Yasuharu16
TRA: Test requirement analysis
• To extract, organize and understand test requirements
– Requirements from customers to achieve
» Functional requirement, non-functional requirement, business goals etc.
– Constraints to achieve requirement from customers
» Requirement of test project management such as efforts, costs etc.
» Test tools and/or methods directly requested by customer especially
– Information of current quality of the test item
» Ex) bugs which were detected in prior reviews
• To create a test requirement model on viewpoint diagram
– Extract test viewpoints from test requirements
– Detail test viewpoints and
connect parent viewpoint and child viewpoints
– Extract interaction relationships and
connect viewpoints
– Top-level viewpoints are most important
for grasping a big picture, called “View”
Views
© NISHI, Yasuharu17
Refinement of a test requirement model
• You can refine a test requirement model
to make it clear and easy to understand
– To detail viewpoints step by step to exhaust / list all test conditions
– To move, divide or rename viewpoints if necessary
– To check non MECE viewpoints in each layer
and re-organize them as MECE
» MECE: Mutually Exclusive and Collectively Exhaustive
– To check whether brotherhood viewpoints have
the same stereotypes of hierarchy connections
– To check whether interactions would be better to change viewpoints
© NISHI, Yasuharu18
VSTeP
• VSTeP(Viewpoint-based Software Test Engineering Process)
is a generic test engineering process model
focusing on test viewpoint
– You can stress upper phase of test engineering process such as
test requirement analysis and test architecture design
which tend to be negligent
– VSTeP drives you to good test suite, good review for test design,
accumulation of knowledge and experience on testing
– Reuse and improvement will be easy because you can do
reverse-engineering of your past (unorganized) test suite
– NGT (Notation for Generic Testing) is a made-in-Japan notation
for Test Requirement Analysis and Test Architecture Design
» Modeling skill like object-oriented design is essentially necessary
Test
Architecture
Design
Test
Requirement
Analysis
Test
Detail
Design
Test
Implementation
VSTeP: Viewpoint-based Test Process
Test Management (including planning for management)
© NISHI, Yasuharu19
TAD: Test Architectural Design
• Test architecture is a big picture of test suite
– It is easy to grasp a big picture in test container level
for large and complicated testing
– Several viewpoints can be packed into a “test container”
– Test containers can be test levels, test types and test cycles
Structure t.
Exception
handling
testing
Multi bytes
testing
Boundary
of arrays t.
Unit
testing
Module calling
t.
Interruption
handling
testing
Shared
memory t.
Device
management
t.
Security
testing
Environment
testing
System
testing
Failure
mgmt
testing
Load t.
Function t.
Cycle 1
Load t.
Function t.
Cycle 2
Integration
testing
© NISHI, Yasuharu20
Guides for good TAD
• Some characteristics, attributes and patterns for software
can be applied as guides for good TAD
– “Quality Characteristics” for software are already available
such as ISO/IEC 25000s
» Functional Suitability / Performance efficiency / Compatibility / Usability
/ Reliability / Security / Maintainability / Portability
– Other characteristics and design patterns for software design are also major
» Coupling / Cohesion / Encapsulation / Responsibility
» Design patterns such as MVC, singleton
• Characteristics for TAD is important for good TAD
– Cohesion and coupling
» A test container should be packed with
viewpoints with similar meanings
» Test containers should have
so few combinatorial relationships as possible
– Maintainability / Internationaliziblity / Portability
» Test containers which needs modifications should be
easily identified in maintenance, internationalization and porting
– Design patterns on viewpoint level could be another guide for TAD
© NISHI, Yasuharu21
Quality attributes of test suite
• Test architecture depends on
required quality attributes of test suite
– Test suite can have its own quality attribute
if test suite is artifact
– Ex) Maintainability of test suite
– It doesn’t mean testing of quality attribute
such as ISO/IEC 25000s/9126s
Maintainability
considered
Simply
divided
Test architecture
of small calculator
© NISHI, Yasuharu22
Example of design pattern for TRA/TAD
• Interaction Cluster Partitioning Pattern
– if you can specify the source of combinatorial bugs is
e-mail protocols and accept risks of bugs from other sources,
you can reduce combinatorial test cases with ICP design pattern
Client
OS
Client
E-Mail
Client
Web
Server
OS
E-mail
server
Anti-
spam
Client
OS
Client
E-Mail
Client
Web
Server
OS
E-mail
server
Anti-
spam
Client
E-Mail
E-mail
server
3 values 4 values 2 values 2 values 3 values 4 values
3 values 4 values 2 values 2 values 3 values 4 values
4 values 3 values
(3 x 4 x 2) x (2 x 3 x 4)
= 576 cases
(3 x 4 x 2) + (2 x 3 x 4)
+ (4 x 3)
= 64 cases
© NISHI, Yasuharu23
Research Question
• Can Test Viewpoint Diagram
reduce omission of test conditions?
– Can test requirement modeling activity based on test viewpoints
reduce omission of test conditions more than based on test conditions?
– Is independent requirement “modeling” for testing
is better than “deriving test conditions”?
» Does “Deriving test conditions” mean just reading test base and writing them?
• We conducted an experiment to compare
“deriving test conditions” and “modeling test viewpoints”
– Lecture from academia and experiment by industry
© NISHI, Yasuharu24
Experiment for reducing omissions of test conditions
• Overview of Experiment
– Experiment for reducing omissions of test conditions in test requirement
analysis phase by 2 teams using test conditions and test viewpoints
» Team C: Selected test conditions using test conditions
· Team C selected test cases by the same way as actual test design using spreadsheet
· To compare easily, we redrew Team C’s test cases into Test Viewpoint Diagram
» Team V: Selected test conditions using test viewpoint model
· We made lectures on NGT/VSTeP and
instructed them to model with Hierarchical relationships
· They drew Test Viewpoint Diagram using a mindmap tool (freemind)
– Both teams had 3-4 engineers and all engineers had 5-10 years experiences
in software testing company mainly for embedded software
• Test Base / SUT
– User manual of a highly functional rice cooker
– Manual mainly has 2 parts:
» Operational instructions / functional descriptions
» Recommendations of cooking rice, e.g. for Sushi
© NISHI, Yasuharu25
Condition-based test requirement model
1
-
No.
Kind of rice Note Amount of rice Note
Amount of water
for cooking
Note
Pre-soak
in water
Note
Amount of water
for post-cooing
Note
1 Polished rice 1 cup Same as gauge Not to be soaked 45ml
2 Pre-washed rice 2 cups More than gauge To be soaked Maximum
3 Stickyrice 3 cups Less than gauge
4 Raw rice 4 cups
5 Sprouted raw rice 5 cups
6 Partlymilled rice
Level of milling isn't
categolized
7 Sprouted rice
8 Cereals rice
Test
Values
Test
Conditons
Precondition
Policy for listing
Condition-Value
list No.
To derive necessary test conditions and values for the rice cooking functions referring to operational steps of rice cooking
- - - If post-cooking is started
1 2 3 4 5
To compare easily,
we redrew the list into
Test Viewpoint
Diagram
© NISHI, Yasuharu26
Viewpoint-based test requirement model
© NISHI, Yasuharu27
Comparison of Condition-based and Viewpoint-based model
Condition-based model
Viewpoint-based model
© NISHI, Yasuharu28
Result: no. of omissions of test conditions
• Condition-based model omitted 13 more test conditions
than Viewpoint-based model
– Team C selected test conditions only which are explicitly written and
easily identified as test conditions
» Model is constructed in spreadsheet style
– Team V modeled the SUT itself whether viewpoints are test conditions or not
» Model is constructed in NGT/mindmap style
Conditions
explicitly written
Omissions of
Conditions
Out-of-scope
Condition-based
Model
All +13 0
Viewpoint-based
Model
All +0 (baseline) 18
© NISHI, Yasuharu29
Detail of omitted test conditions out of Condition-based model
• Ambiguously written input parameter: 1 condition
– “Memory of a past cooking course”
• Ambiguously written usecase: 1 condition
– “Successive cooking”
• Attributes of physical object explicitly written
in Recommendation part of the manual: 6 conditions
– “Degree of rinsing”, “pH of Water”, “Hardness of water”,
“Temperature of water”, “Vinegar”, “Spices”
• Ambiguously written expected results (behavior): 4 conditions
– “Display before rice cooking”, “Display just when rice cooking starts”,
“Display on buttons”, “Sounds”
• expected result of physical object explicitly written
in Recommendation part of the manual: 1 condition
– “Badness of taste”
© NISHI, Yasuharu30
Consideration on threats to validity
• Lack of empirical study?
– Single experiment can be biased and consistently extract wrong information
– We gathered multiple engineers who have almost the same experience into each team
• Lack of assessing the validity of cost and time measures?
– Team V spend more time (but practically acceptable) on TRA than team C
– Cost and time for TRA and TAD is often made more ignorable than TDD, TI and Test Execution
• Lack of assessing the validity of domain skills of engineers?
– All the engineers have almost the same domain skills as rice is the most popular food in Japan
• Lack of evaluations for instances of growing size and scope?
– Omissions are mainly about domain objects, i.e. physical objects, and ambiguous specifications
– As size and scope of test grow, domain objects and ambiguous specifications will grow,
VP model will be more effective
• Lack of evaluations for integrity and testability of the test base
– Integrity and testability of the test base grow, description on domain object will get richer and
ambiguous specification will decrease
– Although C model can reduce omissions, integrity and testability of test basis is limited actually.
We can estimate VP model will be yet more effective
• Lack of evaluations for refinement of model
– We didn't measure or limit the number of refinement of model exactly
– VP model was more refined than the C model
– As good model written in good notation will be more refined, VP model can be estimated to be
more effective.
© NISHI, Yasuharu31
Conclusion
• Independent test requirement analysis(TRA) is necessary
• It is important to construct a test requirement model in TRA
• In our experiment, test viewpoint model can reduce
omission of test conditions more than test condition model
• Scientific measurement
of merit of “modeling”
is rather difficult or not?
– Empirical study is necessary
© NISHI, Yasuharu
Thank you for your kind attention
NISHI, Yasuharu
http://qualab.jp/
Yasuharu.Nishi@uec.ac.jp
1 of 32

Recommended

INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL by
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLINTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLRahul R Pandya
1.4K views25 slides
ISTQB Test level, Test type by
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test typeHoangThiHien1
3.3K views23 slides
ISTQB Foundation - Chapter 3 by
ISTQB Foundation - Chapter 3ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3Chandukar
8.1K views38 slides
ISTQB Foundation Level Basic by
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level BasicErol Selitektay
18.1K views14 slides
ISTQB Test Process by
ISTQB Test ProcessISTQB Test Process
ISTQB Test ProcessHoangThiHien1
8.3K views25 slides
Chapter 3 - Static Testing by
Chapter 3 - Static TestingChapter 3 - Static Testing
Chapter 3 - Static TestingNeeraj Kumar Singh
8K views36 slides

More Related Content

What's hot

ISTQB / ISEB Foundation Exam Practice - 4 by
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4Yogindernath Gupta
8.9K views54 slides
Chapter 6 - Tool Support for Testing by
Chapter 6 - Tool Support for TestingChapter 6 - Tool Support for Testing
Chapter 6 - Tool Support for TestingNeeraj Kumar Singh
5.3K views24 slides
ISTQB / ISEB Foundation Exam Practice - 5 by
ISTQB / ISEB Foundation Exam Practice - 5ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5Yogindernath Gupta
5.6K views49 slides
Test Strategy and Planning by
Test Strategy and PlanningTest Strategy and Planning
Test Strategy and PlanningSachin-QA
290 views13 slides
Chapter 4 - Quality Characteristics for Technical Testing by
Chapter 4 - Quality Characteristics for Technical TestingChapter 4 - Quality Characteristics for Technical Testing
Chapter 4 - Quality Characteristics for Technical TestingNeeraj Kumar Singh
529 views54 slides
500 istqb-sample-papers-2010-2011 by
500 istqb-sample-papers-2010-2011500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011Helen Nguyễn
1.5K views96 slides

What's hot(20)

ISTQB / ISEB Foundation Exam Practice - 4 by Yogindernath Gupta
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4
Yogindernath Gupta8.9K views
ISTQB / ISEB Foundation Exam Practice - 5 by Yogindernath Gupta
ISTQB / ISEB Foundation Exam Practice - 5ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5
Yogindernath Gupta5.6K views
Test Strategy and Planning by Sachin-QA
Test Strategy and PlanningTest Strategy and Planning
Test Strategy and Planning
Sachin-QA290 views
Chapter 4 - Quality Characteristics for Technical Testing by Neeraj Kumar Singh
Chapter 4 - Quality Characteristics for Technical TestingChapter 4 - Quality Characteristics for Technical Testing
Chapter 4 - Quality Characteristics for Technical Testing
Neeraj Kumar Singh529 views
500 istqb-sample-papers-2010-2011 by Helen Nguyễn
500 istqb-sample-papers-2010-2011500 istqb-sample-papers-2010-2011
500 istqb-sample-papers-2010-2011
Helen Nguyễn1.5K views
Chapter 2 - Testing Throughout the Development LifeCycle by Neeraj Kumar Singh
Chapter 2 - Testing Throughout the Development LifeCycleChapter 2 - Testing Throughout the Development LifeCycle
Chapter 2 - Testing Throughout the Development LifeCycle
Neeraj Kumar Singh6.3K views
ISTQB Foundation - Chapter 2 by Chandukar
ISTQB Foundation - Chapter 2ISTQB Foundation - Chapter 2
ISTQB Foundation - Chapter 2
Chandukar8.2K views
ISTQB - What's testing by HoangThiHien1
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
HoangThiHien11.2K views
Chapter 2 - Performance Measurement Fundamentals by Neeraj Kumar Singh
Chapter 2 - Performance Measurement FundamentalsChapter 2 - Performance Measurement Fundamentals
Chapter 2 - Performance Measurement Fundamentals
Neeraj Kumar Singh512 views
Fundamentals of Testing by Code95
Fundamentals of TestingFundamentals of Testing
Fundamentals of Testing
Code95573 views

Viewers also liked

ソフトハウスの品質保証のウソホント by
ソフトハウスの品質保証のウソホントソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホントYasuharu Nishi
5.8K views43 slides
Test. units 1 & 2 by
Test. units 1 & 2Test. units 1 & 2
Test. units 1 & 2Cristina Ramón
9.4K views2 slides
Testing fundamentals by
Testing fundamentalsTesting fundamentals
Testing fundamentalssunilabj
481 views10 slides
IoT時代と第3者検証 by
IoT時代と第3者検証IoT時代と第3者検証
IoT時代と第3者検証Yasuharu Nishi
1.9K views6 slides
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~ by
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~Yasuharu Nishi
5.7K views28 slides
Testing Standards List by
Testing Standards ListTesting Standards List
Testing Standards ListProfessional Testing
6.8K views6 slides

Viewers also liked(10)

ソフトハウスの品質保証のウソホント by Yasuharu Nishi
ソフトハウスの品質保証のウソホントソフトハウスの品質保証のウソホント
ソフトハウスの品質保証のウソホント
Yasuharu Nishi5.8K views
Testing fundamentals by sunilabj
Testing fundamentalsTesting fundamentals
Testing fundamentals
sunilabj481 views
IoT時代と第3者検証 by Yasuharu Nishi
IoT時代と第3者検証IoT時代と第3者検証
IoT時代と第3者検証
Yasuharu Nishi1.9K views
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~ by Yasuharu Nishi
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
Yasuharu Nishi5.7K views
ソフトウェアの品質保証の基礎とこれから by Yasuharu Nishi
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
Yasuharu Nishi21.9K views
Viewpoint teacher's book by Budlan
Viewpoint teacher's bookViewpoint teacher's book
Viewpoint teacher's book
Budlan269.1K views
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証 by Yasuharu Nishi
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
Yasuharu Nishi24.9K views
Viewpoint level1 sequence by hectorgv2
Viewpoint level1 sequenceViewpoint level1 sequence
Viewpoint level1 sequence
hectorgv22.6K views

Similar to Viewpoint-based Test Requirement Analysis Modeling and Test Architectural Design

Primer on application_performance_modelling_v0.1 by
Primer on application_performance_modelling_v0.1Primer on application_performance_modelling_v0.1
Primer on application_performance_modelling_v0.1Trevor Warren
378 views13 slides
Object Oriented Analysis and Design Unit-1 by
Object Oriented Analysis and Design Unit-1Object Oriented Analysis and Design Unit-1
Object Oriented Analysis and Design Unit-1SangeethaSubramaniam14
26 views82 slides
System models of sdlc- v model by
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v modelMinal Kashyap
3.2K views24 slides
Software Testing Principles and  Techniques by
Software Testing Principles and  Techniques Software Testing Principles and  Techniques
Software Testing Principles and  Techniques suresh ramanujam
550 views28 slides
3 analysis and design overview by
3 analysis and design overview3 analysis and design overview
3 analysis and design overviewChâu Thanh Chương
3.8K views60 slides
Lecture 2 (Software Processes) by
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
1.5K views27 slides

Similar to Viewpoint-based Test Requirement Analysis Modeling and Test Architectural Design(20)

Primer on application_performance_modelling_v0.1 by Trevor Warren
Primer on application_performance_modelling_v0.1Primer on application_performance_modelling_v0.1
Primer on application_performance_modelling_v0.1
Trevor Warren378 views
System models of sdlc- v model by Minal Kashyap
System models of sdlc- v modelSystem models of sdlc- v model
System models of sdlc- v model
Minal Kashyap3.2K views
Software Testing Principles and  Techniques by suresh ramanujam
Software Testing Principles and  Techniques Software Testing Principles and  Techniques
Software Testing Principles and  Techniques
suresh ramanujam550 views
Lecture 2 (Software Processes) by Education Front
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
Education Front1.5K views
Unit 8 software quality and matrices by Preeti Mishra
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
Preeti Mishra4.7K views
Primer on performance_requirements_gathering_v0.3 by Trevor Warren
Primer on performance_requirements_gathering_v0.3Primer on performance_requirements_gathering_v0.3
Primer on performance_requirements_gathering_v0.3
Trevor Warren1K views
1 Ads by lcbj
1 Ads1 Ads
1 Ads
lcbj504 views
03 module2-090710094221-phpapp02 by gurusaras01
03 module2-090710094221-phpapp0203 module2-090710094221-phpapp02
03 module2-090710094221-phpapp02
gurusaras01307 views
Object Oriented Analysis by AMITJain879
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
AMITJain87968 views
Rational Unified Process by Kumar
Rational Unified ProcessRational Unified Process
Rational Unified Process
Kumar 4.5K views
UNIT V TESTING.pptx by anguraju1
UNIT V TESTING.pptxUNIT V TESTING.pptx
UNIT V TESTING.pptx
anguraju15 views
Se6162 analysis concept and principles by khaerul azmi
Se6162 analysis concept and principlesSe6162 analysis concept and principles
Se6162 analysis concept and principles
khaerul azmi381 views
Case tools and modern process of system development by tushar217
Case tools and modern process of system development Case tools and modern process of system development
Case tools and modern process of system development
tushar2173.3K views
15 object orienteddesign by randhirlpu
15 object orienteddesign15 object orienteddesign
15 object orienteddesign
randhirlpu294 views
SWT2_tim.pptx by BnhT27
SWT2_tim.pptxSWT2_tim.pptx
SWT2_tim.pptx
BnhT271 view

More from Yasuharu Nishi

Is No More QA Idealist Practical and Something Tasty? by
Is No More QA Idealist Practical and Something Tasty?Is No More QA Idealist Practical and Something Tasty?
Is No More QA Idealist Practical and Something Tasty?Yasuharu Nishi
1.2K views15 slides
Software-company Transformation by
Software-company TransformationSoftware-company Transformation
Software-company TransformationYasuharu Nishi
918 views24 slides
What is quality culture? Is it something tasty? by
What is quality culture? Is it something tasty?What is quality culture? Is it something tasty?
What is quality culture? Is it something tasty?Yasuharu Nishi
1.8K views17 slides
What should you shift left by
What should you shift leftWhat should you shift left
What should you shift leftYasuharu Nishi
1.8K views27 slides
Paradigm shifts in QA for AI products by
Paradigm shifts in QA for AI productsParadigm shifts in QA for AI products
Paradigm shifts in QA for AI productsYasuharu Nishi
599 views51 slides
What is quality engineer? Is it something tasty? by
What is quality engineer? Is it something tasty?What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?Yasuharu Nishi
4.1K views22 slides

More from Yasuharu Nishi(20)

Is No More QA Idealist Practical and Something Tasty? by Yasuharu Nishi
Is No More QA Idealist Practical and Something Tasty?Is No More QA Idealist Practical and Something Tasty?
Is No More QA Idealist Practical and Something Tasty?
Yasuharu Nishi1.2K views
Software-company Transformation by Yasuharu Nishi
Software-company TransformationSoftware-company Transformation
Software-company Transformation
Yasuharu Nishi918 views
What is quality culture? Is it something tasty? by Yasuharu Nishi
What is quality culture? Is it something tasty?What is quality culture? Is it something tasty?
What is quality culture? Is it something tasty?
Yasuharu Nishi1.8K views
What should you shift left by Yasuharu Nishi
What should you shift leftWhat should you shift left
What should you shift left
Yasuharu Nishi1.8K views
Paradigm shifts in QA for AI products by Yasuharu Nishi
Paradigm shifts in QA for AI productsParadigm shifts in QA for AI products
Paradigm shifts in QA for AI products
Yasuharu Nishi599 views
What is quality engineer? Is it something tasty? by Yasuharu Nishi
What is quality engineer? Is it something tasty?What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?
Yasuharu Nishi4.1K views
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版) by Yasuharu Nishi
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi20.2K views
Demystifying quality management for large scale manufacturing in modern context by Yasuharu Nishi
Demystifying quality management for large scale manufacturing in modern contextDemystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern context
Yasuharu Nishi4.1K views
Demystifying quality management for large scale manufacturing in modern context by Yasuharu Nishi
Demystifying quality management for large scale manufacturing in modern contextDemystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern context
Yasuharu Nishi1.1K views
Re-collection of embedded software qa in the last decade by Yasuharu Nishi
Re-collection of embedded software qa in the last decadeRe-collection of embedded software qa in the last decade
Re-collection of embedded software qa in the last decade
Yasuharu Nishi5.3K views
Teaser - Re-collection of embedded software QA in the last decade by Yasuharu Nishi
Teaser - Re-collection of embedded software QA in the last decadeTeaser - Re-collection of embedded software QA in the last decade
Teaser - Re-collection of embedded software QA in the last decade
Yasuharu Nishi733 views
車載ソフトウェアの品質保証のこれから by Yasuharu Nishi
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
Yasuharu Nishi2.7K views
modern software qa - draft 1 by Yasuharu Nishi
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1
Yasuharu Nishi3.7K views
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~ by Yasuharu Nishi
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Tomorrow's software testing for embedded systems ~明日にでも訪れてしまう組込みシステムのテストの姿~
Yasuharu Nishi3.5K views
Software Frontloading and QA by Yasuharu Nishi
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QA
Yasuharu Nishi7.3K views
Tomorrow's software testing for embedded systems by Yasuharu Nishi
Tomorrow's software testing for embedded systemsTomorrow's software testing for embedded systems
Tomorrow's software testing for embedded systems
Yasuharu Nishi2.7K views
DeNA QA night #2 presentation by Yasuharu Nishi
DeNA QA night #2 presentationDeNA QA night #2 presentation
DeNA QA night #2 presentation
Yasuharu Nishi17.9K views
LINE Developer Meetup in Tokyo #39 Presentation (modified) by Yasuharu Nishi
LINE Developer Meetup in Tokyo #39 Presentation (modified)LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
Yasuharu Nishi5.3K views

Recently uploaded

Page Object Model by
Page Object ModelPage Object Model
Page Object Modelartembondar5
6 views5 slides
360 graden fabriek by
360 graden fabriek360 graden fabriek
360 graden fabriekinfo33492
143 views25 slides
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Lisi Hocke
35 views124 slides
Fleet Management Software in India by
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
12 views1 slide
Dapr Unleashed: Accelerating Microservice Development by
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice DevelopmentMiroslav Janeski
12 views29 slides
predicting-m3-devopsconMunich-2023-v2.pptx by
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptxTier1 app
9 views33 slides

Recently uploaded(20)

360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492143 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke35 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable12 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski12 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app9 views
Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ10 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin96 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254556 views
How Workforce Management Software Empowers SMEs | TraQSuite by TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuiteHow Workforce Management Software Empowers SMEs | TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuite
TraQSuite5 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta7 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8713 views
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action by Márton Kodok
Gen Apps on Google Cloud PaLM2 and Codey APIs in ActionGen Apps on Google Cloud PaLM2 and Codey APIs in Action
Gen Apps on Google Cloud PaLM2 and Codey APIs in Action
Márton Kodok15 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app7 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy14 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino6 views

Viewpoint-based Test Requirement Analysis Modeling and Test Architectural Design

  • 1. © NISHI, Yasuharu Viewpoint-based Test Requirement Analysis Modeling and Test Architectural Design 6th World Congress for Software Quality London, UK 2014/7/3(Thu) Nishi, Yasuharu The University of Electro-Communications, Japan
  • 2. © NISHI, Yasuharu2 Profile – Dr. NISHI, Yasuharu Assistant professor: the University of Electro-Communications, Japan (also providing consultancy service to industry on testing and TQM) President: Association of Software Test Engineering, Japan (ASTER) President: Japan Software Testing Qualifications Board (JSTQB) National delegate: ISO/IEC JTC1/SC7/WG26 Software testing Founder: Japan Symposium on Software Testing (JaSST) Founder: Testing Engineers’ Forum (Japanese community on software testing) Vice chair: SQiP/Software Quality Committee of JUSE (promoting organization of TQM) (SQiP has published the book of “SQuBOK: Software Quality Body of Knowledge” and is operating engineer certification on software quality) Research interest: Software testing, software quality/TQM , embedded software engineering, software process improvement, software project management, system safety
  • 3. © NISHI, Yasuharu3 Software Test Engineering Process • As software has got huge and complicated, test cases (= test suite) also get huge and complicated – such as » a test project with over 100,000 test cases » over 10 test levels » various test types such as load, configuration and security – You have to develop huge and complicated test suite systematically • But technologies on test planning or test strategy are just immature – Engineering work and management work for test development are confused • It is necessary to define software test engineering process to develop huge and complicated test suite systematically
  • 4. © NISHI, Yasuharu4 Independent RA is necessary for testing • Independent requirement analysis for testing is necessary – Requirement analysis for software isn’t usually exact or detail enough – Of course test requirement analysis depends on SUT and its dev. Process • Requirement analysis for testing should be more important – Test “planning” is just management word and NOT engineering word Test Architecture Design Test Requirement Analysis Test Detail Design Test Implementation VSTeP: Viewpoint-based Test Process Test Planning Test Design Test Implementation (Scripting) Part of typical test process Test Management (including planning for management)
  • 5. © NISHI, Yasuharu5 VSTeP • VSTeP(Viewpoint-based Software Test Engineering Process) is a generic test engineering process model focusing on test viewpoint – You can stress upper phase of test engineering process such as test requirement analysis and test architecture design which tend to be negligent – VSTeP drives you to good test suite, good review for test design, accumulation of knowledge and experience on testing – Reuse and improvement will be easy because you can do reverse-engineering of your past (unorganized) test suite – NGT (Notation for Generic Testing) is a made-in-Japan notation for Test Requirement Analysis and Test Architecture Design » Modeling skill like object-oriented design is essentially necessary Test Architecture Design Test Requirement Analysis Test Detail Design Test Implementation VSTeP: Viewpoint-based Test Process Test Management (including planning for management)
  • 6. © NISHI, Yasuharu6 Detail phase of VSTeP • TRA: Test Requirement Analysis – To make a test requirement model » To extract, organize and understand test requirement » To create a test requirement model which consists of test viewpoints, i.e. to create a viewpoint diagram • TAD: Test Architecture Design – To make a test architecture model » To re-organize test viewpoints into test containers as test types, levels and cycles for making test smooth » To assemble test viewpoints into test frames which is template for TDD • TDD: Test Detail Design – To make test cases » To set values in detail into test frames or test viewpoints • TI: Test Implementation – To make test scripts » To add detail information necessary to execution to test cases » To combine simple test scripts into a compound test script for making execution efficient
  • 7. © NISHI, Yasuharu7 Example of part of viewpoint diagram drawn for TRA E-mail client GUI Functions Environment Data Platform Network OS Hardware Kind of OS Version of OS Internet Explorer Test Item / SUT
  • 8. © NISHI, Yasuharu8 What is test viewpoint: abstract test case • Test cases has test values – ex) parameter: Kind of OS, values: Win7, WinXP, Win2000 – Test parameters are also called as test conditions and test values are also called as test coverage items – Test cases consists of test values • Viewpoints are abstract test cases – Bottom viewpoints means test parameters – Viewpoints don’t express any test values or test cases – Viewpoints can have hierarchical structure like classification trees or class diagrams – Viewpoints can be extracted from test conditions, test items and quality characteristics such as load, configuration and performance – Ideally viewpoints should indicate an INTENTION of a test case » Viewpoint diagram can be a repository of intentions of TCs Kind of OS OS Platform Environment - Win7 - WinXP - Win2000 Test Cases Bottom viewpoint Viewpoint Viewpoint
  • 9. © NISHI, Yasuharu9 Various test viewpoints – What should be exhausted: » Specs, functions, data etc. » Test conditions – Characteristics which should be achieved » Quality characteristics, non functional requirements etc. – Parts of test items » Funcs, Subsystems, modules etc. – Bugs » Errors and failures, bug patterns, weak points of test items etc. – Customer usage » Business, lifestyle etc. – Other parts of systems than software » Hardware units, hardware failures etc. – Test types » Load test, configuration test etc. – Test levels » Component test, system test etc. – Lists and/or diagrams developed until software testing » Use cases, State transition diagrams etc. • Test viewpoint is a point where test engineers focus an attention for grasping a big picture of test design – Test viewpoint is abstraction and source of test cases • Types of test viewpoints depend on organizations and/or test engineers OS
  • 10. © NISHI, Yasuharu10 • The word “viewpoint” is independent of roles Why “viewpoint” ? Test purpose Requirement! Test condition Parameter Test Environment Analyst Test Manager CT Researcher Test EngineerTest Operator
  • 11. © NISHI, Yasuharu11 Types of Hierarchical relationship • Test viewpoints have two fundamental relationships – Hierarchy relationships and Interaction relationships – Types of relationships can be expressed as “<<stereotype>>” • Hierarchical relationships can bear several meanings – is-a relationship: inheritance – has-a relationship: possession – There may be other hierarchical relationships » object-attribute and cause-effect is example OS Windows Memory Management Subsystem <<has-a>><<is-a>>
  • 12. © NISHI, Yasuharu12 Interactive relationships of viewpoints • Viewpoints can relate each other with interactive relationships – Non-hierarchical relationships are necessary: Interactive relationships – They can also bear several meanings: combination, sequential etc. – Lines without arrowhead represent “combinatorial relationships” – Arrows with an open head represent “sequential relationships” – Relationships can represent their meanings with <<stereotype>> – In this workshop interactive relationships without stereotypes represent combinatorial relationship Function Configuration <<sequence>> OS Web browser <<combination>>
  • 13. © NISHI, Yasuharu13 Relationships of viewpoints • Test viewpoints have two fundamental relationships – Hierarchy relationships » Detail a viewpoint step by step to reach test coverage item with a straight line » Have several types such as is-a, has-a, cause-effect, object-attribute – Interaction relationships » Connect test viewpoints to test combination of viewpoints with a curved line » Have several types such as combination (needs combinatorial testing) etc. • Types of relationships can be expressed as “<<stereotype>>” OS Version of OS <<has-a>><<is-a>> Interaction Hierarchy <<combination>> Viewpoint Filesystem
  • 14. © NISHI, Yasuharu14 Notation of viewpoint diagram in NGT Viewpoint Viewpoint Hierarchical Relationship Combinatorial Relationship Sequential Relationship <<combination>> <<stereotype>> Stereotype <<sequence>> ... ... ... ... ... ... Interactive Relationship Drawing tools for mindmaps are useful Test Container ...
  • 15. © NISHI, Yasuharu15 Viewpoint diagram is simple enough • Viewpoint diagram is simple enough to make a TRA/TAD model – More simple than classification tree OS Web browser OS Web browser 7 Vista IE Chrom e Firefox Classification Tree Viewpoint diagram
  • 16. © NISHI, Yasuharu16 TRA: Test requirement analysis • To extract, organize and understand test requirements – Requirements from customers to achieve » Functional requirement, non-functional requirement, business goals etc. – Constraints to achieve requirement from customers » Requirement of test project management such as efforts, costs etc. » Test tools and/or methods directly requested by customer especially – Information of current quality of the test item » Ex) bugs which were detected in prior reviews • To create a test requirement model on viewpoint diagram – Extract test viewpoints from test requirements – Detail test viewpoints and connect parent viewpoint and child viewpoints – Extract interaction relationships and connect viewpoints – Top-level viewpoints are most important for grasping a big picture, called “View” Views
  • 17. © NISHI, Yasuharu17 Refinement of a test requirement model • You can refine a test requirement model to make it clear and easy to understand – To detail viewpoints step by step to exhaust / list all test conditions – To move, divide or rename viewpoints if necessary – To check non MECE viewpoints in each layer and re-organize them as MECE » MECE: Mutually Exclusive and Collectively Exhaustive – To check whether brotherhood viewpoints have the same stereotypes of hierarchy connections – To check whether interactions would be better to change viewpoints
  • 18. © NISHI, Yasuharu18 VSTeP • VSTeP(Viewpoint-based Software Test Engineering Process) is a generic test engineering process model focusing on test viewpoint – You can stress upper phase of test engineering process such as test requirement analysis and test architecture design which tend to be negligent – VSTeP drives you to good test suite, good review for test design, accumulation of knowledge and experience on testing – Reuse and improvement will be easy because you can do reverse-engineering of your past (unorganized) test suite – NGT (Notation for Generic Testing) is a made-in-Japan notation for Test Requirement Analysis and Test Architecture Design » Modeling skill like object-oriented design is essentially necessary Test Architecture Design Test Requirement Analysis Test Detail Design Test Implementation VSTeP: Viewpoint-based Test Process Test Management (including planning for management)
  • 19. © NISHI, Yasuharu19 TAD: Test Architectural Design • Test architecture is a big picture of test suite – It is easy to grasp a big picture in test container level for large and complicated testing – Several viewpoints can be packed into a “test container” – Test containers can be test levels, test types and test cycles Structure t. Exception handling testing Multi bytes testing Boundary of arrays t. Unit testing Module calling t. Interruption handling testing Shared memory t. Device management t. Security testing Environment testing System testing Failure mgmt testing Load t. Function t. Cycle 1 Load t. Function t. Cycle 2 Integration testing
  • 20. © NISHI, Yasuharu20 Guides for good TAD • Some characteristics, attributes and patterns for software can be applied as guides for good TAD – “Quality Characteristics” for software are already available such as ISO/IEC 25000s » Functional Suitability / Performance efficiency / Compatibility / Usability / Reliability / Security / Maintainability / Portability – Other characteristics and design patterns for software design are also major » Coupling / Cohesion / Encapsulation / Responsibility » Design patterns such as MVC, singleton • Characteristics for TAD is important for good TAD – Cohesion and coupling » A test container should be packed with viewpoints with similar meanings » Test containers should have so few combinatorial relationships as possible – Maintainability / Internationaliziblity / Portability » Test containers which needs modifications should be easily identified in maintenance, internationalization and porting – Design patterns on viewpoint level could be another guide for TAD
  • 21. © NISHI, Yasuharu21 Quality attributes of test suite • Test architecture depends on required quality attributes of test suite – Test suite can have its own quality attribute if test suite is artifact – Ex) Maintainability of test suite – It doesn’t mean testing of quality attribute such as ISO/IEC 25000s/9126s Maintainability considered Simply divided Test architecture of small calculator
  • 22. © NISHI, Yasuharu22 Example of design pattern for TRA/TAD • Interaction Cluster Partitioning Pattern – if you can specify the source of combinatorial bugs is e-mail protocols and accept risks of bugs from other sources, you can reduce combinatorial test cases with ICP design pattern Client OS Client E-Mail Client Web Server OS E-mail server Anti- spam Client OS Client E-Mail Client Web Server OS E-mail server Anti- spam Client E-Mail E-mail server 3 values 4 values 2 values 2 values 3 values 4 values 3 values 4 values 2 values 2 values 3 values 4 values 4 values 3 values (3 x 4 x 2) x (2 x 3 x 4) = 576 cases (3 x 4 x 2) + (2 x 3 x 4) + (4 x 3) = 64 cases
  • 23. © NISHI, Yasuharu23 Research Question • Can Test Viewpoint Diagram reduce omission of test conditions? – Can test requirement modeling activity based on test viewpoints reduce omission of test conditions more than based on test conditions? – Is independent requirement “modeling” for testing is better than “deriving test conditions”? » Does “Deriving test conditions” mean just reading test base and writing them? • We conducted an experiment to compare “deriving test conditions” and “modeling test viewpoints” – Lecture from academia and experiment by industry
  • 24. © NISHI, Yasuharu24 Experiment for reducing omissions of test conditions • Overview of Experiment – Experiment for reducing omissions of test conditions in test requirement analysis phase by 2 teams using test conditions and test viewpoints » Team C: Selected test conditions using test conditions · Team C selected test cases by the same way as actual test design using spreadsheet · To compare easily, we redrew Team C’s test cases into Test Viewpoint Diagram » Team V: Selected test conditions using test viewpoint model · We made lectures on NGT/VSTeP and instructed them to model with Hierarchical relationships · They drew Test Viewpoint Diagram using a mindmap tool (freemind) – Both teams had 3-4 engineers and all engineers had 5-10 years experiences in software testing company mainly for embedded software • Test Base / SUT – User manual of a highly functional rice cooker – Manual mainly has 2 parts: » Operational instructions / functional descriptions » Recommendations of cooking rice, e.g. for Sushi
  • 25. © NISHI, Yasuharu25 Condition-based test requirement model 1 - No. Kind of rice Note Amount of rice Note Amount of water for cooking Note Pre-soak in water Note Amount of water for post-cooing Note 1 Polished rice 1 cup Same as gauge Not to be soaked 45ml 2 Pre-washed rice 2 cups More than gauge To be soaked Maximum 3 Stickyrice 3 cups Less than gauge 4 Raw rice 4 cups 5 Sprouted raw rice 5 cups 6 Partlymilled rice Level of milling isn't categolized 7 Sprouted rice 8 Cereals rice Test Values Test Conditons Precondition Policy for listing Condition-Value list No. To derive necessary test conditions and values for the rice cooking functions referring to operational steps of rice cooking - - - If post-cooking is started 1 2 3 4 5 To compare easily, we redrew the list into Test Viewpoint Diagram
  • 26. © NISHI, Yasuharu26 Viewpoint-based test requirement model
  • 27. © NISHI, Yasuharu27 Comparison of Condition-based and Viewpoint-based model Condition-based model Viewpoint-based model
  • 28. © NISHI, Yasuharu28 Result: no. of omissions of test conditions • Condition-based model omitted 13 more test conditions than Viewpoint-based model – Team C selected test conditions only which are explicitly written and easily identified as test conditions » Model is constructed in spreadsheet style – Team V modeled the SUT itself whether viewpoints are test conditions or not » Model is constructed in NGT/mindmap style Conditions explicitly written Omissions of Conditions Out-of-scope Condition-based Model All +13 0 Viewpoint-based Model All +0 (baseline) 18
  • 29. © NISHI, Yasuharu29 Detail of omitted test conditions out of Condition-based model • Ambiguously written input parameter: 1 condition – “Memory of a past cooking course” • Ambiguously written usecase: 1 condition – “Successive cooking” • Attributes of physical object explicitly written in Recommendation part of the manual: 6 conditions – “Degree of rinsing”, “pH of Water”, “Hardness of water”, “Temperature of water”, “Vinegar”, “Spices” • Ambiguously written expected results (behavior): 4 conditions – “Display before rice cooking”, “Display just when rice cooking starts”, “Display on buttons”, “Sounds” • expected result of physical object explicitly written in Recommendation part of the manual: 1 condition – “Badness of taste”
  • 30. © NISHI, Yasuharu30 Consideration on threats to validity • Lack of empirical study? – Single experiment can be biased and consistently extract wrong information – We gathered multiple engineers who have almost the same experience into each team • Lack of assessing the validity of cost and time measures? – Team V spend more time (but practically acceptable) on TRA than team C – Cost and time for TRA and TAD is often made more ignorable than TDD, TI and Test Execution • Lack of assessing the validity of domain skills of engineers? – All the engineers have almost the same domain skills as rice is the most popular food in Japan • Lack of evaluations for instances of growing size and scope? – Omissions are mainly about domain objects, i.e. physical objects, and ambiguous specifications – As size and scope of test grow, domain objects and ambiguous specifications will grow, VP model will be more effective • Lack of evaluations for integrity and testability of the test base – Integrity and testability of the test base grow, description on domain object will get richer and ambiguous specification will decrease – Although C model can reduce omissions, integrity and testability of test basis is limited actually. We can estimate VP model will be yet more effective • Lack of evaluations for refinement of model – We didn't measure or limit the number of refinement of model exactly – VP model was more refined than the C model – As good model written in good notation will be more refined, VP model can be estimated to be more effective.
  • 31. © NISHI, Yasuharu31 Conclusion • Independent test requirement analysis(TRA) is necessary • It is important to construct a test requirement model in TRA • In our experiment, test viewpoint model can reduce omission of test conditions more than test condition model • Scientific measurement of merit of “modeling” is rather difficult or not? – Empirical study is necessary
  • 32. © NISHI, Yasuharu Thank you for your kind attention NISHI, Yasuharu http://qualab.jp/ Yasuharu.Nishi@uec.ac.jp