QA/Activity Stream

< QA
Revision as of 17:37, 16 February 2016 by Paul.oiegas (talk | contribs)

Revision History

This section describes the modifications that have been made to this wiki page. A new row has been completed each time the content of this document is updated (small corrections for typographical errors do not need to be recorded). The description of the modification contains the differences from the prior version, in terms of what sections were updated and to what extent.

Date Version Author Description
01/25/2016 1.0 Paul Oiegas Created first draft
02/16/2016 1.1 Paul Oiegas & Vlad Bacia Added general details form received documentation

Overview

Purpose

Activity Stream is a broad effort to help users recover things they’ve found before, move easily between Firefox on different devices, and discover new things on the web. Trough this, we hope to increased engagement and users retention.

Test Pilot

We intend to use Test Pilot as the launch vehicle for the Activity Stream MVP. It will allow us to get into market quickly, solicit feedback from real users, and develop the product in a data driven way. Test Pilot will also help us acquire new users for our test and eventually allow us to smoothly migrate those users to this feature set in Firefox release.

Milestone 1

Enhanced Data

A key emphasis of Activity Stream is having richer data. This allows us to use more recognizable imagery and longer term allows us to use various page engagement signals to develop a deep understanding of what’s interesting to a user. We should begin by collecting the following data:

  • Favicons (improve retention)
  • Large favicons
  • Full text of the content (Readability)
  • Lead image URL from the full text
  • Fixed word summary (first couple of sentences)
Addon key features
  • Timeline

The timeline will be a new, core UI surface in Firefox. It is the eventual replacement for the current Library UI. It is a reverse chronological list of the most interesting pages you’ve visited and activities you’ve done in Firefox. This is a great way to interact with the content and tasks a user has interacted with over a short time horizon (48 hours). This also provides a single destination to find anything that you’ve done in the browser. Whether that be something as prosaic as visiting a site or something more nuanced as sharing a specific page with a specific user.

https://invis.io/GA5RW90CW

  • New Tab

New Tab is an existing UI surface, but it is currently underutilized. We will keep the existing search access point. We will optimize the current Top Site’s tiles in order to allow for other content on new tab. We will show 6 smaller, fixed top sites with logos of the sites, when available. We will introduce two new sections: Recent Activity and Spotlight. Recent Activity will be a summary view of your timeline and provide the most recent actions you’ve taken (Bookmarks for now) and other interesting history. Spotlight will be a space for us to feature “nearly now” content along with recommended content in the future.

https://invis.io/QM5RWBSFB

Milestone 2

Awesomebar

The Awesomebar is a critical part of the long term success of activity stream. Eventually we should replace frecency with a more nuanced understanding of interestingness to the user. Until then we should make minimal changes to the Awesomebar as the current frecency algorithm is very successful for many users. We should focus on improving recall rather than changing any core algorithm functions. This means better favicons and potentially other images as well.

Saving and Sharing

Our user research shows that people repeatedly share and return to content in the browser. We should embrace this by creating a flexible save and share toolbar menu. It should allow the user to share and save to the most common services such as Facebook or Pocket.

We can quickly provide this functionality on desktop by leveraging the existing “shareplane” and offer the most popular services as default options in our new saving and sharing menu. We should also include the existing features built into the browser such as “Email link...” and “Save to Pocket”. There should eventually be a “more” option at the end of this menu that connects the user with the built-in sharing options provided by their OS.

Android and iOS provide advanced sharing options at the system level and Firefox for Android and iOS both do a great job leveraging these systems. For the MVP we can rely on these existing integrations. In the future we should consider if we want to have Firefox specific share options on mobile.

Share and Save actions are high signal operations. The user is clearly indicating that something is important. We should flag shared URLs and add an activity entry to the timeline including as much detail as possible e.g. “Emailed this page to Bryan Bell”.

https://invis.io/5A5RW88TW

Scope

This wiki details the testing that will be performed for Activity Stream project. It defines the overall testing requirements and provides an integrated view of the project test activities. Its purpose is to document:

  • What will be tested
  • How testing will be performed

Ownership

Technical Program Manager contact: Edwin Wong

Engineering contact: Tim Spurway

Production contact: Nick Chapman

User Experience contact: Bryan Bell


QA:
Rares Bologa - PM for QA team

Paul Oiegas - leading QA efforts

Cosmin Muntean - QA

Paul Mircea Pasca - QA

Vlad Bacia - QA


Feature email address: Activity Stream


Testing summary

Scope of Testing

In Scope

Activity stream is an add-on that will comprise saved bookmarks, saved pockets and more in one place and it will display all the user activity organized in an reverse chronological timeline. This will allow the user to limit the displayed pages or domains from his activity. Also the add-on will provide more searching options based on favicons, images and keywords from the read article (first sentences from it).

The scope of our testing is the Activity Stream-desktop add-on and its functionality. The testing effort for Activity Stream will be invested on the following areas:

  • integration: verify the add-on integration with the current browser functionalities and UI;
  • functionality: basic and advanced functionality to be verified according to the existing requirements;
  • usability: the Activity Stream timeline and New Tab content must be easy to use and straightforward;


Out of Scope

- The mobile implementation and testing is not yet documented. - Testing how Bookmarks and History are imported in the add-on functionalities ?

