Fennec/Features/TabletUI/TestPlan: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 7: Line 7:


===  Description of this Document  ===
===  Description of this Document  ===
This document will cover the testing approach for virtual keyboards on the Tablets
This document will cover the testing approach for virtual keyboards on the Tablets.
This document will not cover the testing approach for smaller handheld device, but may be using most of the same techniques for testing VKB for smaller handheld devices.  There are some notable differences, such as the virtual keyboard is not full screen for landscape view.


=== Related Documents ===
=== Related Documents ===
Line 13: Line 14:


=== Schedule and Milestones ===
=== Schedule and Milestones ===
See [https://wiki.mozilla.org/Fennec/Features/TabletUI Feature Page]


== Resource Requirements ==
== Resource Requirements ==
Line 25: Line 27:


=== System Testing ===
=== System Testing ===
Android OS 2.2 (Phone)
*Android OS 2.2 (Froyo)
Android OS 2.3 (Gingerbread)
*Android OS 2.3 (Gingerbread)
Android OS 2.4 (Honeycomb)
*Android OS 3.1 (Honeycomb)


=== Software ===
=== Software ===
Line 35: Line 37:
=== Feature Lead ===
=== Feature Lead ===
==== Responsibilities ====  
==== Responsibilities ====  
* Testing Device
* Testing Devices
* Training other people in VKBs when asked
* Training other people in VKBs when asked
* Verifying unconfirmed bugs
* triaging bugs
* verifying fixes
=== Training ===
=== Training ===
* none necessary
* none necessary
Line 45: Line 51:
== Features To Be Tested / Test Approach ==
== Features To Be Tested / Test Approach ==
=== New Features Testing ===
=== New Features Testing ===
The VKB has a slightly different behavior on the Tablet platform.  The differences are listed within the bug list and the ui design described in the [https://wiki.mozilla.org/Fennec/Features/TabletUI main feature page]
<br>
The test outline below will show the items to be tested.
=== Regression Testing ===
=== Regression Testing ===


Line 50: Line 60:


== Test Deliverables ==
== Test Deliverables ==
* Bug Reports
* Bug verifications
* Litmus Test cases


== Dependencies/Risks ==
== Dependencies/Risks ==
* Change in theme may alter some of the ways to bring up the keybaord
* VKBs are generally third party, and some crashes may be caused by the interaction between the VKB and Fennec
* VKB bugs are not the same as IME bugs and vice versa; knowing the differences between the two can be hard without a developer looking into it.


== Entrance/Exit Criteria ==
== Entrance/Exit Criteria ==
* The top 3 keyboards, an Asian keyboard (winCE?) and European Keyboard does not have any crashers, hangers, etc.


= Test Outline  =
= Test Outline  =
Line 65: Line 82:


=== UI  ===
=== UI  ===
#General
#General
{{hidden_r
{{hidden_r
Line 73: Line 89:
<small>Note: the home and back buttons are special.  Back button has a history of leading to a lot of graphic defects current</small>
<small>Note: the home and back buttons are special.  Back button has a history of leading to a lot of graphic defects current</small>
|headerstyle=background:#dddddd
|headerstyle=background:#dddddd
}} {{hidden_r
}}
{{hidden_r
|Copy
|Copy
|
|
Line 82: Line 99:
<small>Note: Generally with copying you want to verify that the proper thing is being copied from the selection line.</small>
<small>Note: Generally with copying you want to verify that the proper thing is being copied from the selection line.</small>
|headerstyle=background:#dddddd
|headerstyle=background:#dddddd
}} {{hidden_r
}}
{{hidden_r
|Cut  
|Cut  
|  
|  
Line 92: Line 110:
<small>Note: Generally with cutting you want to verify that the proper thing is being copied from the selection line;<br> there should be no graphic defect when typing (ie no typing occurs, no smudges after cutting, etc)</small>
<small>Note: Generally with cutting you want to verify that the proper thing is being copied from the selection line;<br> there should be no graphic defect when typing (ie no typing occurs, no smudges after cutting, etc)</small>
|headerstyle=background:#dddddd
|headerstyle=background:#dddddd
}} {{hidden_r
}}
{{hidden_r
|Paste  
|Paste  
|  
|  
Line 101: Line 120:
<small>Note: Generally with pasting you want to verify that the proper thing is being pasted into the selection line.  Usually double byte characters (different formats) and high ascii (compound accented characters) have a tendency to be corrupt.</small>
<small>Note: Generally with pasting you want to verify that the proper thing is being pasted into the selection line.  Usually double byte characters (different formats) and high ascii (compound accented characters) have a tendency to be corrupt.</small>
|headerstyle=background:#dddddd
|headerstyle=background:#dddddd
}} {{hidden_r
}}
{{hidden_r
|Highlights  
|Highlights  
|   
|   
Line 113: Line 133:
<small>Note: positioning is important, you may be looking at if the cursor deletes at the proper location, or adds any graphic defects when typing/pasting or removing characters </small>
<small>Note: positioning is important, you may be looking at if the cursor deletes at the proper location, or adds any graphic defects when typing/pasting or removing characters </small>
|headerstyle=background:#dddddd
|headerstyle=background:#dddddd
}} {{hidden_r
}}
{{hidden_r
|Touch Testing
|Touch Testing
|   
|   
Line 128: Line 149:
<small>Note: triple touch or more should not do anything, these are just negative test cases to verify that the single touch/double touches do exactly as they are suppose to do </small>
<small>Note: triple touch or more should not do anything, these are just negative test cases to verify that the single touch/double touches do exactly as they are suppose to do </small>
|headerstyle=background:#dddddd
|headerstyle=background:#dddddd
}} {{hidden_r
}}  
{{hidden_r
|Keyboard Short Cuts
|Keyboard Short Cuts
|   
|   
*[http://support.mozilla.com/en-US/kb/mobile-keyboard-shortcuts support Short Cuts]
*[http://support.mozilla.com/en-US/kb/mobile-keyboard-shortcuts support Short Cuts]
*[https://wiki.mozilla.org/Mobile/Fennec/Cheat_Codes Dev Cheat Codes]
*[https://wiki.mozilla.org/Mobile/Fennec/Cheat_Codes Dev Cheat Codes]
<small>Note: Some keyboard shortcuts do not translate to certain devices due to the lack of certain hardware keys.  Typically control characters should be the most tested as they have a history of causing odd behavior. long tap may cause keys to remain on screen if typing fast in most other portions or dismissing keyboards, fast short typing may cause some issues with text appearing.</small>
|headerstyle=background:#dddddd
|headerstyle=background:#dddddd
<small>Note: Some keyboard shortcuts do not translate to certain devices due to the lack of certain hardware keys.  Typically control characters should be the most tested as they have a history of causing odd behavior.</small>
}}
}}


=== Functional  ===
=== Functional  ===
1. UI Based Functionality
{{hidden_r
|Keyboard Functionality
|
*verify that the keys function accordingly
*special keys&nbsp;:
**White Space
***Space, Enter, Tab Return
**Modifier Keys
***Shift, Caps, Option, Command, Control
**Positional Keys&nbsp;:
***Arrows, Home, End, PageUp/Down
**Symbols:
***Astricks () {} [] &amp; ^&nbsp;% $ # @&nbsp;! ~ etc.
**Other:
***Esc, Delete, Clear
***[https://wiki.mozilla.org/Mobile/Fennec/Cheat_Codes key combos]
***[http://support.mozilla.com/en-US/kb/mobile-keyboard-shortcuts shortcuts]
*Screen size (making sure that things fit)
<small>Note: Generally Menu+VKB typically does not do anything.  There are oddities to watch for such as hitting shift, letting go and then typing multiple characters should only capitalize one character.  Special characters may end up doing something different due to encoding, using web symbols and copy paste, etc.  White spacings may disappear due to copy/paste etc.  It's more or less doing the same testing as the above but looking at the functionality of the keys versus the functionality of the actions.  You can run both tests at the same time provided you observe for these functionalities and the above.</small>
|headerstyle=background:#dddddd
}}


*UI Based Functionality  
2. Conditional Functionality
**verify that the keys function accordingly
{{hidden_r
**special keys&nbsp;:
|Selections/Show/Hide/Drag/Drop Keyboard
***White Space
|
****Space, Enter, Tab Return
*dismiss keyboard  
***Modifier Keys
**click on space above keyboard  
****Shift, Caps, Option, Command, Control
**hit return?  
***Positional Keys&nbsp;:
*start virtual keyboard  
****Arrows, Home, End, PageUp/Down
**click in a text field selection  
***Symbols:
**click in a search field  
****Astricks () {} [] &amp; ^&nbsp;% $ # @&nbsp;! ~ etc.
**click in awesome bar  
***Other:
*selection  
****Esc, Delete, Clear
**drag/drop  
****[https://wiki.mozilla.org/Mobile/Fennec/Cheat_Codes key combos]
**character selection  
****[http://support.mozilla.com/en-US/kb/mobile-keyboard-shortcuts shortcuts]
**multicharacter selection  
**Screen size (making sure that things fit)
**Word selection  
*Conditional Functionality
**multiword selection  
**dismiss keyboard  
**split word selection  
***click on space above keyboard  
***hyphenated  
***hit return?  
***carriage return  
**start virtual keyboard  
***partial character in words
***click in a text field selection  
<small>Note: One path of closing/opening the VKB may not necessarily lead to the same state as another.  Timing can change things, be careful to check for various actions that could cause issues with graphic defects.  Esp with the system back button</small>
***click in a search field  
|headerstyle=background:#dddddd
***click in awesome bar  
}}
**selection  
***drag/drop  
***character selection  
***multicharacter selection  
***Word selection  
***multiword selection  
***split word selection  
****hyphenated  
****carriage return  
****partial character in words


== Beta Conditional  ==
== Beta Conditional  ==
 
{{hidden_r
*Virtual Conditions  
|Virtual Conditions
**click in text box  
|
**double click in text box  
*click in text box  
**click outside of Virtual Keyboard&nbsp;: dismissing keyboard  
*double click in text box  
**scrolling above the on-screen keyboard  
*click outside of Virtual Keyboard&nbsp;: dismissing keyboard  
**Change Cursor Focus  
*scrolling above the on-screen keyboard  
***change focus after composition  
*Change Cursor Focus  
**slide right, slide left [ Panels ]  
**change focus after composition  
**AwesomePage  
*slide right, slide left [ Panels ]  
**Preferences/Feedback/Plugins/etc Panels  
*AwesomePage  
**Context Menus  
*Preferences/Feedback/Plugins/etc Panels  
**Site Menu  
*Context Menus  
**Favorites Panel  
*Site Menu  
**Position/Graphical issues  
*Favorites Panel  
***collapsing before bringing up keyboard/dismissing keyboard  
*Position/Graphical issues  
***scrolling before bringing up keyboard/dismissing keyboard  
**collapsing before bringing up keyboard/dismissing keyboard  
***tapping after dismissing the keyboard should bring the keyboard up  
**scrolling before bringing up keyboard/dismissing keyboard  
*Content Conditions  
**tapping after dismissing the keyboard should bring the keyboard up  
**html4  
|headerstyle=background:#dddddd
**html5  
}}
**asp  
{{hidden_r
*HW keys  
|Content Conditions  
**Back button  
|
**menu button
*html4  
 
*html5  
*Physical Conditions  
*asp  
**While Charged  
|headerstyle=background:#dddddd
**While not Charged  
}}
**Power Consumption  
{{hidden_r
**Performance  
|HW keys  
***Speed of functions  
|
***Processor utilization  
*Back button  
***Memory utilization  
*menu button
****Memory leaks?  
|headerstyle=background:#dddddd
****Memory efficiency  
}}
**Storage  
{{hidden_r
***Disk  
|Physical Conditions
***Sim
|
 
*While Charged  
*Negative (Tests to Break) Tests  
*While not Charged  
**Security  
*Power Consumption  
***Buffer Overflow (max characters)  
*Performance  
**removal of characters
**Speed of functions  
 
**Processor utilization  
*Race Conditions  
**Memory utilization  
**Lock conditions?  
***Memory leaks?  
**tooltips or other dialogs?  
***Memory efficiency  
**Network Conditions (Should have no impact)  
*Storage  
***WiFi  
**Disk  
***3G  
**Sim
***Bluetooth (Devices)  
|headerstyle=background:#dddddd
***4G?  
}}
***SMS  
{{hidden_r
**Signal Conflict  
|Negative (Tests to Break) Tests  
***Browser notifications  
|
****clicking in search field (form assistant + virtual keyboard)  
*Security  
****Restart notification (ie. change in certain preferences in preferences panel )  
**Buffer Overflow (max characters)  
****Password notification  
*removal of characters
****form manager notification  
|headerstyle=background:#dddddd
****password manager  
}}
****popup blocker  
{{hidden_r
****offline storage  
|Race Conditions
****geolocation manager respective to content window  
|
***Battery  
*Lock conditions?  
****Battery Low  
*tooltips or other dialogs?  
****No Battery  
*Network Conditions (Should have no impact)  
***Calls  
**WiFi  
****Incoming Phone Call  
**3G  
***Other Apps  
**Bluetooth (Devices)  
****Calendar notification  
**4G?  
****Alarm Clock notification  
**SMS  
****Sleep notification  
*Signal Conflict  
****Screensaver / Lock (system)  
**Browser notifications  
****EnergySaver (Fade) (system)  
***clicking in search field (form assistant + virtual keyboard)  
****Other?  
***Restart notification (ie. change in certain preferences in preferences panel )  
****Music playing (should not affect)  
***Password notification  
****plugins (youtube and other websites with different media types)  
***form manager notification  
****Extensions ( addons to fennec)  
***password manager  
**Buttons  
***popup blocker  
***Hard reset  
***offline storage  
***Soft reset  
***geolocation manager respective to content window  
***Turn off phone  
**Battery  
***force quit  
***Battery Low  
***Other buttons being pressed on the phone (zoom, picture, power )  
***No Battery  
**UI State Change  
**Calls  
***Zoom  
***Incoming Phone Call  
****while bringing up Keyboard  
**Other Apps  
****while dismissing the keyboard  
***Calendar notification  
***Change Orientation  
***Alarm Clock notification  
****while bringing up keyboard  
***Sleep notification  
****while dismissing the keyboard
***Screensaver / Lock (system)  
 
***EnergySaver (Fade) (system)  
*Device/Platform Specific Issues  
***Other?  
**Portrait/Landscape Orientation  
***Music playing (should not affect)  
**Camera (should not conflict?)
***plugins (youtube and other websites with different media types)  
**Microphone (Voice commands? Voice Recognition?)  
***Extensions ( addons to fennec)  
**Speaker (should not conflict)  
*Buttons  
**headset (should not conflict)  
**Hard reset  
**Vibrate mode (should not conflict)  
**Soft reset  
**Volume (display conflict? need to test)  
**Turn off phone  
**GPS  
**force quit  
**Print support?  
**Other buttons being pressed on the phone (zoom, picture, power )  
**Sync  
*UI State Change  
**Multiapp?  
**Zoom  
**physical keyboard  
***while bringing up Keyboard  
***visible  
***while dismissing the keyboard  
***hidden
**Change Orientation  
 
***while bringing up keyboard  
*Localization  
***while dismissing the keyboard
**Double Byte Characters (Japanese, Chinese, Korean)  
|headerstyle=background:#dddddd
**RTL Languages (Arabic/Hebrew)  
}}
**High ASCII characters (Euro)  
{{hidden_r
**Date Input/Format (Euro/Japanese/Chinese)  
|Device/Platform Specific Issues
**Time Format (Chinese/Japanese)  
|
**Dialog check  
*Portrait/Landscape Orientation  
**Change of IME on Mobile OS
*Camera/scanner VKBs
 
*Microphone (Voice commands? Voice Recognition?)  
*Help?
*Speaker (should not conflict)  
**context sensitive help?
*headset (should not conflict)  
*Vibrate mode (should not conflict)  
*Volume (display conflict? need to test)  
*GPS  
*Print support?  
*Sync  
*Multiapp?  
*physical keyboard  
**visible  
**hidden
|headerstyle=background:#dddddd
}}
{{hidden_r
|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
|headerstyle=background:#dddddd
}}
{{hidden_r
|Help
|
*context sensitive help?
|headerstyle=background:#dddddd
}}


== Usability  ==
== Usability  ==
 
{{hidden_r
*Usability  
|Usability  
**Keyboard Real Estate  
|
**scrolling away?  
*Keyboard Real Estate  
**jumping to another field?  
*scrolling away?  
**Encryption
*jumping to another field?  
*Accessibility (508 compliance)  
*Encryption
**Voice Commands?
*Keyboard size?
*Fullscreen/Halfscreen?
*Workflow?
|headerstyle=background:#dddddd
}}
{{hidden_r
|Accessibility (508 compliance)  
|
*Voice Commands?
*Scanner/VKB?
|headerstyle=background:#dddddd
}}

Latest revision as of 00:58, 1 October 2011

Test Plan

Introduction

Design Documentation/Background Research

The purpose of the virtual keyboard is to provide an interface to fennec for people to type in various languages when a hardware keyboard is closed or not available to the device.

Description of this Document

This document will cover the testing approach for virtual keyboards on the Tablets. This document will not cover the testing approach for smaller handheld device, but may be using most of the same techniques for testing VKB for smaller handheld devices. There are some notable differences, such as the virtual keyboard is not full screen for landscape view.

Related Documents

See Virtual Keyboard for Android Test Plan

Schedule and Milestones

See Feature Page

Resource Requirements

Hardware

Test devices: Handhelds for comparison:

  • Motorola Droid 2
  • HTC Thunderbolt

Tablets:

  • HTC Flyer
  • Samsung

System Testing

  • Android OS 2.2 (Froyo)
  • Android OS 2.3 (Gingerbread)
  • Android OS 3.1 (Honeycomb)

Software

Variety of VKB/IMEs  : see...

Staffing

Feature Lead

Responsibilities

  • Testing Devices
  • Training other people in VKBs when asked
  • Verifying unconfirmed bugs
  • triaging bugs
  • verifying fixes

Training

  • none necessary

Note:

  1. need to know how to install VKBs
  2. need to know how the VKB works

Features To Be Tested / Test Approach

New Features Testing

The VKB has a slightly different behavior on the Tablet platform. The differences are listed within the bug list and the ui design described in the main feature page
The test outline below will show the items to be tested.

Regression Testing

Features Not To Be Tested

Test Deliverables

  • Bug Reports
  • Bug verifications
  • Litmus Test cases

Dependencies/Risks

  • Change in theme may alter some of the ways to bring up the keybaord
  • VKBs are generally third party, and some crashes may be caused by the interaction between the VKB and Fennec
  • VKB bugs are not the same as IME bugs and vice versa; knowing the differences between the two can be hard without a developer looking into it.

Entrance/Exit Criteria

  • The top 3 keyboards, an Asian keyboard (winCE?) and European Keyboard does not have any crashers, hangers, etc.

Test Outline

Note :

  1. 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.
  2. When testing, each item has to be checked, for performance, visual impact (ie graphic defects), race conditions, locking, etc. Some things will be called out to have specific instructions to check for, however the testing should not be limited to only the called out item.

Positive Smoke/Alpha Tests

UI

  1. General

Functional

1. UI Based Functionality

2. Conditional Functionality

Beta Conditional

Usability