Александр Качур - "android и meego: автоматизация тестовых...
Post on 11-Nov-2014
1.365 Views
Preview:
DESCRIPTION
TRANSCRIPT
Android и MeeGo: автоматизация тестовых сценариев
Александр КачурEPAM Systems
MeeGo history 2
o February 2010 by Intel and Nokia in a joint press conference
o 26 May 2010 Meego 1.0 released
o 28 October 2010 Meego 1.1 released
o 24 February 2011 Meego 1.99 released
o 19 May 2011 Meego 1.2 released
o 21 June 2011 Nokia announced its first MeeGo/Harmattan
smartphone device Nokia N9
o September 2011 Nokia N9 released. MeeGo merges with LiMo
and becomes Tizen
MeeGo tools 3
o Testplanner – tool for writing and executing test plans
o Testrunner-lite – tool that executes tests on real device.
o Testrunner – GUI front end for testrunner-lite.
o Tdriver – automation test API for Qt applications.
Testrunner 4
TDriver 5
Testability Driver is a testing tool open sourced by Nokia.
Android problem 6
Android tools 7
o ADB – android debug bridge
o ddmlib
o Robotium
o Android Emulator
o Logcat - system log messages
o Junit/TestNG – unit testing lib
Android instrumentation 8
MeeGo and Android host based testing architectures
9
MeeGo and Android testing features 10
Android MeeGo
Execution on real device Not possible to interact without PC
+
System interaction DDMS bash
Application interaction Instrumentation TDriver
Test plan execution - Testrunner/testrunner-lite
Semi-automated testing - +
Verify images - +
LanguagesPython(monkey-
runner)Java
Ruby(TDriver), C++
Unit testing JUnit Test::Unit, MiniTestMonkey testing + +
Reporting
No out-of-box solution. Several open-
source projects to generate junit report.
Testrunner/testrunner-lite (QA reports format)
TDiver (tons of formats including junit report format)
MeeGo testing fails when 11
o You are writing app without QT
o Your app doesn’t have TDriver support
o You are trying to run app inside emulator on workstation with non-Intel hardware
Android testing fails when 12
o You don’t have key for already packed app (but you have a chance to resign it)
o You are not familiar with Java
o You need to run tests remotely:• Hardcoded “localhost” in ddmlib• Hardcoded “localhost” in emulator (port
forwarding rule is required)
MeeGo test flow 13
o Start test case (testrunner) – dev machine
o Call TDriver test (via SSH) – SUT
o Retrieve results (via SSH)
o Generate report
14
MeeGo demo test
Android test flow 15
o Start test case (IDE/Java) – dev machine
o Call Instrumentation test (via adb) – SUT
o Retrieve results (via adb)
o Generate report
16
Android demo test
Summary 17
o MeeGo testing fails if you don't have a real device or Intel hardware.
o Android doesn't provide out-of-box solution for host based automated testing but it can be easily implemented.
o With significant differences in tools and languages there is similar design in Android and MeeGo automation test frameworks.
18
Thank you!
Alexander Kachuralexander.kachur@gmail.com
top related