Files
android-kiosk-browser/TESTING.md
T
pluto 3eae148419 docs: Add manual QA testing checklist
Comprehensive test cases for:
- Core functionality (fullscreen, webview, whitelist)
- Admin access and settings
- Idle timeout behavior
- Boot persistence
- Edge cases and security tests

Created by Margaret 🌸
Co-authored-by: Margaret <margaret@hobbs.farm>
2026-02-03 09:13:02 -06:00

2.7 KiB

TESTING.md — Manual QA Checklist

Pre-Test Setup

  • Fresh Android device or emulator (API 21+)
  • App installed via adb install
  • Device owner set: adb shell dpm set-device-owner farm.hobbs.kioskbrowser/.KioskDeviceAdminReceiver
  • Default config: homepage=https://hobbs.farm, PIN=1234

Core Functionality Tests

Fullscreen/Immersive Mode

  • Status bar hidden on launch
  • Navigation bar hidden on launch
  • Swipe from edge shows bars briefly, then auto-hide
  • Screen stays awake (no auto-sleep)

WebView Browser

  • Homepage loads on start
  • Pages render correctly
  • JavaScript works
  • Links within whitelist navigate properly
  • Scroll works on long pages

URL Whitelist

  • Whitelisted domain loads: hobbs.farm ✓
  • Subdomain loads: git.hobbs.farm ✓
  • Blocked domain redirects: google.com → homepage
  • Bypass attempt blocked: hobbs.farm.evil.com → homepage
  • Empty whitelist: all external URLs blocked

Admin Access

  • 3-tap top-left corner opens PIN dialog
  • Wrong PIN rejected, stays in kiosk
  • Correct PIN (1234) opens settings
  • Can change homepage URL
  • Can edit whitelist
  • Can change idle timeout
  • Can change PIN
  • Settings persist after app restart

Idle Timeout

  • Timer resets on touch
  • Timer resets on page navigation
  • Timeout triggers → returns to homepage
  • Session/cookies cleared on timeout

Boot & Persistence

  • App auto-launches on device boot
  • Lock Task Mode active (home button disabled)
  • Recent apps button disabled
  • Back button blocked or controlled

Edge Cases & Error Handling

Network Errors

  • No internet → graceful error message (not crash)
  • Slow connection → page loads eventually or times out gracefully
  • WiFi disconnect mid-browse → error shown, retry option

Invalid Configuration

  • Empty homepage URL → fallback or error
  • Malformed whitelist entry → ignored, doesn't crash
  • Invalid PIN (non-numeric) → handled gracefully

Security Tests

  • Cannot exit app without PIN
  • Cannot access Android settings
  • Cannot pull down notification shade
  • Cannot switch apps
  • Long-press doesn't open context menus

Stress Tests

  • Rapid navigation (spam links) → no crash
  • Multiple idle timeout cycles → stable
  • Leave running 1+ hours → no memory leaks

Test Results Template

Test Pass/Fail Notes
Fullscreen mode
Whitelist blocking
Admin PIN access
Boot auto-launch
Idle timeout
Network error handling

QA checklist by Margaret 🌸 Project coordinated by Pluto 🪐