Wednesday, October 12, 2011

Mobile Testing-Software Testing future


Mobile Testing - Getting Started:


Basics of Software Testing :-
Event if you are fresher or experienced in the field of software testing (Mobile Testing), Having knowledge of Software Testing basics is  vital.
Before starting career in any field you should have basic knowledge of that field. For starting career as a Mobile Application Quality Assurance Engineer , you should  have understanding of  software testing principles, Software Testing Techniques, Types of Software Testing, Objective of Testing and other basics in Software Testing.
You can refer many websites, One which I personally recommend is http://www.onestoptesting.com/
After having basic knowledge of Software testing lets Start for Mobile Testing

    Step 1 or we can say Precondition in the language of software testing is, you should know  Basics of Telecom
For any field of Software testing one should know basics of respected Domain.
For mobile domain , Telecom basics will be always  an supplementary benefit. Mobile Apps Testing is not just about testing of mobile product or application. You will surely get an advantage if you are aware of other things in this domain which revolves around Mobile products testing. 2G, 3G, CDMA, GPRS, GSM, HSCSD, SIM, SMS, WAP are some basic things of telecom that you should be aware of. 

    Awareness about Mobile OS/Platforms :-
There are many Mobile OS/Platforms present in the market. Android, iOS( iPhone), Blackberry OS(RIM), J2ME, Symbian, Palm, Windows phone, Samsung Bada , Nokia Meego and so on. It is very important to have knowledge about these Mobile OS/Platforms as a Mobile Apps Tester. Awareness about the capabilities and limitations of these platforms give you confidence to differentiate application bug with platform/OS limitations. You may find some more details about Mobile Operating Systems here.

    Get familiar with own Mobile Phone (Basic Need) :-
I am sure many of you must not even be completely aware of which Mobile Handset model you are using, what OS  and which software version your phone is having. If you are a beginner, just start exploring your own cell phone. Just open up and try using internet on your Smartphone. Use Wi-Fi, GPRS. Check out how you can format or perform Factory reset on your device (Be careful).Check what is the IMEI number of your phone. Try to upgrade OS version of your Android device. Experiment with different settings and user permissions on your phone.  In short, be familiar with all the features and functions of your mobile handset and it will surely help you to dig out more scenarios while testing any mobile app or any mobile Handset you are given to test .

    Get aware of Testing in Mobile Domain :-
When we talk about testing in Mobile domain, it is not only confined to Mobile Apps, but also includes mobile handset and mobile website testing.
   Downloadable Mobile Application Testing: – Some applications come pre-installed  in mobile handset while some mobile applications are downloadable from different mobile application stores(Apple App store, Android Market, Getjar, Nokia Ovi Store, Blackberry  App world etc.). Apart from conventional Functional and UI testing, you may need to test your application against the submission criteria and guidelines provided by these Application stores. As said earlier, tester’s role here should not be only functional testing of mobile app, but also to make sure your application adheres to the guidelines provided by these mobile app stores.

    Mobile Handset Testing :-Similar to Organizations that develop third party downloadable mobile applications, there are many companies that develop complete mobile handset. A mobile QA here may need to test native applications or features that are available in the phone. SMS, MMS, Voice Call, MMS, Phonebook, Calculator, Bluetooth and other mobile features. It also includes Multimedia (Camera, Video, Media player, ringtones) and Mobile Protocol stack testing.

    Mobile Website Testing (WAP Sites) :-Unlike downloadable mobile applications, mobile websites can be accessed via browser. No download involved. Testing of Mobile WAP sites has its own challenges. Proper navigation, good user interfaces (design), security, performance and mobile browser compatibility are important areas.

    Types of Mobile Application Testing :-
Similar to general Software Testing, Mobile Software Testing also includes :-
•    User Interface Testing (Color scheme, Menu styles, Consistency of UI over various Devices)
•    Functional Testing (Testing core functionality of Mobile App as per specification)
•    Performance & Stress Testing [Behavior of Mobile Application in Low resources(Memory/Space),    
•    Behavior of mobile website when many mobile user simultaneously access mobile website)]
•    Usability Testing (Testing of usability aspects of Mobile Apps)
Apart from above mentioned testing types, some key testing types may include the following.
    Testing for Compatibility :-Testing the compatibility of your application with native device features (i.e. To make sure your application is not hampering native device functionality)
 
    Certification Compliance Testing :-For downloadable mobile applications, there are various Third party Mobile Quality Certification program for various platforms. True Brew Testing(for BREW Apps), Java Verified program (for J2ME apps), Symbian Signed Test Criteria (for Symbian Apps) are some examples. Apart from regular functional testing, you may need to test your application against the test cases/Testing criteria provided by these certification processes. However, it depends on your client, whether they want to certify their application or not.
    Submission Guidelines Compliance Testing: – The application needs to adhere to the specified submission guidelines  to publish it in any mobile application store. Failure to meet these guidelines may result in rejection of your app on mobile application stores. For example failure to comply with application Submission guidelines for Apple App Store may result in rejection of your app in Apple app store.
    Interruption Testing (Voice Calls, SMS, Charger, Low memory Notification) while application is running.
    Monkey Testing: – Continual key pad entries via tools to test application stability with various key press events.
    Low Network/No Network case Testing: – Application behavior when there is no network coverage or Low network strength.

    Sample Test Cases for Mobile Application :-
