Tuesday 14 March 2017

Testing Beacon based Mobile Applications

Read about mobile application security testing with MobSF here: Mobile Application Penetration Testing with MobSF

What are Beacons?



Beacons are a small transmitter that Emits Bluetooth Low Energy (BLE).It transmits a signal which can be used to communicate with other devices. It works with Bluetooth activated devices and they should be within the range.

Types of Beacon:

1. Eddystone:-It is a BLE devices developed by Google to communicate with smartphone, Tablets, and other IoT based devices
2. iBeacon:-It is a BLE device developed by Apple to communicate with smartphone, Tablets and other IOT based devices

How does beacon work’s with other Devices and IoT

Eddystone used the following to communicate:-


1. Eddystone-UID: An opaque unique ID.
2. Eddystone-URL: A compressed URL that, once parsed and decompressed, is directly usable by the client.
3. Eddystone-TLM: A block of telemetry information containing beacon status and runtime values.

iBeacon uses the following to communicate:-

1. UUID: B9407F30-F5F8-466E-AFF9-25556B57FE6D it is a Unique Identifier
2. Major ID: 1
3. Minor ID: 2 

Use case of Beacon based application

Suppose you are a customer of one of the reputed 5 Hotel star hotel.
 How you will feel when someone greets you at the reception with your name without asking your name on arrival.
 You are being virtually assisted in your room without an attendant.
 You are near a Bar and get a notification to visit there with a 25% discount especially for you
 You are not sure which is the nearest pool to go for but get a prompt reply from the admin team about it

To provide all these services we can use Beacons based applications on Android and iOS devices.

Suppose we have been provided with the application by developers we need to take care of the following Test cases:

1. The application should work with all supported devices
2.Apk and.Ipa file should successfully be installed on every device
3. Verify that when the customer enters within the hotel range then Front desk should get a message With the name and estimated time of arrival
4. When the customer opens the application to see in house map of the hotel he should clearly see it in order to route to the room
5. When the customer is near a Pub or Bar he should get notified about the deal of 25% of especially for him.
6. When the customer searches for the nearest swimming pool he should be routed to the correct area
7. Verify that if customer moves out of the BLE range then he should not be able to use the service since he is not in range
8. Verify the minimum distance is correct when we are in the hotel area I.e. the distance supported by beacon
9. The data shown by the iOS and Android devices should be accurate.
10. Does it show the relevant result on low data I.e 2g and 3g
11. Verify if we use the same Application in a different branch of the hotel then it should not work

Beacons drain the battery of the device fast and some time is not too accurate 

Wednesday 1 March 2017

Giving Estimation using Story Point

What is Estimation in Agile:-

How much time/effort is going to be taken to do a particular task or requirement Viz User Stories is known as Estimations.
Estimation is a very tricky task.A wrong estimated User Story can defeat the purpose of delivering any working project.

Who all are involved in estimation:-

Different stakeholders such as Product Owner, Developers, QA, UI/UX designer, and other higher management can estimate their effort in sprint planning once the backlog has been prioritized by the Product Owner requirement/story has been groomed.

Estimation Difference within Member’s, Why??

We cannot deny the fact that every member will have different estimations.
This is because every member is taking their individual effort recounting their past experiences or by self instinct that how much time they will take to do that task.
Something may take time for the developer to implement but the same thing can be easy to test for Testers. The same goes for UI/UX designers.

How to estimate a user story from a QA perspective??

Let’s say we have any user story like sorting the price of flights and the Acceptance Criteria as below:-

As a traveler, I can sort flight having price from low currency to high currency.




Acceptance Criteria

i. The flight search should be in ascending order
ii. When no flight available display the message “Please search using different combination”
iii. If two flights are having the same price search then display the flight in alphabetic order

Estimating the above story using story points:-

When we are estimating any story using story points we are using a judgmental approach and define the complexity of the story rather than manual effort in days.
The judgmental effort are done using some progression formula like Fibonacci-like format: 0, 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100.

We can use https://www.planningpoker.com/ to estimates our user story which is interactive and easy. Let us suppose the team after the meeting came to the conclusion that the above story is of 5 Story points

Now to estimate the above story as a QA I would take into consideration the following point.

