Các hệ điều hành có thể thực thi đa nhiệm (multitasking)
Nếu có 2 hoặc nhiều hơn các sự kiện làm rối loạn chương trình => race condition
Phần mềm không thể ngắt giữa các điều khiển của nó khi thực thi đa nhiệm => bad timing
07/05/14 43
5. Kiểm thử trạng thái để phát hiện lỗi
Race Conditions và Bad Timing: Một số ví dụ về Race Conditions:
Save và load cùng một tài liệu tại một thời điểm với 2 chương trình khác nhau
Chia sẻ cùng máy in, cổng giao tiếp, hoặc thiết bị ngoại vi khác
Nhấn phím và kích chuột trong khi phần mềm đang load hoặc thay đổi trạng thái
Shutting down hoặc starting up 2 hoặc nhiều hơn các instances (trường hợp) của phần mềm tại cùng một thời điểm.
Sử dụng những chương trình khác để đồng thời truy cập vào cơ sở dữ liệu chung (common database)
45
Performance testing: 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, hoặc có nhiều hoạt động đồng thời. Từ đó đưa ra kết luận ứng dụng hoạt động tốt nhất trong điều kiện nào.Ví dụ:
Xác định giới hạn số lượng truy cập đồng thời của 1 website
Xác định giới hạn số lượng giao dịch đồng thời trên phần mềm
Xác định giới hạn khả năng xử lý đồng thời của phần mềm
07/05/14
4.9. PERFORMANCE, LOAD, STRESS TESTING STRESS 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
4.9. PERFORMANCE, LOAD, STRESS TESTING STRESS TESTING
47
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
Nhiều giao dịch thực hiện đồng thời trong 1 thời gian dài
07/05/14
4.9. PERFORMANCE, LOAD, STRESS TESTING STRESS TESTING