Friday, January 6, 2017

I embrace Ghostlab for Synchronized Web & Mobile Device Testing


Hey All, It's yet another time of a year to exhibit your fullest potential and capabilities to the testing world. Happy New Year folks.

I would love to publish my long pending blog post on Ghostlab mobile and web synchronizing tool which we implemented in late 2016. I'm up for new testing challenges in the new year 2017 too. :)
In testing career, one should always expect for new challenges. If not, you cannot make your work life interesting (at-least to me). Challenges won't make you feel like you're settled. Challenges will make you learn to lace up your running shoes and prepare for a healthy run. :)

Apparently, my last testing challenge was on March 7th 2011. It doesn't mean that I din't accept any other testing challenges. :) What it means is it may not be a noticeable challenge which led to right brain activity to innovate. Yes, I was challenged to report compatibility testing in a non-conventional way of an large consumer website. I used mind map and the test outcome were tremendous, check out on the Compatibility Test Report.

Likewise, on June 17th 2015,  I was asked to identify a FREE tool which could mirror Android and iOS devices over web to any geographical location (a similar tool like JoinMe, which is used over web). The challenge was to identify the tool in 60 minutes, check out how we accomplished the testing challenge. Click  here: I embrace Mobizen and iTools for mobile testing.

Eventually, on November 26th 2015 I received another interesting testing challenge. The challenge is to identify a tool which helps to set up mobile device lab in-house with real mobile device. I accepted the challenge and prepared myself to lace my shoes to explore new paths for a healthy run. :)

"Testing challenges makes your professional life beautiful. Overcoming them is what makes your testing career interesting" - Shiva Mathivanan



I now have a challenge to accomplish. I surfed for a while using search engines and with less hope, I customized a tweet to be able to fit into 140 characters and raised my query over Twitter. "Need Help - To set up open mobile test lab with 64 real mobile device in-house, is there any specific tool/references to support?. Fortunately, Mr. Hayk Hovhannisyan from @HaykAlientArt handle responded a html5rocks.com article which had a list of many useful tool that ease cross-device testing workflow in real time environment. I started using few tools and finally decided to implement Ghostlab. Because Ghostlab is very easy to install & configure provided you have a high bandwidth on WiFi network connectivity at your organization. My sincere thanks to Hayk Hovhannisyan for sharing his piece of knowledge. I deliberately wanted to implement the Ghostlab and then wanted to communicate to the testing world if the result is fruitful




Yes, we have successfully implemented in-house mobile device testing lab at our organization, Yay!


If you're someone who would like to implement Mobile Lab using Ghostlab, then please continue to read else feel free to wish me for my accomplishment using comments section. Ha Ha. :D (Just kidding)
  
Let's dig deep into technical part of Ghostlab
 
What is Ghostlab?
Now a day’s most of the application are designed to be compatible with Mobile and Cross Browser (thanks to HTML5 – responsive design). In fact those sites which are not mobile compatible is hard to find a place in google search result. When it comes to QA testing the biggest time consuming job is to perform compatibility testing in multi-device and multi-browser. This is almost eating anywhere around 10 to 25% of overall testing effort. Currently we need to manually load the URL and perform the testing activity in each device and in each browser to make sure that the application is compatible with all the necessary devices and browsers.
How can we make it simple? The answer as on today is Synchronized Testing.  It can help solve two particularly time-consuming problems:
  1. Keeping all the devices and browsers in sync with the URL we want to test.
  2. Synchronizing interactions
There are many tools available to address the above problem and to name few
  1.  Ghostlab
  2. Adobe Edge Inspect
  3. Remote Preview and many more.
Why Ghostlab is better?
It is very easy to configure the Ghostlab Tool, Your Ghostlab installation file runs on the server and all mobile clients do not require any installations at all. It is very user friendly with very minimal lag time when comparing to other tools. It is available with competitive pricing.

What Ghostlab Does?
Using Ghostlab we can test any website on various browsers and mobile devices simultaneously. In order to perform cross-browser compatibility testing just drag the URL into Ghostlab and click the “Play” button or use the handy QR code to connect to a mobile device. (QR barcode reader app should be installed in mobile device). When we start to test in one of the connected browsers or devices. All other browsers and devices will mirror your actions. That’s clicking buttons, following links, scrolling the page, hovering your mouse over special elements like flyouts, filling out forms etc.

