Wednesday, February 8, 2017

Negative Testing

Negative testing is the process of applying as much creativity as possible and validating the application against invalid data. This means its intended purpose is to check if the errors are being shown to the user where it’s supposed to, or handling a bad value more gracefully.

Saturday, December 17, 2016

Testing Framework : JAT

Hi Readers,

As we all know that now a days, Frameworks for automation testing are everywhere.

However, I feel there is a need to prepare framework for manual testing which should be generic and helpful to a tester.

What is a framework ?

Framework is a real or conceptual structure intended to serve as a support or guide for the building of something that expands the structure into something useful. A framework is generally more comprehensive than a protocol and more prescriptive than a structure.

Well same way, using manual testing framework, a tester should feel confident and pretty much sure that he/she has covered almost everything.

Well its a thought and I have started working on it. Project begins from January 2017 :)

Oops, what should i call it ?

JAT ( Just Another Testing Framework )

Friday, April 8, 2016

Things to test in Mobile App

End user scenarios

It is really important to think like an end user while testing your application. Try switching between applications, locking your phone, unlocking your phone, putting it in airplane mode, turning on/off bluetooth and so on. Think like a user and put yourself into their shoes. Think about scenarios which the real user  would face when using your mobile application. You may also want to create different user “personas” such as a non-technical user (someone who has little smartphone experience); a power user (who switches  between apps consistently and quickly) and impaired users (those who may have bad or no eyesight, or those who have sharp hand movements).


It bothers me that there are still testers out there who do not realize the value of log files. These files usually have bugs in them, hidden gems that are waiting to be discovered. While testing our mobile application, note that there are 2 types of logs:

    • Crash Logs
    • Console Logs

Crash logs are a great way to find out what may be causing your application to shut down unexpectedly, whether user input, device issue, connection issues, memory leaks, or code related issues. For example, there are logs which are part of your IDE's (Integrated Development Environment) like Xcode and Android Studio where you can find information about the different kinds of crashes that happen while using your mobile app. Console logs, while often including information that was in the crash log, also contains kernel-specific information related to the specific device and OS and how they work with your application. For example, in the Mac, Applications->Utilities->Console is where we can find different information about the mobile app when the phone is being used while connected to a computer.

Application Lifecycle

It is essential to understand the different states the mobile application goes through while using the app – The Application Lifecycle

The different states of a mobile application :
    • Foreground
    • Background
    • Suspended
    • Idle

Companies often have their mobile applications running across different devices and OS's. It is important that the application is consistent across devices and OS's, as the user should get a seamless and consistent experience while using your app. The app options/logos should not be different in different devices unless there is valid reason for doing so. Users should not need to learn an entirely different app every time they switch devices.


This is the most overlooked area of testing; one that often breaks applications, and testers don't even know to check it. You subconsciously know there are different keypads; you see them when entering email address, creating emoticons, and dialing phone numbers. But do you actively test all of them? Apart from the above keypads, you have keypads supporting different languages as shown below. Consider these variables when testing, as not everyone may have the standard English keyboard.

User Reviews

User reviews can make companies go bankrupt. The review score your app has is a critical aspect of your company's mobile application, such as those reviews on the App Store or Google Play. This is often a factor when users have to choose between similar apps. Pay attention to what users are telling you about your app; looking through the user feedback, you can find lot of issues/ improvements to be made on your app.


Have you ever tried to:

    • Delete the app and install a new version of your app
    • Delete the app, uninstall the app, and install the app again
    • Install the app over an existing version of your app
    • Install the app over Wi-Fi/4G/Bluetooth/USB

By doing the mentioned actions, you can find many vulnerabilities in your mobile application. These actions are what the end user is going to do when they get their hands on your app.


People try to load a number of features into their mobile apps to help the user, but they fail to realize that it can come at a cost – performance. Possible factors which could affect performance are

    • Use of dynamic Images
    • Use of maps
    • Web service calls
    • Client side validations

There are free tools for mobile app performance testing, including “Instruments” (part of the Xcode IDE) and “adb tool” (part of Android Studio and IntelliJ.)

Battery Life

No one likes a battery-sucking vampire app. Pay attention to different daemon processes that may run because of your app. Other aspects which could consume battery life include not clearing idle sessions and the use of dynamic visual components.


Years ago, when 8GB phones first came out, users had  to make tough decisions regarding the number of photos on a phone vs. which apps to download, due to the limited memory. Although many devices have larger storage now, users may still be hesitant to download an app due to the size of it.

Compare the size of your app to those of your competitors'. This is an easy way to see whether your app is a bloatware or not.

Thursday, March 3, 2016

Automation Framework - RAFTAAR

Hi Readers,

I have started developing a generic Automation Framework from January 2016 :)

Though, its a tough job, I have managed and will continue to develop this generic Automation Framework. Well, I have named it

RAFTAAR (Regression Automation Framework That Allow Artificial Runs ) 

As the name suggests, Raftaar means Speed,  its fast and robust :)

Features :

- Easy to use for Manual Testers.
- Simple format to write Test Cases in excel.
- Cross Browser Support
- Operating system and application independent.

Framework Workflow :

The framework first parses the test cases & data. It then utilizes keywords using test libraries defined within framework to interact with the system under test. Test execution is started from the command line. You will get customized HTML test report and logs file for each test.

Flavors :

1. Java
2. Python

Project URL :

In case you need access, please send an email to