π¦ ONE COMPLETE EXAMPLE
Online Banking β Money Transfer Feature
Scenario: A bank application allows users to log in and transfer money to another account.
π§ STEP-BY-STEP: ALL TESTING IN ONE FLOW
1οΈβ£ Testing Techniques (HOW you test)
πΉ White Box Testing (Developer side)
What: Developer tests internal code logic of money transfer.
Example:
- Check
if balance >= transferAmount - Check error handling when DB connection fails
- Loop validation for retry attempts
π Focus: code paths, conditions, loops
πΉ Black Box Testing (QA/User side)
What: Tester doesnβt see code, only inputs & outputs.
Example:
- Enter $5,000 with enough balance β Transfer successful
- Enter $50,000 with low balance β Error message shown
π Focus: input β output behavior
πΉ Grey Box Testing
What: Tester knows partial system details (API + DB).
Example:
- Submit transfer request
- Verify API returns
200 OK - Check database transaction record is created correctly
π Focus: behavior + internal data validation
2οΈβ£ Testing Levels (WHERE you test)
πΉ Unit Testing
Who: Developer What: Individual functions
Example:
- Test
calculateFee()function - Test
validateAccountNumber()function
πΉ Integration Testing
What: Interaction between modules
Example:
- Login module β Transfer module
- Transfer module β Notification (SMS/Email)
Types in action:
- Bottom-Up: Test transfer service before UI
- Top-Down: Test UI with mocked backend
πΉ System Testing
What: End-to-end flow
Example:
- Login β Select beneficiary β Enter amount β Transfer β Logout
Includes: β Functional β Performance β Security β Usability
πΉ Acceptance Testing (UAT)
Who: Business / End Users
Examples:
- User verifies daily transfer limit works
- Business confirms regulatory rules applied
- Ops team checks logs, monitoring, backup (OAT)
Alpha: Bank internal staff testing Beta: Limited real customers testing before launch
3οΈβ£ Testing Types (WHAT you test)
β Functional Testing
π₯ Smoke Testing
Question: Is build usable at all?
Example:
- App opens
- Login works
- Transfer page loads
π Build is not broken
π₯ Sanity Testing
Question: Did the specific fix work?
Example:
- Bug fixed: Transfer failed for decimals
- Test only decimal transfer scenario
π Fix is logical
π₯ Retesting
Question: Is THIS bug fixed?
Example:
- Re-execute the same failed test case
- Confirm transfer now succeeds
π₯ Regression Testing
Question: Did anything else break?
Example: After transfer fix, re-test:
- Login
- Balance display
- Transaction history
- Logout
π Nothing else broke
π§ͺ Non-Functional Testing
π Performance Testing
- 10,000 users transferring money simultaneously
- Check response time < 3 seconds
π Security Testing
- SQL Injection on transfer amount
- Session hijacking attempt
- Authorization check (user cannot transfer from another account)
π― Usability Testing
- Is transfer screen easy to understand?
- Clear error messages?
π± Compatibility Testing
- Works on Chrome, Firefox, Safari
- Works on mobile & desktop
π Reliability Testing
- Run transfers continuously for 24 hours
- App should not crash or leak memory
π― Experience-Based Testing
Example: Tester tries:
- Transfer $0
- Transfer extremely large value
- Rapid multiple clicks on βTransferβ button
π Based on experience + intuition
π§ ONE-LINE INTERVIEW SUMMARY (POWERFUL)
βIn an online banking transfer feature, developers perform unit and white-box testing on transfer logic, QA performs black-box functional testing, smoke, sanity, retesting, and regression testing across integration, system, and UAT levels, while non-functional testing ensures performance, security, usability, compatibility, and reliability before release.β
If you want, next I can:
- Turn this into 1-minute interview answer
- Convert it into diagram / flow
- Give real QA interview Q&A based on this example
Just tell me π