NỘI DUNG BÀI HỌC

✅ Khái niệm file csv
✅ CSV data set config
✅ Xử lý dữ liệu đặc biệt
✅ Ví dụ minh họa

✅ CSV data set config

1. Khái niệm

File CSV (Comma-Separated Values) là một loại tệp văn bản dùng để lưu trữ dữ liệu dạng bảng (giống như dữ liệu trong Excel hoặc Google Sheets) theo cấu trúc đơn giản.

a. Đặc điểm chính

  • Cấu trúc: Mỗi dòng trong file CSV là một bản ghi (record).
  • Phân tách: Các cột (field) trong bản ghi thường được phân tách bằng dấu phẩy (,).
    • Ví dụ:
  • Họ tên,Tuổi,Địa chỉ
  • Nguyễn Văn A,25,Hà Nội
  • Trần Thị B,30,Hồ Chí Minh
  • Định dạng: Là file văn bản thuần (.csv), có thể mở bằng nhiều phần mềm khác nhau (Notepad, Excel, Google Sheets, Python, R...).
  • Tương thích cao: CSV được dùng phổ biến để trao đổi dữ liệu giữa các hệ thống khác nhau nhờ sự đơn giản, nhẹ và dễ xử lý.

b. Ưu điểm

  • Nhẹ, dung lượng nhỏ.
  • Tương thích với nhiều ứng dụng.

c. Nhược điểm

  • Không hỗ trợ định dạng dữ liệu phức tạp (màu sắc, công thức, biểu đồ như Excel).
  • Có thể gặp lỗi nếu dữ liệu có chứa dấu phẩy, xuống dòng hoặc ký tự đặc biệt (trường hợp này cần dùng dấu ngoặc kép " " để bao dữ liệu).

👉 Nói ngắn gọn: CSV là file văn bản lưu dữ liệu dạng bảng, các cột được phân tách bởi dấu phẩy.

Bạn nhận được yêu cầu thực hiện kiểm thử hiệu năng cho chức năng đăng nhập. Sau khi xây dựng và cấu hình xong Test Plan, bạn đang có sẵn một tài khoản. Tuy nhiên, nếu chỉ sử dụng duy nhất tài khoản này để thực hiện test thì sẽ không phản ánh đúng tình huống thực tế (nhiều người dùng khác nhau đăng nhập đồng thời).

Để mô phỏng chính xác hành vi thực tế, bạn cần cấu hình sao cho mỗi request được gửi đi sẽ sử dụng dữ liệu khác nhau từ tập dữ liệu đã chuẩn bị trước. JMeter cung cấp CSV Config Element phù hợp để trích xuất dữ liệu từ file và cho phép sử dụng linh hoạt ở bất kỳ đâu trong Test Plan.

2. Csv data set config

📌 Các trường trong CSV Data Set Config

  1. Filename
    • Đường dẫn tới file CSV chứa dữ liệu.
    • Có thể là đường dẫn tuyệt đối (C:/data/test.csv) hoặc tương đối (đặt file trong thư mục JMeter test).
  2. File Encoding
    • Kiểu mã hóa file (UTF-8, ANSI, v.v).
    • Nếu file có tiếng Việt thì nên để UTF-8 để tránh lỗi font.
  3. Variable Names (comma-delimited)
    • Danh sách các tên biến tương ứng với từng cột trong file CSV.
    • Nếu bỏ trống → JMeter sẽ lấy dòng đầu tiên của file CSV làm header (tên biến).
    • Ví dụ: username,email
  4. Delimiter (use ‘\t’ for tab)
    • Ký tự phân cách giữa các cột trong CSV.
    • Mặc định là dấu phẩy (,).
    • Nếu file dùng dấu khác (vd: ; hoặc tab), bạn phải chỉnh lại ở đây.
  5. Allow quoted data?
    • Có cho phép đọc dữ liệu nằm trong dấu ngoặc kép " " không.
    • Dùng trong trường hợp dữ liệu chứa dấu phẩy, xuống dòng...
  6. Recycle on EOF?
    • EOF = End of File (cuối file).
    • True (Yes): Khi đọc hết file, JMeter quay lại từ đầu (tái sử dụng dữ liệu).
    • False (No): Khi đọc hết file, JMeter không lặp lại dữ liệu.
  7. Stop thread on EOF?
    • True (Yes): Khi hết dữ liệu, thread (user ảo) sẽ dừng lại.
    • False (No): Thread vẫn chạy, nhưng biến sẽ trả về rỗng.
    • Thường dùng khi bạn muốn mỗi thread chỉ chạy đúng số dòng dữ liệu trong CSV.
  8. Sharing mode
    • Cách chia sẻ file CSV giữa các thread:
      • All threads: Tất cả thread dùng chung file CSV, đọc tuần tự.
      • Current thread group: Mỗi Thread Group dùng file riêng.
      • Current thread: Mỗi thread có bản copy riêng của file CSV.
      • Identifier: Cho phép bạn định nghĩa nhóm thread nào chia sẻ chung.