1) As per acceptance criteria, I will write the test case and upload it on Test Management Tool “1 Hour”.
2) To test the whole according to AC I will take another one “1 Hour”.
3) To test on 4 different browsers like Chrome, Firefox, IE 10, and Safari “15 Minutes” each which counts 15*4= 1 Hour.
4) If the change is reflected on webview of Android and iOS application then “15 Minutes” to install the build on each OS and “15 Minutes” each to verify the functionality on each OS. The time will increase if the devices list will increase. Therefor 15 Minutes*4= 1 Hour
5) Now adding 1 Hour to the total estimated task.
There fore total time taken is 1H+1H+1H+1H+1H=5Hours

Wednesday 4 January 2017

5 Incredible handy key points while testing "Mobile Application"



When it comes to Mobile Application Testing most of the QA's aren't aware where to start from.They just jump straight into the application and start functional testing.But wait there are much more to do before we start exploring bugs.

Improving Mobile Application Testing Process & Coverage!HOW?

How to figure it out that application has been tested at it's best and certain guideline has been followed and nothing is missed:-
  1. Use mnemonics like- I Sliced Up FunLong Fun CUP and Cop Flung Gun.
  2. To visually organize information for mobile Application use Mind Map's like -Ministry of Testing and Test Insane.
Here are 5 key points to be kept in mind that we should know before we are ready to move the application in UAT
  1. Picking Application from background-Is your App smart enough to judge itself what to do when we are picking them up from the background of the "OS".Yes, a badly coded app doesn't behave well when we launch them from the background and they start hanging the device's/Application altogether.
  2. Screen Orientation-Most of the app which does not support screen orientation are likely to Crash or have a memory leak when we are we are using them in the orientation they do not support either portrait or Landscape.
  3. Touch Gesture-iOS or Android if the application is supporting multiple touch gesture where only one event can be fired at a particular instance the application is going to crash.
  4. Performance-Performance of the application with respect to your competitor is a must check.Is it having better UI, Performance or Usability.
  5. Network Testing-The application on flight mode or no network mode is definitely going to give Dev's some hiccups.Be sure that proper validation is available in every negative instance/steps or scenarios.
Moreover, the tester should keep in my that the application should not crash even in the corner scenarios because a single situation of the application getting crash will make you lose multiple lovely users.
In the end, would like to Quote “It’s more about good enough than it is about right or wrong.” – James Bach So just go and make your mobile application good enough.

Thursday 22 December 2016

Quick Guide to INTERNATIONALIZATION,LOCALIZATION and GLOBALIZATION Testing for Mobile Application

Quick Guide to INTERNATIONALIZATION,LOCALIZATION and GLOBALIZATION Testing for Mobile Application

Read here for important mobile application testing interview question: Hack To:General Interview Question for Mobile Application Testing

There has been sudden demand from the business perspective to target consumer from all around the world so as to maximize their ROI(Return of Investment) and customer visibility around the globe.
Every B2C companies are trying to reach globally and make their consumer base large be it any startup like UBERDROP BOX, or Biggies like AppleGoogle or Microsoft they all have integrated their product with specific Locale (Language, culture etc) keeping in mind to target a specific market.

To achieve this Globalization, Internalization and Localization comes into the picture.

Localization aka L10N involves adjusting the product or Application to that particular locales
Localization contains different aspect like:-

vTime Zones: Date and Time e.g.Day light saving
vCurrency:$,€£
vText I.e.Languages translation like “Hi I am a Tester” in English into “ Ich bin ein Tester”in German
vBidirectional Text, left to right and right to left text fort language like Arabic vs English
vLanguages using Accented Character’s like -á, -é, -í, -ó, -ú, -ü, -ñ, ¿, ¡ like French

This type of testing particularly involves Language Translator, Interpreter, Tester’s etc

Internationalization aka I18N is the process of changing the production or Application in particular local aspect I.e. one or more than one.It particularly involves Developer’s and coder.

Globalization
Integration of Internationalization and Localization into one product is called as globalization.
That is once the Developer codes and QA or any other stakeholder tests the product the product can be globalized and released in that particular areas as developed for.

Since we can change both the language of the device supported by that particular OS Android/iOS/Windows/Blackberry and the application itself we need to have a keen observing skill while testing the App's.Here are the key points I have gained in my Experience and I am sharing with you All.

Testing Mobile Application with respect to Internalization, Localization and Globalization

