Application Compatibility Testing

Application compatibility testing is one of the software compatibility testing activities aimed at identifying the factors which make an impact on the mobile and desktop applications quality, their interface appearance and usability, and, ultimately, on the demand for these software products by their potential users.   During application compatibility testing we check how software products behave during installation and while running on various devices with a specific hardware and software configuration as well as certain OS and browser versions. Thus, before testing activities start, the customer determines the list of environments and platforms for which this application is created. At the same time, the testing is conducted manually in a “live” interactive mode, on real desktop and mobile devices, smartphones and tablets, in accordance with the test cases created based on the software product specifications. Application compatibility testing is carried out according to the black box testing strategy, without searching for code errors but based on the analysis of the validity of the input data and the output results. Application compatibility testing is one of the types of non-functional testing and is conducted during system and acceptance testing of a completed commercial product.

start in

2 days

cost from

$25/device

testplan

FREE

Why is it necessary to test mobile website versions on real devices?

Proper testing of mobile versions of the website allows you to identify the factors affecting its loading speed and time. Optimizing such factors as image size and encoding, js-script and css settings, hosting settings and content compression makes it possible to increase loading speed of the pages by several times.

It is important to keep in mind that there is a huge difference between testing in browsers on real mobile devices and in their emulation. Emulators let you perform testing much faster, but the compatibility issues with specific devices cannot always be detected. Emulators only assume (quite accurately, though) how a particular browser works on a particular device but omit all the errors related to the specific behavior and interactions of a real browser on a real device. Therefore, if you require a guarantee that all possible bugs will be found, you need manual testing on real devices.

 

Mobile Website Testing Techniques

The most common types of manual and automated testing of the websites on mobile devices are:

  • testing connection between the desktop and mobile website versions, which includes verifying how the users of specific devices are being redirected to the version of the website they need, checking how easy it is for the mobile web page users to access desktop version of the same page, searching for bugs in Vary-HTTP header settings and rel = alternate / canonical tags.
  • identification of technical issues, i.e. checking the isolation of mobile pages from desktop ones, measuring the website loading time, testing program code support;
  • User Experience (UX) testing on real devices, which involves viewing websites from smartphones and tablets operating on various platforms (iOS, Android), testing Viewport settings, media queries and page elements layout.

 

To test mobile versions of the websites, we use both testing methods, i.e. testing on real devices and on emulators which simulate a real device and allow us to perform testing on a single machine. At the same time, testing websites on real mobile devices is considered to be more effective, since it creates testing conditions that are as close as possible to actual use.

Our experts apply various techniques to test the functionality, compatibility, cross-browser and cross-platform operation of mobile websites, which allows us to detect and report all the bugs reducing the performance of the product.

Mobile Application Interrupt Test Types

The main goal of this testing type is to determine whether the application is able to function normally, to maintain the clarity and convenience of the interface, not losing entered data in case there’s a risk of deterioration or termination of its operation due to the following reasons:

 

  • incoming calls;
  • receiving SMS and MMS-messages;
  • connecting headphones and playing audio files
  • cell reception failures;
  • connecting/disconnecting the charger;
  • removing/inserting SD card or battery;
  • operating at a low battery level;
  • receiving notifications from other mobile applications;
  • putting phone in standby mode and reactivating the device;
  • pressing different phone buttons.

These are the most common reasons that may cause issues for the users of mobile applications. Interruption testing is utilized during the product development to make sure the application does not lose its operational properties. This type of testing ensures preservation of the application interface graphics, data integrity and its correct representation, the ability to use the products under critical conditions.

 

Software Interrupt Testing Types

When performing software testing we identify the consequences of software (caused by OS code defects) and hardware (related to the device hardware) failures in the stability of the running application. These types of failures include:

  • power off;
  • various failures in the OS operation;
  • connecting/disconnecting of peripheral devices;
  • minimization/expansion of the program;
  • communication failures;
  • launch of other programs.

To test native applications for interrupt, various software testing types are being utilized, such as manual and automated testing methods, “black box” method (testing without access to the program codes) and “white box” method (testing with search for bugs in the product code).

Manual testing involves the use of real devices and software environments. Automated discontinuity testing is performed using various tools and services, so that all test processes are accelerated, and the results of searching for bugs in the software product and factors negatively affecting the application performance become more accurate and reliable. For instance, to conduct interrupt tests on Android-based devices, we use a specialized program to generate random crashes and track how the applications respond to them.

We report all detected errors into bug trackers and rank them by priority in accordance with the verification matrix. Interrupt testing allows our customers to make their developed products more user-friendly, reliable, and attractive for the users.

 

Application compatibility testing types

Checking test objects for compatibility is carried out in the following areas: Cross-browser testing supposes the software product performs equally well and the identity of its interface elements (dynamic, graphic, text) is intact when the application is launched on one or more devices with different versions of Chrome, Firefox, Safari, Opera and Edge browsers. This type of testing takes into consideration not only the browser type but also specific hardware configurations. Cross-platform testing is designed to verify the compatibility of software products running on iPhone / iPad, mobile phones and tablets with Android and iOS platforms and the software ability to correctly display all application elements and support all specified platform versions and device types. To increase the effectiveness of application compatibility testing, especially when it is performed on mobile devices, our testers create mobile compatibility checklist, which includes the following items:

  • f the application displays correctly when it opens in various browsers (IE, Firefox, Chrome, Safari, Opera);
  • If the HTML version used in the application is compatible with the browser versions;
  • If the quality of images, fonts, background colors used in the application remains consistent in various browsers;
  • If JavaScript code correctly operates in different browsers;
  • If the application dynamic elements, scroll bars, and page scaling display and operate properly in different browsers.

Bugs detected during this testing are recorded and reported into bug trackers and bug reports with an indication of their priority and criticality in accordance with test cases based on test coverage matrices.

We have an integrated Bug Tracking system in our Dashboard, but if you need, we work with any other Bug Trackers like: