Fennec/Features/TabletUI/TestPlan: Difference between revisions

 
(23 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
 
<br> {{hidden_r
|Keyboard Menu  
|Keyboard Menu  
|
|
* hardware menu button used in various portions of the application
* hardware menu button used in various portions of the application
<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 79: Line 96:
* copy more than one character, see what's in the clipboard  
* copy more than one character, see what's in the clipboard  
* copy all characters, see what's in the clipboard  
* copy all characters, see what's in the clipboard  
* copy high ascii/double byte characters to see if there's any corruption in characters when pasting
<small>Note: Generally with copying you want to verify that the proper thing is being copied from the selection line.</small>
|headerstyle=background:#dddddd
}}
{{hidden_r
|Cut
|
* cut one character, see what's in the clipboard
* cut more than one character, see what's in the clipboard
* cut all characters, see what's in the clipboard
** hit delete after cutting all characters, and typing
* cut high ascii/double byte characters to see if there's any corruption in characters when pasting
<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
}}
{{hidden_r
|Paste
|
* From the same application, generally after cutting or copying, paste will help see what's in the clipboard
* From another Application
**copy from another application and pasting
**cutting from another application and pasting
<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
}}
{{hidden_r
|Highlights
*select one character and pan
**select more than one character and pan
**select all characters and pan
**do the above type selections and use copy
**do the above type of selections and use cut
*cursor insertions
** select using the cursor versus shift arrows
<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
**Cut
|Touch Testing
***cut one character, see what's in the clipboard
***cut more than one character, see what's in the clipboard
***cut all characters, see what's in the clipboard
****hit delete after cutting all characters, and typing
**Paste
***generally after cutting or copying, paste will help see what's in the clipboard
***copy from another application and pasting
***cutting from another application and pasting
**Highlights
***select one character and pan
***select more than one character and pan
***select all characters and pan
***do the above type selections and use copy
***do the above type of selections and use cut
**cursor insertions
*Single Touch  
*Single Touch  
**Long Touch  
**Long Touch  
Line 108: Line 147:
**Three keys pressed&nbsp;: depends on IME and key  
**Three keys pressed&nbsp;: depends on IME and key  
**four keys pressed&nbsp;: depends on IME and key  
**four keys pressed&nbsp;: depends on IME and key  
*Keyboard Short Cuts
<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
}}
{{hidden_r
|Keyboard 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]
<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
}}


=== 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
}}
Confirmed users
4,378

edits