For newbie in Mobile Testing, it is always advisable to go through some sample test cases for Mobile Apps. Going through the test cases for any mobile application, gives a complete insight of the kind of testing conducted for Mobile Application. You may ask your seniors to provide you some Test Suites for any mobile project your organization completed earlier. However, you can still go through some general Test Cases for Mobile application here.

    Explore the Capabilities of Simulator :-
Simulators always play big role when there are no mobile devices available for testing. Though Device testing is always preferred as it represents more likely end user scenarios, the importance of simulators cannot be ignored. In order to have effective testing over Simulator, It is recommended to explore all the capabilities of Simulator.

    Remote Device Access Service
Due to a large number of devices available in the market, it is not feasible to buy a new device every time. At the same time Simulators are not completely reliable enough to launch a mobile app based on testing conducted only on simulators. RDA (Remote device services) can be a good solution to deal with these challenges. The remote device access services enable access to a live device over the Internet. As a Mobile Apps Tester, you should be aware of such services and should suggest your managers about the capabilities of such Services.
Some Available RDA Services are:
•    Device Anywhere (Paid)
•    Perfecto Mobile (Paid)
•    Nokia RDA (Free, For Symbian Phones)

Advantages of RDA:
    User can select different Carriers  e.g.  Verizon, T-Mobile, AT & T.
    RDAs are more reliable than simulators as they are real devices.
    Some RDA Service like Device Anywhere also has automation capabilities.

Disadvantages of RDA:
    Since you access devices remotely it takes time for any action or key event.
    Sometimes the needed device is not available due to prior reservations.
    Higher Service Cost

    Tools and Utilities :-
There are many software tools and utilities available in the market which may help you in testing of your Mobile Application effectively. Some of these tools are available in SDKs itself. However you may still dig out the internet for such tools on various platforms.

    Tools to check Battery Consumption while your app is running. E.g. Nokia Energy Profiler.
    Tools/Software to capture screenshot: – There are many tools available for various mobile platforms to capture screenshot from device itself. E.g Screenshot tool for Symbian S60 Devices.
    Tools to Generate dummy files to test behavior of mobile app at Low EFS. e.g. Maxfilecnt utility from QUALCOMM for BREW mobile apps,Fill Device Memory Lite for Android apps.
    Tools to Generate Random key events. e.g. Monkey tool(Android), BREW Grinder(BREW), Hopper Test Tool (Windows Mobile)
    Tools to Capture Logs. E.g. Apphance for Android.

    Explore Automation Tools for Mobile :-
Along with Manual Mobile Testing, be ready to explore your potential in Mobile Automation Testing as well. Mobile Testing is a new field and many automation tools are coming in to market gradually. If you get any opportunity to work on any mobile automation tool, it is well and good. But if you don’t get such opportunity, it is better to explore on your own. Don’t wait for the time when you will get an opportunity to work on Mobile Automation Tool. Believe me, sooner or later you will definitely face a question from your Interviewer- “Have you worked on any Mobile automation tool ? ”
Here are some automation tools available for Mobile Apps Testing :-
•    TestComplete
•    M-Eux
•    TestQuest Countdown
•    Test Quest Pro
•    Robotium
•    VNC
•    Sikuli
•    Deviceanywhere
•    FoneMonkey (iPhone)
•    Eggplant (iPhone)
•    TestiPhone( For iPhone Mobile Web)
•    IBM® Rational® Performance Tester (RPT)
•    3P Mobile
•    Expertest
•    MITE (A Mobile content testing and validation tool for Mobile Web app)

Saturday, February 5, 2011

12 Best Cross Browser Testing Tools for Browser Compatibility Testing


