Confirmed users
4,378
edits
(→UI) |
|||
(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 ( | *Android OS 2.2 (Froyo) | ||
Android OS 2.3 (Gingerbread) | *Android OS 2.3 (Gingerbread) | ||
Android OS | *Android OS 3.1 (Honeycomb) | ||
=== Software === | === Software === | ||
Line 35: | Line 37: | ||
=== Feature Lead === | === Feature Lead === | ||
==== Responsibilities ==== | ==== Responsibilities ==== | ||
* Testing | * 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 | |||
{{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 | |||
|Touch Testing | |||
| | |||
*Single Touch | *Single Touch | ||
**Long Touch | **Long Touch | ||
Line 108: | Line 147: | ||
**Three keys pressed : depends on IME and key | **Three keys pressed : depends on IME and key | ||
**four keys pressed : depends on IME and key | **four keys pressed : depends on IME and key | ||
* | <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 : | |||
**White Space | |||
***Space, Enter, Tab Return | |||
**Modifier Keys | |||
***Shift, Caps, Option, Command, Control | |||
**Positional Keys : | |||
***Arrows, Home, End, PageUp/Down | |||
**Symbols: | |||
***Astricks () {} [] & ^ % $ # @ ! ~ 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 | |||
}} | |||
2. Conditional Functionality | |||
{{hidden_r | |||
|Selections/Show/Hide/Drag/Drop Keyboard | |||
| | |||
*dismiss keyboard | |||
**click on space above keyboard | |||
**hit return? | |||
*start virtual keyboard | |||
**click in a text field selection | |||
**click in a search field | |||
**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 | |||
<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> | |||
|headerstyle=background:#dddddd | |||
}} | |||
== Beta Conditional == | == Beta Conditional == | ||
{{hidden_r | |||
|Virtual Conditions | |||
| | |||
*click in text box | |||
*double click in text box | |||
*click outside of Virtual Keyboard : dismissing keyboard | |||
*scrolling above the on-screen keyboard | |||
*Change Cursor Focus | |||
**change focus after composition | |||
*slide right, slide left [ Panels ] | |||
*AwesomePage | |||
*Preferences/Feedback/Plugins/etc Panels | |||
*Context Menus | |||
*Site Menu | |||
*Favorites Panel | |||
*Position/Graphical issues | |||
**collapsing before bringing up keyboard/dismissing keyboard | |||
**scrolling before bringing up keyboard/dismissing keyboard | |||
**tapping after dismissing the keyboard should bring the keyboard up | |||
|headerstyle=background:#dddddd | |||
}} | |||
{{hidden_r | |||
|Content Conditions | |||
| | |||
*html4 | |||
*html5 | |||
*asp | |||
|headerstyle=background:#dddddd | |||
}} | |||
{{hidden_r | |||
|HW keys | |||
| | |||
*Back button | |||
*menu button | |||
|headerstyle=background:#dddddd | |||
}} | |||
{{hidden_r | |||
|Physical Conditions | |||
| | |||
*While Charged | |||
*While not Charged | |||
*Power Consumption | |||
*Performance | |||
**Speed of functions | |||
**Processor utilization | |||
**Memory utilization | |||
***Memory leaks? | |||
***Memory efficiency | |||
*Storage | |||
**Disk | |||
**Sim | |||
|headerstyle=background:#dddddd | |||
}} | |||
{{hidden_r | |||
|Negative (Tests to Break) Tests | |||
| | |||
*Security | |||
**Buffer Overflow (max characters) | |||
*removal of characters | |||
|headerstyle=background:#dddddd | |||
}} | |||
{{hidden_r | |||
|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 | |||
|headerstyle=background:#dddddd | |||
}} | |||
{{hidden_r | |||
|Device/Platform Specific Issues | |||
| | |||
*Portrait/Landscape Orientation | |||
*Camera/scanner VKBs | |||
*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 | |||
|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 | |||
| | |||
*Keyboard Real Estate | |||
*scrolling away? | |||
** | *jumping to another field? | ||
*Accessibility (508 compliance) | *Encryption | ||
*Keyboard size? | |||
*Fullscreen/Halfscreen? | |||
*Workflow? | |||
|headerstyle=background:#dddddd | |||
}} | |||
{{hidden_r | |||
|Accessibility (508 compliance) | |||
| | |||
*Voice Commands? | |||
*Scanner/VKB? | |||
|headerstyle=background:#dddddd | |||
}} |