Wikimedia Apps/Team/iOS/Wikipedia iOS App Regression Testing Script

This WIP doc contains my proposed structure for improvements to the organization of our regression test script: https://docs.google.com/spreadsheets/u/1/d/1BEZ8WZm9mtHmozsk9aQ1s5c7mmjgntkmuBnx8tA1Q_A/edit#gid=1600680757 https://phabricator.wikimedia.org/T139641

= FRESH INSTALL AND WELCOME SCREENS =

Fresh install and first tap app icon shows...
Brief appearance of "Splash" screen

First welcome screen with telescope

First "Telescope" Welcome screen
Shows telescope which does brief animation on first appearance

Tapping "Tell me more" shows pop-up with some text

Tapping "Get starteded" loads Languages welcome screen

Second "Languages" Welcome screen
Shows languages bubbles near top which does brief animation on first appearance

Shows at least one language in the list

Tapping "Add another language" and choosing one adds it to the list

Languages in the list can be removed by tapping the red "-" icon on the left

You should not be able delete the last language in the list - the red "-" should disappear when there's only one item in the list

Languages in the list can be re-ordered by dragging the icon on the right up or down

Tapping "Continue" loads the Volunteer welcome screen

Third "Volunteer" Welcome screen
Shows page/chart icon near top which does brief animation on first appearance

Has "Send usage reports" switch which turns green when you tap it - also text below the switch changes to "Thank you!" when it's on.

Tapping "Continue" loads the Explore screen

Verify Welcome screens do not rotate when device is rotated to landscape orientation
= EXPLORE =

Icon taps (top, left to right)
Settings gear icon

"W" [7b]

Search

Icon taps (bottom, left to right)
"Explore"

"Saved" [9]

"History"

Correct items shown for both tapping *and* Peek and Pop
Featured article: header and item

Top read: header, item and footer

Picture of the day: header and item

Today on Wikipedia: header and item [15]

Random: header and item

Nearby: header, item [12] and footer

Because you read: header and item

Random item
New random item loaded when refresh icon is tapped [10]

Nearby item
Compass icon for items rotates and device rotates (if location services enabled) [11]

= APP ICON 3D TOUCH =

App icon 3d touch expected items
Search Wikipedia

Nearby articles

Random article

Continue reading... (after app it minimized when an article was onscreen)

Verify all items above appear in Hebrew if device language is Hebrew

App icon 3d touch menu item taps
Tap "Search Wikipedia" loads the search interface so user can then immediately type search term

Tap "Nearby articles" loads list of article near the user's location

Tap "Random article" loads a random article

Tap "Continue reading..." loads the article which the user had previously been reading

= SEARCH =

Basic Searching
Search results appear when search term entered [5] [6]

Search result is relevant [8]

When search result is tapped the article loads [5]

Search results which are indicated to be redirects load correct article when tapped.

Tapping round gray "x" icon to right of search term clears out the search term

Recent Search Terms
Search term is added to list if item was selected for a given search term

Recently searched terms appear if you clear out the search field either by tapping the round gray "x" icon or clearing out all search characters

Recently searched terms list itself has a round gray "x" icon which can be used to clear out all recently searched terms

Preferred Search Languages
Adding

Removing

Re-ordering

Confirm the top-most search language controls Explore language

Advanced Searching with preferred search languages
Tapping a language, such as Hebrew, and searching shows results from Hebrew Wikipedia

Tapping a different language re-runs search for the existing search term in the tapped language

Search result item peek/pop
= ARTICLE =

Icon taps (top, from left to right)
"< Explore" [7]

"W" [7c]

Search

Icon taps (bottom, from left to right)
Page Language/Translation

Type Size

Share

Save

Table of contents

Things which *should* Peek and Pop
Links to other articles [13b]

Lead image (at the top of article)

Non-lead images (images further down the article)

Items in the "About this article" menu near bottom of article (T140310)

Read more suggestions at bottom of article

"CC By-SA 3.0" link at very bottom of article (T140312)

Things which *should not* Peek and Pop
Reference links (should not peek)

Edit icon

Link to section
In same article

In different article

Things which should respond to taps
Lead image

Non-lead images

Blue links to other articles

Edit icons - both "protected" (with little lock) and not protected

"Quick facts" collapsed table headers and expanded table footers

Blue Reference links, ie "[1]"

About this article menu items near bottom of article

Read more suggestions at bottom of article

Dragging from edge
Drag from right edge for Table of Contents

Drag from left edge to go back to either previous article or Explore

Highlight a snippet of text
Share a fact menu item

Table of Contents
Has item for each section in article

Tapping section scrolls the article to that section

Reference link tap and black reference panel
Tapping reference link ie "[1]" causes black panel to slide up from bottom of screen

If the refererence link tapped has adjacent reference links ie "[1][2][3]" the black panel can be swiped from side to side to jump between that group of references

If the article is tapped while the black panel is onscreen the black panel will dissappear

The black reference panel has an "x" icon on its top left which can also be tapped to make it dissappear

If the text shown in the reference panel is long it can be scrolled up and down

If the reference link ie "[1]" would be covered by the black reference panel when it appears, the page is automatically scrolled so the link is above the panel when it appears

The black reference panel stays onscreen if the device is rotated to landscape

Read more suggestions at bottom of article
Confirm these items actually appear related to the article in which they appear

Confirm tapping their save icons causes them to appear in saved pages list

= SAVED PAGES =

Added items to saved pages list
From Explore [2]

From icon at bottom of article [8]

From read more item at bottom of article

Managing saved pages list
Remove one

Remove all

Saved page list item peek/pop
= HISTORY =

Adding items to history list
Whenever an article is loaded [13]

Managing history list
Remove one

Remove all

History list item peek/pop [13a]
= ARTICLE IMAGE GALLERY =

Images
Verify first image in gallery is first image in article

Verify other images in gallery are in same order as images in article

Verify tiny image from article in not in gallery

Gestures
Verify can swipe between images

Verify can pinch-zoom image

Verify zoomed image can be dragged

Verify double-tap returns zoomed image to original size

Verify singe tap toggles visibility of overlayed icons/text

Icon taps (top, from left to right)
Close icon

Share icon

Icon taps (bottom, from left to right)
"CC"

"i"

= OFFLINE =

Placeholders
Explore placeholder message appears letting you know your saved pages are still available

Functionality
Saved pages list images appear even when offline

Item chosen from Saved pages list still loads when offline

Saved page image tap makes that image appear in gallery when offline

= ARTICLE EDITING =

Logged in
Edit

Preview

Save

Confirm article history shows anonymous edit as attributed to the logged in account.

Abuse Filters

Anonymous
Edit

Preview

Save

Confirming article history shows anonymous edit as an "IP edit"

Abuse Filters

= UPDATE FROM PREVIOUS VERSION OF APP =

Persistence
Saved pages [4]

History [3a]

Preferred search languages [4c]

Login account [4c]

Recent searche terms [4b]

= ORIENTATION =

Things which *should not* rotate when device is rotated to landscape
Explore

Things which *should* rotate when device is rotated to landscape
Article

Image gallery [14]

Saved Pages

History

Search results

Article languages list

= SETTINGS =

Log in [1]

Log out

= INTER-APP =

Deep Links

Handoff