Mattermost Handbook
Need help?How to spend company moneyHow to update the HandbookRelease overview
0.2.1
0.2.1
  • Mattermost Handbook
  • Company
    • About Mattermost
      • List of terms
      • Business model
      • Mindsets
    • "How to" guides for staff
      • How to set up a 1-1 channel
      • How to update the handbook
      • How to manage Handbook notifications
      • How to change mobile device
        • How to handle a lost mobile device
      • How to do a mini-retrospective
      • How to autolink keywords in Mattermost
  • Operations
    • Company operations
      • Areas of Responsibility
      • Mattermost Leadership Team (MLT)
        • MLT cadence
      • Company measures
        • Metrics definitions
        • FY23 goals board
        • MLT metrics
      • Company cadence
      • Company policies
        • Community response policy
        • Security policy
      • Company processes
        • Issue/solution process
        • Company agreements
        • Publishing
          • Public web properties
          • Publishing guidelines
            • Brand and visual design guidelines
            • Voice, tone, and writing style guidelines
              • Contribute to documentation
            • Confidentiality guidelines
          • Post-publication quality control process
      • Handbook processes and policies
        • Handbook onboarding
      • Fiscal year planning
    • Research and Development
      • Organization
        • Tech Writing
        • Data engineering
        • Delivery
        • Cloud Platform
        • Site Reliability Engineering
        • GRC
        • Product Security
        • Security Operations
      • Processes
        • Feature Labels
      • Product
        • Product planning
          • Product philosophy and principles
          • Prioritization process
          • Release planning process
          • Roadmap views
          • Release plan
          • Launch plan
          • Feature requests
        • Development process
          • Mobile feature guidelines
          • Deprecation policy
          • Mattermost software requirements process
          • Jira ticket lifecycle
          • Creating new Jira bug tickets
            • Priority levels for tickets
            • Jira fix versions
        • Release process
          • Release overview
          • Feature release process
          • Dot release process
          • Security release process
          • Mobile app release process
          • Desktop app release process
          • Release tips
          • Release scorecard definitions
        • How-to guides for Product
          • How to use productboard
          • How to record a roadmap video
          • How to update integrations directory
          • How to write a feature release announcement
        • Product Management team handbook
          • Product Management Areas of Ownership
          • Product Manager onboarding
          • Product Manager levels
          • Professional development
        • Product Design team handbook
          • Product Design levels
        • Technical Writing team handbook
          • Work with us
          • User interface text guidelines
          • Documentation style guide
          • Our terminology
          • Guidelines for PMs and developers
          • Guidelines for community contributions
          • Technical Writer levels
          • Docathon 2021
            • Getting started with contributing
        • Growth
          • A/B testing methodology
          • PQL definition
        • Analytics
          • Product Analyst Engineer levels
          • Looker
            • Dashboards
            • Explores
          • Telemetry
        • Developer relations
        • Product team hangouts
      • Engineering
        • Infrastructure engineering
          • Cloud infrastructure cost KPIs
          • Cloud data export process
          • Cloud churn process
          • Reliability Manifesto
          • Production Readiness Review
          • Infrastructure Library
        • Integrations team processes
        • Plugin release process
        • Data Engineering
        • Sustained Engineering
          • On call
        • How to go to a conference
        • Public speaking
        • Core contributor expanded access policy
      • Quality Assurance
        • QA workflow
        • QA testing tips and tools
        • Rainforest process
    • Messaging and Math
      • How-to guides for M&M
        • How to create release announcements
        • How to create screenshots and GIFs
        • How to write Mattermost case studies
        • How to write guest blog posts for Mattermost apps and services
        • How to write Mattermost recipes
        • How to compose tweets
        • How to create a split test for web page
        • How to run meetups
        • How to run executive dinners
      • Checklists for M&M
        • Blog post checklist
        • Bio checklist
      • Mattermost websites
      • Demand generation reporting
      • M&M Asana guidelines
      • Content marketing
        • How to use the editorial calendar
        • Content development and distribution
        • Video content guidelines
        • How to contribute content
    • Sales
      • Deal Desk
      • Partner programs
      • Lead management
    • Deployment Engineering
      • Overview
      • Workflows
      • Frequently Asked Questions
      • Playbook for MME Sev 1 Outages
      • Status Update Template
    • Program Management
    • Customer Success
      • Customer Support
    • Legal
      • Contracts
      • Ironclad Basics
        • Company-Wide Workflows
        • Sales Contracts and Workflows
        • Signing a Contract and Contract Repository
    • Finance
      • Budget
      • How to use Airbase
        • Access Airbase
        • Navigate Airbase
        • How to submit a purchase request
        • How to submit a reimbursement request
        • How to review a reimbursement request
        • Vendor portal guide
        • Frequently asked questions
      • Onboarding
        • Vendor onboarding
        • ROW staff onboarding
      • Staff member expenses
        • How to spend company money
        • How to spend company money: Internships
        • Corporate credit card policy
        • How to access Airbase
        • Gifting policy
        • How to book airfare and travel
        • How to reimburse the company
        • How to convert currencies
        • How to get paid
      • Arrange a Bounty Program
      • Naming files and agreements
      • Risk management
        • Mattermost U.S. consulting agreements
      • Operations playbook
    • Security
      • Policies
      • Privacy
        • Data deletion requests
        • Data subject access requests
      • Product Security
        • Product Vulnerability Process
        • Working on security-sensitive pull requests
        • Secure Software Development guide
      • Security Operations
        • User guides
    • Workplace
      • PeopleOps
        • HR cadences
        • HR systems
        • HR Processes
        • Working at Mattermost
          • Onboarding
            • Things everyone must know
            • Staff onboarding
            • Engineer onboarding timeline and expectations
            • Manager onboarding
            • Frequently asked questions
          • Learning and development
          • Mattermost communication best practices
          • Paid time off
            • Out of office email example
          • Travel
            • Business travel insurance
          • Leaves of absence
            • Pregnancy leave
            • Baby bonding parental leave
            • Jury duty
          • Workplace program
          • Relocation
          • Total rewards
        • Performance reviews
          • Formal review process
          • New staff performance review
          • Informal review process
        • Transfers and promotions
        • Offboarding instructions for managers
        • People compliance
      • People policies
      • Groups
        • Staff Resource Groups
      • Approvals and iteration
      • IT
        • IT helpdesk
        • Hardware and software purchases
        • Hardware buy back policy
        • Software systems
  • Contributors
    • Contributors
      • Equity, diversity, and inclusion
      • How to contribute to Mattermost
        • Community Content program
        • Documentation contributions
        • Help Wanted tickets
        • Localization
        • Contribution events
      • Mattermost community
      • Contributor kindness
      • Community systems
      • Guidelines and playbooks
        • Social engagement guidelines
        • Contribution guidelines and code of conduct
        • Mattermost Community playbook
        • How to run a Hackathon
        • Hacktoberfest event organizer guide for Mattermost
    • MatterCon
      • Staff information privacy management
      • Mattermost events code of conduct
      • MatterCon2021
    • Join us
      • Ice-breakers
      • Help Wanted tickets
      • Localization
      • Mattermost GitHub sponsorship
      • Things candidates should know
      • Staff recruiting
      • Recruiting cadences
        • Product Manager hiring process
      • Exec recruiting
        • EA logistics
  • Help and support
    • Contact us
