Part I: Mobile Application Testing: What is new in Rational Test Workbench Eclipse Client v8.6 and why you should care?

I could not have been more excited about the new features and capabilities that have recently been released of the Rational Test Workbench Eclipse client 8.6. The following is my quick recap of what I love about this release and things that you need to watch out for.

In case you are new to the Rational Mobile Test Automation and/or Rational Mobile Test Edition v8.6. Why don’t we take a look the Rational Mobile Test Automation Components first

Mobile Test Automation Components

1. RTW Test authoring Eclipse Client
Installed on the user desktop. You will use the RTW Test authoring IDE to initiate the record and play back of the applications from the desktop browser. It is also used for managing devices and applications under test.

Note: In case you are curious about what the installation looks like. I captured all the screen shots of each step of the Rational Test Workbench Eclipse Client v8.6 Installation and mobile extension.

2. Rational Test Workbench Mobile Client
Installed on the mobile devices(Android and iOS). It’s used on your mobile device to test the mobile applications and also to facilitate interactions with the Rational Test Workbench. RTW Mobile Client manages test recording and playback on mobile devices and emulators.

3. Rational Test Workbench Mobile Web Recorder
Installed on the mobile devices. It lives on the devices under test. In order to record and playback the mobile Web UI browserh tests, you will need to download and install the Rational Test Workbench Mobile Web Recorder.

For the iOS, the Rational Test Workbench Mobile Web Recorder can be downloaded from the Apple Store

For Android, the Rational Test Workbench Mobile Web Recorder is packaged with the Rational Test Workbench Mobile Client

Mobile Test Automation v8.6 new features and capabilities
1. Unified web UI Testing
What is really neat about the latest release of RTW Mobile Test Automation version 8.6 is the ability to reuse the test across the platforms both on the RTW mobile and desktop browser.

Back in version 8.5, we can only record a web tests on the RTW browser on the mobile and play back on the RTW browser on the mobile device ONLY.

In version 8.6, you can now playback your web UI tests that you recorded from the mobile on the desktop browsers. On the other hand, if you used the desktop browser to record your web UI tests, you will be able to replay them on the RTW browser on the mobile device as well. The unified web UI testing is definitely something that testers will be able to reap the benefits right away.

WATCH OUT FOR!!

    1. For the mobile web UI test, DO NOT use the commercial browser to record your test. Due the security restriction from the browser and the mobile device itself. You have to use the RTW browser (web recorder) that IBM provides through the Apple store to record your mobile web UI test. For Android, the RTW Mobile Web Recorder is packaged with the Rational Test Workbench Mobile Client

    2. Your mobile device supported OS version. In version 8.6, iOS we now support iOS 7.1 and for android we support v4.4

Mobile Application Testing: Four Signs That You’re Testing Too Late– And how to Stop

It’s easy to determine that you are testing too late. It is best to recognize the early warning signs and address them before the software quality begins to suffer. Here are four common signs you are testing too late and suggestions for what to do about it.

1. Separating developer and tester
Separating the developer from the tester affects the type of testing that is done because the tester will not have the level of understanding of the application’s internal operation and knowledge of the code as developers do. By separating the developer and tester you compromise your application quality by focusing on only the “black box” testing. With the “black box” testing, testers tends to focus on the usability test without any concern or of plan to deal with the internal operation, logic and the structure of the code itself.

In my observation, most of the organizations that are still following the waterfall methodology tend to lean too much on the “black box” testing which is happening at the system test or the system integration test level. To delivery a high quality application, there needs to be a combination of both “white box” and “black box” testing. The lack of the “white box” testing allows too many critical defects that should have been identified at the unit testing phase of the software development lifecycle to escape into the pre-production/production environment causes project delay and add costs to the overall software development project.

However, on the other hand, by paring the developer with test from the beginning of the project, we will no longer focusing just only the usability test. We will be able to look closely at the internal logic and structure of the code earlier, which helps reduce critical defects escaping into the production environment and minimize the project over all risks in the long run.

Often, test teams and developments are globally distributed, paring the developer with the tester might not be easily accomplished. However, the adoption of the application development platform will allow distributed team members to collaborate in real-time, which make this aspiration feasible.

2. Too much focus on the front-end User Interface (UI) Testing
Mobile architecture has a multi-tier architecture. The test coverage is heavily focused on the UI application front-end. There is not lot of focus on the middle tier and back-end services and protocols in the unit test, factional test and performance. This might be because the process of setting up the test infrastructure to support test execution of the code on mobile device can be time-consuming and costly.

