В последнее время Android стал самой быстрорастущей мобильной платформой, вытеснив с первой позиции морально устаревший Symbian. Nokia же, получив обратную связь от пользователей своей мобильной ОС Maemo, решила объединить усилия с Intel в разработке совместной ОС, которая получила название MeeGo.
Являясь операционными системами разрабатываемыми для схожих сегментов рынка, целевыми устройствами для них выступают смартфоны, планшеты, телевизоры, а также автомобили оснащенные бортовым компьютером. Помимо этого факта их объединяет и то, что рассматриваемые ОС базируются на Linux, хотя и в разной степени.Так у Android на Linux основано только ядро, в то время как MeeGo позиционирует себя как полноценный «Linux в кармане».
Благодаря описанным особенностям появилась идея создания доклада, целью которого является вводный обзор по автоматизированному тестированию для каждой платформы. В предлагаемом докладе будут описаны общие архитектурные решения построения фреймворка для автоматизированного тестирования и рассмотрены программные средства доступные для этих целей в Android и Meego.
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Александр Качур - "Android и MeeGo: автоматизация тестовых сценариев"
1. Android и MeeGo: автоматизация
тестовых сценариев
Александр Качур
EPAM Systems
2. 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
3. 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.
7. 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
10. MeeGo and Android testing features 10
Android MeeGo
Not possible to interact
Execution on real device +
without PC
System interaction DDMS bash
Application interaction Instrumentation TDriver
Test plan execution - Testrunner/testrunner-lite
Semi-automated testing - +
Verify images - +
Python(monkey-
Languages runner) Ruby(TDriver), C++
Java
Unit testing JUnit Test::Unit, MiniTest
Monkey testing + +
No out-of-box Testrunner/testrunner-lite (QA
solution. Several open- reports format)
Reporting
source projects to TDiver (tons of formats including
generate junit report. junit report format)
11. 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
12. 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)
13. 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
15. 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
17. 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. 18
Thank you!
Alexander Kachur
alexander.kachur@gmail.com