1
MOBILE & UBIQUITOUS COMPUTING
Name: Rathnayake R.M.C.M
Admission No: MS14904592
2
1). MonkeyTalk Test Script & Test Outputs
22:59:39.170: Started Script Playback
22:59:39.171: Script Valide.mt RunWith Data.csv
22:59:39.186: Started Script Playback
22:59:39.187: Label myTitle Verify Login
22:59:39.934: Vars * Define Username Password
22:59:39.935: Debug * Print aaaa
22:59:39.937: aaaa
22:59:39.939: Debug * Print User
22:59:39.940: User
22:59:39.941: Input username enterText aaaa
22:59:40.538: Input password enterText User
22:59:41.242: Device * Get VarCpu cpu
22:59:42.216: OK - 18%
22:59:42.220: Device * Get VarBat battery
22:59:42.841: OK - 50%
22:59:42.844: Device * Get VarMem memory
22:59:43.415: OK - 59%
22:59:43.417: Button LOGIN tap
22:59:44.005: Label logout_txt Verify "Welcome, aaaa!" %thinktime=5000
22:59:49.118: Button LOGOUT tap %thinktime=5000
22:59:54.293: Completed Script Playback - OK
3
22:59:54.297: Script Valide.mt RunWith Data.csv
22:59:54.327: Started Script Playback
22:59:54.332: Label myTitle Verify Login
22:59:55.510: Vars * Define Username Password
22:59:55.513: Debug * Print aaaaa
22:59:55.518: aaaaa
22:59:55.523: Debug * Print User
22:59:55.528: User
22:59:55.531: Input username enterText aaaaa
22:59:56.100: Input password enterText User
22:59:56.730: Device * Get VarCpu cpu
22:59:57.693: OK - 2%
22:59:57.699: Device * Get VarBat battery
22:59:58.262: OK - 50%
22:59:58.266: Device * Get VarMem memory
22:59:58.842: OK - 59%
22:59:58.847: Button LOGIN tap
22:59:59.455: Label logout_txt Verify "Welcome, aaaaa!" %thinktime=5000
23:00:04.577: Button LOGOUT tap %thinktime=5000
23:00:09.666: Completed Script Playback - OK
23:00:09.671: Script Valide.mt RunWith Data.csv
23:00:09.689: Started Script Playback
23:00:09.693: Label myTitle Verify Login
4
23:00:10.797: Vars * Define Username Password
23:00:10.802: Debug * Print aaaaaa
23:00:10.805: aaaaaa
23:00:10.808: Debug * Print User
23:00:10.812: User
23:00:10.815: Input username enterText aaaaaa
23:00:11.364: Input password enterText User
23:00:12.040: Device * Get VarCpu cpu
23:00:12.962: OK - 36%
23:00:12.965: Device * Get VarBat battery
23:00:13.538: OK - 50%
23:00:13.544: Device * Get VarMem memory
23:00:14.120: OK - 59%
23:00:14.124: Button LOGIN tap
23:00:14.708: Label logout_txt Verify "Welcome, aaaaaa!" %thinktime=5000
23:00:19.807: Button LOGOUT tap %thinktime=5000
23:00:24.884: Completed Script Playback - OK
23:00:24.890: Script Valide.mt RunWith Data.csv
23:00:24.907: Started Script Playback
23:00:24.911: Label myTitle Verify Login
23:00:25.933: Vars * Define Username Password
23:00:25.937: Debug * Print aaaaaaa
23:00:25.940: aaaaaaa
5
23:00:25.943: Debug * Print User
23:00:25.946: User
23:00:25.948: Input username enterText aaaaaaa
23:00:26.560: Input password enterText User
23:00:27.172: Device * Get VarCpu cpu
23:00:28.142: OK - 13%
23:00:28.145: Device * Get VarBat battery
23:00:28.689: OK - 50%
23:00:28.692: Device * Get VarMem memory
23:00:29.270: OK - 59%
23:00:29.273: Button LOGIN tap
23:00:29.867: Label logout_txt Verify "Welcome, aaaaaaa!" %thinktime=5000
23:00:34.956: Button LOGOUT tap %thinktime=5000
23:00:40.039: Completed Script Playback - OK
23:00:40.044: Script Valide.mt RunWith Data.csv
23:00:40.061: Started Script Playback
23:00:40.064: Label myTitle Verify Login
23:00:41.207: Vars * Define Username Password
23:00:41.212: Debug * Print aaaaaaa
23:00:41.217: aaaaaaa
23:00:41.220: Debug * Print User
23:00:41.223: User
6
23:00:41.227: Input username enterText aaaaaaa
23:00:41.781: Input password enterText User
23:00:42.400: Device * Get VarCpu cpu
23:00:43.362: OK - 12%
23:00:43.365: Device * Get VarBat battery
23:00:43.910: OK - 50%
23:00:43.913: Device * Get VarMem memory
23:00:44.496: OK - 59%
23:00:44.498: Button LOGIN tap
23:00:45.097: Label logout_txt Verify "Welcome, aaaaaaa!" %thinktime=5000
23:00:50.213: Button LOGOUT tap %thinktime=5000
23:00:55.296: Completed Script Playback - OK
23:00:55.299: Script Valide.mt RunWith Data.csv
23:00:55.314: Started Script Playback
23:00:55.318: Label myTitle Verify Login
23:00:56.382: Vars * Define Username Password
23:00:56.385: Debug * Print aaaaaaaa
23:00:56.388: aaaaaaaa
23:00:56.390: Debug * Print User
23:00:56.393: User
23:00:56.397: Input username enterText aaaaaaaa
23:00:56.965: Input password enterText User
7
23:00:57.542: Device * Get VarCpu cpu
23:00:58.571: OK - 7%
23:00:58.575: Device * Get VarBat battery
23:00:59.155: OK - 50%
23:00:59.158: Device * Get VarMem memory
23:00:59.732: OK - 59%
23:00:59.735: Button LOGIN tap
23:01:00.320: Label logout_txt Verify "Welcome, aaaaaaaa!" %thinktime=5000
23:01:05.426: Button LOGOUT tap %thinktime=5000
23:01:10.505: Completed Script Playback - OK
23:01:10.512: Script Valide.mt RunWith Data.csv
23:01:10.545: Started Script Playback
23:01:10.549: Label myTitle Verify Login
23:01:11.684: Vars * Define Username Password
23:01:11.692: Debug * Print aaaaaaaaa
23:01:11.695: aaaaaaaaa
23:01:11.698: Debug * Print User
23:01:11.702: User
23:01:11.705: Input username enterText aaaaaaaaa
23:01:12.271: Input password enterText User
23:01:12.854: Device * Get VarCpu cpu
23:01:13.882: OK - 17%
23:01:13.885: Device * Get VarBat battery
8
23:01:14.471: OK - 50%
23:01:14.477: Device * Get VarMem memory
23:01:15.061: OK - 59%
23:01:15.064: Button LOGIN tap
23:01:15.640: Label logout_txt Verify "Welcome, aaaaaaaaa!" %thinktime=5000
23:01:20.776: Button LOGOUT tap %thinktime=5000
23:01:25.906: Completed Script Playback - OK
23:01:25.909: Script Valide.mt RunWith Data.csv
23:01:25.927: Started Script Playback
23:01:25.930: Label myTitle Verify Login
23:01:26.947: Vars * Define Username Password
23:01:26.952: Debug * Print aaaaaaaaaa
23:01:26.956: aaaaaaaaaa
23:01:26.959: Debug * Print User
23:01:26.962: User
23:01:26.965: Input username enterText aaaaaaaaaa
23:01:27.566: Input password enterText User
23:01:28.206: Device * Get VarCpu cpu
23:01:29.166: OK - 5%
23:01:29.171: Device * Get VarBat battery
23:01:29.759: OK - 50%
23:01:29.762: Device * Get VarMem memory
23:01:30.330: OK - 59%
9
23:01:30.333: Button LOGIN tap
23:01:30.895: Label logout_txt Verify "Welcome, aaaaaaaaaa!" %thinktime=5000
23:01:36.027: Button LOGOUT tap %thinktime=5000
23:01:41.099: Completed Script Playback - OK
23:01:41.102: Script Valide.mt RunWith Data.csv
23:01:41.118: Started Script Playback
23:01:41.123: Label myTitle Verify Login
23:01:42.103: Vars * Define Username Password
23:01:42.108: Debug * Print aaaaaaaaaaa
23:01:42.111: aaaaaaaaaaa
23:01:42.114: Debug * Print User
23:01:42.117: User
23:01:42.120: Input username enterText aaaaaaaaaaa
23:01:42.776: Input password enterText User
23:01:43.342: Device * Get VarCpu cpu
23:01:44.275: OK - 11%
23:01:44.279: Device * Get VarBat battery
23:01:44.849: OK - 50%
23:01:44.853: Device * Get VarMem memory
23:01:45.423: OK - 59%
23:01:45.426: Button LOGIN tap
23:01:46.008: Label logout_txt Verify "Welcome, aaaaaaaaaaa!" %thinktime=5000
23:01:51.097: Button LOGOUT tap %thinktime=5000
10
23:01:56.200: Completed Script Playback - OK
23:01:56.203: Script Valide.mt RunWith Data.csv
23:01:56.222: Started Script Playback
23:01:56.227: Label myTitle Verify Login
23:01:57.105: Vars * Define Username Password
23:01:57.111: Debug * Print aaaaaaaaaaaa
23:01:57.114: aaaaaaaaaaaa
23:01:57.117: Debug * Print User
23:01:57.120: User
23:01:57.123: Input username enterText aaaaaaaaaaaa
23:01:57.712: Input password enterText User
23:01:58.306: Device * Get VarCpu cpu
23:01:59.243: OK - 38%
23:01:59.246: Device * Get VarBat battery
23:01:59.818: OK - 50%
23:01:59.821: Device * Get VarMem memory
23:02:00.380: OK - 59%
23:02:00.383: Button LOGIN tap
23:02:00.959: Label logout_txt Verify "Welcome, aaaaaaaaaaaa!" %thinktime=5000
23:02:06.050: Button LOGOUT tap %thinktime=5000
23:02:11.156: Completed Script Playback - OK
23:02:11.160: Script Valide.mt RunWith Data.csv
23:02:11.184: Started Script Playback
11
23:02:11.187: Label myTitle Verify Login
23:02:12.115: Vars * Define Username Password
23:02:12.118: Debug * Print aaaaaaaaaaaaa
23:02:12.121: aaaaaaaaaaaaa
23:02:12.124: Debug * Print User
23:02:12.127: User
23:02:12.130: Input username enterText aaaaaaaaaaaaa
23:02:12.692: Input password enterText User
23:02:13.291: Device * Get VarCpu cpu
23:02:14.287: OK - 2%
23:02:14.289: Device * Get VarBat battery
23:02:14.831: OK - 50%
23:02:14.836: Device * Get VarMem memory
23:02:15.414: OK - 59%
23:02:15.417: Button LOGIN tap
23:02:16.006: Label logout_txt Verify "Welcome, aaaaaaaaaaaaa!" %thinktime=5000
23:02:21.100: Button LOGOUT tap %thinktime=5000
23:02:26.187: Completed Script Playback - OK
23:02:26.190: Script Valide.mt RunWith Data.csv
23:02:26.211: Started Script Playback
23:02:26.214: Label myTitle Verify Login
23:02:27.012: Vars * Define Username Password
23:02:27.017: Debug * Print aaaaaaaaaaaaaa
12
23:02:27.020: aaaaaaaaaaaaaa
23:02:27.024: Debug * Print User
23:02:27.029: User
23:02:27.033: Input username enterText aaaaaaaaaaaaaa
23:02:27.644: Input password enterText User
23:02:28.233: Device * Get VarCpu cpu
23:02:29.203: OK - 72%
23:02:29.208: Device * Get VarBat battery
23:02:29.795: OK - 50%
23:02:29.805: Device * Get VarMem memory
23:02:30.425: OK - 59%
23:02:30.428: Button LOGIN tap
23:02:31.009: Label logout_txt Verify "Welcome, aaaaaaaaaaaaaa!" %thinktime=5000
23:02:36.117: Button LOGOUT tap %thinktime=5000
23:02:41.256: Completed Script Playback - OK
23:02:41.260: Script Valide.mt RunWith Data.csv
23:02:41.275: Started Script Playback
23:02:41.280: Label myTitle Verify Login
23:02:42.251: Vars * Define Username Password
23:02:42.254: Debug * Print aaaaaaaaaaaaaaa
23:02:42.256: aaaaaaaaaaaaaaa
23:02:42.259: Debug * Print User
13
23:02:42.262: User
23:02:42.265: Input username enterText aaaaaaaaaaaaaaa
23:02:42.873: Input password enterText User
23:02:43.467: Device * Get VarCpu cpu
23:02:44.442: OK - 0%
23:02:44.445: Device * Get VarBat battery
23:02:44.984: OK - 50%
23:02:44.987: Device * Get VarMem memory
23:02:45.583: OK - 59%
23:02:45.587: Button LOGIN tap
23:02:46.187: Label logout_txt Verify "Welcome, aaaaaaaaaaaaaaa!" %thinktime=5000
23:02:51.293: Button LOGOUT tap %thinktime=5000
23:02:56.375: Completed Script Playback - OK
23:02:56.379: Script Invalide.mt RunWith Invalide.csv
23:02:56.401: Started Script Playback
23:02:56.406: Vars * Define Username Password
23:02:56.411: Debug * Print a
23:02:56.414: a
23:02:56.418: Debug * Print User
23:02:56.421: User
23:02:56.425: Input username enterText a
23:02:56.976: Input password enterText User
14
23:02:57.624: Label myError get Var
23:02:58.253: Button LOGIN tap
23:02:58.837: Debug * Print Var
23:02:58.840: Var
23:02:58.843: Label myError Verify "Sorry! Username must be 4 or more characters."
23:02:59.538: Completed Script Playback - OK
23:02:59.549: Script Invalide.mt RunWith Invalide.csv
23:02:59.571: Started Script Playback
23:02:59.575: Vars * Define Username Password
23:02:59.577: Debug * Print aa
23:02:59.580: aa
23:02:59.582: Debug * Print User
23:02:59.585: User
23:02:59.587: Input username enterText aa
23:03:00.184: Input password enterText User
23:03:00.802: Label myError get Var
23:03:01.443: OK - Sorry! Username must be 4 or more characters.
23:03:01.446: Button LOGIN tap
23:03:02.052: Debug * Print Var
23:03:02.055: Var
23:03:02.058: Label myError Verify "Sorry! Username must be 4 or more characters."
15
23:03:02.694: Completed Script Playback - OK
23:03:02.702: Script Invalide.mt RunWith Invalide.csv
23:03:02.719: Started Script Playback
23:03:02.723: Vars * Define Username Password
23:03:02.726: Debug * Print aaa
23:03:02.728: aaa
23:03:02.731: Debug * Print User
23:03:02.734: User
23:03:02.738: Input username enterText aaa
23:03:03.308: Input password enterText User
23:03:03.934: Label myError get Var
23:03:04.592: OK - Sorry! Username must be 4 or more characters.
23:03:04.595: Button LOGIN tap
23:03:05.177: Debug * Print Var
23:03:05.180: Var
23:03:05.182: Label myError Verify "Sorry! Username must be 4 or more characters."
23:03:05.809: Completed Script Playback - OK
23:03:05.812: Completed Script Playback - OK 3 data records processed
16
2). Test Data
Username Password
aaaa User
aaaaa User
aaaaaa User
aaaaaaa User
aaaaaaa User
aaaaaaaa User
aaaaaaaaa User
aaaaaaaaaa User
aaaaaaaaaaa User
aaaaaaaaaaaa User
aaaaaaaaaaaaa User
aaaaaaaaaaaaaa User
aaaaaaaaaaaaaaa User
3). What are the best practices you follow in mobile test automation.
Test early and Often
Create matrix of platforms, devices ,Network connections(2G,3G,Wi-Fi ,LTE,
etc),carriers for testing(Including different OS versions)
Test for performance and security
Keep target audience in mind while testing.
Tool selection should take into account emulator and real device support across platforms
Ensure that you have access to all physical devices on which the application run (Not just
emulators or simulators)
Consider the additional time and/or personnel needed to test all the application's modules
on all the devices.
Have an explicit list of devices on which QA will be performed. The users will be
informed that even though the application might work on other devices, the company will
not be held responsible for unexpected issues.
Implement a mixed strategy when we have a scenario where we do not have all the
possible devices and therefore cannot do exhaustive testing on each: Use an emulator on
the early stages of app development. Keep adding real devices into the testing later down
the development cycle. This way certify that all the requirements and goals are being
covered.
17
4). User guide on how to execute your automation test bed
Start MonkeyTalk
Open the existing project
Select required test suite
Link emulator with MonkeyTalk
Run as a Test Suite
Results generated
Reports genearated
5). What are the advantages and disadvantages you see during mobile test automation
DISADVANTAGES DURING MOBILE TEST AUTOMATION
Though the automation testing has many advantages, it has its own disadvantages too. Some of
the disadvantages are:
Proficiency is required to write the automation test scripts.
Debugging the test script is major issue. If any error is present in the test script, sometimes it
may lead to deadly consequences.
Test maintenance is costly in case of playback methods. Even though a minor change occurs in
the GUI, the test script has to be rerecorded or replaced by a new test script.
Maintenance of test data files is difficult, if the test script tests more screens.
ADVANTAGES DURING MOBILE TEST AUTOMATION
Reliable: Tests perform precisely the same operations each time they are run, thereby
eliminating human error
Repeatable: You can test how the software reacts under repeated execution of the same
operations.
Programmable: You can program sophisticated tests that bring out hidden information from the
application.
Comprehensive: You can build a suite of tests that covers every feature in your application.
Reusable: You can reuse tests on different versions of an application, even if the user interface
changes.
Better Quality Software: Because you can run more tests in less time with fewer resources
Fast: Automated Tools run tests significantly faster than human users.
Cost Reduction: As the number of resources for regression test are reduced.
18