Powered by GitBook
On this page
  • Daily
  • Weekly
  • Monthly
  • As needed
  • PR reviews
  • Verifying and closing resolved Jira tickets
  • UI test automation

Was this helpful?

Edit on Git
Export as PDF
  1. Operations
  2. Research and Development
  3. Quality Assurance

QA workflow

PreviousQuality AssuranceNextQA testing tips and tools

Last updated 3 years ago

Was this helpful?

Note: Specific teams may develop their own variations on this workflow. This is generally how QA works at Mattermost.

Daily

  1. PR reviews (see below)

  2. Jira tickets (see below)

  3. Investigate and reproduce potential issues from reports in channels

  4. Submit bug tickets as issues arise

  5. Help engage with contributor questions in channels

Weekly

  1. Participate in team triage/planning meetings

  2. Participate in

  3. Consider giving a demo in QA meeting and/or R&D meeting

  4. (QA Platform) Rainforest release testing and maintenance

  5. (QA Platform) Cypress webapp release testing and maintenance

  6. (QA Platform) Manual release testing and maintenance

Monthly

  1. SDET (Software Development Engineer in Test, the test engineers in QA) rotation to monitor nightly automated tests and investigate and update as needed (see below)

  2. Oversee your team's release testing and QA-approve releases (cadence may vary by team/product)

  3. (QA Platform) Detox mobile release testing and maintenance

As needed

  1. Develop test plans for new features, add test cases to Zephyr test management

  2. Approve new features after manual testing passes

  3. (QA Platform) Oversee testing infrastructure and server needs

  4. Help tend to community campaigns such as test automation Hackathons and QA community feature testing

  5. Add or update documentation as you find need or opportunity