vTry changing the language of your device from your native language say English to German and open your application There has to be some irregularity in your application if it’s not designed well.
vIf your application supports translation then use the language not supported by your application irregularities are observed.
vIf testing mWeb/responsive sites observe how the application reacts to the language of the browser.
vThere can be minute issue with the translated text getting truncated on Mobile devices particularly with screen size less than 5 Inch.
vIf you are using Charles as an Https debugging tool or any other sniffer try to edit the response from front end with any other Language like Https://Url.com?=EN for English to Https://Url.com?=DE to German observe if it works fine.
vThere can be chances that the text that are getting translated can have grammatical error and haphazard translation refer to the translated test from Google Translator or any other source
vIf you are having any application which has time zone and currency related functionality Create a mock location from the Emulator or use different VPN to verify if your application is having valid Currency and Time Zones.

It requires great analytic skill to create and execute these test cases.Hope this article will be of great help to user’s

Tuesday 13 December 2016

Effectively Writing Use case in 5 Minutes in Software Testing

What is a Use Case:-

Use case means the interaction between the actor,system and expected output.

Actor is basically the User who is using the end product/System.

System is the software or product which is to be used by end user.
It helps in precisely generating test cases against each requirement.

Here is the real life e.g. of live app on playstore for which I have designed use cases.

About VuLiv:-

VuLiv, Media Player with Infinite Possibilities is here to help you Live Life Better (Liv Lyf B’tr). VuLiv is a platform that helps you do anything you can to stay entertained and beat boredom with just a few taps and swipes on your smartphone!

This BEAUTIFUL PLAYFUL USEFUL media player app is a hub that brings together your videos, pictures and Music, all at one place! Experience endless hours of entertainment, just tap to PLAY and enjoy exclusive videos from the internet or watch your favourite videos from some of the most popular video sharing platforms like YouTube and Dailymotion. Finally LIVE, a marketplace for exclusive experiences that money can’t buy! Get the Best Daily Deals on top brands or send a gift to someone you love or recharge your mobile on the go. What more, you can grab a chance to live memorable experiences!

https://play.google.com/store/apps/details?id=com.vuliv.player&hl=en


Use case of VuLiv

Name:Login

Purpose:Allow user to Login Vuliv

Optimistic Flow:-
1-Actor logs into the system.
2-Actor views different option on Home Screen Menu
3-On tapping Hamburger Menu Actor sees different options like Play,Music Etc

Pessimistic Flow:-
Problem 1-Actor logs into the the system without Account prompted to enter Email Address and Password
Problem 2 Actor uses incorrect Email address and Correct password prompted to use correct credential.

Test Cases written are in BDD framework using Gherkin Framework

Test Cases:
Given I am a Vuliv user
When I log in with correct credentials
Then I should be able to see different option in Hamburger menu like Play,Music,videos Photos.

Given I am a Vuliv user
When I log in with incorrect credentials
Then I should not be able to Sign in
And I should be prompted with a Validation message to log in with Correct Credentials.

Name:-Photos
Purpose:-User should be able to see Photos

Optimistic Flow:-
1-Actors logs in with correct credential he sees different option.
2-Actor Taps on photos, sees all his photos in the smartphone

Pessimistic Flow:-
1-Actor has Image extension file not supported by Vuliv
2-Actor has no images in the Smartphone

Test Case:
Given as a Vuliv user
When  I have tapped on Photos option
Then I should be able to see all the photos in my devices

Given I navigates to Photos Section from Hamburger Menu
When there are no Images on the device
Then I should see the “Message No Image present on your Device”

Name Music:
Purpose:-Listen Song

Optimistic Flows:
1-The Actor can listen Song
2-The Actor can modify content of the songs like delete,Fast forward,pause etc

Pessimistic Flow:

Problem 1:Actor has an unsupported File Format not supported by Vuliv
Problem:Actor has No music in the Smartphone Playlist

GIven I have navigated to Music Section
When I see list of Songs available
Then I should be able to select the song
And the song should start playing

GIven I have Navigated to Music Section
When there are no Songs in the SMartPhone
Then I should see message “Please add some Song’s”
Similarly we can add more use cases against each requirement.

Interview Experience with AMAZON for the role of Quality Assurance Tester

This role was for Digital/ IoT/Mobile Application based testing :)  Amazon is a dream company and everyone wants to work for that company a...

Popular Posts