3. Xử lý dữ liệu đặc biệt trong CSV

a. Dữ liệu chứa dấu ,

  • Bọc cả field trong dấu ngoặc kép " ".
  • Ví dụ file csv như sau: 

        username,password,address

         user1,12345,"123, Nguyễn Trãi, Hà Nội"

b. Dữ liệu chứa dấu "

  • Escape bằng cách lặp lại 2 dấu ngoặc kép "".
  • Ví dụ file csv:

         username,password,address

         user1,12345,"123, Nguyễn Trãi, ""Khu A"""

  • JMeter sẽ đọc thành:

         123, Nguyễn Trãi, "Khu A"

c. Dữ liệu chứa cả dấu , và "

  • Kết hợp cả hai quy tắc trên.
  • Ví dụ file csv:

        username,password,address

        user1,12345,"45, Lê Lợi, ""Block B"""

4. Ví dụ minh họa đầy đủ

File users.csv

     username,password,address

     user1,12345,"123, Nguyễn Trãi, ""Khu A"""

     user2,67890,"45, Lê Lợi, ""Block B"""

a. Cấu hình trong JMeter

  • Filename: csv
  • Variable Names: username,password,address
  • Delimiter: ,
  • Allow quoted data?: True
  • Recycle on EOF?: False
  • Stop thread on EOF?: True

Kết quả trong JMeter

  • Thread 1 →
    • ${username} = user1
    • ${password} = 12345
    • ${address} = 123, Nguyễn Trãi, "Khu A"
  • Thread 2 →
    • ${username} = user2
    • ${password} = 67890
    • ${address} = 45, Lê Lợi, "Block B"

Thực hành: Sử dụng dumy sample để mô phỏng request và Debug sample để test script cho học viên thực hành

 

Teacher

Teacher

NGUYỄN TRÍ DIỆN

Fullstack QA

With over 4 years of experience in software testing — including manual, automation, and performance testing — I have built a strong foundation in delivering high-quality software.

I specialize in the E-commerce and Banking domains, with deep understanding of business flows, performance requirements, and testing standards.

Strong in critical thinking and problem-solving, I proactively identify issues and drive effective solutions.

With an engineering mindset, I continuously update my skills and contribute across functions to help teams achieve their goals.


Cộng đồng Automation Testing Việt Nam:

🌱 Telegram Automation Testing:   Cộng đồng Automation Testing
🌱 
Facebook Group Automation: Cộng đồng Automation Testing Việt Nam
🌱 
Facebook Fanpage: Cộng đồng Automation Testing Việt Nam - Selenium
🌱 Telegram
Manual Testing:   Cộng đồng Manual Testing
🌱 
Facebook Group Manual: Cộng đồng Manual Testing Việt Nam

Chia sẻ khóa học lên trang

Bạn có thể đăng khóa học của chính bạn lên trang Anh Tester để kiếm tiền

Danh sách bài học