Cross-Platform Mobile Test Automation Using Appium

test automation using appium, mobile test automation, cross platform mobile testing, mobile testing services, android app testing, ios app testing, open source mobile test automation tools, mobile automation, mobile app automation testing, mobile app testing, test automation, quality assurance testing, top mobile app testing companies, software testing company, web application testing, software testing services, Cross-Platform Mobile Test Automation Using Appium

Mobile is very rapidly becoming the biggest medium to reach the consumers as the adoption of mobile phones is increasing. A Mobile App or Mobile web application is the platform which enables you to get connected with your desired audience. Consumers use various different platforms and devices to access your mobile apps. So in this age of multi-platform and mass adoption, are your apps cross-platform? Are your apps tested for cross-platform? Are you delivering the best experience to your users?

Appium is the cross-platform solution for mobile test automation.

Appium is an open source, cross-platform mobile test automation tool to automate the testing for native, hybrid and mobile web applications. Appium comes with support for Android, iOS on real devices as well as simulators and emulators. At core, Appium is nothing but an HTTP server written in node.js. In working, it almost acts same as Selenium which perceives http requests from selenium client libraries and it handles those requests in different ways depending upon the platforms.

Appium is one of the best options available today in the market and is widely adopted by the organizations for their mobile test automation needs. Also with growing supporter base and stronger community, it is getting easier for enterprises to adopt it. Appium lets you write the tests in any language which is supported by Selenium, using the WebDriver API. If you are trying to test the Andoird Apps then, Appium automates it using the UIAutomator library, which is part of the Android SDK. So the learning curve is a bit easier if you have already used Selenium. The ease of testing both Android and iOS apps makes it one of the best cross-platform tool. You can run your test either on Emulators or on Real devices with Appium using the WebDriver JSON Wire protocol.

Appium starts a test case on the device that spawns a server and listens for proxied commands. On iOS, Appium proxies commands to a UIAutomation script running in instruments.

test automation using appium, mobile test automation, cross platform mobile testing, mobile testing services, android app testing, ios app testing, open source mobile test automation tools, mobile automation, mobile app automation testing, mobile app testing, test automation, quality assurance testing, top mobile app testing companies, software testing company, web application testing, software testing services

Source: Slideshare

The core advantage which Appium offers is the ability to write test in your favourite language. So you can choose your IDE and your language such as Java, Objective-C, JavaScript, PHP, Python, Ruby, C#, Clojure, or Perl. The support for automation frameworks like JUnit and TestNG is also the one of the benefit which comes with Appium.

If you look at the current competitors for Appium, they are calabash-ios , Frank, UIAutomation, ios-driver, KeepitFunctional if testing iOS apps and calabash-android, Monkeytalk, Robotium, UiAutomator and selendroid for Andoird Apps.

But Appium gives you the best solution for mobile test automation compared to all the ones listed above. The major benefit being the ability to test the same app you submit to marketplace. Most of the other tools require an extra agent to be compiled with the application code. So Appium gets an extra point above all the others. Also the thriving community which is there to answer all your queries and some strong backing by the likes of Saucelabs makes it the obvious choice.

Appium has some challenges when it comes to scaling up with continuous integration. Saucelabs has built a solution to counter this challenge. So if you already zeroed upon Appium for your mobile test automation, it’s a good decision to go for it. And if you are planning to evaluate Appium and need some expert help, feel free to Contact us.

Mobile Test Automation, Mobile Testing, Mobile Application Testing, Testing a Mobile Application, Mobile Testing Blogs, test automation using appium, mobile test automation, cross platform mobile test automation, appium, android app testing, ios app testing, open source mobile test automation tools, mobile automation, mobile app automation testing, mobile app testing, test automation, quality assurance testing, software testing company, web application testing, software testing services

The opinions expressed in this blog are author's and don't necessarily represent Gallop's positions, strategies or opinions.

Usability Testing for Mobile & Web – 7 Lessons Learned

Usability Testing for Mobile & Web

In a world that has gone mobile – ok, a lot of people still use the Web – it is only obvious that the apps and features on these smart devices are user friendly and easy to use. The software or apps that are not easy to use, usually fade away soon into oblivion. It’s just a matter of seconds before prospects decide whether or not a website or an app is functioning according to their whims and fancies. If they are not usable per their requirements and needs, the user moves on to the next available option – and there are thousands of them.

Usability studies, therefore, become paramount in gaining a unique perspective into the most common issues faced by users. The reports then can be used to take the corrective actions so that users can be retained for a long time.

