200 likes | 331 Views
Software Quality Standards in Mobile Development. By Michael o’neil georges. overview. What makes mobile different? Development strategy Constraints User experience / usability Portability Testing Performability Conclusion Questions/Comments. w hat makes mobile different?.
E N D
Software Quality Standards in Mobile Development By Michael o’neilgeorges
overview • What makes mobile different? • Development strategy • Constraints • User experience / usability • Portability • Testing • Performability • Conclusion • Questions/Comments
what makes mobile different? • Potential integration with other applications • Sensor handling • Native and hybrid applications • Families of hardware and software platforms • Security • User interfaces • Complexity of testing • Power consumption
development strategy Consider several quality drivers: • Mobile environment itself • Expectations of the end user • Restrictions set by application markets
development strategy Metric-based Approach to Measure the Quality of Mobile Software Applications
constraints • Wireless communication problems • Mobility Issues • Diversity of standards and operating platforms • Limited capabilities of terminal devices • Security
special attention • User experience / usability • Portability • Testing • Performability (performance/reliability)
user experience / usability • Smaller displays • Different style of user interaction • Interface paradigm • Various device features • UI standard libraries and guidelines • User interface
portability The ability for an application to work in multiple environments, i.ecross platform • Single platform only • Native applications for each platform • Mobile web applications • One or more layers of abstraction
testing Click to add text Approach to Performance Unit Testing
testing Performance Steps to Carry Out Performance Unit Test
performability The modeling and analysis of performance and dependability / reliability, together known as peformability. • Software mobility can be exploited to improve the quality of an application
performability - mobility • Physical mobility • Moving of computation platforms / hardware • Laptops • Cellphones • Tablets • Logical mobility • The process of moving program functionality from one processing environment (host) to another • Information transferred • Code - binary code, compiled code, interpreted code • Application data
performability – mobility-physical • Needs to continue data transmition • Possible bandwidth degradation affecting system performance • Host disconnections (typically wireless)
performability– mobility-logical Logical mobility when adopted: • Improves quality attributes of software systems • Greater customizability, extensibility, flexibility, interoperability • Positively affect quantitative attribute (dependability/performance) • Allows circumventing - reduces communication through unreliable links • Update code base • Infrequently used functionality removed
conclusion • Certain software engineering techniques need special attention when applied to mobile applications • Software mobility can be exploited to improve software quality • Using a mobile device is different from working with a dexktop or laptop computer
references • Kim, Heejin, Choi, Byoungju, Yoon, Seokjin. “Performance Testing Based on Test-Driven Development for Mobile Applications.” ICUIMC '09: Proceedings of the 3rd International Conference on Ubiquitous Information Management and Communication. February 2009.612-617. • Wasserman, Anthony I. “Software Engineering Issues for Mobile Application Development.” FoSER ’10: Proceedings of the FSE/SDP workshop on Future of software engineering research. November 2010. 397-400. • Luis Corral. “Using Software Quality Standards to Assure the Quality of the Mobile Software Product.” SPLASH '12: Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity. October 2012.37-40.