eQATor testing Java phones all day and all night long Anders - - PowerPoint PPT Presentation

eqator
SMART_READER_LITE
LIVE PREVIEW

eQATor testing Java phones all day and all night long Anders - - PowerPoint PPT Presentation

eQATor testing Java phones all day and all night long Anders Fornander & Nicolas Wettstein JUGS January 27, 2005 1 eQATor I Introduction II Demonstration III Architecture IV Project V Q & A 2


slide-1
SLIDE 1

1

eQATor

eQATor

testing Java    phones all day and all night long

Anders Fornander & Nicolas Wettstein JUGS January 27, 2005

slide-2
SLIDE 2

2

eQATor

I – Introduction II – Demonstration III – Architecture IV – Project V – Q & A

slide-3
SLIDE 3

3

eQATor

Introduction – eQATor Summarized

eQATor is a framework for automated software regression testing and quality monitoring. eQATor has been built for testing of esmertec’s J2ME CLDC products but is a generic framework. eQATor has been implemented through heavy use of

  • pen source tools
slide-4
SLIDE 4

4

eQATor

Introduction – Motivation for eQATor

Customers require it => no mobile-phone customer will accept a not validated Java on their telephone. High frequency of Jbed CLDC releases => development code must be close to production quality all the time. Reduction of production costs => automation is the only valid alternative due to many possible configurations and required regression test-cycle times (manual testing would be too expensive).

slide-5
SLIDE 5

5

eQATor

Introduction – Jbed CLDC

OS Porting Layer VM embedded FastBCC or FastDAC CLDC 1.0 or 1.1 AMS M I D P 2 . MIDlets Jbed CLDC is esmertec‘s Java 2 Platform Micro Edition (J2ME) CLDC technolgy implementation W M A 1 . 1 M M A P I 1 . 1 J T W I 1 . M 3 G 1 . I M P 1 .

slide-6
SLIDE 6

6

eQATor

Introduction – Technology Compatibility Kit (TCK)

A Java Specification Request (JSR) requires a Technology Compatibility Kit (TCK). A TCK is a suite of test cases that determines whether or not a product complies with a particular Java technology specification.

(99%) 17 275 Total: 17 428 104 104 JSR-195 / IMP 1.0 144 160 JSR-184 / M3G 1.0 175 180 JSR-185 / JTWI 1.0 122 122 JSR-135 / MMAPI 1.1 42 49 JSR-205 / WMA 1.1 657 782 JSR-118 / MIDP 2.0 11 471 11 471 JSR-139 / CLDC 1.1 4 560 4 560 JSR-30 / CLDC 1.0 Number Automated: Test Cases: JSR / Technolgy:

slide-7
SLIDE 7

7

eQATor

Introduction – Benchmarks

In addition to the different TCK test suites a set of benchmark tests are performed. All the benchmarks are commercial, i.e. developed by 3rd party vendors and organizations. Different parts of the Jbed CLDC implementation are measured.

Measures basic math operations and method calls Mbooks Measures XML parsing and DOM tree manipulation EEMBC kXML Measures performance of KVM threading capabilities EEMBC parallel Measures PNG image decoding speed EEMBC PNG decode Measures the graphical performance Benchpress Measures the implementation in terms of its applicability for mobile phone games AMark Measures the performance of basic KVM features CaffeineK Description: Benchmark:

slide-8
SLIDE 8

8

eQATor

Introduction – Additional Special Tests

Smoke Testing – A smoke test is a “hello world” midlet that is down-loaded, (compiled), installed, executed, i.e. says hello

  • ver a network socket. This test checks that all functionality

are working needed for running TCK. Distribution Testing – A distribution test is the validation that a generated Jbed CLDC installer.exe contains the correct artifacts (sources, classes, docs, etc.) for that specific release. Size Measurements – Two types of size measurements are performed: executable segment size measurement (data, bss, text) and Java package size measurement (byte code size).

slide-9
SLIDE 9

9

eQATor

Introduction – Test Processes

Code Mgmt System File Dir Sructure Report Data Base (b)

R/D eQATor

(a) Distribution 01:30 Build 00:30 Checkout 00:00 Smoke Test 01:20 TCK 02:00 Benchmark 20:30 Size Measuring 01:25 Reporting 24x7 Result Parsing 24x7 Web Pages

(a) includes distribution tests (b) includes „historical and statistic data“

Developer Checkins Build Per Change 24x7

slide-10
SLIDE 10

10

eQATor

Introduction – Test Data Structure

A perforce number is a clearly defined source code version.

slide-11
SLIDE 11

11

eQATor

Demonstration

slide-12
SLIDE 12

12

eQATor

