- Load testing với k6
- k6 viết kịch bản bằng JavaScript, cấu hình scenarios với executor như ramping-vus hay constant-arrival-rate, và đặt thresholds (ví dụ p95 dưới một ngưỡng, tỉ lệ lỗi dưới 1%) để test fail tự động. Phân biệt smoke, load, stress, spike và soak test, mỗi loại trả lời một câu hỏi khác nhau.
- Đọc kết quả hiệu năng
- Nhìn percentile (p95, p99) thay vì trung bình, tương quan với CPU, memory, connection pool và trace phía server. Chạy trên môi trường giống production về cấu hình, và với frontend, theo dõi Core Web Vitals (LCP, INP, CLS) qua Lighthouse và dữ liệu người dùng thật.
- Accessibility testing
- Chạy axe-core qua @axe-core/playwright để bắt lỗi tự động như thiếu label, contrast, ARIA sai, nhưng công cụ tự động chỉ phát hiện được một phần vấn đề. Phần còn lại cần test thủ công: chỉ dùng bàn phím, focus order, screen reader (NVDA, VoiceOver) và zoom 200%. Chuẩn tham chiếu là WCAG 2.2 mức AA, và European Accessibility Act đã khiến đây thành yêu cầu pháp lý với nhiều sản phẩm.
- Bảo mật cơ bản cho tester
- Nắm OWASP Top 10 và OWASP API Security Top 10: broken access control, injection, lỗi xác thực, cấu hình sai. Thử IDOR bằng cách đổi ID trong request, kiểm tra header bảo mật, và chạy quét DAST như ZAP baseline trong CI. Bảo mật sâu là việc của chuyên gia, nhưng tester bắt được rất nhiều lỗi phân quyền.
- Chaos và độ bền
- Test hành vi khi phụ thuộc chậm hoặc chết: timeout, retry, circuit breaker và thông báo lỗi cho người dùng. Bắt đầu nhỏ bằng mock lỗi mạng trong Playwright hoặc tắt một service ở staging trước khi nghĩ tới chaos engineering đầy đủ.