Giáo trình

Đảm bảo chất lượng phần mềm

Science and Technology

Kiểm tra miền

Kiểm tra miền (Domain testing)

  • Áp dụng cho các xử lý mà có xác định phạm vi (range) giá trị dữ liệu
  • Chú trọng test các giá trị biên on và off

Kiểm tra lặp (Loop testing)

  • Áp dụng trong whitebox testing: quan tâm đến vòng lặp trong code
  • Áp dụng trong backbox testing: quan tâm đến vòng lặp trong hành vi của hệ thống
  • Ví dụ khi hệ thống phải tìm ra tất cả các bản ghi thoả mãn một tiêu chí tìm kiếm nào đó
  • Giả sử khả năng hệ thống có thể hỗ trợ tối đa Max vòng lặp, chỉ cần chọn thực hiện những test case sau là đủ:
  • 0 lần, 1 lần, 2 lần qua vòng lặp
  • X lần (X: số ngẫu nhiên, giữ khoảng 0 và Max)
  • Max -1, Max, Max+1 lần

Kiểm tra cú pháp (Syntax testing)

  • Là kỹ thuật dùng để:
    • Test các câu lệnh (commands)
    • Test việc xử lý các trường phải tuân theo một định dạng xác định
  • Ví dụ về syntax:
    • Ngày tháng
    • Địa chỉ email
    • Công thức toán học do NSD định nghĩa
  • Phân tích, nắm rõ qui tắc syntax
  • Thiết kế các positive test cases, sử dụng kỹ thuật Equivalence class partitioning
  • Thiết kế các negative test
    • Mỗi lần làm sai một phần tử trong syntax
  • Thực hiện test

Kiểm tra trạng thái (State machine testing)

  • Áp dụng khi:
    • Test các “menu driven application”
    • Test các hệ thống thiết kế bằng phương pháp hướng đối tượng
    • Test bất cứ hệ thống nào có sơ đồ chuyển đổi trạng thái (state)
  • Ví dụ về trạng thái:
    • Account sử dụng Portal chưa có hiệu lực (inactive account)
    • Account sử dụng Portal có hiệu lực (active account)
  • Đặc trưng của trạng thái:

Ở mỗi trạng thái, có một số hành động được phép thực hiện và một số khác thì không

Kiểm tra khả năng chịu tải và vận hành của hệ thống (Load, stress và performance testing)

  • Load testing: bắt hệ thống phải chịu tải lớn (thực hiện nhiều xử lý), ví dụ:
    • Có nhiều client cùng lúc truy cập
    • Có nhiều giao dịch cùng một lúc
    • Xử lý file rất lớn
    • Xử lý cùng lúc nhiều file
  • Stress testing: bắt hệ thống vận hành trong điều kiện bất thường, ví dụ:
    • Thiếu bộ nhớ
    • Kết nối mạng bị ngắt khi đang vận hành
    • Database server down
  • Performance testing: xác định điều kiện để hệ thống hoạt động tốt nhất
  Bảng 2  
        Performance Test (PT)     Load Test (LT)     Stress Test (ST)  
  Khái niệm     - Được thực hiện nhằm xác định tốc độ, khả năng phân tải và mức độ tin tưởng của PM trong môi trường nhiều người dùng, có nhiều hoạt động khác nhau.- Dùng công cụ KTTĐ để kiểm tra hiệu năng PM ở điều kiện có sự điều chỉnh về mức độ tải.     - Là một phần trong qui trình thực hiện PT. Load Test đôi khi còn gọi là Volume Test.- Dùng công cụ KTTĐ để kiểm tra PM ở điều kiện liên tục tăng mức độ chịu tải. Tuy nhiên mức độ chịu tải cao nhất vẫn ở mức chức năng PM hoạt động đúng chức năng.     - Đây là cách thực hiện nhằm làm cho PM không còn chạy được nữa.- Phương pháp này rất hay áp dụng để kiểm tra PM và phần cứng.  
  Mục tiêu     - Tìm ra điểm “thắt cổ chai” của PM và từ đó có những cải tiến để tăng khả năng hoạt động của PM.- Đề ra các thông số, tiêu chuẩn về hiệu năng thực thi của PM. Một số thông số đó là: số phiên làm việc, thời gian xử lý của phiên làm việc, và các tài nguyên khác bị chiếm giữ.     Khi PM không còn khả năng cải tiến. Ở mức chịu tải cao nhất:- Giám sát việc PM quản lý tài nguyên khi chạy trong thời gian dài.- Giám sát thông số đề ra trong PT như thời gian xử lý,... khi chạy trong thời gian dài.     - Kiểm tra khả năng phục hồi của PM sau khi có sự cố.- Kiểm tra khả năng chịu tải cho một máy khác khi máy đó gặp sự cố do không có khả năng chịu tải được nữa.  
  Ví dụ     Ví dụ 1: Có ứng dụng web, yêu cầu cần tìm thông số về hiệu năng thực thi của ứng dụng. Dùng LoadRunner tạo tình huống khởi đầu có 10 người dùng, cứ 2 phút tăng thêm 10 người, tăng tối đa là 2000 người.Quan sát: Biểu đồ thời gian đáp ứng với kết quả xử lý đúng và kết quả sai, có bao nhiêu yêu cầu không được xử lý, tài nguyên sử dụng như RAM, CPU,... Thông qua đó giúp xác định ứng dụng hoạt động tốt nhất trong điều kiện nào.     Ví dụ 2:Ứng dụng web chỉ hoạt động tốt với tối đa là 1000 người dùng. Yêu cầu kiểm tra khả năng của web khi hoạt động ở ngưỡng đáp ứng với thời gian dài 2 ngày.Dùng LoadRunner tạo tình huống khởi đầu có 800 người dùng, cứ 1 phút tăng 2 người, tăng tối đa 1000 người, và giữ ở mức đó tiếp tục chạy trong vòng 2 ngày.Quan sát: Tài nguyên sử dụng như RAM, CPU, thời gian đáp ứng với kết quả đúng và sai khi ứng dụng chịu tải ở mức cao nhất và hoạt động trong thời gian dài.     Ví dụ 3:Ứng dụng web chỉ có thể quản lý, đáp ứng tối đa 1000 yêu cầu. Yêu cầu cần kiểm tra ứng xử của web khi gặp sự cố quá ngưỡng số người sử dụng.Dùng LoadRunner tạo tình huống có 1100 người truy cập, khi đạt đến ngưỡng đó LoadRunner ngừng tải.Quan sát: Kết quả xử lý 1000 yêu cầu đầu, 100 yêu cầu sau đó bị từ chối ra sao, webserver có khả năng bị khởi động lại hay không,... Từ đó giúp đưa ra kết luật ứng dụng sẽ ứng xử như thế nào khi đạt ngưỡng chịu tải tối đa.  

So sánh giữa Load, stress và performance testing

Mục lục
Đánh giá:
0 dựa trên 0 đánh giá
Nội dung cùng tác giả
 
Nội dung tương tự