Compatibility Testing – Why is it essential

Why you can’t ignore Compatibility Testing In today’s business world where companies continually strive to fulfill complete customer satisfaction, compatibility testing has become an inevitable part of SDLC. To sustain in this competitive…

Why you can’t ignore Compatibility Testing

In today’s business world where companies continually strive to fulfill complete customer satisfaction, compatibility testing has become an inevitable part of SDLC. To sustain in this competitive scenario, companies have to make sure that software/products released to the market are of top quality and fully compatible with every type of software, hardware, platforms, OS etc. Compatibility testing detects the incompatible areas of a product with different platforms before it’s released to the market. This testing confirms that a released product fulfills all its goals such as:

Download Free E-Book: Security and Vulnerability Testing – How Critical it is?
  • Seamless installation on different OSs and hardware platforms.
  • Proper UI and functional performance on different devices.
  • Correct performance and functionality on platforms having minimal amount of storage, memory etc.
  • Proper operation under irregular network bandwidth.
  • Proper connectivity with different type of network connectivity (WiFi, WiMax, GSM, 3G, 4G, etc)

A product that fulfills these goals is considered a quality product that not only improves sales and helps strengthen customer base but takes the reputation of the developers to the next level too.

Types of compatibility tests and how they affect your site performance

Let’s have a look at commonly performed types of compatibility testing.

  • Browser: Here the compatibility of the product across different browsers like Google Chrome, Firefox, IE, Safari, Mozilla etc is tested.
  • Hardware: It checks the compatibility of the product with different hardware configuration.
  • Networks: Here the performance of the product gets assessedin a network with different parameters like operating speed, bandwidth, capacity etc. The same testing is also performed in different networks keeping these parameters into consideration.
  • Mobile devices: It determines whether the product is compatible with different mobile devices having different platforms like iOS, Android, Windows Mobile, Bada, Palm OS etc.
  • Operating system: It checks the product’s compatibility with different Operating Systems like Windows, Mac OS, Unix, Linux etc.
  • Software versions: It verifies the compatibility of the software application with other versions of the software. For example, compatibility of Microsoft Excel with different software versions like Windows 8.1, Windows 8.1 Pro and Windows 8.1 Enterprise.

To perform version checking, two types of compatibility testing are executed:

  • Forward compatibility testing: This determines whether the product is compatible with upcoming or more recent versions.
  • Backward compatibility testing: This confirms that a product designed under the latest version also performs smoothly in its older versions.
  • Software: It checks the compatibility of the product with different software. For instance, MS Excel should be compatible with MS Outlook, MS Word, VBA etc.
  • Devices: It verifies the product’s compatibility with different devices such as printers and scanners, USB port devices, Bluetooth and other media devices.

Without compatibility testing, your app or software may not function the way you have envisioned it or worse, cause problems for the end-users, which could be anything from bugs and accessibility issues to more serious functionality issues.

Testing steps

An efficient compatibility testing should include the following steps:

  • Original software requirements should be considered to identify the scope of different OSs, platforms, minimal hardware configurations, peripherals etc of the expected operating area of the product. Adjustments might be needed to optimize test case numbers versus the desired platform coverage at present.
  • When testing with limited resources, matrix of test cases should be prioritized. Unless certain business reasons demand different types of compatibility testing, test cases related to the biggest segment of end-users should be considered while keeping in mind the market shares of OSs, browsers and hardware platforms.
  • At the start of testing, presence of required testing resources like capable test personnel, OS installation media, hardware platforms and related peripherals have to be ensured. Cloud testing services, capable of providing testing tools and test platforms, can also be engaged, if required.
  • After deciding on the above three areas, compatibility testing progresses almost in the same manner as earlier test stages that occur before it. Bugs are detected, fixed and re-tested to confirm they have been fixed properly without any side effects. Applied software development methodology determines the details of thistest cycle execution.
Download Free E-Book: Automated Testing for Mobility

Conclusion

Compatibility testing is a non-functional testing that’s solely aimed at customer satisfaction and get more customer base. As today’s highly competitive business world emphasizes on delivering quality of products, you just can’t afford to ignore compatibility testing which would ensure that your product performs or operates on different platforms and in various settings as expected.

Mobile Application Functional Testing Tools – Your A-Z Glossary

