Skip to main content

COP FLUNG GUN: A Mnemonic for Mobile Testing

After seeing some great infographics about software testing, here we are exploring a model about mobile testing. COP FLUNG GUN. A mnemonic to remind mobile testers of what to think about when testing mobile apps. This excellent model from Moolya Testing is inspired from James Bach’s SFDPOT (San Francisco Depot) and Jonathan Kohl’s I SLICED UP FUN!.
As mobile apps does not come with help file, it should be intuitive enough for users to have minimal learning curve. Also there are other factors such as network availability, data consumption, location, gestures etc which plays important role in likability of mobile app. This model helps in testing of these important aspects.
Communication:
It’s a primary function of a mobile device. This model suggests to check how your app behaves when faced with interruptions such as call, SMS, voice messages etc.
Orientation:
Check your app behavior during orientation changes. Test how the app functions on orientation change when filling up a form, with keyboard on, while scrolling etc. Also look for ergonomic and usability tests.
Platform:
A tester needs to be well-versed with the platform he is testing on. Key here is to use that platform’s standard apps. Testers can test things like how the app behaves in rooted/unrooted/jailbroken phones, in various screen sizes and OS versions etc.
Function:
Check that the app does what it is suppose to do in terms of requirement. Along the way, test scenarios like data entry in forms, change in settings, app interactions.
Location:
This aspect suggests never to test mobile app sitting in one place. Check the Geo location tracking and its settings, whether it follows tracking guidelines, app behavior when moved out of data connection etc.
User scenarios:
It’s about thinking real scenarios of how a mobile device and the application would be used by people. Think from an end users perspective and check how power users and novice users would use the app.
Network:
Mobile applications depend heavily on network. A tester needs to check how the app behaves when moving between Wi-Fi, GPRC, 3G etc and other network related scenarios.
Gestures:
If your app supports custom gestures, test them properly. Also check for some standard gestures such as swipe, multi touch, pull to refresh etc.
Guidelines:
As adherence to guidelines is required for app store approval, check that your app follows these guidelines. You also need to track any changes in these guidelines.
Updates:
This aspects suggests to check one version lower than latest and explore it. After that you can update to latest version to check the app behavior. As updates are frequent in mobile apps, this aspect is critical to the testing of an app.
Notifications:
Check if the app notification is behaving properly. Test notifications in different scenarios like in locked screen, over various network conditions, in sleep mode etc.
So, these are the “ingredients” of COP FLUNG GUN model. There is another mnemonic in place called COP FLUNG A GUN by Adam Goucher which has an added flavor of A as an Automation.
As you can see, COP FLUNG GUN acts as a cool resource for testers in mobile apps testing. Use it in your testing activities and let us know your view on this.

Comments

Popular posts from this blog

SSO with SAML login scenario in JMeter

SAML(Security Assertion Markup Language) is increasingly being used to perform single sign-on(SSO) operations. As WikiPedia puts it, SAML is an XML-based open standard data format for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. With the rise in use of SAML in web applications, we may need to handle this in JMeter. This step-by-step tutorial shows SAML JMeter scenario to perform login operation. First request from JMeter is a GET request to fetch Login page. We need to fetch two values ‘SAMLRequest’ and ‘RelayState’ from the Login page response data. We can do this by using  Regular Expression Extractor . These two values need to be sent in POST request to service provider. Refer below image to see how to do this. We will get an HTML login page as a response to the request sent in 1st step. We need to fetch values of some hidden elements to pass it in the next request. We can do this b

Reading data from text file in SoapUI using groovy script

How to read data from text file in SoapUI. SoapUI Pro has some advance feature which is not in SaopUI as data fetching from external sources so in SoapUI we use Groovy script for that. Following are the peace of groovy script code for reading data from text file. 1. Reading all data from text file. //reading all txt file at once File file = new File("E://TestData.txt") fileContent = file.getText()                  log.info fileContent 2. Reading data line by line from text file. //reading text line by line File file1 = new File(" E://TestData.txt ") List textLine = file1.readLines() log.info textLine 3. Reading data randomly of any line from text file. //reading text randon line number File file2 = new File(" E://TestData.txt ") List textLine2 = file2.readLines() rowIndex  =  Math.abs(new Random().nextInt() % 4 + 1) log.info textLine2[rowIndex]

VBScript Code - Function to convert CSV file into excel and viceversa in QTP using VBScript

We at times are required to convert excel files into csv to read as flat files and sometime require to convert a csv file into excel file to use excel features on the data.   Below function shows how to convert an csv file into excel file and vice versa. We can also convert to other formats based on constants Here constant value 23 is used to create a csv file and constant -4143 to save a file as xls file. Once the destination file is created, we can delete the source file as shown below.  In case of any issue in understanding the code, please add in comment section Call func_ConversionCSVExcel("E:\Test.csv", "E:\Test_converted.xls", "csvtoexcel") Public Function func_ConversionCSVExcel(strSrcFile, strDestFile, Conversion) on error resume next Set objExcel = CreateObject("Excel.application") set objExcelBook = objExcel.Workbooks.Open(strSrcFile) objExcel.application.visible=false objExcel.application.displayalerts=