PR reviews

  1. PR author adds 3: QA Review label to every PR

  2. PR author adds a specific QA person as a reviewer after PM/UX and dev reviews are done

    • Exceptions can be made for general smoke testing or other agreed-upon scenarios when it makes sense for QA review to be done in parallel with other reviewers

    • QA review assignee defaults to the QA person on that team

  3. Read through the PR and its associated Jira ticket to establish context

  4. Create a test build if needed

    • Labels can be added to trigger test builds for webapp/server, mobile apps

    • Test server info auto-posts in a comment on the PR

  5. Establish or verify test plan and scope if not already spelled out

    • Ensure test cases are added or updated in Zephyr test management

    • For most PRs/bug fixes, note test details in the PR and related JIRA ticket (no separate document needed)

  6. Ask questions and report issues in comments on the PR, mentioning the PR author (and the PM/another dev as needed)

  7. Request changes as part of the Review Changes flow in GitHub, which can make it easier to manage in your PR to-do list

  8. Verify unit and E2E tests are present and provide adequate coverage

    • If needed, add comment mentioning the author to ask about adding tests

    • Important: Ensure that E2E tests contain the proper mapping key to connect with Zephyr test management

  9. Note that some pre-approved scenarios such as many Server team PRs that don't require QA testing may use the label QA Deferred

  10. When complete, select Review Changes, add comment, and approve

  11. Remove label 3: QA Review

  12. If other reviews are still open, add label QA Review Done

  13. If yours was the last review (commonly the case), add label 4: Reviews Done

    • You may be the one to merge the PR if you're the last reviewer; this varies by team

  14. On the related Jira ticket, assign yourself as QA Assignee

Verifying and closing resolved Jira tickets

  1. Handling various ticket resolutions

    • Won't Fix, Won't Do, Invalid: Leave in Resolved (PMs go through these periodically)

    • Duplicate: Ensure the duplicate ticket is linked in a comment and close as duplicate

    • Done: Test according to test steps / test plan as appropriate

  2. May not need to re-test for self-managed release if already satisfactorily tested for previous Cloud release

  3. Be sure to test across Web App, Mobile apps, and Desktop App

  4. Ensure it is noted in the ticket and test case if any of the expected behavior or the bug itself was environment-specific (e.g. Android-only, Safari-only, etc.)

  5. Ensure related Zephyr test cases are linked to the ticket for traceability (can link to the test case from the ticket in the Zephyr section of the ticket)

  6. Update test cases in Zephyr as needed

  7. Always leave a comment on the Zephyr test case explaining your changes

  8. Add a link to the related ticket in the test step field, as it allows testers an easy way to see if it’s a known issue or perhaps a “Won’t Fix” situation.

    And triple-check that the test case shows the related ticket in Traceability

  9. Issues found? Communicate with the dev Assignee and either reopen or file a new ticket as desired. Can at-mention the Assignee in a comment and/or in a channel to discuss what's best

  10. Tested and all passed? Note testing results in a comment and close the ticket

  11. Leaving open to re-test on other fix versions

    • If you test on Cloud and want to re-test when the next self-managed RC is cut, add label done-cloud and leave in Resolved

    • If a hotfix is being backported to additional versions, add done-5.38 for example, as the fix is tested on each version

    • Also always leave a comment explaining what testing has been completed and what is left to test

UI test automation

  1. Happy path for new features and bug fixes should be written or updated by the dev writing the feature or fix

  2. Help to review E2E submissions and to add tests for more in-depth test cases

  3. Ensure test case keys from Zephyr test cases are included in E2E tests

  4. Help maintain nightly automated tests

    • Monitored by SDET on weekly rotation

    • Test failures can be routed to the appropriate team, but SDET rotation can help monitor and answer questions

    • Demote and promote nightly tests from and to production as needed

  5. Help review and shepherd community contributions

Mobile test builds auto-post in channel; uninstall existing Mattermost app from your device, and install the test build from APK file or pList link

Desktop: Ask for a test build or new RC on the PR or request in the channel

Can use as appropriate, especially for major features

See channel and channel

QA Guild meeting
QA: Builds
Developers: Desktop App
Test Plan Template
QA-Assigned to you, not-closed
Help drive and write E2E tests for your team
QA: UI Test Automation
QA: Test Automation Reports
E2E help-wanted issues available for contributors
E2E overview