Cross Browser Testing is sometime the biggest pain for Software QA engineers. But thanks to all cross browser testing tools which help to minimize testing efforts.
Post mainly for Software QA engineers and designers but software developers can also refer crossbrowser testing methods and tools mentioned in this post.
Here’s a handy cross browser testing checklist you can refer while testing any web project on different browsers and operating systems:
1) CSS validation
2) HTML or XHTML validation
3) Page validations with and without JavaScript enabled
4) Ajax and JQeury functionality
5) Font size validation
6) Page layout in different resolutions
7) All images and alignment
8 ) Header and footer sections
9) Page content alignment to center, LHS or RHS
10) Page styles
11) Date formats
12) Special characters with HTML character encoding
13) Page zoom-in and zoom-out functionality
And obviously you will have to repeat these tests on:
14) Different Operating Systems like Windows, Linux and Mac
15) Different browsers (with different versions) like Internet explorer, Firefox, Google Chrome, Safari and Opera.
There are many free and paid cross browser testing tools available in the market. One need to select the browser compatibility tool depending on the needs and requirements. If cross browser testing is critical part of your web project then you must allocate considerable time, resources and budget testing your website on different web browsers. Paid cross browser testing tools can be also a good option for projects having browser dependent functionality. But for most of the projects, free cross browser testing tools are sufficient to verify cross browser functionality

Check out below list of all cross browser testing tools available online for website testing  with multiple browsers:

Some Free Cross Browser Testing Tools:



1) Spoon Browser Sandbox:


The Spoon Browser Sandbox allows you to use almost all web browsers without installing on your machine. You can run all popular browsers including Internet Explorer, Firefox, Chrome, and Opera on your machine directly from the web. (Note: Currently Internet Explorer is removed temporary from the list of this sandbox)
Spoon Browser Sandbox is a free service currently supporting following browsers:
Mozilla Firefox versions:
Firefox 2, Firefox 3, Firefox 3.5, Firefox 3.6, Firefox 4 beta
Internet Explorer versions:
IE6, IE7, IE8
Google Chrome versions:
Chrome, Chrome 5 and Chrome 6 beta
Opera versions:
Opera 9 and Opera 10


2) Browsershots


Browsershots allow you to test website in any browser and operating system. This is widely used cross browser testing tool because of its features and available customizations.
You can run cross browser compatibility tests with great customization options like browser type, operating system, screen size, color depth, JavaScript status and Flash enable/disable settings. Just put your website url, select compatibility test parameters and submit the test request.
You need to repeat the steps for every test. This free browser compatibility test service can be used for taking website screen-shots almost in 61 browsers and various operating systems.
Main drawback of this service is the time taken to display the result when you select many browsers and many times it shows timeout error.
Supported browsers:
IE, Firefox, Google Chrome, Opera, Safari, Minefield, Netscape and many more browsers with all versions.


3) IE NetRenderer


This is a free online browser compatibility check tool to test website on almost all versions of Microsoft Internet Explorer. Just select the Internet Explorer version from drop down list and put your url to start rendering website. You can instantly verify the screen-shot of the page under test.
There is also a “IE NetRenderer” Firefox add-on available that allows you to render the web page that you are currently reading.


4) IE Tab


A Firefox and Chrome add on to simulate IE browse with a single click of a button. This is a best tool for software testers and developers, since you can easily view how your web page displayed in Internet Explorer with just one click using Firefox or Chrome browsers. Unfortunately this add-on is not available for Firefox 6.0 and above versions. But again a good tool to quickly start your testing on Internet explorer when you have either Firefox or Google Chrome browsers.


5) IE Tester


There are many options available online if you want to check browser compatibility on Internet Explorer versions. IE tester is one of those options that allows you to test your website on multiple Internet Explorer versions at the same time using one application.
IETester, a free cross browser testing tool can be used to test website on IE 5.5, IE6, IE7, IE8 and IE9 preview browsers on Windows 7, Vista and XP operating systems.


6) Microsoft SuperPreview


Microsoft Expression Web SuperPreview free cross browser testing software allows you to test and debug layout issues across different IE browsers and platforms. You can check websites in different browsers simultaneously. Also check how a page renders in a browser and compare it with other standard screen-shots you have.
Expression Web SuperPreview for Internet Explorer shows your web pages rendered in Internet Explorer 6 and either Internet Explorer 7 or Internet Explorer 8, depending on which version you have installed on your machine.
Currently beta version of SuperPreview for Internet Explorer is available for free for download.
If you can’t rely on these free online cross browser testing tools then using Virtual Desktop is the best solution for you. Using Virtual machine you can simulate live environment for multiple browsers and different operating systems. You can use virtual machine software or can setup a virtual machine in your office network with different operating system images and browsers which can be accessed remotely for browser compatibility testing.

Paid Cross Browser Testing Tools:




