🗓️Week 5 – Chaos & Integration Testing
Goal: Try to break the system, test edge cases, find bugs, and push the limits.
Quest 1: Multi-Vault Mayhem (20 minutes)
What you're doing: Creating multiple vaults and using them simultaneously.
Create 5 different vaults (yes, 5!)
Each with different configurations:
Vault 1: 3 guardians, 2/3 threshold
Vault 2: 5 guardians, 3/5 threshold
Vault 3: 10 guardians, 7/10 threshold
Vault 4: 3 guardians, 1/3 threshold (auto-approval)
Vault 5: 3 guardians, 3/3 threshold (maximum security)
Deposit different assets in each vault
Submit actions in multiple vaults at the same time
Switch between vaults rapidly
Try to confuse the system
Things to test:
Can you approve actions across vaults simultaneously?
Does activity in Vault 1 affect Vault 2?
Can the same guardian approve in multiple vaults?
What happens if you submit the same action in multiple vaults?
✅ Quest Complete! You've stress-tested the multi-vault system.
Quest 2: Edge Case Hunting (30 minutes)
What you're doing: Trying weird things to see what breaks.
Try These:
Zero Amount Tests:
Try to deposit 0 tokens (should fail)
Try to withdraw 0 tokens (should fail)
Request transfer of 0 tokens (should fail)
Empty Array Tests:
Try to deposit NFTs with empty selection (should fail)
Try batch operation with nothing selected (should fail)
Duplicate Tests:
Try to add same guardian twice (should fail)
Try to deposit same NFT twice (should fail with "not owner")
Limit Tests:
Try to add 11 guardians (should fail, max is 10)
Try to set threshold higher than guardian count (should fail)
Try to deposit 6+ NFTs at once (check if it works or limits you)
Timing Tests:
Submit action, immediately try to execute (should need approvals)
Approve action, immediately disapprove (should fail - can't do both)
Permission Tests:
Try to approve your own request (should fail)
Try to use emergency withdrawal as guardian (should fail)
Try to withdraw assets as non-owner (should fail)
Document everything that:
❌ Fails unexpectedly
❌ Gives confusing error messages
❌ Succeeds when it shouldn't
✅ Works correctly but could be clearer
✅ Quest Complete! You're a professional bug hunter.
Quest 3: Gas Limit Testing (15 minutes)
What you're doing: Finding operations that use a lot of gas (transaction fees).
Test with 1 NFT: Deposit a single NFT, note gas used
Test with 2 NFTs: Deposit two NFTs, note gas used
Test with 3 NFTs: Note the pattern
Test with 5 NFTs: Check gas usage
Compare gas costs:
5 separate transactions vs 1 batch transaction
Which is more efficient?
Test complex approvals:
Action with 3 guardians: note gas
Same action with 10 guardians: note gas
How much more expensive is high security?
Report findings:
Which operations are most expensive?
Are there ways to make them cheaper?
Does batch really save gas?
✅ Quest Complete! You understand gas efficiency.
Quest 4: Mobile & Desktop Testing (20 minutes)
What you're doing: Testing the app on different devices and browsers.
Desktop Testing:
Chrome: Do all Week 1-4 basic quests
Does everything work?
Are buttons clickable?
Do modals display correctly?
Firefox: Repeat key actions
Any visual differences?
Any functionality broken?
Safari (if Mac): Test key flows
Wallet connection works?
Transactions confirm properly?
Mobile Testing:
Mobile Chrome (Android) or Safari (iOS):
Can you connect wallet?
Can you navigate the UI?
Are buttons big enough to tap?
Does text size work?
Can you approve transactions in mobile wallet?
Test on tablet if available
Document:
Which device works best?
Which has problems?
Any layout issues?
Any functionality that doesn't work on mobile?
✅ Quest Complete! You've tested cross-platform.
Quest 5: Transaction Failure Testing (15 minutes)
What you're doing: Testing what happens when transactions fail.
Low gas test:
Set gas limit too low manually
Submit transaction
It will fail
Does UI handle it gracefully?
Can you retry?
Reject transaction:
Start any action
Click "Reject" in your wallet
Does UI update correctly?
Does it give helpful error message?
Insufficient balance:
Try to withdraw more tokens than you have
Should fail with clear message
Network switch mid-transaction:
Start a transaction
Switch networks in your wallet
What happens?
Disconnected wallet:
Start an action
Disconnect wallet mid-process
Does it detect this?
Can you reconnect and continue?
✅ Quest Complete! You've tested error handling.
Quest 6: The Full Integration Test (30 minutes)
What you're doing: Complete end-to-end test of the entire system.
The Complete Journey:
✅ Create vault with 5 guardians, 3/5 threshold
✅ Mint all test assets
✅ Deposit all 4 asset types
✅ Submit withdrawal request
✅ Get 3 guardian approvals
✅ Execute withdrawal
✅ Submit transfer to another address
✅ Get guardian approvals
✅ Execute transfer
✅ Lock the vault
✅ Verify deposits blocked
✅ Request unlock
✅ Get guardian approvals
✅ Execute unlock
✅ Initiate recovery (as guardian)
✅ Get guardian approvals
✅ Execute recovery
✅ Verify new owner has control
✅ Transfer vault ownership back via normal transfer
✅ Withdraw remaining assets
If you complete all 20 steps without errors: You've proven the system works end-to-end!
Document any issues: Even small UX friction points matter.
✅ Quest Complete! You're a full-system expert.
Last updated
