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

From MozillaWiki
< B2G‎ | QA‎ | Gaia Test Plan
Jump to navigation Jump to search
 
(24 intermediate revisions by the same user not shown)
Line 26: Line 26:
==== 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 33: Line 35:
==== Specs: ====
==== Specs: ====
* 1.0.1 Implementation is Activesync for Hotmail and IMAP for Gmail/Others
* 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]
* [http://buildingfirefoxos.com/ Building Blocks for any app in Firefox OS]
* [http://buildingfirefoxos.com/ Building Blocks for any app in Firefox OS]
Line 38: Line 43:
* [https://developer.mozilla.org/en-US/docs/WebAPI/Device_Storage_API Device Storage API]
* [https://developer.mozilla.org/en-US/docs/WebAPI/Device_Storage_API Device Storage API]
* [https://wiki.mozilla.org/Gaia Gaia System Specs]
* [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]  
Line 63: Line 72:
==== OS Diagrams ====
==== OS Diagrams ====
* https://github.com/sotaroikeda/firefox-diagrams/wiki/Firefox-Diagrams
* https://github.com/sotaroikeda/firefox-diagrams/wiki/Firefox-Diagrams
==== Meetings ====
* [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 81: Line 96:
=== Mobile Device ===
=== Mobile Device ===
Test devices :  
Test devices :  
* Leo
* Inari
Backup test devices:
* Otoro
* Otoro
* Unagi
* Unagi
Line 95: 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 111: 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 122: 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 137: Line 170:
=== UI ===
=== UI ===
* General  
* General  
** Setup Account Panel
** Setup Account Panel ( https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/setup-cards.js )
*** account/password
*** First time use
*** Email Settings
**** Add
**** Done
*** account/password  
**** name, password, account check
*** manual setup
*** manual setup
** Message View Panel
 
** Message List Panel
** 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
*** Edit View
** Compose View Panel
** Compose Cards ( https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/compose-cards.js )
** Email tab drawer
** Email tab drawer ( https://github.com/mozilla-b2g/gaia/blob/master/apps/email/js/folder-cards.js )
** Email Settings
 
** 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 154: 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 161: 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 173: Line 274:


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


*Physical Conditions  
*Physical Conditions  
Line 192: 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 268: Line 390:


* Help?
* Help?
* Performance


== Usability ==
== Usability ==
*Usability
*Usability
* Accessibility (508 compliance)
* Accessibility (508 compliance)

Latest revision as of 00:04, 24 April 2013

General Information

Area Details
Team:
  • Developers:
  • Designer:
  • QA: Naoki Hirata

Test Plan

Introduction

This test plan is a test plan for testing the email app in the Gaia portion of b2g. This documentation will describe the testing strategy that will be used to validate the quality of the email app. Included are the various resources required to complete the testing.

Design Documentation/Background Research

Listed are the related documentation for testing:

Module Owners

PM 1.0.1 Requirements:

PM 1.1.0 Requirements:

Bugs tracking features:

Email Debugging info:

Specs:

QA Mapping

Module Owners

Automated Testing:

Repositories:

Tips and Tricks for testing:

OS Diagrams

Meetings

Schedule Milestones

Scheduling is based on the milestone listed on the Release Management wiki for B2G Landings:

Features that are required to land are listed here :

Lower priority bugs that may or may not make it into the milestones:

Hardware Requirements

  • A desktop machine capable of running ADB is necessary for testing for getting debug information and flash the device.
  • Mobile devices listed
  • Optional: Build machine to build your own gaia/gecko
  • Optional: Build OS Storage machine to make it easier to find regressions

Mobile Device

Test devices :

  • Leo
  • Inari

Backup test devices:

  • Otoro
  • Unagi

Software Requirements

System Testing

Mobile OS

  • B2G - Firefox OS 18

Accounts

  • See Test Accounts
  • Facebook Contact Import accounts also listed in the above link

Email Servers

  • Hotmail.com
  • Gmail.com
  • Mozilla.com

Strategy

  • Smoke Tests are run daily for sanity check on builds
  • Exploratory Manual
    • Modified Session Based testing around:
      • testing using outline; see Test Outline section
      • Bug fixes
      • Features implemented
  • Regression Testing based on Test Cases
    • Found via bugs
    • based on outline/feature/spec
    • Test cases will be tracked in MozTrap under "gaia" and "email"
  • Automation testing:
  • Performance Testing
    • Perfomatic
    • Note: we do need different specific email performance testing and there is a gap currently

Currently not tested:

  • 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 leo+ blockers that are fixed are verified

Test Outline

Note : This test out line is a brain storm of all possible conditions to consider for testing. The scope of the testing will be narrowed from this list based on design information, risks of breakage, etc.

Positive Smoke/Alpha Tests

UI

Functional

  • Conditional Functionality
    • Protocols:
      • IMAP:
        • 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
          • 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:
        • Send
          • cc, bcc, to
          • verify date/time
          • sent folder copy
          • attachments
          • Cancel/Discard
          • Cancel/Save Draft
          • Home/Invoke multiple draft emails
        • 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
    • Hotmail Server
    • IMap Server
    • Gmail Server
    • Outlook Server

Beta Conditional

  • Virtual Conditions
  • Content Conditions
    • receive html version of email
    • check links in email
    • Phishing issues?
  • Physical Conditions
    • While Charged
    • While not Charged
    • Power Consumption
    • Performance
      • Speed of functions
      • Processor utilization
      • Memory utilization
        • Memory leaks?
        • Memory efficiency
    • Storage
      • Disk
      • Sim
  • Negative (Tests to Break) Tests
    • Security
      • Buffer Overflow (max 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
    • Lock conditions?
    • tooltips or other dialogs?
    • Network Conditions (Should have no impact)
      • WiFi
      • 3G
      • Bluetooth (Devices)
      • 4G?
      • SMS
    • Signal Conflict
      • Browser notifications
        • clicking in search field (form assistant + virtual keyboard)
        • Restart notification (ie. change in certain preferences in preferences panel )
        • Password notification
        • form manager notification
        • password manager
        • popup blocker
        • offline storage
        • geolocation manager respective to content window
      • Battery
        • Battery Low
        • No Battery
      • Calls
        • Incoming Phone Call
      • Other Apps
        • Calendar notification
        • Alarm Clock notification
        • Sleep notification
        • Screensaver / Lock (system)
        • EnergySaver (Fade) (system)
        • Other?
        • Music playing (should not affect)
        • plugins (youtube and other websites with different media types)
        • Extensions ( addons to fennec)
    • Buttons
      • Hard reset
      • Soft reset
      • Turn off phone
      • force quit
      • Other buttons being pressed on the phone (zoom, picture, power )
    • UI State Change
      • Zoom
        • while bringing up Keyboard
        • while dismissing the keyboard
      • Change Orientation
        • while bringing up keyboard
        • while dismissing the keyboard
  • Device/Platform Specific Issues
    • Portrait/Landscape Orientation
    • Camera (should not conflict?)
    • Microphone (Voice commands? Voice Recognition?)
    • Speaker (should not conflict)
    • headset (should not conflict)
    • Vibrate mode (should not conflict)
    • Volume (display conflict? need to test)
    • GPS
    • Print support?
    • Sync
    • Multiapp?
    • physical keyboard
      • visible
      • hidden

(Note : There may be some difference between maemo and android)

  • Localization
    • Double Byte Characters (Japanese, Chinese, Korean)
    • RTL Languages (Arabic/Hebrew)
    • High ASCII characters (Euro)
    • Date Input/Format (Euro/Japanese/Chinese)
    • Time Format (Chinese/Japanese)
    • Dialog check
    • Change of IME on Mobile OS
  • Help?
  • Performance

Usability

  • Usability
  • Accessibility (508 compliance)