Requirements for testing

Environments

Testing will be performed on following OSes (both x86 & x64 infrastructures):

  • Windows XP
  • Windows 7
  • Windows 8.1
  • Windows 10
  • Ubuntu 14.04
  • Ubuntu 15.04
  • Mac OS X 10.9
  • Mac OS X 10.10
  • Mac OS X 10.11

Test Strategy

Test Objectives

This section details the progression test objectives that will be covered. Please note that this is at a high level. For large projects, a suite of test cases would be created which would reference directly back to this master. This could be documented in bullet form or in a table similar to the one below.

Ref Function Test Objective Evaluation Criteria Test Type Owners
1 - - - - -


Builds

This section should contain links for builds with the feature -

  • Nightly builds with the fix are available to the the link
  • Links for Aurora builds
  • Links for Beta builds

Test Execution Schedule

The following table identifies the anticipated testing period available for test execution.

Project phase Start Date End Date
Start project -
Study documentation/specs received from developers -
QA - Test plan creation 01/25/2016
QA - Test cases/Env preparation -
QA - Nightly Testing -
QA - Aurora Testing -
QA - Beta Testing -
Release Date -

Testing Tools

Detail the tools to be used for testing, for example see the following table:

Process Tool
Test plan creation Mozilla wiki
Test case creation Google docs
Test case execution Google docs
Bugs management Bugzilla

Status

Overview

  • Track the dates and build number where feature was released to Nightly
  • Track the dates and build number where feature was merged to Aurora
  • Track the dates and build number where feature was merged to Release/Beta

Risk analysis

  • Lack of documentation - for this kind of feature we should receive a Release Notes document, summing up at least a basic description of what is to be expected from the feature in that release.

References

  • List and links for specs - no documents with specs was received.

Testcases

Overview

  • Summary of testing scenarios

Test Areas

Test Areas Covered Details
Private Window -
Multi-Process Enabled -
Multi-process Disabled -
Theme (high contrast) -
UI
Mouse-only operation -
Keyboard-only operation -
Display (HiDPI) -
Interraction (scroll, zoom) -
Usable with a screen reader - e.g. with NVDA
Usability and/or discoverability testing - Is this feature user friendly
Help/Support
Help/support interface required - Make sure link to support/help page exist and is easy reachable.
Support documents planned(written) - Make sure support documents are written and are correct.
Install/Upgrade
Feature upgrades/downgrades data as expected -
Does sync work across upgrades -
Requires install testing - separate feature/application installation needed (not only Firefox)
Affects first-run or onboarding - Florin/Lawrence are investigating if there is a dedicated QA for this, or we should test? Should be an yes/no and if is yes should add in detail column the team/person assigned.
Does this affect partner builds? Partner build testing - yes/no options, add comment with details about who will lead testing
Enterprise Raise up the topic to developers to see if they are expecting to work different on ESR builds
Enterprise administration -
Network proxies/autoconfig -
ESR behavior changes -
Locked preferences -
Data Monitoring
Temporary or permanent telemetry monitoring - List of error conditions to monitor
Telemetry correctness testing -
Server integration testing -
Offline and server failure testing -
Load testing -
Add-ons If add-ons are available for testing feature, or is current feature will affect some add-ons, then API testing should be done for the add-on.
Addon API required? -
Comprehensive API testing -
Permissions -
Testing with existing/popular addons -
Security Security is in charge of Matt Wobensmith. We should contact his team to see if security testing is necessary for current feature.
3rd-party security review -
Privilege escalation testing -
Fuzzing -
Web Compatibility depends on the feature
Testing against target sites -
Survey of many sites for compatibility -
Interoperability depends on the feature
Common protocol/data format with other software: specification available. Interop testing with other common clients or servers. -
Coordinated testing/interop across the Firefoxes: Desktop, Android, iOS -
Interaction of this feature with other browser features -

Test suite

  • Full Test suite -
  • Smoke Test suite -
  • Regression Test suite -

Bug Work

Tracking bug – meta bug

Bug fix verification
Bug No Summary Status Firefox Verion
- - - -
Logged bugs

-


Sign off

Criteria

Check list

  • All test cases should be executed
  • Has sufficient automated test coverage (as measured by code coverage tools) - coordinate with RelMan
  • All blockers, criticals must be fixed and verified or have an agreed-upon timeline for being fixed (as determined by engineering/RelMan/QA)

Results

Nightly testing

List of OSes that will be covered by testing

  • Link for the tests run
    • Daily Smoke suite -
    • Full Test suite -
    • Regression Test suite, if needed/available

Merge to Aurora Sign-off List of OSes that will be covered by testing

  • Link for the tests run -
    • Full Test suite -

Checklist

Exit Criteria Status Notes/Details
Testing Prerequisites (specs, use cases)
Testing Infrastructure setup
Test Plan Creation
Test Cases Creation
Full Functional Tests Execution
Automation Coverage
Performance Testing
All Defects Logged
Critical/Blockers Fixed and Verified
Daily Status Report (email/etherpad statuses/ gdoc with results)
Metrics/Telemetry
QA Signoff - Nightly Release Email to be sent
QA Aurora - Full Testing
QA Signoff - Aurora Release Email to be sent
QA Beta - Full Testing
QA Signoff - Beta Release Email to be sent