B2G/QA/Gaia Test Plan/Email: Difference between revisions

 
(32 intermediate revisions by the same user not shown)
Line 19: Line 19:
=== Design Documentation/Background Research ===
=== Design Documentation/Background Research ===
Listed are the related documentation for testing:<br>
Listed are the related documentation for testing:<br>
==== Module Owners ====
==== Module Owners ====
* [https://wiki.mozilla.org/Modules Modules]  
* [https://wiki.mozilla.org/Modules Modules]  
* [https://docs.google.com/spreadsheet/ccc?key=0AiBigu584YY7dGlNSlY0QzhJb3M5anRBa1gxalV0Y3c#gid=13 B2G - Milestone 5 Plan]
* [https://docs.google.com/spreadsheet/ccc?key=0AiBigu584YY7dGlNSlY0QzhJb3M5anRBa1gxalV0Y3c#gid=13 B2G - Milestone 5 Plan]
 
==== PM 1.0.1 Requirements: ====
PM 1.0.1 Requirements:
* https://docs.google.com/spreadsheet/ccc?key=0Ajt_meMlK3MOdHphdnV2a2RvcU9MZmd3cDlIQnZBMVE#gid=0
* https://docs.google.com/spreadsheet/ccc?key=0Ajt_meMlK3MOdHphdnV2a2RvcU9MZmd3cDlIQnZBMVE#gid=0
PM 1.1.0 Requirements:
==== PM 1.1.0 Requirements: ====
* https://docs.google.com/spreadsheet/ccc?key=0AtVT90hlMtdSdGw5QzNLZDczeWRFZ2JIOWJMUUZzSWc#gid=0
* https://docs.google.com/spreadsheet/ccc?key=0AtVT90hlMtdSdGw5QzNLZDczeWRFZ2JIOWJMUUZzSWc#gid=0
==== Bugs tracking features: ====
* For leo : https://bugzilla.mozilla.org/buglist.cgi?keywords=feature&keywords_type=allwords&list_id=6183586&query_based_on=features%2C%20leo%2B&chfieldto=Now&chfield=%5bBug%20creation%5d&query_format=advanced&component=Gaia%3A%3AE-Mail&product=Boot2Gecko&known_name=features%2C%20leo%2B


==== Email Debugging info: ====
==== Email Debugging info: ====
Line 34: Line 34:


==== Specs: ====
==== Specs: ====
* 1.0.1 Implementation is Activesync for Hotmail and IMAP for Gmail/Others
** [http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol IMAP information]
** [http://en.wikipedia.org/wiki/Exchange_ActiveSync ActiveSync information]
** [https://wiki.mozilla.org/B2G/QA/Gaia_Test_Plan/Email/Differences_in_Protocol Differences in the protocol for B2G]
* [https://www.dropbox.com/sh/8u8nmhvgzkltc7l/A1069183YG/Apps/Email Email Design Specs]
* [https://www.dropbox.com/sh/8u8nmhvgzkltc7l/A1069183YG/Apps/Email Email Design Specs]
* 1.0.1 Implementation is Activesync for Hotmail and IMAP for Gmail/Others
* [https://wiki.mozilla.org/Gaia/CSS_Guidelines#Background CSS Guidelines]
* [http://buildingfirefoxos.com/ Building Blocks for any app in Firefox OS]
* [http://buildingfirefoxos.com/ Building Blocks for any app in Firefox OS]
** Wiki in Gaia System Specs is outdated
* [https://developer.mozilla.org/en-US/docs/WebAPI/Device_Storage_API Device Storage API]
* [https://wiki.mozilla.org/Gaia Gaia System Specs]
==== QA Mapping ====
* [https://docs.google.com/spreadsheet/ccc?key=0AqDJxnTd7VDLdG05cXR1Y01zc2pMeVlHaHlhOElRN3c#gid=0 Testcase Writing Spreadsheet]


==== Module Owners ====
==== Module Owners ====
* [https://wiki.mozilla.org/Modules Modules]  
* [https://wiki.mozilla.org/Modules Modules]  
* [https://docs.google.com/spreadsheet/ccc?key=0AiBigu584YY7dGlNSlY0QzhJb3M5anRBa1gxalV0Y3c#gid=13 B2G - Milestone 5 Plan]
* [https://docs.google.com/spreadsheet/ccc?key=0AiBigu584YY7dGlNSlY0QzhJb3M5anRBa1gxalV0Y3c#gid=13 B2G - Milestone 5 Plan]
<br>
PM 1.0.1 Requirements:
* https://docs.google.com/spreadsheet/ccc?key=0Ajt_meMlK3MOdHphdnV2a2RvcU9MZmd3cDlIQnZBMVE#gid=0
<br>
PM 1.1.0 Requirements:
* https://docs.google.com/spreadsheet/ccc?key=0AtVT90hlMtdSdGw5QzNLZDczeWRFZ2JIOWJMUUZzSWc#gid=0


Automated Testing:
==== Automated Testing: ====
* [https://air.mozilla.org/marionette/ Video on Marionette introduction]
* [https://air.mozilla.org/marionette/ Video on Marionette introduction]
* [https://air.mozilla.org/b2gfirefoxos-front-end-automation-in-python/ Video on Front end automation on b2g using marionette]
* [https://air.mozilla.org/b2gfirefoxos-front-end-automation-in-python/ Video on Front end automation on b2g using marionette]
Line 56: Line 58:
* [https://developer.mozilla.org/en-US/docs/Marionette/Marionette_Python_Tests Documentation on how to write a python test for Marionette]
* [https://developer.mozilla.org/en-US/docs/Marionette/Marionette_Python_Tests Documentation on how to write a python test for Marionette]
* [https://wiki.mozilla.org/Auto-tools/Projects/Marionette/JSON_Protocol JSON Protocol for Marionette]
* [https://wiki.mozilla.org/Auto-tools/Projects/Marionette/JSON_Protocol JSON Protocol for Marionette]
<br>
 
Repositories:
==== Repositories: ====
* [https://hg.mozilla.org/releases/mozilla-b2g18/ mercurial repo of gecko]
* [https://hg.mozilla.org/releases/mozilla-b2g18/ mercurial repo of gecko]
* [https://hg.mozilla.org/integration/gaia/ mercurial repo of gaia]
* [https://hg.mozilla.org/integration/gaia/ mercurial repo of gaia]
Line 63: Line 65:
* [https://hg.mozilla.org/gaia-l10n mercurial repo of l10n translations]
* [https://hg.mozilla.org/gaia-l10n mercurial repo of l10n translations]
* [https://github.com/mozilla-b2g/gaia/tree/master/locales github repo of locales and how to build multilocale Gaia]
* [https://github.com/mozilla-b2g/gaia/tree/master/locales github repo of locales and how to build multilocale Gaia]
<br>
 
Tips and Tricks for testing:
==== Tips and Tricks for testing: ====
* https://wiki.mozilla.org/B2G/QA/Tips_And_Tricks
* https://wiki.mozilla.org/B2G/QA/Tips_And_Tricks
* https://developer.mozilla.org/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler
* https://developer.mozilla.org/en-US/docs/Performance/Profiling_with_the_Built-in_Profiler
<br>
 
OS Diagrams
==== OS Diagrams ====
* https://github.com/sotaroikeda/firefox-diagrams/wiki/Firefox-Diagrams
* https://github.com/sotaroikeda/firefox-diagrams/wiki/Firefox-Diagrams
<br>
 
OS Impacts:
==== Meetings ====
* https://developer.mozilla.org/en-US/docs/WebAPI/Device_Storage_API
* [https://mozqa.etherpad.mozilla.org/b2g-qa-roundtable qa round table meetings schedule]
* [https://mozqa.etherpad.mozilla.org/b2g-standup b2g qa weekly standups]
* [https://etherpad.mozilla.org/gaia-meeting-notes gaia crossfunctional weekly standups]
* [https://etherpad.mozilla.org/b2g-meeting-notes b2g crossfunctional team weekly standups]


=== Schedule Milestones ===
=== Schedule Milestones ===
Line 88: Line 93:
* Mobile devices listed
* Mobile devices listed
* Optional: Build machine to build your own [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites?redirectlocale=en-US&redirectslug=Firefox_OS%2FFirefox_OS_build_prerequisites gaia/gecko]
* Optional: Build machine to build your own [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Firefox_OS_build_prerequisites?redirectlocale=en-US&redirectslug=Firefox_OS%2FFirefox_OS_build_prerequisites gaia/gecko]
 
* Optional: Build OS Storage machine to make it easier to find regressions
=== Mobile Device ===
=== Mobile Device ===
Test devices :  
Test devices :  
* Leo
* Inari
Backup test devices:
* Otoro
* Otoro
* Unagi
* Unagi
Line 97: Line 105:
* [http://developer.android.com/sdk/index.html ADB]
* [http://developer.android.com/sdk/index.html ADB]
* [https://pvtbuilds.mozilla.org/pub/mozilla.org/b2g/nightly/ B2G OS Builds]
* [https://pvtbuilds.mozilla.org/pub/mozilla.org/b2g/nightly/ B2G OS Builds]
* [
* Python 2.6 for Marionette
 
== System Testing ==
== System Testing ==
=== Mobile OS  ===
=== Mobile OS  ===
Line 104: Line 113:
=== Accounts ===
=== Accounts ===
* See [https://intranet.mozilla.org/QA#Test_Accounts Test Accounts]
* See [https://intranet.mozilla.org/QA#Test_Accounts Test Accounts]
* Facebook Contact Import accounts also listed in the above link


=== Email Servers ===
=== Email Servers ===
Line 120: Line 130:
** Found via bugs
** Found via bugs
** based on outline/feature/spec
** based on outline/feature/spec
** Test cases will be tracked in MozTrap under "gaia" and "email"
* Automation testing:
* Automation testing:
** [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests Unit testing] ( this is handled by developers)
** [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Testing/Gaia_unit_tests Unit testing] ( this is handled by developers)
Line 131: Line 142:
** [https://wiki.mozilla.org/B2G/QA/Triage QA Response to Triaged bugs]
** [https://wiki.mozilla.org/B2G/QA/Triage QA Response to Triaged bugs]


== Signoff Criteria ==
Currently not tested:
* All email related leo+ blockers are closed
* Performance against different mobile data types
 
== Test Deliverables ==
* Test Cases for the User Stories before end of feature complete
* Test Runs for each phase of the project
* Smoke test runs on a daily basis
* Automation Tests for future regression testing
 
== Dependencies/Risk ==
* Some Marionette features need to land before certain automation tests can be written.  (ie swiping)
* Test Runs w/ tests on the areas of change can only commence once the features have been complete.
 
== Signoff/Exit Criteria ==
Feature Complete :
* All User Story with leo+ blocking are closed and verified
 
Release:
* All smoke tests and basic functional tests are ran without finding any blockers
* All smoke tests and basic functional tests are ran without finding any blockers
* All leo+ blockers that are fixed are verified
* All leo+ blockers that are fixed are verified
== Test Cases and Results ==
* Test cases will be tracked in MozTrap under "gaia" and "email"


= Test Outline =
= Test Outline =
Line 146: Line 170:
=== UI ===
=== UI ===
* General  
* General  
** Setup Account Panel ( https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/setup-cards.js )
*** First time use
*** Email Settings
**** Add
**** Done
*** account/password
**** name, password, account check
*** manual setup


** Message View Panel ( https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/message-cards.js )
** Message List Panel  ( https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/mail-app.js )
*** Edit View
** Compose Cards ( https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/compose-cards.js )
** Email tab drawer ( https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/folder-cards.js )
** Search Panel
** Contacts (https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/contacts.js)
* Gestures
* Gestures
 
** long tap on email address
* Keyboard Short Cuts
* Keyboard Short Cuts


Line 155: Line 195:
* Input
* Input
** Symbols:
** Symbols:
*** Astricks () {} [] & ^ % $ # @ ! ~ etc.
*** Astricks () {} [] & ^ % $ # @ ! ~ etc.
**** Note: in email address and passwords esp.
** Screen size (making sure that things fit)
** Screen size (making sure that things fit)
* folder names in foreign characters
* Content
** Line Breaking:
*** http://en.wikipedia.org/wiki/Line_breaking_rules_in_East_Asian_languages#Line_breaking_rules_in_Japanese_text_.28Kinsoku_Shori.29


* Conditional Functionality
* Conditional Functionality
Line 162: Line 207:
*** IMAP:
*** IMAP:
**** Send
**** Send
***** cc, bcc, to
****** interaction with contacts
****** verify date/time
***** sent folder copy
***** attachments
***** Cancel/Discard
***** Cancel/Save Draft
***** Home/Invoke multiple draft emails
**** Receive
**** Receive
***** cc, bcc, to
****** interaction with contacts
***** attachments
**** Move mail to another folder
**** Multi Move mail to another folder
**** delete mail
**** multiple delete mail
**** manual refresh
**** search
**** flag
**** multiple flag
**** read/unread
**** multiple read/unread
**** switching folders
**** Account Settings
***** Synchronize time
***** default account (currently busted)
***** Delete account
***** Add account
*** ActiveSync:  
*** ActiveSync:  
**** Send
**** Send
***** cc, bcc, to
***** verify date/time
***** sent folder copy
***** attachments
***** Cancel/Discard
***** Cancel/Save Draft
***** Home/Invoke multiple draft emails
**** Receive
**** Receive
***** cc, bcc, to
***** attachments
**** Move mail to another folder
**** Multi Move mail to another folder
**** delete mail
**** multiple delete mail
**** manual refresh
**** search
**** flag
**** multiple flag
**** read/unread
**** multiple read/unread
**** switching folders
**** Account Settings
***** Synchronize time
***** default account (currently busted)
***** Delete account
***** Add account


* Server  
* Server  
**
** Hotmail Server
** IMap Server
** Gmail Server
** Outlook Server


== Beta Conditional  ==
== Beta Conditional  ==
Line 174: Line 274:


*Content Conditions
*Content Conditions
** receive html version of email
** check links in email
** Phishing issues?


*Physical Conditions  
*Physical Conditions  
Line 193: Line 296:
*** Buffer Overflow (max characters)
*** Buffer Overflow (max characters)
** removal of characters
** removal of characters
** Attachments
*** Uploading more attachment in size than server allows
*** Downloading more attachments than SDcard has space for
** Account Setup:
*** IMAP:
**** invalid account
**** destination unreachable
**** wrong host name
**** wrong port
**** SMTP:
***** invalid account
***** wrong hostname
***** wrong port
*** Activesync:
**** invalid account
**** destination unreachable
**** wrong host name
**** https:// web site address  (correct is m.hotmail.com)


*Race Conditions  
*Race Conditions  
Line 269: Line 390:


* Help?
* Help?
* Performance


== Usability ==
== Usability ==
*Usability
*Usability
* Accessibility (508 compliance)
* Accessibility (508 compliance)
Confirmed users
4,378

edits