96% of world population has mobile subscription of some kind. This means a lot of potential customers for businesses. It, thus, does not come as a surprise that all businesses wish to have a mobile interface to reach out to more customers. As a result there is a big demand for quality of applications on mobile devices. And mobile testing teams are on their toes to deliver the best to the consumer because statistics show that nearly 50% consumers will delete an app if they find even a single bug. The problem is that testing mobile applications is not easy. Testers need to find out ways to test apps efficiently and effectively, and the answer is automation. There are various tools that help in freeing up a tester’s time from critical manual testing process. We bring you a list of such tools to help you chose the one that suits your testing case.

Download Free E-Book: 5 Open Source Alternatives to Selenium Testing Tool

Appium

It is a cross-platform mobile automation tool that supports tests in any framework and language. The only thing is that an HTTP request should be created.

USP

  • – It has an easy setup process for running the test
  • – The app code does not need to modified for testing
  • – Any test is suitable to run on either iOS or Android on real devices or emulators.

Pricing – Appium is an open source test automation framework for use with native hybrid and mobile web apps.

Calabash – It is developed and maintained by Xamarin. It is used with Cucumber

USP

  • – It has two separate libraries one for iOS and another for Android which automate testing for native or hybrid mobile apps.
  • – The test cases are written in natural language and then translated to test scripts
  • – It works well with Ruby, Java, .NET, Flex and other programming languages.

Pricing – It is an open source and free testing tool.

eggPlant

The eggPlant functional conducts mobile testing using the iOS Gateway and Android gateway agents to connect directly with the mobile devices. The tester has full control of the devices and emulators.

USP

  • – One script works for all devices and platforms
  • – Unique image-based UI testing approach to test user-experience focused mobile apps
  • – There is no requirement for modification of the app

Pricing – eggPlant packages are available for different uses and cost differs depending on the type of package.

Frank for iOS

It is an iOS-only test framework combining Cucumber and JSON.

USP

  • A statically linked server inside the mobile app under test interprets JSON and uses UISpec for execution.
  • – It does not require app code changes
  • – It is most suited for emulators and web-based apps.

Pricing – It is an open source testing solution

iOS Driver for iOS

iOS Driver utilizes Selenium and the WebDriver API for testing iOS mobile apps.

USP

  • – It runs on emulators, where execution is faster and scalable.
  • – No app source code requires modification and no additional apps are loaded on the device under test.
  • – iOS Driver is designed to run as a Selenium grid node, which improves test speed as it enables parallel GUI testing.

Pricing – It is an open source framework

Keynote

Developed by Dynatrace it is a leader in helping businesses with their mobile application testing

USP

  • – It provides cloud based solution for mobile app quality and performance which results in reduced complexity.
  • – It enables integration with agile development
  • – It helps shorten development cycles with test automation

Pricing – You can get Keynote for manula testing of mobile applications and websites starting $180 per month. Unlimited testing and other facilities are available in Pro Unlimited starting at $500 per month.

KIF for iOS

KIF stands for Keep It Functional. It has been developed for iOS mobile app UI testing.

USP

  • – It utilizes the Accessibility APIs built into iOS in order to simulate real user interactions.
  • – Tests are written in Objective-C, which is already familiar to iOS developers.
  • – It specifically tests only iOS mobile apps.

Pricing – It is an open source framework.

MonkeyTalk

It is simple to use but very powerful tool. It can test anything from simple smoke tests to sophisticated data driven test suites.

USP

  • – It can be used both by the testers and developers.
  • – It has threes components – an IDE that creates test scripts, an Agent which is the test instrumentation library and Scripts that used simple syntax fro execution.
  • – Tests can be data-driven from a spreadsheet using CVS format.

Pricing – It is a free and open source automation tool for android and iOS mobile apps.

NativeDriver

It is created by Google and is an implementation of the WebDriver API that drives the UI of a native application.

USP

  • – Functional testing of web applications on multiple platforms and browsers is possible.
  • – The gap between Web Applications and Native Applications are bridged with the help of webDrivers
  • – It is being developed ad a multi-platform tool.

Pricing – It is an open source testing tool

Ranorex

It is an automated testing tool

USP

  • – It combines simple click and go solutions with hardcore coding
  • – Ranorex Test recorder can be used by non programmers
  • – The steps are well designed and can be used across multiple test cases saving time

Pricing – There are two payment plans for Ranorex – Node locked for euro1,990 and floating for Euro 3490

Robotium for Android

This is developed by Renas Reda and the framework is released under Apache License 2.0. It supports Android features like activities, toasts, menus and context menus.

USP

  • – It is aimed only at automatic gray box testing cases for Android applications including web, native and hybrid mobile applications
  • – It is used on conjunction with TestDroid Recorder where the JavaScript test scripts are created as the tester traverses the UI of the app under test
  • – ExtSolo, a free extension library adds multi-path dragging, auto-scaling for different display resolutions and other abilities.