7) Browsera
This is an automated browser compatibility testing tool used to test website and its elements in multiple browsers. You can use this service to test website and all web pages for layout and scripting errors.
You can preview web pages across multiple versions of Internet Explorer (Windows), Firefox (Windows and Mac OS X), Safari (Mac OS X), and Chrome (Windows). You can quickly view full screen-shots with multiple view options and customizable test settings. You can also test web page content by zooming particular sections and comparing those with different browser screen-shots for alignment and other layout issues.
BrowserCam is a paid online service that allows you to view your web pages across different platforms and browsers, either by automatically taking the screen-shot or manually navigating web pages in different browsers. Free trial is available for 200 screen captures in a day.
BrowserSeal cross browser testing tool allows you to capture an image of your website under different browsers with a single click of a mouse. You can navigate images to spot layout and UI issues. Browserseal tool support almost all major versions of Internet Explorer, Firefox, Google Chrome, Opera and Safari.
Free Trial version of Browserseal is also available, limited to two browsers (Firefox and Internet Explorer) and one screen-shot per session.
Test your website live on different operating systems and browsers. You just need to login to Cross Browser Testing platform, select operating system, browser and start testing your website for Ajax, JavaScript and flash functionality. You can also check your website design using automated screen-shot tool to view website’s design across every browser. Free trial of this cross browser testing software is available for one week.
Cloud Testing tool allows you to check website look and feel and the functionality on Internet Explorer, Firefox, Safari. Opera and Google Chrome browsers on real operating systems in the cloud.

Testing Checklist:


Testing Checklist: 

1 Prepare System and Acceptance Tests
Start Acceptance test Creation
3 Identify test team
Prepare Workplan
5 Prepare test Approach
6 Link Acceptance Criteria and Requirements to form the basis of
acceptance test
Use subset of system test cases to form requirements portion of
acceptance test
8 Prepare scripts for use by the customer to demonstrate that the system meets
requirements
9 Prepare test schedule. Include people and all other resources.
10 Conduct Acceptance Test
11 Start System Test Creation
12 Identify test team members
13 Prepare Workplan
14 Determine resource requirements
15 Identify productivity tools for testing
16 Determine data requirements
17 Reach agreement with data center
18 Prepare test Approach
19 Identify any facilities that are needed
20 Obtain and review existing test material
21 Prepare inventory of test items
22 Identify Design states, conditions, processes, and procedures
23 Determine the need for Code based (white box) testing. Identify conditions.
24 Identify all functional requirements
25 End inventory creation
26 Start test case creation
27 Prepare test cases based on inventory of test items
28 Identify logical groups of business function for new sysyem
29 Divide test cases into functional groups traced to test item inventory  1.30 Design data sets to correspond to test cases
31 End test case creation
32 Review business functions, test cases, and data sets with users
33 Get signoff on test design from Project leader and QA
34 End Test Design
35 Begin test Preparation
36 Obtain test support resources
37 Outline expected results for each test case
38 Obtain test data. Validate and trace to test cases
39 Prepare detailed test scripts for each test case
40 Prepare & document environmental set up procedures. Include back up and
recovery plans
41 End Test Preparation phase
42 Conduct System Test
43 Execute test scripts
44 Compare actual result to expected
45 Document discrepancies and Prepare problem report
46 Prepare maintenance phase input
47 Re-execute test group after problem repairs
48 Prepare final test report, include known bugs list
49 Obtain formal signoff

Friday, February 4, 2011

Mobile Application Testing


Phantom Data Usage Issue on Windows Phone 7

Just few days back in my post “Test your mobile application for unnecessary excessive data calls” we had discussed that developer should make sure that application is not making any unnecessary data call where it is not required.
The similar case is found to happen with Microsoft’s few handsets based on its new windows phone 7 Operating System.Issues have been reported that some handsets running on windows phone 7 OS are sending and receiving “Phantom data”.Some Users are complaining that there device is eating so much data requests which is affecting there data plans badly.As per one user the phone sends almost 30-50 MB of data each day.Interestingly excessive data is used by phone even if the phone is kept idle.
Probable Reasons for this issue:
Is it the problem due to the phones sending “feedback” to Microsoft about the software’s performance OR the phones are using a 3G connection even when wi-fi is available ? Well the root cause is yet to be identified.
Microsoft’s Stand on this:
Microsoft is looking in to this issues and may be will come up with some solution for this in there next Windows Phone 7 update.As per Microsoft it is investigating why some Windows Phone 7 based mobile handsets are sending and receiving “phantom data”.The issues however mostly raised by At & T users.
So the bottom line behind this is as I said earlier, test your mobile handset or mobile application not only on the basis of its functional compliance but also keeping in mind some other major factors which may impact your business.

