S60 Smartphone Quality Assurance - A Guide forMobile Engineers and Developers
Buy Rights Online Buy Rights

Rights Contact Login For More Details

  • Wiley

More About This Title S60 Smartphone Quality Assurance - A Guide forMobile Engineers and Developers

English

S60 is the world leading smartphone platform. It has gained this position due to the huge developer base innovating on top of the S60 platform, the Product Creation Community who can provide expertise in different device program phases and tasks and the user-friendly interface that the platform provides. S60 Smartphone Quality Assurance introduces each of these themes.

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

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

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

"…the book is worth reading for engineers who are developing new products, or who are specifically working on software development for the S60." (Computing Reviews.com, September 6, 2007)
loading