Release test report · Go/no-go
Acme Ledger 4.2
Decision
All 184 test cases were executed; 183 passed. The only High defect (ACME-512, data retention in the invoice list) was fixed in rc3 and retested.
One Medium defect (ACME-513) ships as a known issue: an invalid filter value returns unfiltered data instead of an error. The product owner agreed to fix it in 4.2.1.
Recommendation: release, list ACME-513 in the release notes, and schedule 4.2.1 within two weeks.
Exit criteria
| Criterion | Target | Actual | Met |
|---|---|---|---|
| All planned test cases executed | 100% | 184/184 (100%) | Yes |
| Pass rate | ≥ 98% | 99.5% | Yes |
| Open Critical/High defects | 0 | 0 | Yes |
| Open Medium defects | ≤ 2, with owner agreement | 1 (ACME-513, agreed) | Yes |
| API smoke on release candidate | No new failures | Only ACME-513 fails (known) | Yes |
| E2E regression | 0 failures | 0 failures, 2 flaky (flagged) | Yes |
| UAT sign-off | Finance, Support, Controlling | All three signed | Yes |
| Performance at expected peak | p95 < 500 ms | 447 ms | Yes |
| Release notes list known issues | Yes | Draft ready; final wording pending | Partly |
Results overview
Cases were drafted from the release tickets and specs and reviewed before execution: 148 technical cases and 36 plain-English UAT cases.
Defects 14 found
| Severity | Fixed | Deferred | Open | Total |
|---|---|---|---|---|
| High | 1 | – | – | 1 |
| Medium | 4 | 1 | – | 5 |
| Low | 6 | 1 | 1 | 8 |
| Total | 11 | 2 | 1 | 14 |
| Key | Summary | Severity | Status | Component | Found by | Owner | Created |
|---|---|---|---|---|---|---|---|
ACME-512 | Invoice list returns invoices removed by data retention (404 on detail) Retested on rc3. | High | Fixed | Invoices API | ACME-T-327 | Backend | 20 Oct |
ACME-513 | Invalid status filter value silently ignored instead of 400Known issue in release notes; fix in 4.2.1. | Medium | Deferred | Invoices API | ACME-T-334 | Backend | 20 Oct |
ACME-514 | Webhook retry ignores configured back-off on 3rd attempt | Medium | Fixed | Webhooks | ACME-T-479 | Platform | 20 Oct |
ACME-517 | Portal shows 'Pay' on an invoice already paid by card (until refresh) | Medium | Fixed | Customer portal | ACME-T-466 | Frontend | 20 Oct |
ACME-522 | Scheduled report email has no unsubscribe link | Medium | Fixed | Reports | – | Backend | 22 Oct |
ACME-524 | Merge customers keeps both primary contacts | Medium | Fixed | Customers | – | Backend | 22 Oct |
ACME-509 | Credit note PDF shows VAT rate with 3 decimals | Low | Fixed | – | Backend | 20 Oct | |
ACME-510 | Reminder email uses the legal name instead of the trading name | Low | Fixed | Reminders | ACME-T-392 | Backend | 21 Oct |
ACME-511 | CSV export header Customer ID misspelled | Low | Fixed | Customers | – | Backend | 21 Oct |
ACME-515 | Accountant role can open the Users page (read-only) Not a blocker; 4.2.1. | Low | Open | Roles | – | Frontend | 21 Oct |
ACME-518 | XLSX export: date column formatted as text | Low | Fixed | Reports | ACME-T-422 | Backend | 21 Oct |
ACME-519 | Totals block shifted 4 px in German invoice editor | Low | Deferred | Invoices UI | – | Frontend | 21 Oct |
ACME-521 | Bulk PDF download names files by ID instead of invoice number | Low | Fixed | Invoices | – | Backend | 21 Oct |
ACME-523 | French portal: 'Payer' button text truncated on iPhone SE | Low | Fixed | Customer portal | – | Frontend | 22 Oct |
Observations
| ID | Area | Observation | Impact | Suggested action |
|---|---|---|---|---|
OBS-01 | Staging | Staging was redeployed by another team on 21 Oct at 11:00, interrupting UAT for 40 minutes. | Schedule | Announce deploy freezes during UAT windows. |
OBS-02 | Test data | Seed data has no customer with more than 500 invoices; the large-tenant report test used a copy of t-demo-01. | Coverage | Add a large tenant to the seed script. |
OBS-03 | Process | 8 of 38 tickets had no acceptance criteria; cases were drafted from the PR description and confirmed with the PO. | Effort | Make acceptance criteria required in the Jira workflow. |
OBS-04 | Performance | Invoice PDF p95 is 1.98 s at expected peak, close to the 2 s SLO. | Risk | Cache PDFs before the January peak (see performance report). |
OBS-05 | Automation | 133 of 184 cases are linked to automated tests; the other 51 need human judgment. | Positive | – |
OBS-06 | UAT | Business testers finished their 36 UAT cases in 1.5 days; every result has a screenshot or note. | Positive | – |
Risks and known issues
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| ACME-513: a typo in a filter returns all invoices | Medium | Low | Release note; fix in 4.2.1 |
| Refunds tested only against the provider sandbox | Low | High | Watch the first production refunds; on-call informed |
| PDF latency close to SLO at peak | Medium | Medium | PDF cache planned before January |
| First nightly retention run removes 3,100 invoices across tenants | Low | High | Dry-run log reviewed; backup taken before the first run |
| Legacy v1 API not regression-tested (out of scope) | Low | Medium | The 2 customers still on v1 were informed |
Scope and traceability 38 tickets
| Ticket | Type | Summary | Area | Linked cases | Status |
|---|---|---|---|---|---|
ACME-430 | Story | Data retention per tenant | Invoices | 7 | Tested |
ACME-432 | Story | Hide expired invoices from lists and totals | Invoices | 7 | Tested |
ACME-434 | Bug | Invoice search ignores amounts with decimals | Invoices | 6 | Tested |
ACME-436 | Story | Bulk PDF download | Invoices | 6 | Tested |
ACME-438 | Story | Saved views on invoice list | Invoices | 6 | Tested |
ACME-440 | Task | PDF renderer upgrade | Invoices | 6 | Tested |
ACME-442 | Story | Bank CSV reconciliation | Payments | 6 | Tested |
ACME-444 | Story | Partial refunds | Payments | 6 | Tested |
ACME-446 | Bug | Overpayment allowed via API | Payments | 5 | Tested |
ACME-448 | Story | Refund creates credit note automatically | Payments | 5 | Tested |
ACME-450 | Story | Credit notes in customer portal | Credit notes | 6 | Tested |
ACME-452 | Bug | Credit note number series resets yearly | Credit notes | 6 | Tested |
ACME-454 | Story | Recurring: preview next dates | Recurring invoices | 6 | Tested |
ACME-456 | Bug | Day 31 schedule skipped in 30-day months | Recurring invoices | 5 | Tested |
ACME-458 | Story | Recurring: failure notification | Recurring invoices | 5 | Tested |
ACME-460 | Story | Reminder 30 days overdue | Payment reminders | 4 | Tested |
ACME-462 | Bug | Reminder uses legal name instead of trading name | Payment reminders | 4 | Tested |
ACME-464 | Story | Reminder language per customer | Payment reminders | 4 | Tested |
ACME-466 | Story | VIES VAT number validation | Customers | 6 | Tested |
ACME-468 | Story | Merge duplicate customers | Customers | 5 | Tested |
ACME-470 | Bug | Customer CSV export misses tags | Customers | 5 | Tested |
ACME-472 | Story | XLSX export for reports | Reports | 5 | Tested |
ACME-474 | Story | Scheduled report email | Reports | 5 | Tested |
ACME-476 | Bug | Year view totals off by credit notes | Reports | 4 | Tested |
ACME-478 | Task | Report query optimisation | Reports | 4 | Tested |
ACME-480 | Story | New role: Sales | Users and roles | 5 | Tested |
ACME-482 | Story | MFA mandatory for admins | Users and roles | 5 | Tested |
ACME-484 | Bug | Last admin could be deactivated | Users and roles | 5 | Tested |
ACME-486 | Story | SSO session timeout | Users and roles | 5 | Tested |
ACME-488 | Story | Portal: magic link login | Customer portal | 5 | Tested |
ACME-490 | Story | Portal: dispute form | Customer portal | 5 | Tested |
ACME-492 | Bug | Pay button visible after card payment | Customer portal | 4 | Tested |
ACME-494 | Story | Portal in French | Customer portal | 4 | Tested |
ACME-496 | Story | Webhook secret rotation | Webhooks and API | 3 | Tested |
ACME-498 | Bug | Webhook retry back-off | Webhooks and API | 3 | Tested |
ACME-500 | Story | API rate limit headers | Webhooks and API | 2 | Tested |
ACME-502 | Task | OpenAPI 3.1 migration | Webhooks and API | 2 | Tested |
ACME-504 | Task | Staging seed script | Webhooks and API | 2 | Tested |
Every ticket in the release has linked test cases: 38 tickets → 184 cases.
Automated runs
| Run | Tool | Result | Notes | Status |
|---|---|---|---|---|
| API smoke · rc1 | Python + OpenAPI checks | 265/270 (2 skipped) | ACME-512, 513, 514 found | Fail |
| API smoke · rc3 | Python + OpenAPI checks | 267/270 (2 skipped) | Only ACME-513 (deferred) fails | Known issue |
| E2E regression · rc3 | Playwright, Chromium + WebKit | 526/528 | 2 flaky tests flagged, passed on retry | Pass |
| Accessibility checks · rc3 | axe-core in Playwright | 8/8 pages | No new violations vs baseline (41 known, see accessibility report) | Pass |
| Load test · rc3 | k6 · 300 VUs · 30 min | p95 447 ms | Within the 500 ms target | Pass |
| Security retest · rc3 | Manual | SEC-01 fixed | Tenant check on PDF endpoints | Pass |
Each run has its own report: API smoke test, E2E regression, performance and security (same release).
Execution timeline
| Day | Build | Executed | Passed | Failed | Defects raised |
|---|---|---|---|---|---|
| Mon 20 Oct | rc1 | 64 | 58 | 6 | 6 |
| Tue 21 Oct | rc2 | 71 | 69 | 2 | 5 |
| Wed 22 Oct | rc2 | 43 | 42 | 1 | 3 |
| Thu 23 Oct | rc3: final cases + retests | 13 | 12 | 1 | 0 |
Executions include 7 retests of fixed defects, so they add up to 191. Failures on days 1–3 were retested after the fix.
Testers
| Tester | Focus | Cases | Passed | Failed |
|---|---|---|---|---|
| Tomasz (QA) | Technical cases, retests | 148 | 147 | 1 |
| Marta (Finance) | UAT cases in plain English | 21 | 21 | – |
| Jonas (Support) | UAT cases in plain English | 11 | 11 | – |
| Elif (Controlling) | UAT cases in plain English | 4 | 4 | – |
Environment
| Web app | https://staging.acme-ledger.example · build 4.2.0-rc3 (a41c9e2) |
|---|---|
| API | https://api.staging.acme-ledger.example/v2 · OpenAPI 2.4.0 |
| Browsers | Chrome 131, Safari 18 (macOS and iOS), Firefox 132 for the portal |
| Test data | 3 tenants, 120 customers, 1,284 invoices from the seed script; no production data |
| Integrations | Payment provider sandbox, email to a test inbox |
| Test management | Xray cycle ACME-TE-42; every result has evidence attached |
All test cases 184 cases
Invoices 38 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-300 | Create invoice — EUR | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-301 | Create invoice — USD | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-302 | Create invoice — GBP | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-303 | Create invoice — PLN | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-304 | VAT calculation — 23% | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-305 | VAT calculation — 8% | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-306 | VAT calculation — 5% | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-307 | VAT calculation — reverse charge | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-308 | Line and invoice discounts | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-309 | Rounding on fractional prices | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-310 | Due date from payment terms | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-311 | Number series per year | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-312 | Draft autosave | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-313 | Send by email | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-314 | Extra PDF attachment | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-315 | Notes on PDF | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-316 | Duplicate invoice | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-317 | Sent invoice is read-only | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-318 | Cancel a sent invoice | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-319 | Filter list — status | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-320 | Filter list — customer | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-321 | Filter list — issue date | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-322 | Filter list — due date | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-323 | Filter list — currency | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-324 | Bulk send | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-325 | Bulk PDF download | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-326 | Saved views | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-327 | Data retention — expired hidden from list | UAT | Manual | Marta (Finance) | Pass (retest) | ACME-512 |
ACME-T-328 | Data retention — expired excluded from totals | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-329 | Data retention — dashboard count | Technical | Automated | Tomasz (QA) | Pass (retest) | ACME-512 |
ACME-T-330 | Data retention — per-tenant setting | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-331 | Data retention — applied nightly | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-332 | PDF 50 lines on 3 pages | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-333 | PDF in customer's language | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-334 | Invalid status filter returns 400 | Technical | Automated | Tomasz (QA) | Fail | ACME-513 |
ACME-T-335 | List → detail consistency | UAT | Manual | Marta (Finance) | Pass (retest) | ACME-512 |
ACME-T-336 | Invoice search by amount | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-337 | Invoice search with decimals | Technical | Automated | Tomasz (QA) | Pass | – |
Payments 22 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-338 | Record payment — bank transfer | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-339 | Record payment — card | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-340 | Record payment — cash | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-341 | Record payment — PayPal | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-342 | Partial payment | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-343 | Two partials close the invoice | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-344 | Overpayment warning | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-345 | Payment on cancelled invoice blocked | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-346 | Back-dated payment | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-347 | Remove a payment | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-348 | Customer balance updated | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-349 | Bank CSV reconciliation | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-350 | Unknown reference goes to review | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-351 | Full refund | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-352 | Partial refund | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-353 | Refund above paid blocked | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-354 | Refund creates credit note | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-355 | Refund email | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-356 | Refund in report | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-357 | Payment receipt email | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-358 | Currency mismatch rejected | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-359 | Payment audit entry | Technical | Automated | Tomasz (QA) | Pass | – |
Credit notes 12 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-360 | Credit one line | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-361 | Credit full invoice | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-362 | Credit above total blocked | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-363 | Credit note PDF | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-364 | Credit note email | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-365 | Reduces balance | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-366 | Appears in VAT report | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-367 | Number series | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-368 | Credit on draft blocked | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-369 | Credit note in portal | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-370 | Credit note audit entry | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-371 | Credit note CSV export | UAT | Manual | Marta (Finance) | Pass | – |
Recurring invoices 16 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-372 | Schedule — weekly | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-373 | Schedule — monthly | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-374 | Schedule — quarterly | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-375 | Schedule — yearly | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-376 | Day 31 falls back to last day | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-377 | End date stops schedule | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-378 | Pause and resume | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-379 | Runs at midnight in tenant time zone | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-380 | Auto-send enabled | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-381 | Preview next 3 dates | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-382 | Edit applies to future only | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-383 | Customer archived stops schedule | UAT | Manual | Marta (Finance) | Pass | – |
ACME-T-384 | Price change picked up | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-385 | Failure notification to admin | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-386 | Schedule visible on customer | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-387 | Schedule in audit log | UAT | Manual | Marta (Finance) | Pass | – |
Payment reminders 12 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-388 | Reminder — 3 days before due | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-389 | Reminder — on due date | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-390 | Reminder — 7 days overdue | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-391 | Reminder — 30 days overdue | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-392 | Uses trading name | Technical | Automated | Tomasz (QA) | Pass (retest) | ACME-510 |
ACME-T-393 | Stops after payment | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-394 | Customer opt-out | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-395 | Template preview | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-396 | Reminder language | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-397 | Reminder with PDF | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-398 | Reminder log on invoice | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-399 | Max 4 reminders | UAT | Manual | Jonas (Support) | Pass | – |
Customers 16 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-400 | Create customer — company | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-401 | Create customer — individual | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-402 | Create customer — EU company with VAT | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-403 | Edit customer | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-404 | Archive customer | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-405 | Search by name | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-406 | Search by VAT number | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-407 | Filter by country | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-408 | Export CSV | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-409 | Delete blocked with open invoices | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-410 | Merge duplicates | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-411 | Invoice history | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-412 | Open balance | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-413 | Contacts: primary unique | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-414 | Contact email used on invoice | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-415 | VAT number validated (VIES) | UAT | Manual | Jonas (Support) | Pass | – |
Reports 18 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-416 | Revenue report — month | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-417 | Revenue report — quarter | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-418 | Revenue report — year | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-419 | Aged receivables buckets | UAT | Manual | Elif (Controlling) | Pass | – |
ACME-T-420 | VAT summary per rate | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-421 | CSV export | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-422 | XLSX export | Technical | Automated | Tomasz (QA) | Pass (retest) | ACME-518 |
ACME-T-423 | Totals equal invoices | UAT | Manual | Elif (Controlling) | Pass | – |
ACME-T-424 | Currency filter | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-425 | Year totals vs spreadsheet | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-426 | Credit notes reduce revenue | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-427 | Refunds in cash report | UAT | Manual | Elif (Controlling) | Pass | – |
ACME-T-428 | Report for archived customer | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-429 | Empty month | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-430 | Report permissions | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-431 | Report in German | UAT | Manual | Elif (Controlling) | Pass | – |
ACME-T-432 | Large tenant (20k invoices) | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-433 | Report scheduled email | Technical | Automated | Tomasz (QA) | Pass | – |
Users and roles 20 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-434 | Permissions — Admin | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-435 | Permissions — Finance | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-436 | Permissions — Accountant | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-437 | Permissions — Sales | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-438 | Permissions — Viewer | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-439 | Invite user as — Admin | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-440 | Invite user as — Finance | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-441 | Invite user as — Accountant | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-442 | Invite user as — Sales | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-443 | Invite user as — Viewer | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-444 | Invite email | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-445 | Invite expiry | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-446 | Resend invite | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-447 | Deactivate user | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-448 | Last admin protected | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-449 | MFA for admins | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-450 | Password reset | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-451 | Lockout after 5 failures | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-452 | SSO login | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-453 | Session timeout | Technical | Automated | Tomasz (QA) | Pass | – |
Customer portal 18 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-454 | Open invoice (desktop) | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-455 | Open invoice (mobile Safari) | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-456 | Pay by card | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-457 | Pay by PayPal | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-458 | Pay 3 invoices | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-459 | Download PDF | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-460 | Payment history | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-461 | Link expiry 90 days | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-462 | German | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-463 | French | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-464 | Notes shown as text | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-465 | Magic link login | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-466 | Pay button hidden after payment | Technical | Automated | Tomasz (QA) | Pass (retest) | ACME-517 |
ACME-T-467 | Credit note visible | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-468 | Dispute form | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-469 | Keyboard-only payment | UAT | Manual | Jonas (Support) | Pass | – |
ACME-T-470 | Screen reader payment | Technical | Manual | Tomasz (QA) | Pass | – |
ACME-T-471 | Portal branding | Technical | Manual | Tomasz (QA) | Pass | – |
Webhooks and API 12 cases
| ID | Test case | Type | Method | Tester | Result | Defect |
|---|---|---|---|---|---|---|
ACME-T-472 | Create subscription | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-473 | Test event | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-474 | Delivery log | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-475 | Disable subscription | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-476 | Rotate secret | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-477 | Reject http URL | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-478 | Manual retry | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-479 | Retry back-off | Technical | Automated | Tomasz (QA) | Pass (retest) | ACME-514 |
ACME-T-480 | Signature verification | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-481 | API client creation | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-482 | API secret shown once | Technical | Automated | Tomasz (QA) | Pass | – |
ACME-T-483 | Rate limit 429 | Technical | Automated | Tomasz (QA) | Pass | – |
Sign-off
Tomasz Kordiak · 23 Oct 2026
J. Fischer (Acme) · 23 Oct 2026
S. Okafor (Acme) · 23 Oct 2026
Sample report. Acme Ledger, its data, people and defects are fictional. Your report shows your product, your tickets and your tools.
More sample reports · Book a 15-minute call