Testing of a Mobile Business Application

OData support
Dr. Szikora Béla
Department of Electronics Technology

In my thesis I wanted to point out the importance of testing a product's life cycle. I presented the parts of software testing. Including: unit testing, functional testing, integration testing, scenario testing, and other non-functional testing, security testing, performance testing. Then I compared the dynamic and static testing. I reviewed the JUnit testing and functional testing of mobile platforms. Then I introduced an Android JUnit testing solution with Easymock/Powermock framework, with which i have detailed the process of the test cases creation. I pointed out why it is important to use this technology on this platform. I have detailed the notions of the stub and the mock, then I presented a few simple,typical examples of the mocking with the framework. I introduced the main steps of static methods, final classes and methods, private methods, and the new objects mocking. The another important theme was the automation of the functional tests on iOS and Android platforms. I demonstrated the different aspects of functional test design: "white box" and "black box" , and I detailed the equivalence partitioning. I presented the test automation on the Android platform with the Robotium framework. I pointed out that which are the most difficult tests to be implemented in the library. I showed two different technologies with an application testing. This application is the Field Agent Assistant, that support the work of experts in any field. I wrote the JUnit tests to a specific library, which is used in the application. My goal was to cover the most important methods. It was approximately 40-50% range method coverage reported. I planed the functional test with black box design, so I got four complex test cases. Then I implemented the tests. Finally I introduced some options on the tests integration into Maven server and into Jenkins server. They have plugins for this solution, which are presented by me. The Maven has the Android Maven Plugin, the Jenkins has the Andorid Emulator Plugin. To summarize, the Easymock/Powermock framework is very expressive, the JUnit tests can be covered in 95%. I fulfilled the desire 40% goal. The Robotium is easy to use, but it has defect on the UI checking. So I had to use the screenshot method of the framework, and I had to check this pictures. The other defect was the indexing of the components, so it might be a good idea to implement a new method, that is capable of indexing all of the components. I prefer the Maven plugin at the integration, because it can be supported the tests executing on devices.


Please sign in to download the files of this thesis.