Skip to main content

A Seano plugin that generates the QA Notes view

Project description

QA Notes Formatter Plugin for Seano

This project provides a Seano formatter named "QA Notes" which, given a query of a Seano database, will generate a self-contained single-file HTML file presenting an overview of what changes need Quality Assurance (QA) attention.

Intended Use Cases

The intended use case of this Seano View is one where it is easy to forget to tell QA of one or more changes in the build you just sent them. This can happen because you spent a month working on a single feature and your memory is fuzzy on the early parts, or because you have multiple coworkers and you aren't an expert in what they did. Regardless of why you forgot to tell QA about some details, the common risks include:

  1. QA can miss bugs, leading to the bugs reaching production
  2. Product Managers can forget to inform other departments of changes
  3. UX and/or Marketing can forget to inform customers of changes
  4. When customers notice changes before employees do, it can make the project look disorganized or unreliable.

Typical Workflow

At time of development, a developer writes testing notes in Seano. The notes should be as thorough as reasonable: assume you might be on vacation when QA is reading it.

Later, when QA gets a build, the build includes a machine-written HTML file containing all of the testing notes written in this release, colloquially called the QA Notes. QA reads these notes to know what to test.

Schema

The QA Notes view uses this schema for notes:

---
# (OPTIONAL) URLs to an external ticketing system
tickets:
- https://example.com/tickets/EXAMPLE-1234

# (OPTIONAL) Customer-facing short release notes
customer-short-loc-hlist-md: # (or `customer-short-loc-hlist-rst` for RST)
  en-US:
  - Short sentence explaining this change to customers
  - "This is an hlist, which means:":
    - you can express a hierarchy here

# (REQUIRED) Employee-facing short release notes
employee-short-loc-hlist-md: # (or `employee-short-loc-hlist-rst` for RST)
  en-US:
  - Short sentence explaining this change to employees
  - "This is an hlist, which means:":
    - you can express a hierarchy here

# (OPTIONAL) Employee-facing long technical discussion
employee-technical-loc-md: # (or `employee-technical-loc-rst` for RST)
  en-US: |
    What was the problem?  What solutions did you reject?  Why did you choose
    this solution?  What might go wrong?  What can Ops do to resolve an outage
    over the weekend?

    This field is a single large Markdown blob.  Explaining details is good.

# (OPTIONAL) Customer Service-facing long technical discussion
mc-technical-loc-md:  # (or `mc-technical-loc-rst` for RST)
  en-US: |
    What was the problem?  What is the solution?  What might go wrong?  How can
    Customer Service fix a problem over the weekend?

    This field is a single large Markdown blob.  Remember that Customer Service
    watches over many products; be specific, but also be terse.

# (REQUIRED) QA-facing long technical discussion
qa-technical-loc-md:  # (or `qa-technical-loc-rst` for RST)
  en-US: |
    What new features need to be tested?  What old features need to be
    regression-tested?

    QA uses this section to perform QA, and also as a "diff" to update their
    own test plan archives.

    This field is a single large Markdown blob.  Explaining details is good.
    Assume that QA has zero knowledge of *what* to test, but that given that
    knowledge, they know *how* to test it.  Be specific in descriptions;
    avoid generalizations when practical.  Be as technical as you want.
    If QA has questions, they'll ask you.

Testing Locally

Starting from scratch, this is how to set up local unit testing:

# Create and enter a virtual environment:
virtualenv .venv
. .venv/bin/activate

# Install this Seano formatter plugin in the virtual environment in "editable mode"
pip install -e .

# Install extra dependencies needed by the unit tests:
pip install -r ci_utest_requirements.txt

Then, going forward, you can run unit tests like this:

pytest

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seano_formatter_qa_notes-2.0.2.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seano_formatter_qa_notes-2.0.2-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

Details for the file seano_formatter_qa_notes-2.0.2.tar.gz.

File metadata

File hashes

Hashes for seano_formatter_qa_notes-2.0.2.tar.gz
Algorithm Hash digest
SHA256 ffa61a544dcc65506bc33bb0170a5b5c2f82bbd8048699315a3459bad1f2b428
MD5 ad06ae49b176d7b101924c9257f3e115
BLAKE2b-256 41f65479c61f1dd07b2b2bcd92186e5228924a2d993c3c8d6559902dbc9004a9

See more details on using hashes here.

File details

Details for the file seano_formatter_qa_notes-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for seano_formatter_qa_notes-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 83cdaa9d89e641cab417e0f8782585c91ee7af8b3fc30256ebbcb255e60c9226
MD5 4d83816d826b62e8da8707583665117c
BLAKE2b-256 a5bb4f2c3196db8dd37cb628c3f1131f4aed8eb6aae64f3023119d73bb5e08ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page