Tester Onboarding Guide
Everything you need to start testing MemberVu from scratch. No prior knowledge required.
1. What is MemberVu?
MemberVu is a membership management platform used by clubs and organizations to manage their members, events, billing, and communications. Think of it as the admin backend + member portal for a club like a Rotary chapter.
Core Modules
| Module | What it Does | Who Uses It |
|---|---|---|
| Authentication | Login, registration, password reset, sessions | Everyone |
| Membership | Member profiles, directory, applications, approvals | Members, Admins |
| Events | Create events, RSVP, ticketing, check-in | Events Mgr, Members |
| Billing | Invoices, payments, credits, donations | Treasurer, Members |
| Dues | Membership fee settings, calculations, invoicing | Treasurer, Admins |
| Communications | Email broadcasts, segments, delivery tracking | Comms Mgr |
| RBAC | Role-based access control, permissions | Admins |
| Reporting | Membership reports, attendance, exports | Admins, Officers |
Multi-Tenancy
MemberVu supports multiple organizations (tenants) on a single platform. Each tenant has its own members, events, settings, and branding. The default test tenant is RCME (Rotary Club of Manila Expats).
2. Your First 30 Minutes
Open the Application
Navigate to stg-rcme.membervu.com/login in your browser (Chrome recommended).
The URL includes /rcme/ — this tells the app which tenant (organization) to load. You should see the RCME-branded login page.
Log in as Admin
Email: admin@rcme.membervu.com / Password: Admin123!
This gives you full access to all organization features. Explore the sidebar navigation to see all the modules.
Browse Key Pages
Click through these pages to get a feel for the app:
- Dashboard — Overview of the organization
- Members — Member directory and management
- Events — Event listing and creation
- Invoices — Billing and payment tracking
- Broadcasts — Email communication tools
- Settings — Org profile, roles, dues config
Log in as a Regular Member
Log out, then log in as: testmember@rcme.membervu.com / Member123!
Notice how the sidebar has fewer options — members can't access admin pages. This is RBAC in action.
Open This Test Guide
Keep this guide open in a second tab. Start reading the test cases for Auth — the simplest module.
3. Test Accounts
The staging environment has 12 pre-configured test users. Each has a specific role that controls what they can see and do.
Platform Level
| Role | Password | Access Level | |
|---|---|---|---|
| Super Admin | superadmin@zeniark.com | SuperAdmin123! | Everything + tenant management + can switch between organizations |
Organization Roles (RCME Tenant)
| Role | Password | What They Can Do | |
|---|---|---|---|
| Admin | admin@rcme.membervu.com | Admin123! | Full org access — members, events, billing, settings |
| Officer | officer@rcme.membervu.com | Officer123! | Read-only access to admin pages |
| Treasurer | treasurer@demo.membervu.com | Treasurer123! | Invoices, payments, dues — financial features only |
| Events Mgr | events@demo.membervu.com | Events123! | Create/edit events, manage registrations |
| Membership Mgr | membershipchair@demo.membervu.com | Membership123! | Approve/reject applications, manage member records |
| Comms Mgr | comms@demo.membervu.com | Comms123! | Broadcasts, segments, email templates |
Member Lifecycle
| Status | Password | Use For Testing | |
|---|---|---|---|
| Active Member | testmember@rcme.membervu.com | Member123! | Normal member flows — profile, events, invoices |
| Guest | guest@demo.membervu.com | Guest123! | Public access, event browsing, membership application |
| Pending | pending@demo.membervu.com | Pending123! | Approval workflow testing |
| Pending Payment | pending-payment@demo.membervu.com | Payment123! | Payment-gated membership testing |
| Expired | expired@demo.membervu.com | Expired123! | Expired member restrictions |
4. Understanding the Test Structure
Test Hierarchy
|
Test Cases (TC-XXX-NNN)
|
Test Steps (numbered rows in tables)
|
Expected Results (what should happen)
How to Read a Test Case
Each test case page has:
- Header
- Module name, backend handlers, and API routes involved
- Test Case ID
- e.g.,
TC-PWD-01— unique identifier for tracking - Steps Table
- Numbered actions to perform and what to expect after each
Example from TC-AUTH-003 Password Management:
| Step | Action | Expected Result |
|---|---|---|
| 1 | Navigate to "Forgot Password" screen | — |
| 2 | Enter valid registered email | — |
| 3 | Submit | API returns "If an account exists..." |
Test Case Naming Convention
| Prefix | Module | Example |
|---|---|---|
TC-PWD | Password Management | TC-PWD-01: Forgot Password |
TC-VER | Email Verification | TC-VER-01: Verify Email |
TC-SES | Session Management | TC-SES-01: Active Session |
TC-MEM | Membership | TC-MEM-001: Profile |
TC-EVT | Events | TC-EVT-001: Discovery |
TC-BIL | Billing | TC-BIL-001: Invoice Creation |
TC-COMM | Communications | TC-COMM-001: Broadcasts |
TC-RBAC | RBAC | TC-RBAC-001: Role Mgmt |
TC-PAY | Payments | TC-PAY-001: Submission |
TC-DUES | Dues | TC-DUES-001: Settings |
TC-RPT | Reporting | TC-RPT-001: Reports |
5. How to Execute a Manual Test
Pick a Test Case
Start with Auth > Password Management — it's short and self-contained.
Read All Steps First
Understand the full flow before clicking anything. Note which test user and role you need.
Execute Step by Step
Follow each row in the steps table. After each action, verify the expected result matches what you see.
Record Results
For each test case, note: PASS, FAIL, or BLOCKED (can't test due to a dependency).
If FAIL: capture what actually happened vs. what was expected.
File a Bug (if needed)
Use the Bug Reporting section below for the template and process.
6. Suggested Testing Order
Follow this order — each phase builds on the previous one:
| Phase | Module | Why First | Time Estimate |
|---|---|---|---|
| 0 | Environment Check | Verify everything is working before you start | 15 min |
| 1 | Auth | Login/logout is the foundation — everything else requires it | 30 min |
| 2 | Membership | Core module — profiles, directory, admin controls | 1-2 hrs |
| 3 | RBAC | Verify role permissions work before testing role-specific features | 1 hr |
| 4 | Events | High-visibility feature — create, register, check-in | 2 hrs |
| 5 | Billing | Financial features — invoices, payments | 2 hrs |
| 6 | Dues | Membership fee automation — depends on billing | 1 hr |
| 7 | Communications | Broadcasts, segments — independent module | 1-2 hrs |
| 8 | Reporting | Reports pull data from all modules — test last | 1 hr |
7. Tools You'll Use
| Tool | URL | Purpose |
|---|---|---|
| MemberVu App | stg-rcme.membervu.com/login | The application you're testing (include /rcme/ in the URL for tenant context) |
| API (Backend) | stg-api.membervu.com | Check API responses directly (use browser DevTools Network tab) |
| MailHog | stg-webmail.membervu.com | Catches all emails sent by the app — verify email content, links, formatting |
| Browser DevTools | F12 or Cmd+Option+I | Console errors, network requests, localStorage inspection |
Using Browser DevTools
Essential for testing. Here's what to watch:
- Console Tab
- Look for red errors. JavaScript errors often indicate bugs even when the UI looks fine.
- Network Tab
- Watch API calls. Failed requests show in red. Click to see request/response details.
- Application Tab > Local Storage
- Session tokens are stored here. Key:
oneledger_session. Useful for verifying login/logout.
Using MailHog
MailHog intercepts all emails the app sends. Use it to:
- Verify password reset emails are sent and contain valid links
- Check email verification messages
- Review broadcast/newsletter content
- Confirm event RSVP confirmations
- Validate invoice email formatting
8. How to Report a Bug
When you find something wrong, file a bug report with these details:
| Field | Example | Why It Matters |
|---|---|---|
| Bug ID | BUG-0042 | Unique tracking number |
| Summary | Password reset link expires immediately | One-line description developers will scan |
| Severity | P1 - Critical | Helps prioritize the fix |
| Steps to Reproduce | 1. Go to Forgot Password... 2. Enter email... 3. Click link... | Developers need to recreate the bug |
| Expected Result | Password reset form loads | What should have happened |
| Actual Result | "Token expired" error shown | What actually happened |
| Test User | testmember@rcme.membervu.com | So developers can reproduce with the same account |
| Screenshot | (attached) | Visual proof of the issue |
| Console Errors | 401 Unauthorized on /auth/reset | Technical clues for the fix |
Severity Levels
| Level | Meaning | Example |
|---|---|---|
| P0 - Blocker | App is unusable, data loss, security hole | Can't log in at all, payments going to wrong accounts |
| P1 - Critical | Major feature completely broken | Can't create events, invoices don't calculate correctly |
| P2 - Major | Feature works but with significant issues | Event list loads slowly, filter doesn't work for one option |
| P3 - Minor | Cosmetic, typos, minor inconveniences | Button misaligned, wrong color, truncated text |
9. Common Gotchas
Things that trip up testers (and developers!):
| Gotcha | What Happens | What to Do |
|---|---|---|
| Rate Limiting | After 5 failed login attempts, you get locked out for 15 minutes | Wait 15 minutes, or ask a developer to restart the backend container |
| Stale Session | Page shows "Session expired" or redirects to login unexpectedly | Clear browser localStorage (DevTools > Application > Local Storage > Clear All), then log in again |
| Tour Overlay | First-time login shows a guided tour that blocks clicking | Click "Skip" on the tour overlay, or refresh the page |
| Role Confusion | Menu items or pages missing when logged in as the wrong role | Check which user you're logged in as (top-right corner). Different roles see different menus — this is by design. |
| Cached Data | Changes don't appear after an action (e.g., created event not in list) | Hard-refresh the page (Cmd+Shift+R on Mac, Ctrl+Shift+R on Windows) |
| Email Not Arriving | Expected email not visible in MailHog | Check MailHog search — emails may be under a different recipient. Also verify the action that triggers the email actually succeeded (check Network tab). |
| Dropdowns Look Empty | Native <select> dropdowns may show options that are technically there but visually hidden |
Click the dropdown and use keyboard arrows to scroll. Some options load asynchronously — wait a moment. |
10. Glossary
Terms you'll encounter throughout testing:
| Term | Meaning |
|---|---|
| Tenant | An organization using MemberVu (e.g., RCME). Each tenant has isolated data. |
| RCME | Rotary Club of Manila Expats — the default test organization |
| Slug | URL-safe identifier for a tenant (e.g., rcme) |
| RBAC | Role-Based Access Control — determines what each user can see/do |
| JWT | JSON Web Token — the authentication token stored in your browser |
| Seed Data | Pre-loaded test data (users, events, invoices) for testing |
| MailHog | Email testing tool that captures all emails instead of sending them |
| E2E | End-to-End — testing the full flow from UI to database |
| P0/P1/P2/P3 | Bug severity levels: Blocker / Critical / Major / Minor |
| Broadcast | Mass email sent to members (via Communications module) |
| Segment | A filtered group of members (e.g., "Active members who joined in 2025") |
| Dues | Recurring membership fees |
| Feature Flags | Toggles that enable/disable features per tenant |
| Quick Login | Dev-only buttons on the login page for fast access to test accounts |
11. Quick Reference Checklist
Print this or keep it handy during your first testing session:
Before You Start
- Application loads at
stg-rcme.membervu.com/login - Can log in as Admin (
admin@rcme.membervu.com) - Can log in as Member (
testmember@rcme.membervu.com) - MailHog is accessible at
stg-webmail.membervu.com - Browser DevTools open (Console + Network tabs)
- This test guide open in a second tab
During Testing
- Reading test steps before executing them
- Testing with the correct user role
- Checking both UI and Network tab for errors
- Recording PASS/FAIL/BLOCKED for each test case
- Taking screenshots of failures
- Noting the exact steps that reproduce any bug
After Testing
- All bugs filed with reproduction steps
- Test results recorded (which test cases passed/failed)
- Any blocked tests noted with the reason