Pricing – It is an open-source test framework

Selendroid for Android

It is a test automation framework for testing Android native and hybrid applications

USP

  • – Can be used without any app code modification
  • – The framework can interacts simultaneously with multiple devices or device emulators and also supports device hot-swapping.
  • – An inspection component records device UI state for test case creation.

Pricing – It is an open source test framework for testing Android Apps. Selendroid open source project is in active development and has already multiple contributions from different contributors and companies like eBay, Salesforce, Red Hat and Facebook.

Silk Mobile

Silk Mobile from Borland, Micro Focus is a mobile testing solution that ensures consistent user experience and lowers the complexity in testing.

USP

  • – The Silk Mobile testing solution increases the speed of testing for both mobile and web clients irrespective of the skill set of the testing team.
  • – It ensures that the mobile and web applications perform as per expectations
  • – It builds functional test automation that runs reliably across platforms and devices

Pricing – Start with a 30 day free trial version

UI Automator for Android

It is a UI testing framework suitable cross-app functional testing across system and installed apps.

USP

  • – The scripts are written in Javascript
  • – UIAutomator Viewer is used to run and examine test results
  • – User actions can be reproduces and it can access native device buttons too

Pricing – It is an open source test framework for testing Android Apps.

Download Free E-Book: Test Data Management – Key Challenges

The Mobile App Ecosystem is Changing – What You Need to Know ?

Mobile apps are gradually furbishing in the midst of technological advancement aura. And when the world is still in a state of adoption of the immersing apps interfaces, the visionaries are looking deeper for the newfangled mobile apps ecosystem. The Google’s deep link initiative with Android Instant Apps, Apple mini-services application via notification at elementary app level and new swift programming language, Cloud and Internet of Things are some of the examples contributing to this changing mobile app ecosystem. So what actually you need to know about this booming Eco-explosion of app world? Here is the answer:

Download Free Checklist: Mobile Application Testing Goof ups

Why the changes?

Sensibly, we are pretty good in using our mobile apps and love the fact that these are easy to understand and independent of screen sizes; then what the heck are these changes for? Simply because the apps are getting more attention worldwide with an increase in a number of downloads, growth in sizes and the advent of multi-functionalities and features. And, we are yet so far in leveraging the core app experience and sensing the seamless mobile application uses with minimal technical friction and interface resistance. The abundant resources that can empower the mobile app ecosystem and replenish the application environment with latest technology trends and innovation are yet to be integrated. And this is the reason why we are witnessing so many changes happening in the existing mobile app ecosystem.

So what changes we are expecting?

The changes for sure are not in a direction of a complex algorithm that sets the app across the deeper level but instead in a direction that leads to rejuvenation. This allows apps to break the physical store boundaries and scatter all around to creep comfortably into the customer’s life. The wide availability mode will be set around this deconstruction of apps with download optimization and quick response time that fits into the requirement and instant need of users.

As a part of the change, let’s talk about Google’s commendable Android Instant Apps initiative. This enables users to per-use the apps from a link before buying or downloading it from the app stores. This would be really of great help for the one-time applications where users don’t need to download the app on their handsets such as buying entrance tickets, paying for parking etc. These web apps are really creating a fine line in the air where you can launch it from anywhere. Following the changing pedagogy, Apple iOS is also working towards creating a quick access to its iOS applications with smart notification feature. Apple plans to smartly convert notifications into mini-apps and let users float around the widgets quickly and openly. Another thrill in Apple app is ever-shift to Swift programming language that allows developers to create both a mobile app as well as server-side management with an ease of access. This would be a real Eco-change on developers’ part.

Cloud and IoT – The New Wave Technologies

Cloud resources are still to be plow efficiently to yield high results for app industries. In the new environment, it is expected that apps will make full use of Cloud technology. With the cloud support developers will have access to powerful tools, while users will be capable of accessing it from anywhere in faster and easier way than ever before. The hottest trend in the market- Internet of Things is also taking over the app industry. It is expected that around 35 million of devices will be connected to this trillion dollar industry by 2019.

QA & Testing Needs A Facelift Too

Thinking of it, all this sounds pretty convenient. However, with this new app ecosystem in place, enterprises will have to ensure that their testing environment is adaptable to these changes. Thus, QA professionals will now have to upgrade their approach to testing to comply with the compatibility and usability standards of the mobile app ecosystem. They need to perform comprehensive penetration testing, and with the advent of big data environment they need to explore newer ways to test related mobile applications. Enterprise and commercial applications are the major chunk and testing professionals need to focus on usability, security and performance of such trending applications.

