You Are Here:

Community: Blogs

Jacek Wojciechowski's Forum Nokia Blog

S60 and creating applications with quality in mind (part 2)

jack44 | 29 June, 2007 14:24

Last time I wrote about EDFU, but this time I'll focus on some testing techniques. Probably many of us use them, but it may be interesting to recap.

We can use:

  • data-driven testing - to find defects in which certain data is incorrectly processed (e.g. using values above a higher boundary or below a lower boundary can be very effective in finding defects)
  • logic-driven - to identify all incorrect handling of the logic (e.g. testing certain combinations of inputs to every logical expression)
  • event-driven - to discover incorrect handling of events (the time sequence and arrival time of different inputs may introduce failures, especially in 'mobile world')
  • state-driven - to find all incorrect state transitions (all critical states and critical transitions need to be tested)
  • dataflow-driven - to focus on problems in component interfaces (data element receives a value in one place and uses it in another - sometimes the value is misinterpreted)

One can also add Message Sequence Charts to understand client-server architecture better, code review (probably one of the most efficient defect finding techniques, but it's very slow and should be used only on the most risky components), extreme programming (includes testing).

Some other facts related to development and quality assurance process you can find in a new set of S60 guidelines: http://www.forum.nokia.com/document/S60_Platform_Development_and_QA_Process_Guideline/
 

I'd like to know your opinions and experiences in using testing frameworks to speed up testing like JUnit for java (or checking your code with SymScan for C++)... Do you consider the Symbian Signed and Java Verified requirements when designing test cases?

S60 and creating applications with quality in mind

jack44 | 20 June, 2007 21:24

I've just finished reading "S60 Smartphone Quality Assurance" book, written by Saila Laitinen. This led me to some thoughts about  quality of final products. One part of the process of creating the product is testing. 


Probably many of you are familiar with words like 'constructive / destructive testing' or 'white-box / black-box testing'. But it may be challenging task to decide which part of the code to inspect the most. One way is to use Estimated Degree of Functional Usage (EDFU). As Saila wrote in her book "EDFU is a numeric value that provides a simple estimate of how often the end-user uses a certain piece of functionality. To determine this one needs to understand consumers' behaviour very well. If the value is one, it is estimated that the end user uses this particular piece of functionality every time he or she uses the product. If the value is close to zero (e.g. 0,01), it is very unlikely that na average user ever uses such functionality." A good question to ask is how to define an average user. Normally, we target our applications to certain customer groups. When we find people that match our profile we can ask them to use our prototype application and watch how this potential customer group uses it. "The higher the EDFU, the more important it is for that part or function to work properly. However, even such features that have a value 1 for EDFU are not automatically equally important from testing viewport. Those features whose implementation results in architecturally complex solutions should receive the most testing attention." Of course, this idea can be used in the process of developing not only mobile applications.


What do you think about EDFU? Would it be useful in your cases?

Japanese vs European smartphone features

jack44 | 13 June, 2007 22:52

Lately, Symbian has published a list of top 20 Japanese smartphone features (http://www.symbian.com/j20/).

Here is the list:

  1. mobile wallet
  2. MANGA on mobile
  3. mobile check-in at airports
  4. mobile keys for door
  5. mobile employee badges
  6. mobile cinema tickets
  7. mobile transport passes
  8. fingerprint authentication
  9. face recognition/authentication
  10. mobile discount/promotion coupons
  11. scented phones
  12. mobile fashion consultant
  13. mobile live TV
  14. wii-like mobile phones (motion-sensor)
  15. physical bookmarks for mobiles (shops)
  16. privacy screens
  17. 1D and 2D codes for marketing and even on fruit and veg labels
  18. mobile GPS navigation for pedestrians
  19. electric wave posters (uses RFiD)
  20. waterproof phones

As you can see the list is very impressive. I'm beginning to wonder why we don't have some of such advanced services in Europe (OK, I don't mean specific one like MANGA). Some of them are starting to appear, but this process is very slow! Where is the problem? Maybe Europeans aren't 'early adopters' or they are afraid that they will become dependent on smartphone too much or maybe there're some problems with standardization. IMHO, technology isn't the main problem, but rather 'the way of everyday life' and how we currrently use our devices. Personally, I'd have some concerns about using my smartphone as door's keys (although it sounds promising), but I'm more open to use it as mobile wallet (the latter is even natural for me). My conclusion is simple - there's no other way that taking small steps to achieve these targets ;-)

 
 

Rate This

 
 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZrelationQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fschemasE2fnokiaE2fFNE2d1E2e58E2eowlX qdcZtitleQSxForumE20NokiaE20BlogsE20WebE20SiteXLen qdcZtitleQSxForumE20NokiaE20BlogsE20WebE20SiteXLen qdcZtypeQUqfnZE44istributionQ qdcZtypeQUqfnZSiteQ qdcZtypeQUqvocZTermQ qdcZtypeQUqvocZVocabularyConstructQ qdcZtypeQUqwebZSiteQ qdcZtypeQUqrdfsZE52esourceQ qswZserviceQUxhttpE3aE2fE2fswE2enokiaE2ecomE2furiE71aX quriE71aZserviceQUxhttpE3aE2fE2fswE2enokiaE2ecomE2furiE71aX qvocZpartOfQUqfnZPublicationQ qwebZserviceQUxhttpE3aE2fE2fswE2enokiaE2ecomE2furiE71aX qrdfZtypeQUqfnZE44istributionQ qrdfZtypeQUqfnZSiteQ qrdfZtypeQUqvocZTermQ qrdfZtypeQUqvocZVocabularyConstructQ qrdfZtypeQUqwebZSiteQ qrdfZtypeQUqrdfsZE52esourceQ qrdfsZisE44efinedByQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fschemasE2fnokiaE2fFNE2d1E2e58E2eowlX qrdfsZlabelQSxForumE20NokiaE20BlogsE20WebE20SiteXLen qrdfsZlabelQSxForumE20NokiaE20BlogsE20WebE20SiteXLen qrdfsZseeAlsoQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fschemasE2fnokiaE2fFNE2d1E2e58E2eowlX