QATestLab has Finished the Project of “Viewpoint” iOS-application Automated Testing

During the project implementation, the task of QATestLab specialists was to design the  automated testing suite for iOS-application, the main functional of which is photography editing.

Nowadays the market of iOS automation tools is only developing, so correspondingly the choice of automation utilities is not so big. Out of all the tool kit, QATestLAb automated testing engineers have chosen only several utilities, which they considered to be noteworthy:

  • UIAutomation
  • FoneMonkey
  • Cucumber
  • Squish
  • M-Eux

UIAutomation is a free utility for Apple software testing automation. It was included into the XCode4 package. As compared to other utilities, UIAutomation is developing most rapidly. Besides, it is the only utility that allows testing not only on the device itself, but on the emulator as well. Furthermore, UIAutomation doesn’t need additional libraries integration into XCode project.

Advantages:

  • no necessity in third-party libraries import into the project;
  • rapid development.

Disadvantages:

  • the application should be built in Debug (Build For Testing) mode.

FoneMonkey is a free utility shared as a set of libraries that are imported into the project, so that the application is built together with them.

Advantages:

  • autotest can be recorded and fully created on a mobile device without using a computer.

Disadvantages:

  • as a result, a different application is being tested and FoneMonkey libraries can create additional bugs;
  • unstable work.

Cucumber is a free utility shared as a set of libraries that are imported into the project with a computer client. Its special feature is the code created in “human” language.

Advantages:

  • not found.

Disadvantages:

  • the necessity of action formalizing before testing any data;
  • the necessity of third-party libraries import into the project;
  • no possibility of autotest recording.

Squish is a commercial utility with a good IDE and a possibility to record an autotest. Needs library import into the project to exchange data with the computer.

Advantages:

  • multitouch support;
  • several basic languages for autotest creation (Javascript, Python, Perl);
  • availability of Windows version.

Disadvantages:

  • high price;
  • necessity to re-build the project with Squish libraries.

M-Eux is a commercial utility for autotest creation. In order to connect, the client installed on the tested device is used. Both, cable and Wi-Fi connections are available. There is a possibility of test recording so there is no need in Apple Macintosh.

Advantages:

  • applications are tested without being changed;
  • possibility of recording autotests for Windows;
  • possibility of Wi-Fi connection.

Disadvantages:

  • high price;

In order to perform the  automated testing most successfully, QATestLab engineers have chosen UIAutomation utility.

While working on autotest creation, it was decided to split all the tasks into test-cases in the following way: the test is created and run as many times as it is needed. In such a way, code repetition is omitted and the code is deeply structured.

During the project implementation, three log levels were recorded: Debug, Warning and Error.

In case of “Warning” or “Error” messages appearance, the timeline changed its color into a corresponding one and a screenshot with a comment was created.

Unfortunately, automated testing doesn’t involve any utility that would allow picture parsing, that is why some of the picture display correctness tests were omitted.

By the end of the project we have obtained a universal autotest for iPhone and iPad that covered all of the application work stages (accept camera images editing), i.e. image creation, authorization and social network sharing, saving into the collection, image viewing and deleting.

Autotest was checked on the following devices:

  • iPhone 3gs
  • iPhone 4g
  • iPhone 4gs
  • iPad
  • iPad2
Этап разработки автотестов для расшаривания изображения в Tumblr

The stage of autotest development for image sharing in Tumblr

Этап тестирования на iPhone 4G

The stage of testing on iPhone 4G