New Opportunities for Businesses

Undoubtedly, the new app ecosystem will create exciting growth opportunities for organizations but they need to advance their business processes to exploit this new market. The newer ecosystem will engage more users and dominate the digital interaction in coming years.

Download Free E-Book: Test Data Management – Key Challenges

To wrap up all- the mobile app ecosystem is an ever-changing model that entertains the innovation and both the businesses and end-users need to embrace it to get most out of it. Connect with us for a strategy that gets you ready and sustain well in the marketplace.

Measurement and Metrics in Test Management

We can’t control things which we can’t measure.

When software is under development, testers need tocontinually test and measure its quality and report the status to the concerned people. They also need to evaluate test effectiveness as a guide for improvement. None of these tasks would be possible without measurement and metrics in test management. To meet set expectations in terms of software quality, you simply can’t ignore their importance.

Importance of Measurement and Metrics in testing

With the help of well-established measurements and metrics, a test analyst can clearly track and communicate quality outcomes to the management. Improper establishment of these indicators lead to a purely subjective assessment of the software quality which in turn can develop some major disputes at the end of the SDLC. Some of the common areas where measurement and metrics can be applied are:

  • Schedule of the project
  • Coverage
  • Proposed and actual cost
  • Workload vis-à-vis resource usage
  • Project risk and product risk
  • Inadequacies

Measurement and metrics are simple, easily collectable, easily communicable and only focused on products and processes. These indicators act as advance warning systems that supply information on when to make a pause and look back for any necessary corrective measure.

Metrics management

Key Metrics & how they are calculated

Test metrics help us to measure and subsequently perform the following aspects:

  • Understand the required corrective measures
  • Decide on the subsequent phase of activities
  • Decide whether a procedural or technological change is required

Key test metrics are classified as the following types:

  • Base Metrics: These are obtained from the data by test analyst during test case development and execution.
  • Calculated Metrics: These are obtained from the data collected in base metrics and are generally tracked for reporting purpose.

Proper setting of these metrics help you get a good control of both quality and estimates. The number of defects can be measured and remedial actions can be taken right away. Though Prototype and Agile models are used in testing most projects these days, the Waterfall model still holds good for smaller projects with straightforward and testable requirements in a stable (not dynamic) setting.

Tracking and sharing significant agile metrics greatly help in enlightening the progress as well as setbacks of the development team and in lowering confusion throughout the SDLC. Some key metrics in an agile environment are:

  • Sprint Burndown: It tracks the work completed throughout a sprint.
  • Epic and Version Burndown: These delivery vehicles track the advancement of development over significantly greater bodies of work than sprint Burndown.
  • Velocity: It stands for the average volume of work completed by a scrum team during a sprint.
  • Control Chart: It measures cycle time of issues.
  • Cumulative Flow Diagram: It helps to ensure the consistency of the work flow across the team.

 

Following factors should be considered before identifying correct business and agile metrics:

  • Define the objective for metrics
  • Examine the cost benefit facets of each metrics in accordance with the SDLC
  • Introduce all relevant metrics based on the project requirement

To understand the calculation process of test metrics, the following example of obtaining percentage of “passed test cases” can be taken:

Test cases passed = (No. of test cases passed / No. of total test cases written) x 100

Similarly, other parameters like test cases executed, test cases failed etc can be calculated as well.

Measurement Criteria

Ambiguity should be avoided as much as possible to obtain correct measurement. Following standardized criteria should be considered to attain unambiguous measurement:

  • Existence of a common baseline
  • Measurers should be allowed to use the associated reference concept thus be able to be on same page
  • A point of reference for measurers to substantiate their measurement results

data managment

Key Benefits

Measurement and metrics provide a myriad of benefits in test management. Some of the most important ones are:

  • Improve project planning
  • Help in cost savings by averting defects
  • Help to analyze associated risks in a better manner
  • Improve ROI of test automation
  • Facilitate the team to understand whether the expected quality is achieved
  • Enhance coordination between testing coverage, complexities and risks of the systems

TechArcisInc: A Different Approach to Software Testing

With TechArcis, you can leverage the defined metrics to measure quality, cost, reliability and speed of testing service delivery accurately. This will let you set up a software quality measurement culture across your company. Once your quality measurement processes reach satisfactory maturity levels, test specialists at TechArcis can help you in implementing more relevant metrics dynamically, which would facilitate collection of additional information that would come handy in carrying our further testing improvements.

Are you ready to measure the quality and ROI of your testing efforts?