Confirmed users
1,867
edits
(48 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
We are the [https://developer.mozilla.org/en-US/'''MDN'''] (Mozilla Developer Network) durable team. MDN's mission is to provide complete, accurate, and helpful documentation for everything about the open Web, whether it's supported by Mozilla-built software or not. Read more about our [https://developer.mozilla.org/en-US/docs/MDN/About mission]. | |||
For additional information about the project team [https://wiki.mozilla.org/Engagement/MDN_Durable_Team visit here]. | |||
See what the team is [https://mozilla.kanbanery.com/projects/68288/board/?key=775e5e65ceb38d40d0dc1a4e481901387d08abdft currently working on] | |||
==2016 QA Priorities== | |||
* Overview and article pages behave as expected. | |||
* Editing pages is a consistent and user friendly experience. | |||
* Feedback mechanisms on MDN exist and work. | |||
* Localized experiences persist when a user arrives, uses, and leaves the site. | |||
* The search experience is consistent. | |||
==Open Questions== | ==Open Questions== | ||
* How | * Lack of test data - Stage currently isn't sync'd with production data, the database schema is. How can we solve this? | ||
* | * Is there telemetry in place for Kuma script rendering errors | ||
* Data integrity | * Data integrity | ||
** How is this maintained, persisted, prevented from regressing? | ** How is this maintained, persisted, prevented from regressing? | ||
** How is user content quality maintained & updated for relevancy over time? | ** How is user content quality maintained & updated for relevancy over time? | ||
* Reliability discussion - https://etherpad.mozilla.org/MDN-reliability-plan | * Reliability discussion - https://etherpad.mozilla.org/MDN-reliability-plan | ||
* l10n testing | * l10n testing | ||
* Page load times | * Page load times | ||
Line 32: | Line 39: | ||
===What are QA’s responsibilities=== | ===What are QA’s responsibilities=== | ||
* Acting as a user advocate | * Acting as a user advocate. | ||
* Leading discussions that identify and | * Leading end of sprint post-mortem discussions that identify and realign the risk areas that need to be mitigated. | ||
* | * Moving user stories (acceptance criteria) to TestRail | ||
* With a focus on community and developer inclusion; collaborative creation and maintenance of end-to-end test automation. | |||
===What are the dev team’s responsibilities=== | ===What are the dev team’s responsibilities=== | ||
Line 42: | Line 50: | ||
* Maintaining code quality via code review and documentation of standards | * Maintaining code quality via code review and documentation of standards | ||
== | ==Complete a risk assessment== | ||
* | * Stage - schema is up-to-date, data is 9 months out-of-date | ||
* Dev environments are significantly different than stage and production | |||
* Removal of low value features - tracking of feature usage and sunsetting of features that don't see uptake. | |||
==User stories and features are grouped into three categories== | |||
User stories and features are grouped into three categories | |||
===Cannot regress in production=== | ===Cannot regress in production=== | ||
* Features that users should never see broken in production (in order of throughput/traffic) | * Features that users should never see broken in production (in order of throughput/traffic) | ||
** Edit a doc article | |||
** Translate a doc article | |||
** View the home page | ** View the home page | ||
** Log in | ** Log in | ||
** Search docs | ** Search docs | ||
** | *** Topic pages and articles render | ||
** | ** Localization persists | ||
===Can regress in production for a finite amount of time=== | ===Can regress in production for a finite amount of time=== | ||
Line 79: | Line 84: | ||
An important note about feature verification | An important note about feature verification | ||
If a feature is deemed as low risk | If a feature is deemed as low to medium risk, anyone on the team is empowered to test and verify it. If it is a feature that requires deeper investigation and poses high risk, the team can reach out to QA and request our input. If a feature set is big or user workflow is changed it is important to engage the test team to flush out defects and usability concerns. | ||
* Features sent to QA for manual verification must include Bug numbers | * Features sent to QA for manual verification must include Bug numbers. | ||
* Important workflows that need to be tested will live in [http://testrail.stage.mozaws.net/index.php?/dashboard TestRail] TODO: update url to prod testrail once it's launched. | |||
** Workflows that live in TestRail are candidates for automation. | |||
==Test Automation== | ==Test Automation== | ||
Currently, writing and maintenance of the tests written using Intern are owned by the developer team. | |||
* | * This test runner and the test suites will be phased out in Q3 of 2016. | ||
* | * Test will be rewritten in Python and use pytest and pytest-selenium | ||
* | * Test ownership and maintenance will be expanded to include QA. | ||
===Overview=== | ===Overview=== | ||
Line 98: | Line 105: | ||
A component of the automation strategy includes reviewing the amount of test coverage that follows a developers pull request. Often times the team is able to influence and enhance the depth of coverage by simply asking for more tests earlier in the workflow [Unit + Integration]. | A component of the automation strategy includes reviewing the amount of test coverage that follows a developers pull request. Often times the team is able to influence and enhance the depth of coverage by simply asking for more tests earlier in the workflow [Unit + Integration]. | ||
=== | ===Coverage Areas=== | ||
* Topic and article pages behave as expected. | |||
* Editing pages is a consistent and user friendly experience. | |||
* Feedback mechanisms on MDN exist and work. | |||
* Localized experiences persist when a user arrives, uses, and leaves the site. | |||
* The search experience is consistent. | |||
====TODO Environment/test matrix==== | ====TODO Environment/test matrix==== | ||
* Linux? | |||
* Mobile? | |||
* Windows 8 | |||
** IE | |||
* Windows 10+ | |||
** IE | |||
** Firefox latest | |||
** Chrome | |||
** Opera? | |||
** Brave? | |||
* OSX | |||
** Firefox latest | |||
** Safari | |||
** Chrome | |||
** Opera? | |||
** Brave? | |||
====Unit tests==== | ====Unit tests==== | ||
* Run by [https://travis-ci.org/mozilla/kuma TravisCI] | |||
=====Blocks Build===== | |||
* Run by TravisCI | |||
** Unit tests | |||
** Flake8 | |||
** Sphinx Docs build | |||
** Dennis | |||
====Functional UI | =====Non-Blocking===== | ||
* Run by TravisCI | |||
** [https://codecov.io/github/mozilla/kuma?branch=master Code Coverage] | |||
** [https://requires.io/github/mozilla/kuma/requirements/?branch=master Requires.io] | |||
* Functional UI Tests | |||
** Run by developers on their local machines - [https://github.com/mozilla/kuma/tree/master/tests/ui kuma/tests/ui/] | |||
====Functional UI tests==== | |||
* Written in JS - https://github.com/mozilla/kuma/tree/master/tests/ui | |||
* Q3 2016 - move tests to Python | |||
====End-to-end tests==== | ====End-to-end tests==== | ||
* Integration tests | * Integration tests - work will begin late Q2 and through Q3 | ||
* API tests | * API tests - none planned | ||
==== Stress and load testing==== | ==== Stress and load testing==== | ||
* | * None planned for Q2 | ||
====Monitoring tools==== | ====Monitoring tools==== | ||
*New Relic? | * New Relic | ||
** [https://rpm.newrelic.com/accounts/263620/applications/3172075 MDN Prod] | |||
* Sentry | |||
** [https://sentry.prod.mozaws.net/operations/mdn-stage/ MDN Stage] | |||
** [https://sentry.prod.mozaws.net/operations/mdn-prod/ MDN Prod] | |||
* Spam | |||
** [https://groups.google.com/a/mozilla.com/forum/#!forum/mdn-spam-watch Spam watch mailing list] | |||
** [http://53b54fe99233.web.akismet.com/1.0/user-stats.php?api_key=53b54fe99233&blog=developer.mozilla.org&show=60-day Akismiet stats] | |||
** [https://developer.allizom.org/en-US/dashboards/revisions Revision dashboard] | |||
===Style Guides=== | ===Style Guides=== | ||
* Link to style guides | * Link to style guides | ||
** | ** [https://wiki.mozilla.org/QA/Execution/Web_Testing/Docs/Automation/StyleGuide Functional tests] | ||
** | ** [https://wiki.mozilla.org/QA/Execution/Web_Testing/Automation/Flake8_Pre_Commit_Hook Linting with Flak8] | ||
** | ** [https://wiki.mozilla.org/QA/Execution/Web_Testing/Automation Additional test automation documentation] | ||
==One-time Events== | ==One-time Events== | ||
Line 195: | Line 247: | ||
* For less time sensitive testing tasks we can use [https://oneanddone.mozilla.org/ oneanddone.org] as a task manager to aid in funneling community members into our onboarding flows. | * For less time sensitive testing tasks we can use [https://oneanddone.mozilla.org/ oneanddone.org] as a task manager to aid in funneling community members into our onboarding flows. | ||
==Other== | |||
* [https://docs.google.com/document/d/1sYpvaDaYnXSTZz2-zQUYt5KYLHsamNcaj6tkLC6y4EY/ Spam administration documentation] |