✅ Testing & QA
Strategy, environments, criteria, and tooling for the current Testing phase.
On this page
Overview & Status
iSpeaker Live is in the Testing & QA phase (week 13–14 of 16). The goal of this phase is to validate that the implementation meets the requirements, is reliable across platforms, and is ready for production launch.
Test Strategy
We follow a risk-based strategy: more depth on flows that touch money, real-time, and external services; broad smoke coverage on everything else.
Pyramid & balance
- Unit tests (developer-owned): business logic in services and policies. PhpUnit on backend; component-level on web; Dart tests on Flutter.
- Integration / API tests (developer-owned): Laravel Feature tests covering endpoint contracts and role guards.
- End-to-end & manual exploratory (QA-owned): this catalogue — across web & mobile, AR & EN.
Priorities for the current phase
- Payment paths — cart, checkout, wallet top-up, refunds, invoices.
- Real-time — chat & live rooms under poor network conditions.
- Localization — every screen in AR and EN; PDFs & notifications too.
- Cross-platform parity — web vs. Flutter equivalence.
- Edge cases — slow networks, low-end devices, no-data states, large datasets.
Types of Testing
🧩 Functional
Validate features against acceptance criteria. Happy paths + key edges.
🔗 Integration
Multi-module flows: marketplace → cart → checkout → enrollment → progress.
👤 UAT
Stakeholders or stand-ins perform persona top-tasks.
⚡ Performance
Lighthouse, API timing, list pagination, image lazy-load, bundle size.
🔒 Security
Authn/authz on every endpoint, file upload validation, SQLi/XSS sanity.
♿ Accessibility
Contrast, focus, keyboard, screen reader, semantic landmarks.
🌐 Localization
AR/EN parity, RTL flipping, formatted dates & currency.
📱 Compatibility
Browsers: Chrome / Safari / Edge / Firefox; iOS & Android matrix.
🔥 Smoke / Regression
Quick sanity sweep after each fix; full regression at the end.
Environments
| Env | Audience | Data | External services |
|---|---|---|---|
| Local | Developers | Seeded fake data | Sandbox PayPal, mocked FCM |
| Staging | QA & UAT | Anonymised production-like dataset | Sandbox PayPal, real FCM (test app), real Jitsi (test domain) |
| Production | End users | Live data | Live PayPal, real FCM, production Jitsi |
Devices & browsers (minimum matrix)
- Web: latest Chrome, Safari (macOS & iOS), Edge, Firefox.
- iOS: latest two major versions on iPhone 12+ and iPad.
- Android: API 28+ on at least one mid-range & one budget device.
- Network conditions: 4G fast, 3G slow, intermittent.
Test Data
Standard accounts (staging)
| Account | Role | Notes |
|---|---|---|
student.qa@ispeakerlive.com | Student | Empty library, default state |
student.full@ispeakerlive.com | Student | Active enrollments & book purchases |
speaker.qa@ispeakerlive.com | Speaker | Published courses, books, scheduled room |
speaker.empty@ispeakerlive.com | Speaker | No content yet — for empty-state tests |
admin.qa@ispeakerlive.com | Admin | Filament panel access |
Wallet test states
- Empty wallet (0.00) — to test top-up flow.
- Full wallet (500.00) — to test purchase from wallet only.
- Insufficient balance (10.00) — to test partial / top-up prompt.
- Pending withdrawal — to test withdrawal lifecycle.
PayPal sandbox
- Buyer sandbox account for capturing approvals.
- "Reject card" sandbox for negative-path testing.
Entry & Exit Criteria
✅ Entry criteria
- Feature dev complete & merged.
- Unit + integration tests green in CI.
- Staging build deployed.
- Test data seeded.
- Test cases reviewed & assigned.
🎯 Exit criteria
- 0 open critical defects.
- 0 open high defects.
- ≤ 5 open medium defects with documented workarounds.
- ≥ 95% test case pass rate.
- UAT sign-off by Product Owner.
- Performance & accessibility budgets met.
Defect Lifecycle
See the full Bug Reporting page for severity, priority, and the report template.
Quick view of the lifecycle:
Tools
- Test case management: shared spreadsheet / TestRail / Notion (this site mirrors the catalogue).
- API testing: Postman / Insomnia.
- Mobile testing: physical devices + emulators / simulators; BrowserStack for matrix coverage.
- Performance: Lighthouse, k6 / Artillery for load.
- Accessibility: axe DevTools, Wave, VoiceOver / TalkBack.
- Issue tracking: GitHub Issues / Jira.
- Screen recording: Loom / built-in OS recorders for repro videos.
Roles & Responsibilities
| Role | Responsibilities |
|---|---|
| QA Lead | Owns the test plan, prioritises, signs off the phase. |
| Tester | Executes test cases, files defects, retests fixes. |
| Developer | Triages, fixes, deploys, validates defect closure in staging. |
| Product Owner | UAT, priorities on contested defects, final sign-off. |
| Designer | Reviews UI/UX bugs, confirms acceptable variants. |
Sign-off Process
- QA Lead confirms exit criteria are met.
- Test summary report shared (pass / fail / known issues).
- Product Owner reviews & signs off in writing.
- Deployment plan executed (see Deployment).
The sign-off does not require zero defects — only zero critical / high and an agreed-upon list of accepted medium / low issues for the launch.