getting started with mobile ( android & iphone) app testing !
Click here to load reader
Post on 10-May-2015
Embed Size (px)
DESCRIPTIONMobilepundits: Mobile application (Android & iPhone) testing is an important phase for mobile app development process. Testing is as important as development not only for websites, software but also for mobile applications. Today many mobile makers and mobile OS are available in the market. Android and IOS are very popular among the public and covering around 90 % of the Smartphone market. Mobile app development is on boom and that is why millions of the developers are developing apps for different platforms. It is very important to test an app before its launching to ensure it performance and reputation in the market. A well tested Android app can perform a great role to fetch nice revenue from the market. Here in this article we have covered all the related and possible aspects of software, web and mobile app testing. We have answered all the questions related to testing process.
- 1.The Best of Mobile Application Testing
2. Introduction Challenges faced in Mobile App Testing Mobile App Testing Strategy Mobile Testing Challenges for Native Applications Mobile Testing Challenges for Web Applications Devices are the Biggest Challenge for Mobile Testing Right Activities at a Glance Types of Testing for a Mobile App Conclusion About Us 2 3. Introduction 2010 has been a great year for mobile world. There were many new handset manufacturers and mobile app developers in the market. Many of them have done exceptionally well and changed the definition of Smartphones completely. More and more handheld users are increasing for accessing business applications. There are expectations for better performance with time from the devices. Performance is no longer an option, it has become mandatory for businesses in order to ensure the performance of an app on all the major mobile platforms. Along with the development, testing of mobile applications is quite challenging. Mobile app testing is way more challenging than that of apps of standalone or web applications. iOS and Android have been the most successful operating systems so far. It is quite challenging to test and verify each and every application before releasing it for public use. In todays business environment, testing seems to be a cost-effective solution to avoid any compromise on quality. 3 4. Challenges Faced in Mobile App Testing Variation in Device Industry Standards Requirement for Skilled QA Experts in Automation Testing Cloud Computing 4 5. Variation In Device Mobile app testing becomes difficult because of many operating systems and myriad devices. Compatibility is a major issue here because a mobile application can be deployed across multiple devices. They differ in: 5 Mobile operating systems like iOS, Android, BlackBerry, Windo ws, Symbian, etc. Different versions of these operating systems such as iOS 4.x, 5.x, BB 4.x, 5.x, 6.x, Android 2.0, 2.x, 3.x, 4.x, Windows 7, Windows 8. 6. Mobile manufacturers like Apple, Samsung, HTC, Nokia, BlackBerry, Sony, etc. The type of keypad : QWERTY, Touchpad, Virtual Keypad or Hard Keypad. Moreover, the Quality Assurance team does not guarantee if the device will work successful or not on any given device. If it works 100% on one particular device, it is not necessary that will work efficiently on another device also even if that device belongs to the same product family because difference comes in the screen size, screen resolution, CPU, Processor, Memory, OS Optimization, and hardware. 6 7. Industry Standards Testing of mobile application must be performed according to certain industry standards so that the applications can be accepted globally by people using different mobile operating systems. This will help in making the application popular. 7 8. Requirement for Skilled QA Experts in Automation Testing Every Quality team needs skilled quality assurance specialist not only to evaluate the automation tools that are present in the market for application testing but also to quickly recognize any bugs in the user interface as UI is very critical in the mobile world. A well- examined and fully functional mobile application can be easily be rejected by end users because of bad interface even though if it is working perfectly. 8 9. 9 10. Cloud Computing This technology offers a seamless web- based environment for mobile on simulators where the QA team can deploy, automate and test any mobile application. This approach of cloud computing has really helped in reducing the overall cost of a project under development. 10 11. Listed below are some of the most common problems that are faced by the testers in an environment of cloud computing: 11 High-cost A Subscription Model Lock-in The Automation is time-consuming and image based Automation cannot be done outside the framework 12. Mobile Application Testing Strategy Device Emulator Mobile cloud Computing Services Real Times Devices with Real Networks Avoid Manual Work with Automation Tools 12 13. Think Research Strategy Plan Create Design Development Testing Release Rate Marketing Online Promotion Reputation Perform Measure Usage User Interaction Improvements Evolution 13 Plan Your Strategy! 14. Device Emulator Quality Assurance experts can execute almost all of the testing in a modern well-equipped testing environment with the help of available device emulators with various options to choose from, such as the capability to bypass the network, working on live environment with the help of modems and usage of an effective scripting language. This solution is highly cost-effective. 14 15. 15 Mobile cloud Computing Services 16. Mobile cloud Computing Services The testing experts can efficiently make use of the environment of mobile cloud computing for deploying and testing the application. Using this technique, we can keep both the task and the data on the internet instead of keeping it on an individual device. This is what brings on-demand access in vogue. Lowering down the complexity of project implementation, organizations take the advantage of services of cloud computing so as to reduce the development and testing cost and boost the return on investment of a mobile software application solution. 16 17. 17 18. There are several advantages of using Cloud Computing Services: Globalize your workforce at very low costs Get more work done(more outputs) with less people in less amount of time No need to spend extra bucks on hardware, software or any licensing fees Keep an eye on the projects more effectively and efficiently Since you require less task force for completing your work, you will have to spend less on giving personal training to people Change of direction without any serious financial or people at stake 18 19. Growth without any pressure of buying new licensed versions of the software Increase in volume output or productivity with lesser people. In short, achievement of economies of scale Recording of device logs to help troubleshoot any issue Web-based user friendly interface Testing of incoming calls and text messages without the need of any extra mobile plan Testing can be performed on more number of devices simultaneously 19 20. Real Times Devices with Real Networks It is quite natural that testing can be done against real networks. Real devices can be used at real locations for performing testing. This is something that the QA team just cannot avoid. Testing of real devices on real networks should always be an option whenever needed. This thing came into picture because every application will be used at different locations by end users who might use it from a remote area with inconsistent network signal strength. 20 21. Remote real devices are capable of recording a test for successive replay, which is quite helpful in regression testing. This has reduced the travelling cost for testing for foreign networks but demands additional hardware. As the number of devices and mobile applications are increasing with time, it has become tougher to purchase each and everything for testing. 21 22. 22 23. Many organizations have put a foot forward and provide paid services to other companies. You can now actually rent testing time on a resource shared by others and managed by you. Just open an account and purchase some testing time with a given device when and wherever you need it. 23 24. Avoid Manual Work with Automation Tools Automate whenever and wherever possible! Remote and Emulators, real time devices and solutions which support playback functionality and scripts help in saving and allow execution of more test cases with higher degree of consistency. 24 25. 25 26. Any testing team must automate the task of mobile software applications so as to avoid any manual task. This will not only save cost but time as well. There are many tools available in the market for performing automation tools. 26 27. Mobile Testing Challenges for Native Applications For many, mobile application means a native or a hybrid application. These are some commonly downloaded software applications from the respective app stores. The unique experience that they offer to the users improves the capabilities of the operating system and device for which they are developed. The downloaded is often monitored by the store, with mechanisms in place to charge consumers. 27 28. This simple mechanism has made native apps quite a hit in the recent times. Apart from usage by normal consumers, they also enable businesses to deliver high productivity to increasing workforce. 28 Though native applications offer rich user experience to the users and plausible money spinning for the developers. Some complexity is added to the lives of those who test it. Testing is meant to make sure that the application can be successfully downloaded and executed on the device. 29. This is a common perplexity that if an application has been tested in one device and network, it will work seamlessly on others as well. But this isnt true at all. This is what forces developers and testers to examine the software application on different environments and device models across all the operating systems. For successfully completing the task, analysis of hardware is a must because native apps rely completely on the hardware and OS. To meet the challenges of the testing procedure, backward compatibility with each older device you are expected to support must also be checked. 29 30. Mobile Testing Challenges for Web Applications Like any other website on internet, a mobile web app is also viewed by people around the world. Even when you are targeting people from one particular landscape or a network, it will help you understand dynamics of the world. 30 31. Devices are the Biggest Challenge for Mobile Testing The much obvious milestone to be crossed in the field of mobile testing! There must be millions of devices around the world on which your application will run and you cannot afford to fail to perform on any of them. Almost all of them must be covered when examining your mobile application. If you reduce the number of devices, there is a chance that the particular software program might not run on that device, locking out a number of potential customers. 31 32. For handling this challenge of mobile testing, there are things you must take care off: Exclusive examination using real devices, test exclusively with emulated devices or a combination of both of them. It is not like that you are limited to one choice, but it totally depends on the application for which you are writing the code. 32 33. Right Activities At A Glance Testing Requirement Analysis Guidelines Desirables Ten Step Methodology Field Testing Regression Testing 33 Initialization & Benchmarking Network & connectivity Testing Application & Multimedia Value Added Services Field Testing 34. Types of Testing for a Mobile Application Usability Testing Compatibility Testing Interface Testing Services Testing Low Level Resource Testing Performance Testing Operational Testing Security Testing 34 35. Usability Testing This is the type of testing that includes visibility of text in the selected language, screen navigation, verification of online and offline functionality, feedback from interaction with the system, which means that the download app should be prompt with messages. 35 36. Compatibility Testing Compatibility testing means validation of mobile application for myriad devices keeping in mind all the major operating systems, screen size and resolution as per the demand of users, proofreading if the integration server changes, editing of the mobile app isolation with other software apps on the device. 36 37. Interface Testing Following are the things that integration testing covers: Screens Resolution Buttons Text Inputs Navigation flow like Facebook, Twitter, Reviews, Bookmarks, etc. 37 38. Service Testing Validation of mobile software application not to behave as a server is included in this type of testing. It even covers checking of a service which can be used offline or takes too long or when a service goes down and responds back with malformed responses. 38 39. Low Level Resource Testing Overuse of memory and not releasing is something that comes under low level resource testing. It also checks if temporary files of the applications are not cleaned, local database is growing too large. Low level testing will also see the garbage generated by the mobile app. 39 40. Performance Testing Performance testing is something where you will need to verify the server connection of WIFI from 2G/3G or vice versa, size of the shared images used by the software code is in accordance with the desired response time, optimization of code with the CPU cycle, consumption of battery, memory leaks, certain resources like camera, GPS, etc., freed. 40 41. Operational Testing This type of testing checks for the back-up of all the important information in the application, save and recovery plan if the battery goes down, if the data of mobile app is lost in the case of up-gradation from respective app store, accessibility of the app when user gets an alarm, message, call, reminder, etc. and power usage while accessing the application. 41 42. Security Testing 42 43. Security Testing Security testing will include the encryption and decryption techniques used for communication of sensitive data, checking of multi-user support without any interference of the data between them, and checking of accessibility to files that are saved in the app by any unintended users and detect areas where tested application does not receive any nasty content. 43 44. Conclusion 44 A substantial challenge and risk involved in the testing of a mobile application can impact a lot on the production of mobile apps. Such risks and challenges involved in adopting myriad testing procedures have been outlined above. The many tools available present in the market for testing of software mobile applications will not only help in testing but also offer a platform which enables measurement of security and compatibility compliance. This is what helps in application certification where required. The advantage of testing these apps before the deployment in a live environment cannot be stressed out. An app with bugs and errors will not only hurt the productivity but reputation as well. 45. About Us 45 MobilePundits is an ISO 9001:2008 certified by Bureau Veritas & UKAS, assuring our clients with the highest level of satisfaction. We assure minimum mobile application defects with our mobile app testing services. For more than 8 years we have successfully offered comprehensive outsourcing of mobile testing/Wireless Testing/Mobile Application Testing Services. Highest degree of software quality assurance for iPhone/iPad, BlackBerry and Android App Testing is our forte. 46. About Us 46