Tất cả bài viết

Mock JSON Generator: dữ liệu giả dùng để làm gì

Việc phát triển frontend thường bắt đầu trước khi backend sẵn sàng trả về dữ liệu thực. Thay vì chờ một API hoạt động, bạn có thể tạo dữ liệu JSON thử nghiệm chân thực với đúng hình dạng và bắt đầu làm việc ngay.

Dữ liệu giả là gì

JSON "mock" là dữ liệu được tạo ra nhưng đáng tin cậy về mặt cấu trúc: tên trông giống tên thật, ngày tháng đúng định dạng, ID có hình dạng phù hợp. Khác với các giá trị giữ chỗ như "test123", các mock chân thực cho thấy ngay liệu giao diện có xử lý đúng tên dài, trường trống hay định dạng ngày cụ thể hay không.

Vì sao cần đến điều này

  • Bắt đầu phát triển giao diện trước khi đội backend hoàn thành API.
  • Kiểm thử cách giao diện hoạt động với số lượng bản ghi lớn mà không cần điền dữ liệu vào cơ sở dữ liệu thật.
  • Tạo bản demo hoặc bản mẫu mà không tiết lộ dữ liệu người dùng thật.
  • Viết kiểm thử tự động không phụ thuộc vào trạng thái của một dịch vụ bên ngoài hay cơ sở dữ liệu.

Địa chỉ tiếng Việt có thứ tự và dấu câu riêng

Địa chỉ Việt Nam thường liệt kê từ nhỏ đến lớn trong cùng một dòng, ngăn cách bằng dấu phẩy: số nhà, tên đường, phường/xã, quận/huyện, tỉnh/thành phố — nhiều cấp hành chính hơn hẳn so với mẫu street, city đơn giản kiểu phương Tây. Số điện thoại dùng mã quốc gia +84, bỏ số 0 ở đầu khi viết quốc tế (098... thành +84 98...). Ngoài ra, các dấu thanh điệu tiếng Việt (à, á, ả, ã, ạ...) là ký tự Unicode tổ hợp — một trường mock chỉ sinh ký tự ASEAN thuần ASCII sẽ cho ra tên nghe không giống tên người Việt thật.

Điều cần lưu ý

Dữ liệu giả tái tạo tốt hình dạng và kiểu dữ liệu thật, nhưng không tái tạo logic nghiệp vụ hay mối quan hệ giữa các bản ghi. Trước khi đưa lên môi trường thật, mã vẫn cần được kiểm thử với API thật — mock chỉ giúp tăng tốc các giai đoạn phát triển đầu tiên.

Các edge case thực tế trong dữ liệu mock

Một trình tạo dữ liệu mock tốt cố ý bao gồm các giá trị "khó chịu" — tên rất dài, chuỗi rỗng, ký tự Unicode có dấu, số 0 hoặc số âm, ngày ở ranh giới phạm vi. Chính những giá trị này thường làm hỏng giao diện hoặc logic mà nhà phát triển chỉ kiểm thử với dữ liệu "dễ chịu" như "John Doe" — vì vậy tính ngẫu nhiên của dữ liệu mock hữu ích hơn việc dùng cùng một ví dụ kiểm thử mỗi lần.

Dùng thử công cụ