How we work

See exactly what you get.

Every artifact below is real work from a real engagement, with client details redacted.

01 / Test resultsHow do I know a test was actually run?

Every case we execute closes with a comment like this one: the environment and build it ran against, the steps as they were performed, and what happened in plain language.

A pass tells you the behaviour held. A fail tells you what broke and hands you the recording, so your engineer does not have to reproduce it before starting.

webTest runs
Ahmet Sevinc@ahmetsevinccommented Apr 12, 11:04

Settings > Team: invite a member with the Viewer role

Passed
Client
Env
192.168.10.42
App
v3.1.4
Browser
Chrome 127
Steps as performed
  1. Sign in as an admin on the test environment.
  2. Open Settings > Team and invite [email protected] with the Viewer role.
  3. Accept the invitation from a second browser profile.
  4. Confirm the new member appears in the team list with Viewer permissions.
Result

The invitation arrived in eight seconds and the member appears in the team list with the Viewer role. Viewer restrictions hold: billing and team settings are hidden, and the two admin-only endpoints return 403 rather than rendering an empty page.

team-invite-viewer.mp40:47 · 3.1 MB

02 / Bug ticketsWill bugs arrive in a form my team can act on?

We file directly in your tracker, in your format. Expected against actual, numbered steps that reproduce on a stated host, and a screen recording attached to every report.

Each ticket also records which versions it affects and links back to the test case it came from, so nothing turns into a conversation about whether it is real.

webIssues

Dashboard > Widgets

Chart legend disappears after switching between date ranges QA-1142

OpenOpened Apr 14 byAhmet Sevinc
severity::major
Steps to reproduce
  1. Navigate to Dashboard.
  2. Locate the "Monthly Activity" chart.
  3. Select "Last 30 Days" from the date range dropdown.
  4. Select "Last 90 Days" from the same dropdown.
  5. Observe the legend is no longer displayed.
Expected result

The legend stays visible and updates every time a new date range is selected.

Actual result

The legend disappears after the second date range change and does not reappear until a full page reload.

chart-legend-repro.mp41:12 · 4.2 MB
Affected
2.4.0, 2.3.9
Browser
Chrome
Replicated on
192.168.1.50
caseTC-318

03 / Investigation notesDo you stop at “it’s broken”?

When a bug has a pattern behind it, our engineer keeps going and writes down what they found. Sometimes that is a root cause in your code; sometimes it is proof the code is fine and the environment is not.

This is the part that saves your team the most time, and the part you cannot buy from a click-through vendor.

webQA-1142
2 comments
Ahmet Sevinc@ahmetsevinccommented Apr 14, 10:42

Spent an hour narrowing this before filing. The legend is not being unmounted, it is being re-keyed. Every date range change re-issues the session token, and SessionTokenCache_v2 keys entries by user ID alone.

So on the second lookup the entry written for the previous region_scope comes back, and the widget renders against a scope it has no series data for. That is why the legend is empty rather than stale, and why a reload hides it again. Worth checking anywhere else that reads region_scope off the cached token.

Ahmet Sevinc@ahmetsevinccommented Apr 14, 11:20

Reproduced on 2.3.9 as well, so this is not new in 2.4.0. I have left the branch running on 192.168.1.50 if anyone wants to watch it happen live.

04 / Test casesWhat happens to this coverage if your engineer leaves?

Nothing. The coverage lives in a test management suite you own, written so a new person can run it on day one: pre-conditions, action, data, expected result.

It also gives your team something to point automation at later, instead of starting the specification from scratch.

Test casesTC-891

Storefront / Checkout / Payment

Checkout > Payment: apply a discount code and complete an order using a saved card

TypeManual
PriorityHigh
LayerE2E

Verifies that a returning customer can apply an active percentage discount code and complete checkout with a saved card, and that the discount is reflected in both the order total and the order history.

Pre-conditions
  • App version 4.2.0 deployed to the test environment.
  • A logged-in customer with a saved card and a default shipping address.
  • An active 15% discount code with no minimum spend.
Steps
  1. Add items to the cart.

    Input data

    Standard Notebook x2, Desk Lamp x1

    Expected result

    Both items are added and the cart icon shows 3.

  2. Open the cart and apply the discount code.

    Input data

    SAVE15

    Expected result

    A discount line appears and the subtotal drops from $78.00 to $66.30.

  3. Proceed to checkout and confirm the saved payment method.

    Input data

    Visa ending 4242

    Expected result

    The saved card is preselected and the default shipping address is prefilled.

  4. Place the order.

    Expected result

    The confirmation screen shows a total of $66.30 and an order number.

  5. Open Orders in the account area.

    Expected result

    The order is listed as Paid with the discount shown as a separate line.

Suite owner
Last run
Apr 12, v4.2.0
Result
Passed

05 / Reporting cadenceHow often will I hear from you?

Daily in writing, so you never have to ask what QA did today. Then a fuller picture at the two moments you make decisions: end of sprint and before a release goes out.

You get one named engineer, in your Slack, on your standup if you want them there.

dailyby 18:00 your time

A short written summary in Slack: what was tested, what broke, what is blocked. Plus the nightly regression run.

$ npm test -- --suite=regression
PASS checkout/payment.spec.ts (24)
PASS dashboard/widgets.spec.ts (11)
FAIL reports/export.spec.ts (1)

Tests: 118 passed, 1 failed, 119 total
Time:  4m 12s  ·  env 192.168.10.42
per sprintlast day of the sprint

A sprint report: cases added, bugs filed by severity, regression pass rate, and the areas we think are getting risky.

sprint-24-report.pdf· 6 pages
per releasebefore you ship

A release sign-off: full regression run, an explicit go or no-go, and a list of the open issues you are shipping with.

go · v4.2.0

The panels above show our output inside the tools teams already use. GitLab and Qase are trademarks of their respective owners; neither is affiliated with GetQA, and we file in whichever tracker and test management suite you already run.

See these artifacts against your own product.

Twenty minutes is enough to tell whether this fits — we look at how you release today, and show you a full week of work from a team about your size.

Chat on WhatsApp