Ghostlab Prerequisites
  1. To download & install free 7-day trial version from VANAMCO, click on https://www.vanamco.com/ghostlab/ Or you can buy Ghostlab Licensed version and install in server machine.
  2. To have necessary web browsers (Chrome, FF, IE, Opera and Safari) to be installed in the server machine.
  3. To have all mobile devices fully charged and up and running.
  4. To have all mobile devices to set sleep mode to “Never” in iOS devices and in Android select any longer duration.
  5. To have all mobile devices Turn off the auto-lock.
  6. To have strong Wi-Fi network connectivity to support ample number of mobile devices and web browser access.
  7. To ensure Ghostlab server machine and all mobile device are connected to same Wi-Fi network using authenticated credential.
  8. Need to install QR barcode reader software in the mobile devices for loading the URL directly in the device browsers.
  9. Application Under Test (AUT) should be accessible from your system. If not able to launch your application from your machine, then raise a ticket with IT support team and get it resolved. (Probably you might need to add application IP address to your host file).
  10. All the real hand-held mobile device which are required to perform your mobile device testing should be in place under Wi-Fi network.
How to Set up Ghostlab?
Once you are prerequisite installations are ready, you need to follow the below procedures to install and configure your application using Ghostlab.
1. How to Configure Ghostlab Server
  • Launch Ghostlab Tool from server machine.
  • Once loaded, Click on the ‘+’ icon
  • Enter Application Under Test (AUT) URL in the “Enter URL or browse for local directory” text box, example: http://www.google.com
  • Click on the tick-button from the top-left of your screen or press Enter button in your keyboard
  • Ensure AUT is added properly, you can also simply drag and drop the URL into the Ghostlab from a web browser. See Figure-1

Figure-1
  • You can add as many as sites in Ghostlab. Please make sure that all the necessary details are added in your host file before accessing the application
2. How to Start Ghostlab Server
After successfully configuring the Ghostlab server machine, we are ready for synchronized testing across  various web browsers and devices. To start the Ghostlab server, 
  • Click on the “Run” button, at the right corner, See Figure-2.
Figure-2

Figure-3

3. Launch the Application under Test
  • Once the server starts to run the application URL, Click on Launch button, See Figure-3.
  • Now the application will launch in default browser.
  • Click on the option button below settings icon. This option allows you to select the browsers which are installed in your system, see Figure-3
Figure-3

  • Click on respective browser from list of browsers displayed to launch specific browser, example FF or Chrome or IE versions, See Figure-4. The list of browsers installed in Ghostlab server will be displayed below the launched URL.
 Figure-4
 4. How to Stop Ghostlab Server?
Click on the stop server icon next to the settings icon to instruct the server the quit the server. Once the server is stopped the launched URL can no more be used until the user launches the website again. See Figure-5

Figure-5

5. How to inspect Page Source HTML5 Elements?
At respective browser, click on the tag on the right corner and inspect page elements as per requirements. See Figure-6.
Figure-6


6. How to Replace Launched Website URL?

 Click on the settings icon and replace with respective URL to relaunch and host new website for testing and tab out, example: http://www.yahoo.com. See Figure-7
                                                                          Figure-7


Now, click on stop and re-run to launch replaced website URL. See Figure-8.
 Figure-8

7. How to Remove Launched Website?
  • Click on the “-“ icon next to the “+” icon and then
  • Click on the delete icon, to remove an launched website from the list of websites and then
  • Click on delete button to remove the application from Ghostlab permanently. See Figure-9
Figure-9

8. Understand Test Cases for Cross-browser Testing
In order to execute Ghostlab web browser and mobile device browser synchronizing testing, you must need your requirements on version of browser and ios/android platforms in the first place to execute your cross browser testing. Ghostlab will not verify anything on its own. The responsive UI design issues should be addressed based on your customer and customer's customer requirements as well. We have to look for the most prominent mobile browser that your application would run on and the most prominent web browser version and operating system platform and then have them installed in the first place before executing your test cases.

Regards,
Shiva Mathivanan