B2G/QA/WebAPI Test Plan/WebPayment: Difference between revisions

From MozillaWiki
< B2G‎ | QA‎ | WebAPI Test Plan
Jump to navigation Jump to search
(Created page with "=B2G WebAPI Test Plan Template= == Summary == {| class="fullwidth-table" |- | style="width:28%" | '''Lead''' | [mailto:nobody@example.com John Doe] (irc: johndoe) |- | '''C...")
 
 
(79 intermediate revisions by the same user not shown)
Line 1: Line 1:
=B2G WebAPI Test Plan Template=
= WebPayment =


== Summary ==
== Summary ==
Line 5: Line 5:
  |-
  |-
  | style="width:28%" | '''Lead'''
  | style="width:28%" | '''Lead'''
  | [mailto:nobody@example.com John Doe] (irc: johndoe)
  | [mailto:jsmith@mozilla.com Jason Smith] (irc: jsmith)
|-
| '''Contributors'''
| TBD
  |-
  |-
  | '''API Description'''
  | '''API Description'''
  | Insert a description here
  | Allows for monetary payments for a virtual good
  |-
  |-
  | ''' API Developer'''
  | ''' API Developer'''
  | [mailto:nobody@example.com John Doe]
  | [mailto:ferjmoreno@gmail.com Fernando Jimenez Moreno]
  |-
  |-
  | '''API Project Page'''
  | '''API Project Page'''
  | [[WebAPI/Some Project|Some Project]]
  | [[WebAPI/WebPayment|WebPayment]]
  |-
  |-
  | '''API Tracking Bugs'''
  | '''API Tracking Bugs'''
  | Put bug|links to the tracking bugs here
  | [https://bugzilla.mozilla.org/show_bug.cgi?id=767818 Bug 767818]
  |-
  |-
  | '''API Status'''
  | '''API Status'''
  | Put current API delivery status here
  | Landed
  |-
  |-
  |}
  |}


== Scope ==
== Overview ==
A short section should be added here that describes the testing scope of this plan: both what is and is not included, broadly.
 
This document will cover testing the web payment API that tests the API itself and the trustworthy UI used on device. Other portions of payment testing such as identity integration, marketplace integration, etc shall be covered in different docs. Therefore, the testing is broken into two areas here:
 
* API and JWT testing to ensure the JS API handles general valid and invalid input cases with the right success/error callbacks
* End-to-End functional testing with mozPay and trustworthy UI isolating marketplace bits out - Ensure trustworthy UI use cases work as expected


== Strategy ==
== Edge Cases ==
Explain here how to test the API in question (emulator, device-agnostic CI tests, on-device applications, or a combination).


In the likely case of a combination, discuss how tests will be split between options.
* First vs. second page of trusted context
* Multiple JWT requests - same vs. different payment providers
* Web activities firing during trusted UI flow (e.g. phone call)
* No network connection
* Temporary vs. permanent exit of trusted UI context
* Returning to an existing trusted UI context from lockscreen, task switcher, etc
* Trusted UI context in the task manager
* Canceling purchases
* Multiple trusted UI contexts running
* Exit to task switcher, lockscreen, etc
* Background pages & payments
* Invalid JWT values for client-side validation
* Keyboard use during trusted UI context


== API ==
== Signoff Criteria ==
Describe the API here. Give a short summary, what the API does, and any considerations or preconditions for using it.


=== Related Prefs ===
* All basecamp blockers are closed
If user prefs can turn the API on or off or otherwise modify its operation, describe them here.
* All smoke tests and basic functional tests are ran without finding any basecamp blockers


=== [http://mxr.mozilla.org/mozilla-central/source/nsISomeInterface.idl nsISomeInterface] : nsISomeParent ===
== Test Case Management ==
==== Attributes ====
* <tt>readonly DOMString someAttribute</tt><br>Values can be foo, bar, baz, bam


* <tt>readonly DOMString anotherAttribute</tt><br>More info about attribute
* Test cases shall be tracked in MozTrap tagged with "gaia" and "payments"


==== Methods ====
== Infrastructure ==
* <tt>boolean someMethod(in DOMString param)</tt>


* <tt>void anotherMethod()</tt>
* A mock payment provider shall be used for testing the payment API and trustworthy UI - [https://github.com/ferjm/mockpayprovider Mock Payment Provider]
* A payments test case repository shall be used for tracking test cases - [https://github.com/ferjm/Payment-tests Payment Tests]


==== Events ====
== Automation ==
* <tt>onsomeevent</tt>


== Tests ==
'''Tracking bug:''' [https://bugzilla.mozilla.org/show_bug.cgi?id=777023 bug 777023]
=== Marionette/JS ===
==== Test Type 1 ====
* Test 1
* Test 2


==== Test Type 2 ====
* Zac Campbell is looking into this - primarily aiming to target front-end automation in Marionette in python
* Test 1
* Test 2


=== mochitest-plain===
== Test Cases ==
==== Test Type 1 ====
* Test 1
* Test 2


==== Test Type 2 ====
Test cases for this feature can be found [https://moztrap.mozilla.org/manage/cases/?filter-suite=183 here].
* Test 1
* Test 2


=== Test App Design ===
== References ==
Describe application functionality here


----
* [https://docs.google.com/spreadsheet/ccc?key=0AiZoGR-iOAlUdDZFdjREckFkb3dkSWl0Y0lIRmp2d0E#gid=0 Initial Test Pass on 11/9 & 11/12]
<small>This page is based on the [[B2G/QA/WebAPI Test Plan/Template|WebAPI Test Plan Template]]</small>

Latest revision as of 02:12, 16 November 2012

WebPayment

Summary

Lead Jason Smith (irc: jsmith)
API Description Allows for monetary payments for a virtual good
API Developer Fernando Jimenez Moreno
API Project Page WebPayment
API Tracking Bugs Bug 767818
API Status Landed

Overview

This document will cover testing the web payment API that tests the API itself and the trustworthy UI used on device. Other portions of payment testing such as identity integration, marketplace integration, etc shall be covered in different docs. Therefore, the testing is broken into two areas here:

  • API and JWT testing to ensure the JS API handles general valid and invalid input cases with the right success/error callbacks
  • End-to-End functional testing with mozPay and trustworthy UI isolating marketplace bits out - Ensure trustworthy UI use cases work as expected

Edge Cases

  • First vs. second page of trusted context
  • Multiple JWT requests - same vs. different payment providers
  • Web activities firing during trusted UI flow (e.g. phone call)
  • No network connection
  • Temporary vs. permanent exit of trusted UI context
  • Returning to an existing trusted UI context from lockscreen, task switcher, etc
  • Trusted UI context in the task manager
  • Canceling purchases
  • Multiple trusted UI contexts running
  • Exit to task switcher, lockscreen, etc
  • Background pages & payments
  • Invalid JWT values for client-side validation
  • Keyboard use during trusted UI context

Signoff Criteria

  • All basecamp blockers are closed
  • All smoke tests and basic functional tests are ran without finding any basecamp blockers

Test Case Management

  • Test cases shall be tracked in MozTrap tagged with "gaia" and "payments"

Infrastructure

  • A mock payment provider shall be used for testing the payment API and trustworthy UI - Mock Payment Provider
  • A payments test case repository shall be used for tracking test cases - Payment Tests

Automation

Tracking bug: bug 777023

  • Zac Campbell is looking into this - primarily aiming to target front-end automation in Marionette in python

Test Cases

Test cases for this feature can be found here.

References