UI/UX Testing
Pengenalan
Dalam era digital ini, kualitas antarmuka pengguna dan pengalaman pengguna menjadi faktor krusial dalam kesuksesan sebuah aplikasi atau website. UI/UX Testing adalah proses sistematis untuk mengevaluasi bagaimana pengguna berinteraksi dengan produk digital, memastikan bahwa tidak hanya antarmukanya terlihat baik, tetapi juga intuitif dan mudah digunakan.
Definisi UI & UX Testing
Perbedaan Mendasar
| Aspek | UI Testing | UX Testing |
|---|---|---|
| Fokus | Antarmuka visual & elemen desain | Pengalaman pengguna secara keseluruhan |
| Tujuan | Memastikan konsistensi visual & fungsionalitas | Memastikan kemudahan & kepuasan penggunaan |
| Scope | Button, ikon, warna, layout, responsivitas | Alur kerja, kegunaan, aksesibilitas, emosi |
| Metode | Testing manual, automated testing | Usability testing, user interviews, surveys |
| Outcome | Bug visual, masalah responsivitas | User pain points, kesulitan navigasi |
Definisi Singkat
UI Testing (User Interface Testing) adalah proses pengujian untuk memverifikasi bahwa semua elemen visual dan interaktif dari sebuah aplikasi berfungsi dengan baik, konsisten, dan responsif di berbagai perangkat.
UX Testing (User Experience Testing) adalah proses pengujian untuk mengevaluasi seberapa baik pengguna dapat mencapai tujuan mereka dengan aplikasi, seberapa mudah untuk digunakan, dan seberapa menyenangkan pengalaman mereka.
Fokus UI Testing
Poin-Poin Utama UI Testing
1. Konsistensi Visual ๐๏ธ
Konsistensi visual memastikan bahwa desain terlihat profesional dan kohesif di seluruh aplikasi.
Aspek yang Diuji:
- Konsistensi warna, font, dan ukuran
- Alignment dan spacing yang teratur
- Konsistensi style button, input field, dan komponen lainnya
- Brand consistency
Contoh Testing Konsistensi Visual:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Test Case: Verifikasi Konsistensi Warna
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ID: UI-001
Tujuan: Memastikan semua button primary menggunakan warna yang sama
Langkah:
1. Buka halaman Dashboard
2. Catat warna button "Submit" pada form login
3. Navigasi ke halaman Settings
4. Verifikasi warna button "Save Changes"
5. Navigasi ke halaman Profile
6. Verifikasi warna button "Update Profile"
Hasil yang Diharapkan:
Semua button primary harus menggunakan hex color yang sama (misalnya #007BFF)
โ
PASS: Semua button konsisten
โ FAIL: Button pada Profile page menggunakan warna berbeda (#0056B3)
Alat yang Digunakan:
- Browser Developer Tools untuk inspect elemen
- Screenshot comparison tools
- Design system documentation
2. Responsivitas ๐ฑ
Responsivitas memastikan aplikasi dapat beradaptasi dengan berbagai ukuran layar dan perangkat.
Aspek yang Diuji:
- Layout pada mobile (320px - 480px)
- Tablet (481px - 768px)
- Desktop (769px - 1200px)
- Large screens (>1200px)
- Breakpoint transitions
- Element visibility & overflow handling
Contoh Testing Responsivitas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Test Case: Responsivitas Landing Page
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ID: UI-002
Tujuan: Memastikan landing page responsive di semua device
Skenario 1: Mobile Device (iPhone 12 - 390x844px)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Langkah:
1. Set viewport ke 390x844px
2. Verifikasi navigation menu berubah ke hamburger menu
3. Verifikasi images menyesuaikan ukuran layar
4. Verifikasi text readable tanpa zoom
5. Scroll halaman dan verifikasi semua elemen visible
Hasil yang Diharapkan:
โ
Menu responsive menjadi hamburger
โ
Images scale properly
โ
Text readable pada ukuran asli
โ
Tidak ada horizontal scrolling
Skenario 2: Tablet Device (iPad - 768x1024px)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Langkah: [Similar process]
Hasil yang Diharapkan:
โ
2-column layout terlihat dengan baik
โ
Touch elements (buttons) cukup besar (min 44x44px)
โ
Image gallery berfungsi dengan baik
Skenario 3: Desktop (1920x1080px)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Langkah: [Similar process]
Hasil yang Diharapkan:
โ
3-column layout optimal
โ
Content width tidak melebihi 1200px
โ
Whitespace sesuai dengan design guidelines
Tools & Browser yang Digunakan:
- Chrome DevTools Responsive Mode
- Firefox Developer Edition
- Safari Developer Tools
- BrowserStack untuk testing multi-device
3. Kompatibilitas ๐
Kompatibilitas memastikan aplikasi berfungsi dengan baik di berbagai browser dan operating system.
Aspek yang Diuji:
- Cross-browser compatibility (Chrome, Firefox, Safari, Edge)
- Cross-OS compatibility (Windows, macOS, Linux, iOS, Android)
- CSS rendering consistency
- JavaScript compatibility
- Responsive image handling
Contoh Testing Kompatibilitas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Test Case: Cross-Browser Compatibility
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ID: UI-003
Tujuan: Memastikan aplikasi kompatibel di major browsers
Browser Testing Matrix:
โโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโ
โ Feature โ Chrome โ Firefox โ Safari โ Edge โ
โ โ v119 โ v120 โ v17 โ v119 โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโค
โ Buttons โ โ
โ โ
โ โ
โ โ
โ
โ Form Input โ โ
โ โ
โ โ
โ โ
โ
โ Dropdown โ โ
โ โ ๏ธ โ โ
โ โ
โ
โ Modal โ โ
โ โ
โ โ โ โ
โ
โ Animation โ โ
โ โ
โ โ ๏ธ โ โ
โ
โ Gradient BG โ โ
โ โ
โ โ
โ โ
โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโ
Catatan:
โ ๏ธ Firefox - Dropdown muncul tapi animasi kurang smooth
โ Safari - Modal shadow effect tidak terlihat
Rekomendasi:
1. Gunakan fallback CSS untuk Firefox dropdown
2. Fix box-shadow property untuk Safari compatibility
Tools yang Digunakan:
- BrowserStack
- CrossBrowserTesting
- Lambda Test
- Sauce Labs
Fokus UX Testing
Poin-Poin Utama UX Testing
1. Alur Kerja (User Flow) ๐
Alur kerja menggambarkan perjalanan pengguna dalam menyelesaikan tugas tertentu.
Aspek yang Diuji:
- Keterlogisan tahapan proses
- Jumlah klik/tap yang diperlukan (minimize)
- Clear call-to-action (CTA)
- Intuitive navigation paths
- Error prevention & recovery
Contoh Testing Alur Kerja:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Test Case: User Flow Checkout
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ID: UX-001
Tujuan: Mengevaluasi alur checkout dari start hingga success
Pengguna Target: New user (first time checkout)
Alur yang Diharapkan:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. Product Page โ
โ - View product details โ
โ - Click "Add to Cart" โ
โโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโ
โ โ
Clear button
โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโ
โ 2. Cart Review โ
โ - Review items โ
โ - Edit quantities โ
โ - Click "Proceed to Checkout" โ
โโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโ
โ โ
Visible cart summary
โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโ
โ 3. Shipping Info โ
โ - Enter/select address โ
โ - Select shipping method โ
โ - Click "Continue" โ
โโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโ
โ โ
Form validation
โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโ
โ 4. Payment Info โ
โ - Enter card details โ
โ - Click "Pay Now" โ
โโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโ
โ โ
Secure payment form
โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโ
โ 5. Order Confirmation โ
โ - Show success message โ
โ - Display order number โ
โ - Provide receipt option โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Test Results:
โ
Alur logis dan mudah diikuti
โ
Hanya 5 steps (optimal)
โ ๏ธ Shipping form terlalu banyak required fields
โ Payment form tidak menampilkan security badges
Rekomendasi:
1. Simplify shipping form dengan auto-fill
2. Add trust badges pada payment form
3. Show progress indicator di setiap step
2. Kegunaan (Usability) ๐ก
Kegunaan mengukur seberapa mudah pengguna dapat menggunakan aplikasi untuk mencapai tujuan mereka.
Aspek yang Diuji:
- Learnability (kemudahan belajar)
- Efficiency (kecepatan penyelesaian tugas)
- Error rates (tingkat kesalahan pengguna)
- Memorability (mudah diingat)
- Satisfaction (kepuasan pengguna)
Contoh Testing Kegunaan:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Test Case: Usability Testing - Search Feature
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ID: UX-002
Metode: Moderated Usability Testing (5 participants)
Durasi: 30 menit per participant
Skenario Tugas:
"Carilah laptop dengan spesifikasi Intel i7 dan budget
maksimal 15 juta rupiah"
Metrik yang Diukur:
โโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโ
โ Metrik โ P1 โ P2 โ Target โ
โโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโค
โ Task Completion โ โ
(2:15)โ โ
(3:45)โ 100% โ
โ Clicks โ 8 โ 12 โ <10 โ
โ Errors โ 0 โ 1 โ <2 โ
โ Confusion Points โ None โ Filter โ None โ
โ SUS Score โ 85 โ 78 โ >75 โ
โโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโ
Findings:
โ
Search filter mudah ditemukan
โ
Filter results intuitif
โ ๏ธ Price range label tidak jelas (P2 confused)
โ No "Clear filters" button visible
Rekomendasi:
1. Ubah label "Price Range" menjadi "Budget (Rp)"
2. Add "Clear All Filters" button
3. Show applied filters dengan visual badges
Tools yang Digunakan:
- Maze
- UserTesting
- Respondent
- Validately
3. Aksesibilitas (Accessibility) โฟ
Aksesibilitas memastikan aplikasi dapat digunakan oleh semua orang, termasuk mereka dengan disabilitas.
Aspek yang Diuji:
- WCAG 2.1 compliance
- Keyboard navigation
- Screen reader compatibility
- Color contrast
- Alt text untuk images
- Form accessibility
- Video captions & transcripts
Contoh Testing Aksesibilitas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Test Case: Accessibility Audit
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ID: UX-003
Tujuan: Ensure WCAG 2.1 AA compliance
Tools: WAVE, Axe DevTools, NVDA Screen Reader
Keyboard Navigation Test
โโโโโโโโโโโโโโโโโโโโโโโ
Skenario: Navigate entire page using only Tab key
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Step 1: Home page opened โ
โ โ Press Tab repeatedly โ
โ โ
Focus indicator visible on all elements
โ โ
Tab order logical (left-to-right, top-to-bottom)
โ โ
Can access menu via Tab key
โ โ
No keyboard trap detected
โ โ Skip to main content link not present
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Screen Reader Test (NVDA)
โโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
Page title announced correctly
โ โ
Form labels associated with inputs
โ โ
Button purposes clear
โ โ
Images have alt text
โ โ Icons dalam buttons tidak punya aria-label
โ โ Modal dialog role tidak diterapkan
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Color Contrast Test
โโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Element โ Ratio โ Standard โ Result
โโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโค
โ Heading text โ 12:1 โ >4.5:1 โ โ
PASS
โ Body text โ 5.2:1 โ >4.5:1 โ โ
PASS
โ Button text โ 3.5:1 โ >4.5:1 โ โ FAIL
โ Link text โ 4.8:1 โ >4.5:1 โ โ
PASS
โโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโ
Rekomendasi:
1. Tambahkan "Skip to main content" link
2. Tambahkan aria-label untuk icon buttons
3. Add proper ARIA roles untuk modal
4. Increase button text contrast ratio
Tools yang Digunakan:
- WAVE (WebAIM)
- Axe DevTools
- NVDA Screen Reader
- JAWS
- Lighthouse (Chrome DevTools)
Metode & Tools
1. Manual Testing ๐ค
Manual testing melibatkan tester yang secara langsung menjalankan test cases tanpa otomasi.
Kelebihan:
- Fleksibel untuk exploratory testing
- Dapat mendeteksi UX issues yang tidak terduga
- Lebih baik untuk mengevaluasi user experience
- Tidak memerlukan technical knowledge yang tinggi
Kekurangan:
- Time-consuming
- Prone to human error
- Tidak scalable untuk large projects
- Repeatability terbatas
Best Practices:
1
2
3
4
5
1. Buat detailed test cases
2. Dokumentasikan semua steps
3. Screenshot/record bug reproduction
4. Gunakan checklist untuk consistency
5. Test di berbagai kondisi & scenarios
2. A/B Testing ๐
A/B Testing membandingkan dua versi dari elemen UI untuk menentukan mana yang lebih baik.
Konsep:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Original Version (Control) โ
โ - Current design โ
โ - Shown to 50% users โ
โ Metric: 5% conversion rate โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
VS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Test Version (Variant) โ
โ - New design โ
โ - Shown to 50% users โ
โ Metric: 7% conversion rate โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
Variant lebih baik (40% increase)
Contoh A/B Test:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Test Name: CTA Button Color Optimization
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Periode: 2 minggu
Sample Size: 10,000 users (5,000 per variant)
Variant A (Control):
- Button color: #007BFF (Blue)
- Button text: "Subscribe"
- CTA rate: 8.5%
Variant B (Test):
- Button color: #FF6B6B (Red)
- Button text: "Get Started"
- CTA rate: 12.3%
Hasil:
- Variant B lebih baik 44.7%
- Confidence level: 99.9%
- Recommendation: Implement Variant B
Insights:
โ
Red button more attention-grabbing
โ
"Get Started" CTA lebih compelling
โ ๏ธ Consider untuk A/B test button size next
Tools yang Digunakan:
- Google Optimize
- Optimizely
- Convert
- VWO (Visual Website Optimizer)
3. Heatmaps & Session Recording ๐ฅ
Heatmaps menunjukkan area mana yang paling banyak diklik/dilihat pengguna.
Jenis Heatmaps:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1. Click Heatmap
โโ Menunjukkan mana yang paling sering diklik
โโ Membantu identify misplaced elements
โโ Useful untuk optimize CTA placement
2. Scroll Heatmap
โโ Menunjukkan seberapa jauh users scroll
โโ Identify content yang tidak dilihat
โโ Optimize page length & content placement
3. Move Heatmap
โโ Track mouse movement
โโ Identify attention areas
โโ Understand eye tracking patterns
4. Attention Heatmap
โโ Combine dari semua heatmaps
โโ Show overall user attention
โโ Prioritize element positioning
Session Recording Insights:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Contoh: E-commerce Product Page
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Session Recording menunjukkan:
โ
Users scroll untuk melihat product images (90%)
โ
Users hover product description sebelum add to cart
โ Users click share button (hanya 2%)
โ Users tidak perhatikan customer reviews section
Action Items:
1. Move customer reviews higher on page
2. Add social proof badges near CTA
3. Remove share button / hide until hover
4. Increase image carousel usability
Tools yang Digunakan:
- Hotjar
- Clarity (Microsoft)
- Session Cam
- FullStory
- Contentsquare
Heuristic Evaluation: 10 Prinsip Usability Nielsen
Jakob Nielsen adalah salah satu ahli UX terkemuka yang mengembangkan 10 Prinsip Usability (Heuristics). Prinsip-prinsip ini menjadi foundational untuk evaluasi UI/UX.
10 Heuristics Nielsen
1. Visibility of System Status ๐๏ธ
Sistem harus selalu membuat pengguna tetap informed tentang apa yang sedang terjadi.
Prinsip:
- Feedback real-time
- Status updates yang jelas
- Loading indicators
- Progress bars
Contoh BAIK:
1
2
3
4
โ
Loading spinner dengan text "Processing your payment..."
โ
Email sending status "3 of 10 emails sent"
โ
File upload progress "85% complete"
โ
Real-time validation feedback pada form
Contoh BURUK:
1
2
3
4
โ Tidak ada loading indicator saat proses berlangsung
โ User tidak tahu apakah action diterima
โ Form submit tanpa feedback
โ Silent failures tanpa error messages
Implementation:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- GOOD: Clear feedback -->
<div class="payment-status">
<div class="spinner"></div>
<p>Processing your payment...</p>
</div>
<!-- GOOD: Progress bar -->
<div class="progress">
<div class="progress-bar" style="width: 65%">
Uploading: 65% Complete
</div>
</div>
<!-- BAD: No feedback -->
<button onclick="submitForm()">Submit</button>
<!-- User clicks but nothing happens visibly -->
2. Match Between System and Real World ๐
Sistem harus berbicara dalam bahasa pengguna, menggunakan words, phrases, dan konsep yang familiar.
Prinsip:
- Userโs mental model alignment
- Familiar terminology
- Real-world conventions
- Avoid technical jargon
Contoh BAIK:
1
2
3
4
โ
"Add to Cart" bukan "Insert item to commerce basket"
โ
"Delete" dengan icon trash dapat
โ
"Save" untuk menyimpan file
โ
Folder structure mirip dengan file explorer
Contoh BURUK:
1
2
3
4
โ "Commit transaction" instead of "Pay now"
โ "Persist data" instead of "Save"
โ Technical error messages: "CORS policy violation"
โ Unfamiliar icons tanpa labels
Implementation:
1
2
3
4
5
6
7
8
9
10
11
GOOD: Shopping Cart
โโ "Add to Cart" (familiar e-commerce term)
โโ "View Cart" (standard terminology)
โโ "Checkout" (common term)
โโ "Order Confirmation" (clear outcome)
BAD: Shopping Cart
โโ "Insert item to basket" (awkward)
โโ "See basket" (ambiguous)
โโ "Begin transaction" (technical)
โโ "Transaction confirmed" (formal, impersonal)
3. User Control and Freedom ๐ฎ
Pengguna sering melakukan actions secara tidak sengaja dan memerlukan โemergency exitsโ yang jelas.
Prinsip:
- Undo/Redo functionality
- Back buttons
- Cancel options
- Exit dialogs
- Keyboard shortcuts (Ctrl+Z, Ctrl+Y)
Contoh BAIK:
1
2
3
4
5
โ
"Delete account" dengan confirmation dialog
โ
Undo button setelah delete email
โ
Cancel button pada modal forms
โ
Back button di browser
โ
ESC key untuk close modals
Contoh BURUK:
1
2
3
4
5
โ Delete permanently tanpa confirmation
โ Tidak ada undo functionality
โ Modal tanpa close button
โ No back button pada wizard
โ Trapping users in flow
Implementation:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- GOOD: User can easily exit -->
<div class="modal">
<button class="close-btn" onclick="closeModal()">ร</button>
<form>
<button type="submit">Save</button>
<button type="button" onclick="closeModal()">Cancel</button>
</form>
</div>
<!-- BAD: No easy exit -->
<div class="modal">
<!-- No close button -->
<form>
<button type="submit">Save</button>
<!-- No cancel button -->
</form>
</div>
4. System and Standards Consistency ๐
Pengguna tidak boleh bertanya-tanya apakah words, situations, atau actions yang berbeda berarti hal yang sama.
Prinsip:
- Konsistensi terminologi
- Konsistensi visual
- Konsistensi pola interaksi
- Follow platform conventions
Contoh BAIK:
1
2
3
4
โ
Semua buttons primary berwarna sama
โ
Semua modals memiliki close button di posisi sama
โ
Icons konsisten menggunakan design system
โ
Navigation menu di posisi yang sama di semua pages
Contoh BURUK:
1
2
3
4
โ Primary buttons dengan warna berbeda per page
โ Submit button di posisi berbeda
โ Icons tidak konsisten style
โ Navigation di header di page 1, sidebar di page 2
Design System Benefits:
1
2
3
4
5
6
7
8
Dengan design system:
โ
Buttons always look same
โ
Modals follow same pattern
โ
Icons have consistent style
โ
Colors same across app
โ
Spacing & alignment consistent
โ
Reduces cognitive load
โ
Faster learning curve
5. Error Prevention ๐
Bahkan lebih baik daripada good error messages adalah desain yang cermat yang mencegah problems dari terjadi pertama kalinya.
Prinsip:
- Prevent problems before they occur
- Confirmations sebelum actions
- Constraints pada input
- Validation real-time
Contoh BAIK:
1
2
3
4
5
โ
Email field dengan type="email" (browser validates)
โ
Phone field dengan format placeholder
โ
Date picker daripada text input
โ
Confirmation sebelum delete permanent data
โ
Max length pada text inputs
Contoh BURUK:
1
2
3
4
5
โ Tidak ada input validation
โ Allow submit dengan incomplete form
โ Delete tanpa confirmation
โ No format guidance
โ Unexpected data rejection
Implementation:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- GOOD: Error prevention -->
<form>
<input
type="email"
placeholder="Enter email address"
required
>
<input
type="tel"
placeholder="(123) 456-7890"
pattern="[0-9\-\+\s\(\)]+"
>
<input
type="number"
min="1"
max="100"
>
</form>
<!-- Also good: Real-time validation -->
<input
type="email"
onchange="validateEmail(this)"
>
<span class="error-message" id="emailError"></span>
6. Error Recognition and Recovery โ ๏ธ
Pesan error harus diekspresikan dalam bahasa plain text (tidak ada codes), menunjukkan masalahnya secara tepat, dan secara konstruktif menyarankan solusi.
Prinsip:
- Plain language error messages
- Specific problem identification
- Constructive solutions
- Polite tone (tidak blame user)
- Visible error messages
Contoh BAIK:
1
2
3
4
5
โ
"Password must contain at least 8 characters,
1 uppercase, 1 number, and 1 special character"
โ
"Email already registered. Try login or reset password"
โ
"Server temporarily unavailable. Please try again in 5 minutes"
โ
Error message di dekat field yang error
Contoh BURUK:
1
2
3
4
5
โ "Error code: 4042"
โ "Invalid input"
โ "Something went wrong"
โ "You made a mistake"
โ "No solution provided"
Implementation:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!-- GOOD: Clear error messages -->
<div class="form-group">
<input
type="password"
id="password"
aria-describedby="passwordError"
>
<div id="passwordError" class="error-message">
<strong>Password must include:</strong>
<ul>
<li>At least 8 characters</li>
<li>At least 1 uppercase letter (A-Z)</li>
<li>At least 1 number (0-9)</li>
<li>At least 1 special character (!@#$%)</li>
</ul>
<a href="/help/password-requirements">Learn more</a>
</div>
</div>
<!-- BAD: Vague error -->
<input type="password">
<span class="error">Invalid password</span>
7. Flexibility and Efficiency of Use โก
Accelerators yang tidak terlihat oleh novice users sering dapat mempercepat interaksi expert users sedemikian rupa sehingga sistem dapat melayani kedua kategori pengguna.
Prinsip:
- Keyboard shortcuts
- Advanced search
- Custom settings/preferences
- Batch operations
- Drag-and-drop
- Autofill/remembered preferences
Contoh BAIK:
1
2
3
4
5
6
โ
Ctrl+K untuk command palette
โ
Ctrl+D untuk bookmark halaman
โ
Advanced search dengan filters
โ
Remember last preferences
โ
Drag-and-drop file upload
โ
Browser autofill untuk forms
Contoh BURUK:
1
2
3
4
5
โ Hanya mouse navigation
โ No keyboard shortcuts
โ Basic search tanpa filters
โ Force reset preferences setiap login
โ Hanya click-based interactions
Implementation:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- GOOD: Multiple ways to do same thing -->
1. Mouse click: <button onclick="save()">Save</button>
2. Keyboard shortcut: Ctrl+S
3. Menu: File โ Save
4. Drag & drop: Save button
<!-- Good: Advanced features for power users -->
<div class="search-bar">
<input placeholder="Search... (Ctrl+K)">
<a href="/advanced-search">Advanced Search</a>
</div>
<!-- Good: Remember preferences -->
<input type="checkbox" id="rememberPassword">
<label for="rememberPassword">Remember me</label>
8. Aesthetic and Minimalist Design ๐จ
Interfaces tidak boleh mengandung informasi yang tidak relevan atau jarang digunakan. Setiap unit informasi additional berkompetisi dengan units of information yang relevan dan mengurangi relative visibility dari yang terakhir.
Prinsip:
- Remove unnecessary elements
- Focus on important content
- White space (breathing room)
- Visual hierarchy
- Clean layout
- Avoid clutter
Contoh BAIK:
1
2
3
4
5
6
โ
Show only essential information
โ
Hide advanced options in dropdown/expandable
โ
Use progressive disclosure
โ
Clean layout dengan adequate white space
โ
Visual hierarchy yang jelas
โ
Minimal animations (non-distracting)
Contoh BURUK:
1
2
3
4
5
6
โ Information overload pada satu halaman
โ Cluttered interface
โ No white space
โ All options visible at once
โ Excessive animations/decorations
โ Unclear hierarchy
Progressive Disclosure Example:
1
2
3
4
5
6
7
8
9
10
11
Halaman Product:
- Minimal: Title, image, price, "Add to Cart"
- Click "More Details": specification table
- Click "Read Reviews": customer reviews
- Click "Help": FAQ dan documentation
Benefits:
โ
Less overwhelming untuk casual browsers
โ
Detailed info available untuk serious buyers
โ
Faster page load
โ
Better user focus
9. Help and Documentation ๐
Meskipun lebih baik jika sistem dapat digunakan tanpa dokumentasi, tetap perlu untuk menyediakan help dan documentation tasks.
Prinsip:
- Easy to search help
- Task-focused help topics
- Step-by-step instructions
- Contextual help
- FAQs
- Tooltips and guided tours
Contoh BAIK:
1
2
3
4
5
6
7
โ
Inline tooltips untuk fitur kompleks
โ
Help icon dengan contextual information
โ
Search di help documentation
โ
Step-by-step tutorials
โ
FAQ section
โ
Video tutorials
โ
Chatbot support
Contoh BURUK:
1
2
3
4
5
โ No help atau documentation
โ Help tersembunyi atau sulit ditemukan
โ Generic help tanpa specific solutions
โ Outdated documentation
โ No examples atau screenshots
Implementation:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- GOOD: Contextual help -->
<div class="form-group">
<label for="discount">
Discount Code
<span class="help-icon"
data-tooltip="Enter promo code to get discount">
?
</span>
</label>
<input type="text" id="discount">
</div>
<!-- Good: Help section -->
<div class="help-section">
<h3>How to apply discount</h3>
<ol>
<li>Copy your promo code</li>
<li>Enter in "Discount Code" field</li>
<li>Click "Apply"</li>
<li>See updated total</li>
</ol>
<p><a href="/faqs">More FAQs โ</a></p>
</div>
10. Help and Error Recovery ๐
Setiap halaman atau fitur harus memiliki clear path untuk pengguna mendapatkan help atau mengatasi masalah.
Prinsip:
- Error recovery instructions
- Undo/Redo mechanisms
- Alternative paths
- Support contact options
- Status pages
- Escalation paths
Contoh BAIK:
1
2
3
4
5
6
โ
Error message dengan solusi jelas
โ
"Forgot password?" link yang mudah ditemukan
โ
Live chat support availability
โ
Contact form untuk bug reports
โ
Status page untuk downtime
โ
Undo function setelah destructive action
Contoh BURUK:
1
2
3
4
5
โ Error tanpa solusi
โ No support contact info
โ Permatan consequence tanpa recovery
โ Hidden help resources
โ No escalation path
Recovery Path Examples:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Scenario 1: Forgot Password
โโโโโโโโโโโโโโโโโโโโโโโ
โ
"Forgot password?" link pada login page
โ
Email reset link yang clear
โ
Step-by-step reset instructions
โ
Support contact jika email tidak diterima
Scenario 2: Payment Failed
โโโโโโโโโโโโโโโโโโโโโโโ
โ
Clear error message mengapa payment gagal
โ
Suggested solutions
โ
Retry button
โ
Alternative payment methods
โ
Contact support link
Scenario 3: Lost Work
โโโโโโโโโโโโโโโโโโโโ
โ
Auto-save functionality
โ
Undo button tersedia
โ
Draft recovery
โ
Contact support untuk assist
Best Practices untuk UI/UX Testing
1. Testing Strategy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Phase 1: Baseline (Week 1-2)
โโ Define objectives & success metrics
โโ Identify test audience
โโ Prepare testing environment
โโ Create test plan
Phase 2: Execution (Week 3-6)
โโ Conduct usability tests
โโ Gather quantitative data
โโ Record sessions
โโ Collect feedback
Phase 3: Analysis (Week 7-8)
โโ Analyze findings
โโ Identify patterns
โโ Prioritize issues
โโ Recommend improvements
Phase 4: Implementation (Week 9-10)
โโ Implement fixes
โโ Re-test critical areas
โโ Get stakeholder approval
โโ Deploy changes
2. Metrics yang Penting
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Quantitative Metrics:
โโ Task Completion Rate (%)
โโ Time on Task (seconds)
โโ Error Rate (%)
โโ Pages Visited per Session
โโ Bounce Rate (%)
โโ Conversion Rate (%)
Qualitative Metrics:
โโ System Usability Scale (SUS)
โโ User Satisfaction (NPS)
โโ Perceived Usefulness
โโ Perceived Ease of Use
โโ Overall Satisfaction
โโ Net Promoter Score (NPS)
3. Tools Recommendation
| Tool | Purpose | Best For |
|---|---|---|
| Chrome DevTools | Browser inspection | Quick UI checking |
| Figma | Design collaboration | Design handoff |
| Maze | Prototype testing | Moderated testing |
| Hotjar | Heatmaps & recordings | Behavioral analysis |
| Google Analytics | User behavior | Traffic patterns |
| UserTesting | Usability testing | Remote testing |
| Axe DevTools | Accessibility | WCAG compliance |
| BrowserStack | Cross-browser | Multi-device testing |
4. Documentation
Setiap test harus didokumentasikan dengan:
- Test case ID
- Objective yang jelas
- Steps yang detail
- Expected results
- Actual results
- Screenshots/videos
- Issues ditemukan
- Recommendations
Kesimpulan
UI/UX Testing adalah proses integral dalam menciptakan produk digital yang sukses. Dengan memahami perbedaan antara UI Testing (fokus pada visual & responsivitas) dan UX Testing (fokus pada pengalaman pengguna), serta menerapkan 10 Prinsip Usability Nielsen, tim dapat membangun aplikasi yang tidak hanya terlihat baik tetapi juga intuitif dan mudah digunakan.
Key Takeaways:
- UI Testing memastikan konsistensi visual, responsivitas, dan kompatibilitas
- UX Testing memastikan alur kerja yang logis, kegunaan yang optimal, dan aksesibilitas
- Heuristic Evaluation memberikan framework untuk mengevaluasi design quality
- Tools dan Metrics membantu mengukur dan mengoptimalkan pengalaman pengguna
- Continuous Testing adalah kunci untuk improvement berkelanjutan
Resources & References
- Jakob Nielsenโs 10 Usability Heuristics
- WCAG 2.1 Guidelines
- Nielsen Norman Group
- Interaction Design Foundation
- Google Material Design
- Apple Human Interface Guidelines