Tizen Compliance Test (TCT) Hojun Jaygarl (Samsung Electronics), Cathy Shen (Intel)
Contents Tizen Compliance Program Native TCT Web TCT 2
Tizen Compliance Program
Tizen Compliance Program Key components of the Tizen Compliance Program: Tizen Compliance Specification (TC S) Defining compliant device require ments Tizen Compliance Tests (TCT) Testing subsets of TCS requirem ents such as API signature and b asic behavior Test result Reference Implementation (source.tizen.org) Source code to the Tizen platform Compensating TCS and TCT to g uide the behavior of compliant im plementation TCS is a set of requirements for devices and applications to ensure that they work together smoothly. TCT is a part of the Tizen compliance process designed to verify mobile device implementation conformance to requirements in TCS. Reference implementation compensates TCS and TCT to guide the behavior of compliant implementation. 4
Tizen Compliance Program Flow 1. Download TCS from tizen.org Website and familiarize yourself wi th the requirements Device vendors TCS 2. Prepare the OEM device 3. Download and Execute TCT TCT Auto Test TCT Manual Test 4. Device vendor submits TCT results 5. TA informs the requestor (device vendor) of the result (approved or rejected) Tizen Association * This process is not fixed yet. 5
6 Tizen Compliance Specification Categories
TCT Objective TCT verifies conformance of TCS requirements All mandatory SW and HW features should pass a compliance test If a device provides optional HW features, all relevant SW features should pass a compliance test Objective Uniform application development environment Consistent customer experience for applications Differentiated but compatible platform among multiple device manufacturers 7
Auto Test and Manual Test Tizen Compliance Specif ication TCT Manual Test Tizen Compliance Test Wi-Fi Direct pairing TCT Auto Test unit tests Test results Result set Test execution Auto Test - To provide compatibility of APIs Signature tests, Platform API tests, Platform data model, Platform AppControls Platform privilege, Platform resources Manual Test - To test APIs and functions with manual input e.g. sensors, Wi-Fi, BT, NFC, audio quality - To test UI results e.g. button, rotation Test harness 8
Compliance Test for Optional Features Configuration must describe the supporting features of the device The Tizen Store controls downloading only the properly functioning applications based on the device configuration file If optional HW is supported, relevant API should be provided and covered by the compliance test Device O X Optional feature test criteria Configuration O X Compliance Test Coverage Fail for Complian ce Test Feature is restrict ed (Applications using rele vant features are filtere d from the Tizen Store by configuration) Non relevant 9
Native TCT
Native TCT Overview Native TCT automatically tests native APIs and its behavior by running native test apps Native TCT consists of the following components FtApp: native application that loads and executes test suites Test Suite: FtApp loadable dynamic-link library,.so with the specific format of a configuration file,.conf. TCT native test suites use GTest as a test framework. TCT Manager: a GUI tool to deploy test suites from host to target, manage crashes during test execution and generate reports of the test result. 11
12 Native TCT Workflow
Native TCT Package FtApp GTest Library SDB Test Suites Tizen TCT Eclipse Run Tizen TCT 13
Installation Host PC @ 64bit or @32bit, Ubuntu 12.04 or 12.10, Target Device, USB connection (host PC -> target device) Download and decompress package file, Launch /installed_path/eclipse Set (or switch) workspace path to /installed_path/cts Set workspace Click OK 14
Create Plan [New Plan] menu Write plan name Select run mode Finish 15
Select Test 1. Edit the plan by selecting test project name(s). 2. Only selected items in the table are tested. Save 3. Save the plan when the editing is done. Select items to be tested 16
Configure Run 1. Select configuration. 2. Set the SDB path and model name. Save 3. Save the configuration. 4. Run the test. Set model name Set SDB Path Configuration 17
Run Test All test cases are automated (GTest is applied). TCT handles any problems occurring during the test. Test status table Test status is updated in real time. Test log window 18
Test Result (1/2) Report (test result) is generated automatically when the test is done. Test result The report contains total, passed, failed, and nonexecuted test cases in table and graph form. Test result, status, elapsed time, and log for each test project is available. Detailed messages are displayed for each failed test case. 19
Test Result (2/2) Detailed Result for each test suite 20
FtApp Execution FtApp can be executed without the Test Manager (the Eclipse IDE). It can be used as a test runner for your own test cases. 21
Native TCT Test Cases Areas covered Signature: all Tizen native APIs are available Native API: all Tizen native public APIs work correctly App Control: data is delivered correctly between apps Privileges: privileged APIs are correctly allowed and denied for apps Device capabilities: optional features supported by the platform and device work correctly 22
Native Verifier App Tizen Application for Checking Tizen device behavior Manually 1. Select TestCase 2. Check Behavior 3. Verifying 23
Native Verifier Test Cases Test Categories Multimedia Codec Test App Control Test HW Requirement Test Sensor Test Platform Resource Test Others 24
Statistics Types Unit TC: Verify behavior of all public APIs supported by the Tizen native framework. Integration TC: Verify behavior of basic combinations of APIs based on use case scenarios. Compliance TC: Verify compliance specifications in TCS. Manual TC Types # of TCs Statistics Not fixed. Unit TCs 11740 Integration TCs 1025 Compliance TCs 589 Manual TCs 171 Total TCs 13525 25
Web TCT
Web TCT Overview Web TCT is a set of tools and test cases to test web requirements defined in Tizen Compliance Specification TCT-manager is GUI tool to run Web test cases TCT-shell is lightweight console tool to automatically run Web test cases and debug test case failure TCT-behavior tool is used to test behavior of hardware and software features in interactive mode Web Test Suite covers Tizen Web API, Tizen Web Runtime Core, Web UI Framework and Device Capability Features User Guide, Installation Scripts 27
Web TCT Workflow HOST TCT-manager* TCT-shell* Test Suites SDB upload result Testkit-stub results.xml Target Test Suite TC TC TC TC Auto TC Execution TCT-behavior* results.xml TC TC TC TC Manual TC Execution 28
Web TCT Packages BoM Documentation Installation scripts TCT-manager install.sh Documentation Installation scripts TCT-manager* TCT-shell* Web TCT suites TCT-shell TCT-behavior Testkitlite* SDB Web TCT Suites Testkit SDB TCT-behavior* Testkit-stub * With dependencies 29
Web TCT Architecture Local Repository Host TestPkg TestPkg TestPkg tests.xml Common API testkit-stub Device TestPkg User Input tct-manager tct-shell testkit-lite Com- Module SDB JSON Native testing stub WebServer Web Launcher tests.xml Web-Widget Runtime Native -Case Runner Web-Case Runner 30
Installation Platform Prerequisites Host PC: @ 64bit or @32bit, Ubuntu 12.04 or 12.10, Browser (Googlechrome or Firefox are preferred), network capability Target Device (Lunchbox, M0 or other Tizen Devices) USB connection (host PC -> target device) Installation is just easy by install.sh On host side, set up SDB, test suite, dependencies and TCT test tools On target device, set up embedded web server (http directory, websocket, CGI), test media, test runner, behavior test tool 31
TCT-shell Console tool for Web TCT test 32
33 TCT-manager Test Plan
34 TCT-manager Execution
35 Test Report (1/2)
36 Test Report (2/2)
Debugging To debug failed or non-executed cases: 1. Get the caseid of the failed case from the report page. 2. Execute $tct-shell --test package --id caseid. 37
TCT-behavior Test the behavior of hardware and software features in interactive mode Home page Video playback 38
Web TCT Test Cases Web API Tests W3C/HTML5, Supplementary, Device API Web Runtime Tests Package Management, Runtime & UI, Security & Privacy, Widget Web UI Framework Tests Web Widgets, Events, Effects, Animations Device Capability Tests Mandatory and Optional Hardware Capability, Unsupported Features TCT Behavior Tests Hardware Feature, Media Streaming, Networking, Location, USB, Sensors etc. 39
Web TCT Test Case Statistics Total TCs Auto TCs Manual TCs Web API Tests 9300 8600 700 Web Runtime Tests 500 0 500 Web UI Framework Tests 849 849 0 Device Capability Tests 28 28 0 TCT Behavior Tests 24 0 24 TCs are not fixed, and Manual TCs are under optimization 40