Rights Contact Login For More Details
- Wiley
More About This Title S60 Smartphone Quality Assurance - A Guide forMobile Engineers and Developers
- English
English
Quality is a diverse concept and it can mean different things in different products. Developing a high quality S60 device is extremely rewarding, although it has some challenges. This book tries to guide device manufacturers by providing knowledge on why these challenges exist and how the device program can tackle them. Readers will be provided with a comprehensive understanding on what it takes for companies to implement an S60 based device in a manageable and meaningful way.
Key Features:
- Explanation of the competitive advantages of the S60
- Detailed instructions on how to keep the binary compatibility in devices and applications
- Wide discussion of Quality Assurance and the best tools to use for success
- Complete quality assurance test procedures, and best practice
The first book to market on S60 smartphone creation and QA is an indispensable resource for hardware and software designers, engineers, developers and manufacturers, as well as operators and service providers creating Series 60 and smartphone-specific services. Students of mobile phones will also find this a useful text.
- English
English
SAILA LAITINEN, an engineer, grew up and went to school in Oulu from where she moved to the capital area of Finland in 1995. She is married and has two children. She graduated from Oulu University, from where she gained an M.Sc. in computer engineering.
She joined Nokia in 1995 and has worked in a variety of positions and organizations within the company since then. She started in Nokia Networks and worked as a software engineer for three years. This gave her a solid base including an overall understanding of software and development challenges as well as network technologies. During those three years she also worked as a project manager on two software projects. This provided her with first-hand understanding and know-how of how challenging it is to run a project both to budget and to a given schedule.
After Networks Saila joined the Nokia Ventures Organisation to lead testing activities in one venture. Then she gained international experience and worked in Nokia Hungary as an expatriate. In Hungary her responsibility was to manage the overall testing activities of Nokia's very first presence server-product. After Hungary she moved back to Finland and joined the S60 product line, where she led the testing, triage and technical consultancy teams. These teams worked on a daily basis in response to S60 customer products and provided them with platform expertise in different technologies and activities. Lastly Saila joined Forum Nokia where she currently leads the global consultancy function to serve the biggest developer community innovating on top of Nokia platforms.
Working in all these organizations and both in Finland and abroad has given her very clear insight into mobile technologies and cultural differences. Several years experience working with S60 customer programs has given her the first hand knowledge needed to write this book.
In addition to this book she has publications in different testing and quality assurance related conference proceedings.
- English
English
About the Author xiii
Preface xv
Chapter 1: Introduction to S60 1
1.1 The Competitive Advantage of the S60 Platform 3
1.2 S60 Architecture 5
1.2.1 The Symbian Operating System (Symbian OS) 6
1.2.2 Domestic Operating System (DOS) 6
1.2.3 User Interface (UICon) 7
1.3 Summary 7
Chapter 2: Selecting the Baseline 9
2.1 Manny Lehman’s Law 10
2.2 What is so Challenging about Selecting the Best Baseline? 11
2.3 How should the Baseline be Selected? 12
2.3.1 Baseline Maturity 13
2.3.2 Customization Maturity 13
2.3.3 Least Stable Sub-system 14
2.3.4 Program Timing 14
2.4 Summary 14
Chapter 3: Release Management 17
3.1 The Build Cycle 19
3.2 Required Testing Activities 23
3.3 Summary 23
Chapter 4: Binary Compatibility 25
4.1 API Categorization 28
4.2 Maintaining Compatibility 30
4.2.1 Platform Compatibility 30
4.2.2 Platform-based Phone Compatibility 31
4.2.3 Application Compatibility 32
4.2.4 Compatibility Dimensions 32
4.3 Binary Compatibility Scenario 33
4.4 Binary Compatibility Verifi cation 35
4.4.1 The Binary Compatibility Verifi cation Process 35
4.4.2 The Binary Compatibility Verifi cation Suite 36
4.4.2.1 The SDK Analyser 36
4.4.2.2 The Source Analyser 38
4.4.2.3 The Binary Analyser 39
4.4.2.4 The Application Launcher 39
4.4.2.5 Binary Compatibility Applications 40
4.4.2.6 Third-Party Applications 40
4.5 Possible Future Tools 40
4.5.1 DepInfo Tool 41
4.5.2 Header Checker Tool 41
4.5.3 Ordinal Checker 42
4.6 Summary 42
Chapter 5: Certifi cates and Standards 43
5.1 Technology Certifi cates 44
5.1.1 Java/TCK 44
5.1.2 Bluetooth 47
5.1.2.1 BT Certifi cation Areas 47
5.1.3 Other Technology Licences 48
5.1.4 Security Certifi cates 49
5.1.5 Universal Serial Bus 50
5.1.6 Infrared Connectivity 50
5.1.7 Multimedia Cards (MMC) 51
5.2 The Open Mobile Alliance (OMA) 52
5.2.1 Process and Principles 52
5.3 Cellular Standards and Operators 55
5.3.1 Government and Quality Certifi cates 56
5.3.1.1 Mandatory 56
5.3.2 Optional 58
5.4 Summary 61
Chapter 6: What Quality Means 63
6.1 Quality Culture 64
6.2 Quality Standards 66
6.2.1 ISO 9000 66
6.2.2 Six Sigma 67
6.3 Quality in a Product 68
6.3.1 Quality in Manufacturing 69
6.3.2 Quality in Service 70
6.3.3 Getting Better Quality 71
6.4 Quality in the S60 Platform and S60-based Phones 73
6.4.1 Choosing the Process 73
6.4.2 The Waterfall Process 73
6.4.3 The Incremental Process 74
6.4.4 Agile Software Development 75
6.4.5 Concurrent Engineering 76
6.4.6 Other Things to Consider 77
6.5 Summary 78
Chapter 7: Stumbling Blocks 79
7.1 Stumbling Blocks General to All Projects 79
7.2 Stumbling Blocks Specifi c to a Software Program 80
7.2.1 Contradictory, Overwhelming or Too Many Requirements 83
7.2.2 Unstable, Incomplete and Informal Requirements 83
7.2.3 Poor Planning and Project Management 84
7.2.4 Unrealistic Estimates and Unjustifi ed Expectations 84
7.2.5 Lack of Knowledge on New Technologies 84
7.2.6 Lack of Proper Risk Management 85
7.2.7 Lack of Organisational Integrity 86
7.3 Ways to Avoid Stumbling Blocks in a Software Program 87
7.3.1 Overview of COCOMO 87
7.4 Stumbling Blocks Specifi c to a S60-based Phone Program 88
7.4.1 Program-level Risks 89
7.4.1.1 Integration Competence 89
7.4.1.2 Testing Environment 90
7.4.1.3 Amount of Differentiation 90
7.4.1.4 Baseline Selection 91
7.4.1.5 Defect Fixing Order 91
7.4.2 Component-level Risks 91
7.4.2.1 Coding Style and Culture 92
7.4.3 Fixing Speed 94
7.4.3.1 Testing Activities and Extent 94
7.4.3.2 Insuffi ciency of the Specifi cation 96
7.4.3.3 Adaptation Layer Implementation 96
7.5 Provider Components 97
7.6 Summary 97
Chapter 8: Platform Testing versus Platform-based Phone Testing 99
8.1 The S60 Testing Process 100
8.1.1 Platform Test Execution Process 100
8.1.1.1 Module/Component Testing 102
8.1.1.2 Sub-system Integration Testing 102
8.1.1.3 Basic Acceptance Testing (BAT) 102
8.1.1.4 Functional Testing 103
8.1.1.5 System, Localization, Binary Compatibility and Interoperability Testing 103
8.1.1.6 Release Testing 104
8.1.1.7 Regression Testing 104
8.1.1.8 Maintenance Testing 104
8.1.1.9 S60-based Phone Testing 104
8.1.1.10 Planning based on Baseline Maturity Analysis 107
8.1.1.11 Planning based on Fix Analysis 108
8.2 Summary 108
Chapter 9: Testing as a Tool 109
9.1 Testing in Different Processes 111
9.1.1 Testing in an Iterative Process 113
9.1.2 Testing in an Incremental Process 114
9.1.3 Testing in an Agile Process 114
9.1.4 Testing in an Extreme Programming Process 115
9.2 Testing Techniques 115
9.3 Testing Phases 120
9.3.1 Documentation Testing 121
9.3.2 Module Testing 121
9.3.3 Integration Testing in the Small 124
9.3.4 Functional Testing 126
9.3.5 Non-functional Testing 126
9.3.6 Integration Testing in the Large 127
9.3.7 The Real User Experience (TRUE) 128
9.4 What then? 131
9.5 Summary 132
Chapter 10: The Testing Environment 133
10.1 Module Testing 134
10.2 Integration Testing in the Small 135
10.3 Functional Testing 135
10.3.1 Common 136
10.3.2 UI Customization and Personalization 137
10.3.3 Local Connectivity 138
10.3.4 Networking and Data Bearers 138
10.3.5 Telephony 139
10.3.6 Multimedia 140
10.3.7 Personal Information Management (PIM) 141
10.3.8 Messaging 141
10.3.9 Browsing 143
10.4 Performance Testing 144
10.5 Interoperability Testing 145
10.6 Miscellaneous Testing Activities 146
10.6.1 Certifi cation 147
10.6.2 Usability 147
10.7 Summary 148
Chapter 11: Defect Analysis 149
11.1 Focused Testing 152
11.2 Defect Analysis and Reporting 153
11.2.1 Defect Database 154
11.2.2 The Defect Management Process 154
11.2.3 Defect Priority 156
11.2.3.1 Show Stopper 156
11.2.3.2 Critical 158
11.2.3.3 Major 159
11.2.3.4 Minor 159
11.2.4 Defect Reporting 160
11.3 Summary 161
Chapter 12: Integration and Build Environment 163
12.1 Software Confi guration Management 163
12.2 Changing the Code 164
12.2.1 Confi guration Management 166
12.3 Build Environment 167
12.3.1 Delivery Structure 167
12.3.2 Build Process 168
12.3.3 Build Tools 169
12.4 S60 Integration 171
12.4.1 Stage 1 171
12.4.1.1 Step 1: Successful Boot to Textshell 171
12.4.1.2 Step 2: Simple Application and Launch via WSER 172
12.4.1.3 Step 3: Starter Integration and Calculator Launch 172
12.4.1.4 Step 4: Complete the S60 Boot 172
12.4.2 Stage 2 172
12.4.3 Stage 3 173
12.4.4 Stage 4 173
12.4.5 Stage 5 173
12.5 Summary 173
Appendix A: Examples of S60 Devices 175
Appendix B: Glossary 179
Appendix C: References 187
Chapter 4: Binary Compatibility 187
Chapter 5: Certifi cates and Standards 187
Chapter 6: What Quality Means 188
Chapter 7: Stumbling Blocks 189
Chapter 8: Platform Testing versus
Platform-based Phone Testing 189
Chapter 9: Testing as a Tool 189
Chapter 11: Defect Analysis 190
Appendix D: Further Reading 191
Index 193
- English