As per the usability testing experience across many organizations across the globe, here are a few observations and lessons learnt for making the user experience better and more comfortable.

  1. Make your site/app lively and intuitive: If you are able to keep your site nicely designed, intuitive even for a first time user, and clear enough so that users can do what they need to without seeking help – you have gained a customer for a long time.
  2. Keep the Navigation simple: Having a multi-level navigation panel is not only confusing, but it is also frustrating to find the required option in a complicated maze of options – and then in a blink, the navigation vanishes. Don’t make it hard for your users to use the product. Make it easy for them by, say, displaying all options at once.
  3. Have Simple Menu Names and Proper Categorization: Unless your categories are grouped properly under the most relevant group – you will continue to lose customers. The categorization must be such that users can identify what they are looking for in seconds – rather than spending minutes trying to sort out things. Agreed that not everyone will always agree with the way you categorize things – hence, just try to make it as agreeable to as many as possible.
  4. Provide a Strong Search Support: Having a strong Search option is definitely a critical tool to have in your kitty – in case your products are too complicated. However, most of the search options provided suffer from certain drawbacks such as restricted word limits, no support for special characters or hyphens, or result in out-of-the-blue or un-prioritized search results (- that have no link whatsoever with the product searched for). The last one specifically is the most irritating! To make this friendlier, run some random checks yourself of the top products of your site and see if there’s some relevance. If not, try to modify the searches and make it more intelligent.
  5. Have a User Friendly Design: There are certain sites where even if there was a link right in front of you, you would not notice it. Why? Because the text colour and format would look exactly like the remaining text on the page. Keep links underlined and preferably in a different colour.
  6. Visualize the product as a customer– not as yourself: If you are able to put yourself in the shows of your customers, try to see the challenges that they may face, and then try to do something to ease their lives – you might as well be sure to generate some pretty quick ROIs.
  7. Provide a Standard Testing Environment: Having a lab for performing specific usability and performance tests make it conducive for mobile testing. Testing whether the apps work seamlessly across multiple devices using varied OSs is a big headache – that may as well be left to be handled by experienced and skilled professionals. Having an uninterrupted WiFi connection adds on to the testers being able to focus on the normal interface issues.

Smaller screens require more vigorous testing is a known fact. A proper lab will help test simulated designs for specific mobile users.

Gallop’s state-of-the-art mobile test lab uses the latest and best in mobile testing to bring you better quality and quicker time-to-market. We offer fine-tuned mobile testing services supported by our proven testing approach, Proprietary Testing IP (ETAS), and mobile testing capabilities through our Mobile Centre of Excellence. Discover the Gallop advantage today.

The opinions expressed in this blog are author's and don't necessarily represent Gallop's positions, strategies or opinions.

8 Best Practices for Mobile App Testing

gallop-blog

Mobile app testing is beset by challenges arising out of the huge variations in network, devices and OS, not to mention differences in user skills. Add to this, the need for better video and audio capabilities and hand gesture based applications, it is imperative that a mobile app delivers on all counts!
To get those much desired five star ratings, an app needs to rise above these challenges and deliver high performance under varying conditions of usage.

Gallop Solutions is a front runner in mobile app testing. Through our years of practice, we have put together certain best practices that, when followed diligently, can ensure a mobile app that is truly versatile.

1. Testing strategy: Devising a testing strategy helps to lay down certain guidelines which all testers are expected to follow. This brings uniformity in testing and ensures adequate test coverage.

2. Test on real devices: While emulators and simulators are really useful in testing in the early stages of development, the app needs to be tested sufficiently on actual devices too. Testing on real devices ensures test results are realistic and gives the tester a better idea regarding the look and feel of the app and its general usability.

3. Test early and test often: Start testing as soon as development has reached a logical stage. This helps to identify issues early before they become too costly to fix. Track results of each test cycle.

4. Set device and OS preferences: It might be virtually impossible to test exhaustively on all device, network and OS combinations. Determine upfront which devices and OS your app will specifically cater to and perform QA on them.

5. Automate testing: Automation greatly reduces time to market and generates high ROI besides giving the benefit of repeatable testing.  But an important factor to keep in mind is periodic maintenance of the automation test suite.

6. Adequate performance, stress and security testing:  Performance, stress and security testing make your app robust and can prevent financial liabilities arising from user distress. Check for known and unknown vulnerabilities, including those arising from third party and open source software packages.

View Gallop’s whitepaper on performance testing of mobile apps

