B2G/QA/WebAPI Test Plan: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 23: Line 23:


== Strategy ==
== Strategy ==
Functional test strategy will vary between APIs based largely on how dependent they are on actual device hardware and whether API effects can be verified via automation. Broadly, testing will be divided between continuous integration-driven isolated API tests and test web apps to manipulate APIs directly on-device.
Functional test strategy will vary between APIs based largely on how dependent they are on actual device hardware and whether API effects can be verified via automation. Broadly, testing will be divided between automation executed in continuous integration, and test apps designed to manipulate APIs directly on-device.


=== CI-driven API Testing ===
=== CI-driven Automation ===
B2G continuous integration will offer two options: [https://developer.mozilla.org/en/Mochitest mochitest-plain] and a new [[Auto-tools/Projects/Marionette|Marionette]]-based JS harness.  
B2G continuous integration will offer two options: [https://developer.mozilla.org/en/Mochitest mochitest-plain] and a new [[Auto-tools/Projects/Marionette|Marionette]]-based JS harness.  


Line 32: Line 32:
Tests written against mochitest-plain can run in the standard mozilla-central [https://tbpl.mozilla.org/ Tinderbox] test environment and anywhere else mochitests are typically run, as well as against the B2G codebase. Mochitest will give wider coverage, but will not be able to use the emulator to set up device-related fixtures and is thus significantly more limited.
Tests written against mochitest-plain can run in the standard mozilla-central [https://tbpl.mozilla.org/ Tinderbox] test environment and anywhere else mochitests are typically run, as well as against the B2G codebase. Mochitest will give wider coverage, but will not be able to use the emulator to set up device-related fixtures and is thus significantly more limited.


=== Test Web Apps ===
=== Test Apps ===
Some APIs have effects than cannot be verified through unattended automation. One example would be whether a microphone is open and receiving sound. Another example would be whether the phone is actually vibrating in response to an API call.
Some APIs have effects than cannot be verified through unattended automation. One example would be whether a microphone is open and receiving sound. Another example would be whether the phone is actually vibrating in response to an API call.


Line 40: Line 40:


It is still undetermined whether these apps will be implemented as web pages or installable apps. Apps would be closer to how a developer will mostly use these APIs. Pages don't require being preloaded onto the phone before testing can occur; they can just be navigated via onboard browser.
It is still undetermined whether these apps will be implemented as web pages or installable apps. Apps would be closer to how a developer will mostly use these APIs. Pages don't require being preloaded onto the phone before testing can occur; they can just be navigated via onboard browser.
== API Sub-Plan List ==
{| class="fullwidth-table"
|-
| style="width:20%" | '''API'''
| style="width:65%" | '''Description'''
| style="width:15%" | '''Status'''
|-
| [[/Screen Orientation|Screen Orientation]]
| Get notification when screen orientation changes as well as control which screen orientation a page/app wants.
| Planning
|-
| [[/WebTelephony|WebTelephony]]
| Allow placing and answering phone calls as well as build in-call UI.
| Not Started
|-
| [[/Vibration|Vibration]]
| Control device vibration for things like haptic feedback in games. Not intended to solve things like vibration for notification.
| Not Started
|-
| [[/WebSMS|WebSMS]]
| Send/receive SMS messages as well as manage messages stored on device. 
| Not Started
|-
| [[/Settings|Settings]]
| Set system-wide configurations that are saved permanently on the device.
| Not Started
|-
| [[/Resource Lock|Resource Lock]]
| Prevent resources from being turned off, for example screen dimming, WiFi turning off, CPU going into sleep mode etc.
| Not Started
|-
| [[/Mobile Connection|Mobile Connection]]
| Expose signal strength, operator, etc for GSM and other mobile connections. This does not cover WiFi.
| Not Started
|-
| [[/WiFi Info|Wifi Info]]
| Enumerate available WiFi networks, get signal strength and name of currently connected network, etc.
| Not Started
|-
| [[/Contacts|Contacts]]
| Add/Read/Modify the device contacts address book.
| Not Started
|-
| [[/Battery Status|Battery Status]]
| Information about battery charge level and if device is plugged in.
| Not Started
|}
''This list is far from complete. More APIs will be added once we finalize the plan format.
canmove, Confirmed users
2,041

edits

Navigation menu