If you find yourself focusing too much on the front-end UI Testing, look for the tools that will allow you to emulate the middle tier and back-end service and protocol using service and protocol virtualization. This will help your test team reduce cost and time on setting up the test infrastructure to support the test execution and setting up a complex environment. Adopt the solution to emulate the middle tier and back-end services and protocols so that the test execution can concentrate on the client tier of the mobile application running on the device itself.

3. Manual UI Testing very little test automation
Manual testing is the most common approach to mobile testing in the industry today. No doubt there are many great advantages to using manual testing. However, manually testing is still the most time-consuming, error-prone and costly technique. In my opinion, we can still use the manual testing as part of the UI testing use cases. However, the test team needs to think about a way to capture the UI test record and use it as part of the sub-sequential and include it as part of the automatic test execution later in the testing lifecycle.

This issue can be easily fixed by leveraging the test management solutions that organize the manual test cases, guide the tester through execution and store the test result. Implementing the testing solution that allows the developers/tester to record the UI interaction of the application and create tests is something that needs to be planned for as well. Once you have your test, then use the Test Management tools to launch the tests and orchestrate the execution of the test on the device automatically. The solution should allow your associated tests as implementations of the test cases and run the test automatically for the test teams.

4. Integrated end-to-end and System Integrated Test is being done later in the software development lifecycle

A red flag is raised, if there is no evidence that the integrated end-to-end system integrated test is being done for the functionality test, regression test and etc. In addition a lack of non-functional and usability testing occurring sufficiently early enough in the lifecycle is also shouldn’t be ignored.

In many organizations, the number one contributing factor that adds cost and creates delay for the test teams is the lack of the capability for them to run their test in the production like environment, the environment that will be available on demand for the test team to run their test whenever they want and how they want it. Furthermore, the complexity of the software and system that we are having to deal with are fully integrated and loaded with tons of dependencies with the various hardware, software and services. Testers are spending a lot of time waiting for the hardware, software and services to be available and accessible so, they can begin their testing efforts.

In order to resolve these testing challenges of testing too late in the software development lifecycle, we need to start adopting service virtualization.

Why wait for the services and software components to become available or accessible, start your testing effort earlier, use stubs and virtual components to model and simulate the real system bahaviour, so you can begin testing. Units that are not yet built can be simulated and tested against early on versus waiting for it to be available and/or accessible. By doing it this way compared to the big bang testing of testing every components all at once, units are introduced into the continuous integration cycle in a prioritized, controlled fashion. Therefore, help mitigate risks through earlier testing, improve quality and reduce defects escaping into the production environment.

Since applications are becoming more complex and highly interconnected with the various systems, processes and infrastructure, there is no doubt that doing any kind of application testing will continue to present challenges for the test team. It is imperative that we keep up with the demand to test, deliver high quality software at a faster pace and be competitive in the market. It is crucial for the test team to adopt a new testing strategy that will allow them to test earlier, test continuously and use technologies to help remove any kind of testing bottlenecks that could compromise the overall software quality.

Unable to obtain a valid license key troubleshooting tips and solution

This post covers problems acquiring the Rational Integration Tester (RIT) license. With the administrator privilege, through the IBM Installation Manager, we were able to successfully import the RTW’s product activation and launched the Rational Integration Tester. However, while trying to launch RIT with the other user that doesn’t have the administrative privilege on the machine. The user was unable to obtain a license and it failed with error “Unable to obtain a valid license key; use Installation Manager (Manager Licenses) to specify the location of a floating license server or to import a product Activation Kit

Environment

  • Window 7 Operating System

  • Rational Integration Tester 8.5.1

Symptom

With the administrator privilege, through the IBM Installation Manager, we were able to successfully import the RTW’s product activation and launched the Rational Integration Tester.

However, when we are trying to launch RIT with the other user that doesn’t have the administrative privilege on the machine, the following error message occurred

[CRRIT8371E] Unable to obtain a valid license key; use Installation Manager (Manager Licenses) to specify the location of a floating license server or to import a product Activation Kit

license-errorRoot cause

  • Environment and/or Operating system’s user policy setup might not allow the read/write access Program Data directory

  • When RIT was launched with a windows user, this user doesn’t have the read and write permission to the C:\users\Program Data directory

Troubleshooting tip and work around

  1. Logging in as the user who is unable to acquire the RIT license, and check and make sure that this user is allowed to read and write to the C:\users\Program Data Directory. Underneath the data directory you will see a directory named IBM.

  2. As a work around, please have the infrastructure administrator manually change the permission to allow the read and write access to this directory as well as IBM sub-directory as well.