Dữ liệu danh tính cho kiểm thử là tập hợp các bản ghi mô tả một con người nhưng không ứng với con người nào có thật, được dựng ra chỉ để phần mềm có thứ mà chạy. Đọc hết bài này, bạn sẽ biết khi nào nên dùng loại dữ liệu đó thay cho dữ liệu lấy từ người thật, một bản ghi thường gồm những trường nào, và vài điều cần chốt trước khi bạn biến nó thành một phần của bộ kiểm thử.
Dữ liệu danh tính cho kiểm thử là gì?
Đây là một nhóm trường mô tả một người: họ tên, ngày sinh, giới tính, số giấy tờ tùy thân, địa chỉ, số điện thoại, hồ sơ trực tuyến. Điểm khác biệt so với dữ liệu thật nằm ở chỗ mọi giá trị đều do thuật toán sinh ra theo đúng quy ước định dạng của quốc gia được chọn, chứ không được lấy từ bất kỳ hồ sơ nào.
Một bản ghi như vậy có hình dạng giống dữ liệu thật đến mức biểu mẫu, bộ lọc và báo cáo xử lý nó như bình thường, nhưng không có người nhận ở đầu bên kia. Không có tài khoản nào được mở, không có thư nào được gửi tới địa chỉ đó, và không có cơ quan nào từng cấp con số trong bản ghi.
Bạn cũng sẽ gặp cách gọi khác như dữ liệu tổng hợp, dữ liệu giả, hay mẫu thử. Chúng thường được dùng lẫn lộn, nhưng điểm chung vẫn là: dữ liệu không thuộc về một người có thật. Cần phân biệt kỹ điều này với dữ liệu thật đã bị che bớt, chủ đề mà bài dữ liệu tổng hợp và ẩn danh so sánh chi tiết.
Khi nào bạn cần đến nó?
Có bốn tình huống gần như lúc nào cũng cần dữ liệu danh tính tổng hợp, và cả bốn đều có một điểm chung là chưa có người dùng thật để lấy dữ liệu.
- Thử biểu mẫu đăng ký. Bạn cần kiểm tra trường bắt buộc, độ dài tối đa, ký tự có dấu, và các thông báo lỗi trước khi biểu mẫu ra mắt. Không có người dùng thật nào để nhập thử hàng trăm lần.
- Trình diễn và ảnh chụp màn hình. Một màn hình quản trị trống trơn không thuyết phục được ai. Bản ghi mẫu giúp buổi demo trông giống sản phẩm đang chạy thật.
- Kiểm thử số lượng lớn. Danh sách phân trang, tìm kiếm, sắp xếp và xuất tệp chỉ lộ lỗi khi có đủ nhiều dòng. Sinh vài nghìn bản ghi tổng hợp rẻ hơn nhiều so với chờ đủ người dùng.
- Kiểm tra bố cục quốc tế. Tên dài, tên không dấu cách, địa chỉ viết theo thứ tự ngược, số điện thoại có mã quốc gia: đây là những đầu vào làm vỡ bố cục mà một tập dữ liệu chỉ có vài kiểu tên sẽ không bao giờ phát hiện.
Danh sách này cũng cho thấy một điều: nhu cầu không nằm ở chỗ dữ liệu phải thật, mà ở chỗ dữ liệu phải đúng định dạng và đủ đa dạng.
Vì sao dữ liệu của người thật không nên nằm trong môi trường thử?
Bởi vì môi trường thử hiếm khi được bảo vệ nghiêm như môi trường thật. Ai cũng có thể tải một bản sao cơ sở dữ liệu về máy, chụp màn hình, dán vào báo cáo lỗi, hoặc mở cho đối tác xem. Một khi họ tên, ngày sinh và số giấy tờ tùy thân của người thật đã nằm trong đó, không ai kiểm soát được chúng đi tới đâu nữa.
Rủi ro thứ hai là mục đích. Dữ liệu thu thập để phục vụ một việc cụ thể — chẳng hạn xử lý đơn hàng — không đương nhiên được dùng cho việc khác như thử nghiệm nội bộ. Cách làm gọn gàng nhất là giữ dữ liệu thật ở đúng nơi nó thuộc về, và dùng bản ghi tổng hợp cho mọi thứ khác.
Một bản ghi danh tính gồm những phần nào?
Các trường không đứng rời nhau. Chúng phụ thuộc lẫn nhau, và chính các mối phụ thuộc này là thứ khiến một bản ghi trông hợp lý. Bảng dưới đây tóm tắt những nhóm trường thường gặp.
| Nhóm trường | Ví dụ | Phụ thuộc vào đâu |
|---|---|---|
| Định danh cá nhân | Họ tên, ngày sinh, giới tính | Quốc gia và ngôn ngữ, vì thứ tự tên và cách viết ngày khác nhau |
| Giấy tờ | Số giấy tờ tùy thân | Quốc gia cấp, vì độ dài và bộ ký tự khác nhau |
| Liên hệ | Địa chỉ, mã bưu chính, số điện thoại | Cùng một quốc gia với giấy tờ, nếu không bản ghi sẽ tự mâu thuẫn |
| Hồ sơ trực tuyến | Thư điện tử, tên đăng nhập | Quy tắc của chính hệ thống bạn đang thử |
Dòng thứ ba là dòng hay bị xem nhẹ nhất. Một bản ghi có giấy tờ của nước này nhưng địa chỉ và số điện thoại của nước khác vẫn qua được phần lớn phép kiểm tra, chỉ để lộ ra ở đúng bước bạn cần nó đúng nhất.
Làm sao có sẵn một bộ mẫu để thử?
Nếu bạn đang cần vài chục bản ghi cho môi trường thử, trình tạo dữ liệu danh tính và kiểm thử trực tuyến của trang này sinh ra cả bộ trong một lần bấm: chọn quốc gia, chọn đơn vị hành chính nếu cần, rồi tạo. Các trường trong cùng một bản ghi được dựng cho khớp nhau, nên giấy tờ, địa chỉ và số điện thoại cùng thuộc một quốc gia. Bạn có thể xem định dạng riêng của từng nước ở trang quốc gia Hoa Kỳ hoặc đổi sang nước khác để thử luồng nhập liệu quốc tế.
Toàn bộ dữ liệu ở đây là dữ liệu tổng hợp do thuật toán sinh ra, chỉ dùng cho kiểm thử phần mềm và trình diễn biểu mẫu; tuyệt đối không dùng để mạo danh một người có thật, và nó không thể thay thế bất kỳ bước xác minh danh tính nào của cơ quan hay tổ chức thật.
Phần dành cho nhà phát triển
Điều nên chốt trước tiên là mỗi bản ghi phải được sinh như một khối, không phải từng trường rời. Nếu bạn lấy ngẫu nhiên một họ tên từ danh sách này rồi ghép với một số giấy tờ lấy từ danh sách khác, bạn sẽ sớm có những bản ghi vô nghĩa: người lớn tuổi mang tên của một em bé, hoặc giấy tờ của nước này gắn với địa chỉ nước kia. Vài điểm khác cần lưu ý:
- Ghi rõ nguồn gốc tổng hợp ngay trong dữ liệu, ví dụ một trường đánh dấu bản ghi là dữ liệu thử, để không ai vô tình đem nó vào luồng nghiệp vụ thật.
- Với dữ liệu dùng cho kiểm thử tự động, hãy cố định đầu vào sinh dữ liệu thay vì để mỗi lần chạy ra một kết quả khác. Cách này được bàn kỹ trong bài dữ liệu danh tính trong fixture kiểm thử.
- Đặt giới hạn độ dài theo từng quốc gia, đừng dùng một con số chung cho mọi nơi, vì tên và địa chỉ dài ngắn rất khác nhau.
- Sinh cả những bản ghi xấu: trường trống, ký tự có dấu, tên chỉ một từ, ngày sinh ở rìa khoảng hợp lệ. Bộ dữ liệu chỉ toàn trường hợp đẹp sẽ không phát hiện được lỗi nào.
Cuối cùng, đừng để dữ liệu thử lẫn vào môi trường thật theo đường xuất tệp hoặc sao lưu. Một trường đánh dấu nguồn gốc sẽ giúp bạn lọc ra và xóa sạch khi cần.
Bước tiếp theo
Hãy liệt kê những trường hợp biên mà biểu mẫu của bạn có thể gặp, rồi sinh đúng một bộ bản ghi cho mỗi trường hợp. Nếu bạn muốn bắt đầu ngay, mở trình tạo dữ liệu danh tính, chọn một quốc gia và tạo thử vài bản ghi để xem hình dạng dữ liệu trả về trước khi viết phép kiểm tra đầu tiên.