The scheduler is responsible for the distribution and execution of tasks on the client cluster. It Must takes into account:

  • Task interdependencies
  • Priorities, deadlines
  • Easy scalability

The scheduler should try to Optimize the client load, i.e. minimize each client’s idle time.

Checkout1 Build Smoke Test T2 T1 TCK T2 T1 Benchmark Checkout2

Architecture – Scheduling/Distribution

slide-13
SLIDE 13

13

eQATor

Architecture – Components/Deployment

MySQL Samba Apache Python CGI scripts Python Windows XP Cygwin Python Python Java DevSim Jbed Build Chain Distribution Scripts TCKs (JavaTest) Benchmarks

slide-14
SLIDE 14

14

eQATor

Project – Team and Milestones

Project team: 3 engineers (full-time) 1 student (3 months internship) 1 project manager (part-time) Project milestones: start March 2004 v1.0 in production July 2004 v2.0 in production October 2004

(improved web interface, more detailed information)

Size of current production environment: 12 PC clients (eQATor clients) 4 Linux Servers (DB, Web, Scheduler, Monitor)

slide-15
SLIDE 15

15

eQATor

Questions & Answers

slide-16
SLIDE 16

16

eQATor

List of URLs

Jbed CLDC - www.esmertec.com/solutions/mobile_multimedia J2ME - java.sun.com/j2me JSRs - www.jcp.org/en/jsr/all TCK - www.jcp.org/en/resources/tdk STAF - staf.sourceforge.net/index.php Python - www.python.org Apache - www.apache.org MySQL - www.mysql.com

slide-17
SLIDE 17

17

eQATor

J2ME Technologies –

Connected Limited Device Configuration (CLDC) The Connected Limited Device Configuration (CLDC) defines the base set of application programming interfaces and a virtual machine for resource-constrained devices like mobile phones, pagers, and mainstream personal digital assistants. When coupled with a profile such as the Mobile Information Device Profile (MIDP), it provides a solid Java platform for developing applications to run on devices with limited memory, processing power, and graphical capabilities.

slide-18
SLIDE 18

18

eQATor

J2ME Technologies –

Mobile Information Device Profile (MIDP)

The The Mobile Information Device Profile (MIDP) is a key element of the Java 2 Platform, Mobile Edition (J2ME). When combined with the Connected Limited Device Configuration (CLDC), MIDP provides a standard Java runtime environment for today's most popular mobile information devices, such as cell phones and mainstream personal digital assistants (PDAs). MIDP provides: user interface capabilities (optimized for the small display size, varied input methods, and other native features of modern mobile devices), extensive connectivity (HTTP, HTTPS, datagrams, sockets, server sockets, and serial port), multimedia and game functionality, and secure

  • ver-the-air-provisioning capability.
slide-19
SLIDE 19

19

eQATor

J2ME Technologies –

Wireless Messaging API (WMA) The Wireless Messaging API (WMA) is an optional package for the Java 2 Platform, Mobile Edition (J2ME) that provides platform-independent access to wireless communication resources like Short Message Service (SMS). Currently WMA can be used on top of CLDC and MIDP.

slide-20
SLIDE 20

20

eQATor

J2ME Technologies –

Mobile Media API (MMAPI)

The Mobile Media API (MMAPI) extends the functionality of the J2ME platform by providing audio, video and other time- based multimedia support to resource-constrained devices. As a simple and lightweight optional package, it allows Java developers to gain access to native multimedia services available on a given device.

slide-21
SLIDE 21

21

eQATor

J2ME Technologies –

Java Technology for Wireless Industry (JTWI)

The Java Technology for the Wireless Industry (JTWI) specification defines the industry-standard platform for the next generation of Java technology-enabled mobile phones. JTWI specifies the technologies that must be included in all JTWI-compliant devices, to minimize API fragmentation and broaden the substantial base of applications already developed for mobile phones.

slide-22
SLIDE 22

22

eQATor

J2ME Technologies –

Mobile 3D Graphics (M3G) The Mobile 3D Graphics specifies a lightweight, interactive 3D graphics API, which sits alongside J2ME and MIDP as an

  • ptional package. The API is targeted at CLDC class devices

that typically have very little processing power and memory, and no hardware support for 3D graphics or floating point

  • math. However, the API scales also up to higher-end devices

featuring a color display, a DSP, a floating point unit, or even specialized 3D graphics hardware.

slide-23
SLIDE 23

23

eQATor

J2ME Technologies –

Information Module Profile (IMP)

When combined with the CLDC, the Information Module Profile (IMP) provides a Java 2 Platform, Mobile Edition (J2ME) application environment for networked embedded devices that do not have rich graphical display capabilities,

  • r whose resources are limited in other ways: emergency call

boxes, parking meters, wireless modules in home alarm systems, industrial metering devices, and the like.