7. Check battery consumption, fault tolerance and interoperability: Power hungry apps most likely get deleted. Be sure to check how much battery your app consumes. Also, check how well it works with other popular apps and how it adjusts to negative conditions like varying network strengths or suspended connections.

8. Ensure your app is truly global: Your app will have worldwide appeal only if it adapts to various geographies. Ensure it supports languages, currencies and even popular social networks of prominent markets.

There is nothing worse than an app that loads slowly or crashes frequently. 50% users who encounter a bug never return. Selecting an appropriate testing partner to grow with can make the difference between success and failure for your app.

Gallop brings you the advantage of a state-of-the-art mobile test lab coupled with a co-located mobile testing team and strategic alliances with mobile tool vendors.  We offer fine-tuned mobile testing services supported by our proven testing approach, Proprietary Testing IP (ETAS), and mobile testing capabilities through our Mobile Centre of Excellence resulting in superior quality, cost optimization, and accelerated go LIVE time across any combination of mobile devices and operating systems. Know more.

Mobile Test Automation, Mobile Testing, Mobile Application Testing, Testing a Mobile Application, Mobile Testing Blogs

The opinions expressed in this blog are author's and don't necessarily represent Gallop's positions, strategies or opinions.

Top 7 Trends in Software Testing

Top 7 Trends in Software Testing

Top 7 Trends in Software Testing

Blame it on globalization or blame it on the advent of new platforms and technology. Whatever the reason, businesses all around the world are rapidly changing and QA is not immune to it. Year on year, we are seeing new trends in testing that have changed the way we test software. Here are the top 7 trends seen in 2013-2014:

  1. Integrating QA through agility and TCoE: QA is seeing greater integration into business through setting up agile testing teams and Testing Centers of Excellence (TCoE). Though agile development teams have been around for a long time, agility in testing is still nascent. With the continuous pressure to quickly deliver software, businesses are investing time and money into setting up a TCoE with the objective of reducing CoQ, increasing test effectiveness and generating more ROI out of testing. From 2011 to 2014, the number of operational TCoEs has increased from 4% to 19% and is expected to increase further in the future.
  2. Greater focus on new technology: New technologies like SOA, cloud and mobile testing are on the rise. According to 2013-2014 world quality report, mobile testing has seen a rapid rise from 31% in 2012 to 55% in 2013. Yet 56% lack comprehensive mobile testing procedures. By 2015, almost 36% of software will be hosted in the cloud but businesses still lack the necessary infrastructure for cloud testing. These might cause businesses to opt for TaaS (Testing as a service) options.
  3. Higher Automation Levels: With agile testing teams and growing number of TCoEs, and due to high pressure to reduce the time-to-market, testing teams are trying to adopt automation wherever possible. This is not just in regression but also in unit testing and load testing.
  4. Greater focus on security: System robustness and security has always been a top priority but with growth in social media and mobility and need for software that can be integrated to multiple platforms, systems are becoming more vulnerable. There is a pressing need to ensure enhanced security, particularly in applications handling sensitive data. This is causing QA to focus more on security testing.
  5. Context driven testing: Another effect of the spread of social media, localization and mobility is the result of devices that, though diverse, are still tightly integrated in terms of software and usage. It is challenging for businesses to maintain central hubs of hardware, middleware and test environments necessary to comprehensively test them. This has caused context driven testing to become more popular as it ensures more testing coverage from diverse angles. It is expected that this will impact skill development among testers as there will be more demand for testers with exposure to different contexts.
  6. Continuous Integration testing: Under this methodology, testing is done in small increments in a production like environment with code integration happening at frequent intervals. This kind of testing helps the tester to detect problems early, measure the effectiveness of a change and determine whether it actually meets end-user expectations.
  7. Independent Software testing: With increased focus on QA, many businesses are relying on specialist QA organizations to provide testing services. This is largely due to the expertise that specialist QA organizations bring to the table, including TCoE capability. Hence partnering with them helps the business to circumvent the pain of finding skilled QA resources and setting up a mature QA, both in terms of process and technology. A report from business research firm Nelson Hall states that the independent testing sector will see an annual growth of 9.5% for the next few years.

More and more businesses around the world are awakening to the need to have a well-designed and futuristic quality assurance process to maintain their edge in the industry. Partnering with a specialist QA service can help you readily adapt to the latest trends in testing. Know more on how you can benefit from Gallop’s specialized services.

The opinions expressed in this blog are author's and don't necessarily represent Gallop's positions, strategies or opinions.