Skip to content

Kiểm thử ​

Cách kiểm thử một tích hợp eKYC mà không cần khách hàng thật hay camera thật.

Chụp ảnh mà không chạy kiểm tra ​

Cả ba Mobile SDK đều nhận một cờ captureOnly. Khi bật, SDK chỉ chụp ảnh rồi dừng — không tải lên, không kiểm tra chất lượng, không OCR. Hữu ích khi đang xây giao diện, trước khi bạn muốn tốn API call.

kotlin
// Android
val config = TakeNIDConfig(captureOnly = true)
swift
// iOS
let config = CESTakeNidConfig(captureOnly: true)
dart
// Flutter
final config = TakeNIDConfig(captureOnly: true);

→ Tổng quan Mobile SDK § Tùy chọn chụp ảnh

Chạy từ fixture, không cần camera ​

API nhận một image_id và không quan tâm ảnh đến từ đâu. Tải lên một bộ ảnh fixture một lần, rồi tái sử dụng các ID đó cho mọi lần chạy test.

bash
# Tải lên một lần
curl -X POST '<BASE_URL>/v1/images' \
  -H 'Authorization: ATV <ACCESS_ID>:<SIGNATURE>' \
  -H 'X-TV-Timestamp: <TIMESTAMP>' \
  -F 'file=@"fixtures/nid-front.jpg"' \
  -F 'label="id_card.vn.national_id.front"'

# Tái sử dụng image_id cho mọi test case

Cách này chạy toàn bộ luồng Onboard một khách hàng mới từ command line.

Bộ fixture bạn cần ​

Để kiểm thử các nhánh thất bại, bạn cần những ảnh cố tình xấu, không chỉ ảnh tốt:

FixtureKết quả mong đợi
Ảnh sạchĐường đi thành công. Mong đợi verdict: good.
Bị mờMong đợi not_qualified hoặc image1_not_qualified.
Chói lóa trên số IDMong đợi image1_glare — kiểm tra ứng dụng của bạn yêu cầu chụp lại đúng mặt.
Bản photocopyMong đợi photocopied.
Hai thẻ trong một khung hìnhMong đợi multicard_image.
Thẻ được chụp lại từ màn hìnhMong đợi non_liveness ở bước kiểm tra giả mạo.
Selfie có nhiều ngườiMong đợi image_has_multiple_faces.
Selfie có khuôn mặt bị cheMong đợi occluded_face.
Selfie của người khácMong đợi unmatched ở So sánh khuôn mặt.

→ Định nghĩa kết luận

Kiểm thử các lỗi API ​

Một số mã lỗi có thể kích hoạt mà không cần ảnh đặc biệt:

MãCách kích hoạt
4001001Gửi một X-TV-Timestamp đã hết hạn.
401100Ký bằng sai Access Key.
4041000Truyền một image_id không tồn tại.
4131000Tải lên một ảnh vượt quá 15MB.
4151000Tải lên một file không phải JPG hoặc PNG.
2001026Truyền cùng một image_id cho cả image1 và image2 vào So sánh khuôn mặt.
2001003Truyền một ảnh không có khuôn mặt vào So sánh khuôn mặt.

→ Mã lỗi

Những lỗi dễ mắc phải ​

WARNING

HTTP 200 không có nghĩa là đạt. Mọi endpoint đều trả về 200 khi request đã được xử lý, kể cả khi kiểm tra nghiệp vụ thất bại. Một bài test chỉ kiểm tra status code vẫn sẽ pass ngay cả khi verdict là photocopied. Luôn kiểm tra qua success, rồi data.status, rồi đến verdict.

WARNING

Không kiểm thử bằng ảnh CCCD thật của đồng nghiệp hay người quen. Đó là dữ liệu danh tính thật, và ảnh đã tải lên sẽ tồn tại lâu dài trên nền tảng. Hãy dùng các thẻ mẫu do CAKE cung cấp.

index_faces_sync ghi vào một collection thật. Trên một tenant dùng chung, hãy xóa những gì bạn đã lập chỉ mục sau đó — nếu không, lần kiểm tra trùng lặp tiếp theo sẽ khớp với chính dữ liệu test của bạn.

Bước tiếp theo ​

Developers