Full Fledge 3G Era:
Though 3G Service in India started in 2010,the service will gain momentum in 2011 as all the service provide will come in action this year.3G(third generation of cellular telecommunications technology) will change the whole scenario for Mobile cell phone users. May be you will be able to see this year’s  Cricket world cup directly on your Mobile phone. The doors will open up for all the mobile applications where mobile internet speed was greatest concern. Live streaming of movies and music, Live mobile tv, video conferencing would no longer be a dream now.
Mobile Number Portability:
Mobile Number Portability is going to be one of the hottest gift to cell phone users in India.With Mobile Number Portability, cell phone users will retain their mobile number even if they change their Service Provider. For example if you are switching your service provider from Idea to Airtel,you can still retain your older number with the help of this service. Users will have to pay Indian Rupee 19 to avail this service. Mobile Number Portability will make the market very competitive as now users will have no restriction to change their mobile numbers if the service provider does not come up with proper and affordable plan.
Windows Phone 7:
It seems Microsoft will put all their energy to make windows phone 7 successful. So far the beginning of the windows 7 seems not that good but yup Microsoft will try everything. For micorosft this is now or never. If you look simply at sales, Windows Phone 7 hasn’t had an explosive launch. Not many people seem to have a Windows Phone 7 device yet, and a widely circulated rumor from industry experts says that Microsoft only sold 40,000 handsets at launch in November 2010. For now Windows phone 7 will be for touch screen phones only.
Nokia Meego:
Though there are new Handset Manufacturing companies established their presence in Indian Handset Market, Nokia is still the Boss. Hence it becomes very important to see where Nokia is heading on. Nokia is working with intel for its new Linux based Operating System Meego. It will be great to see how would be the response to Nokia’s this linux based Operating System in year 2011.Nokia’s Meego Operating system will be used in Netbooks, Handsets, Tablets and so on.
Tablet PC’S to rock this year:
Apple ipad sales crossed 7 million last year(2010).After Apple ipad and Samsung Galaxy Tab, the Tablet PC  Market is supposed to find new dimensions in this year. Blackberry Playbook, Sprint 4G Tablet, Android Based Motorola and HTC Tablets, Hewlett-Packard WebOS Tablet, Apple ipad2, Lenovo IdeaPad U1 Tablet-Netbook Hybrid, Windows Tablets and Atom-Based Tablets will be ready to launch in year 2011. So if you are a Tablet lover, just wait and watch as a lot to come in tablet market this year.
Tablet PC’S in India @ RS 1500/- Only:
With Tablet PC’S going to rock this year, another announcement done last year by government of India will take on effect this year. Govt .has announced to bring a tablet pc just worth Rs 1500 for students whose cost would later be reduced to Indian Rs 500.Users will be able to browse internet, watch movies can read and edit documents on this. This would be world’s cheapest Tablet PC. This would be 2011’smost exiting event.
Reasons Why Mobile Apps Need Testing
For any mobile app developer hoping to produce a top quality mobile application, app testing is an essential part of the app development process. Here are several reasons for getting your application tested by a mobile app testing professional before its consumer release:
Check the Basic User Experience
After designing and developing a mobile app you will need it to be tested by a group of eager mobile users. This simply requires the application to be test run in it’s simplest form – fully using the app for it’s intended purpose. Users at this testing stage should be asked to give feedback on the complete user experience and record any glitches they discover. Screenshots can be extremely useful at this point, and if the app in question is iPhone based there is no excuse for making the most of the screen capture function.
Test Navigation
Whilst basic user testing may bring awareness to navigation problems, computer based app testing is the most accurate way of checking full app navigation. This process will check all menu functions are correctly working and that both internal and external links are accurate.
Test System and Negative Usage
By performing app tests, a developer can accurately determine how your application will function in various conditions. Testing the apps reactions to system changes such as low memory or low battery as well as putting the application up against negative challenges such as malicious attacks.
Check for Hidden Defects
If all is well with the general user experience of your app, there could still be hidden issues that could cause sporadic performance or later problems. These defects are found through both software and hardware tests and are only completely detectable through professional services.
Check Connectivity
Many iPhone apps rely on internet connectivity in some form or another after original download (even if just for updates). Monitoring how a mobile app functions in conditions of low internet connectivity or mobile signal is a very important stage in mobile app testing and will ensure that any problems formed during app development can be corrected before release.
Test Audio Functionality
Another area which needs to be tested is the apps ability to interact with various audio settings on different handsets. App details including audio and vibrate feedback (when a sound or buzz plays on a touch) also need to be thoroughly checked to eliminate any future glitches.