Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)Kiểm thử tự động cho các ứng dụng đa phương thức tương tác (Luận án tiến sĩ)
MINISTRY OF EDUCATION & TRAINING THE UNIVERSITY OF DANANG - - LE THANH LONG AUTOMATIC TESTING OF INTERACTIVE MULTIMODAL APPLICATIONS ENGINEERING DOCTORAL THESIS Da Nang, 11/2017 MINISTRY OF EDUCATION & TRAINING THE UNIVERSITY OF DANANG - - LE THANH LONG AUTOMATIC TESTING OF INTERACTIVE MULTIMODAL APPLICATIONS Major: Computer science Code of Major: 62 48 01 01 ENGINEERING DOCTORAL THESIS Supervisors: Prof Dr Ioannis Parissis Assoc Prof Dr Nguyễn Thanh Bình Da Nang, 11/2017 REASSURANCES I hereby certify this thesis done by my work, under the guidance of Prof Dr Ioannis Parissis and Assoc Prof Dr Nguyễn Thanh Bình I certify that the research results presented in the thesis are true and are not copied from any other documents All quotations origins are recorded clearly and completely PhD Student Lê Thanh Long TABLE OF CONTENTS TABLE OF CONTENTS INTRODUCTION Chapter INTERACTIVE MULTIMODAL APPLICATIONS 12 1.1 Multimodality 12 1.2 Features of Multimodal Interaction 13 1.3 Multimodal Fusion 14 1.4 Design Spaces and Theoretical Frameworks 14 1.4.1 The TYCOON Theoretical Framework 14 1.4.2 CASE Design Space 15 1.4.3 The CARE Properties 16 1.5 Intoduction to Software Testing 18 1.5.1 Model-Based Testing 18 1.5.2 Operational Profile-Based Testing 19 1.5.3 Requirement-Based Testing 20 1.6 Testing Interactive Multimodal Applications 21 1.6.1 ICO Method 21 1.6.2 Event B Method 26 1.6.3 Synchronous Approach 30 1.7 Conclusion 34 Chapter BACKGROUND OF A NEW TEST MODELING LANGUAGE 35 2.1 Task Trees 35 2.2 The Interactive Multimodal Application Memo 38 2.3 Operational Profiles 42 2.4 Probabilistic Finite State Machines 44 2.5 Setting a Level of Abstraction for Testing 45 2.6 Generation of Tests at Dialog Controller Level 46 2.7 Taking into Account Conditional Probabilities 49 2.8 Evaluation of the Results of Extending the CTT with Conditional Probabilities 55 2.9 Conclusion 57 Chapter TTT: A NEW TEST MODELING LANGUAGE FOR TESTING INTERACTIVE MULTIMODAL APPLICATIONS 59 3.1 Introduction 59 3.2 The User Actions Traces 61 3.3 Definition of the TTT Language 62 3.4 Basic Structure of a TTT Model 62 3.5 Supporting Conditional Probability Specifications for all the CTT Operators 65 3.6 Storing the Traces of the User Actions 73 3.7 Transformation Rules from CTT to Test Model by Using the TTT Language 76 3.8 Taking into Account Multimodality 77 3.8.1 Generating Tests for Multimodal Events 77 3.8.2 Checking the Validity of CARE Properties 80 3.8.2.1 Equivalence Property 81 3.8.2.2 Redundancy-Equivalence Property 82 3.8.2.3 Complementarity Property 84 3.9 Modeling the Interactive Multimodal Application Memo by the TTT Language 86 3.10 Advantages and disadvantages of the TTT Language 91 3.11 Conclusion 91 Chapter TTTEST: THE SUPPORT TOOL FOR TESTING INTERACTIVE MULTIMODAL APPLICATIONS 93 4.1 Introduction 93 4.2 Test Execution Environment 93 4.3 The TTTEST Tool 94 4.4 Translating TESTCTT Model into C Program 95 4.4.1 Translation Problems 95 4.4.2 Automatic Translation Solution 98 4.5 Experimentation 100 4.5.1 Modeling the NotePad Application by the TTT Language 100 4.5.2 Testing the Memo Application 103 4.5.3 Testing the Map Navigator Application 105 4.6 Evaluation of the Resulted Test Cases 112 CONCLUSIONS AND FUTURE WORKS 116 PUBLICATIONS 118 REFERENCES 119 ACRONYMS No Acronyms Meaning API Application Programming Interface AUT Application Under Test CARE Complementarity, Assignment, Redundancy and Equivalence CASE Concurrent, Alternate, Synergistic and Exclusive CTT ConcurTaskTrees DFA Deterministic Finite State Automaton FSMs Finite State Machines HMD Head Mounted Display IMA Interactive Multimodal Application 10 ICO Interactive Cooperative Objects 11 MBT Model-Based Testing 12 NFA Nondeterministic Finite State Automaton 13 ObCS Object Control Structure 14 OPBT Operational Profile-Based Testing 15 PFSM Probabilities Finite State Machine 16 RBT Requirement-Based Testing 17 SQL Structured Query Language 18 TW Temporal Window 19 UML Unified Modeling Language 20 TTT Task Tree – based Test 21 TTTEST Testing IMA by means of the TTT language LIST OF FIGURES Figure 1.1 The TYCOON Theoretical Framework for studying multimodality 15 Figure 1.2 The CASE design space 16 Figure 1.3 A window of Tuple editor 21 Figure 1.4 The class Editor 23 Figure 1.5 The ObCS of the class Editor 24 Figure 2.1 The interactive multimodal application "Memo" 38 Figure 2.2 The Memo application struture [4] 40 Figure 2.3 The CTT for the Memo application 42 Figure 2.4 The CTT with unconditional probabilities for the Memo application 43 Figure 2.5 A multimodal application organized along the PAC-Amodeus model 45 Figure 2.6 FSM Example for the Memo application [20] 48 Figure 2.7 The behavior of the choice operator 51 Figure 2.8 The behavior of the concurrency operator 51 Figure 2.9 The behavior of the deactivation operator 52 Figure 2.10 The behavior of the option operator 52 Figure 2.11 The behavior of the suspend-resume operator 53 Figure 2.12 The extended CTT with conditional probabilities for the Memo application 55 Figure 4.1 The TTTEST Testing Environment 93 Figure 4.2 The TTTEST tool interface 94 Figure 4.3 Transformation diagrams from TESTCTT model into C program 98 Figure 4.4 Translating TESTCTT to C program with Lex/Yacc 99 Figure 4.5 The extended CTT for application NotePad 101 Figure 4.6 Multimodal interaction with a map 105 Figure 4.7 The extended CTT for the Map navigator application 106 LIST OF TABLES Table 2.1 The CTT Operators [27] 36 Table 2.2 Test data generated with unconditional probabilities and conditional probabilities 57 Table 2.3 Extensions of CTT operators with conditional probabilities 57 Table 3.1 The TTT Syntax 62 Table 3.2 A basic structure of a TESTCTT 63 Table 3.3 A structure of a function 65 Table 3.4 The CTT Syntax 65 Table 3.5 The behavior of choice operator 67 Table 3.6 The behavior of Concurrency operator 68 Table 3.7 The behavior of Deactivation operator 70 Table 3.8 The behavior of Suspend-resume operator 71 Table 3.9 The behavior of Option operator 72 Table 3.10 The SQL-like syntax 74 Table 3.11 The conditional constructs syntax 74 Table 3.12 Transformation rules from augmented CTT to Test Model 76 Table 3.13 The semantics of modalities operator 77 Table 3.14 Events are generated by Modalities operator 80 Table 3.15 The behavior of TestEquivalence operator 81 Table 3.16 The result of TestEquivalence operator 82 Table 3.17 The behavior of TestRedundant_EquivalenceEarly operator 83 Table 3.18 The result of TestRedundant_EquivalenceEarly operator 84 Table 3.19 The behavior of TestcomplementaryEarly operator 85 Table 3.20 The result of TestComplementaryEarly operator 86 Table 3.21 TESTCTT model for the Memo application 87 Table 4.1 Lexical substitutions 95 Table 4.2 Syntactic transformations 96 Table 4.3 Transformation of choice operator 97 Table 4.4 Transformations from create table statement in the TTT language into the C language 97 Table 4.5 High-level NotePad model .102 Table 4.6 The result of TestEquivalence operator 103 Table 4.7 The result of TestRedundantEquivalenceEarly operator 103 Table 4.8 The result of TestComplementaryEarly operator 104 Table 4.9 The TESTCTT model for the Map Navigator application 107 Table 4.10 Multimodal Events are generated for the Map Navigator 112 Table 4.11 Results of the Experiment 113 Table 4.12 Results of the Experiment 113 Table 4.13 Results of the Experiment 113 ... greater expressive power and greater potential precision in visual-spatial tasks 13 Luận án đủ file: Luận án full ... structure of a function 65 Table 3.4 The CTT Syntax 65 Table 3.5 The behavior of choice operator 67 Table 3.6 The behavior of Concurrency operator 68 Table 3.7 The... substitutions 95 Table 4.2 Syntactic transformations 96 Table 4.3 Transformation of choice operator 97 Table 4.4 Transformations from create table statement in the TTT language