Tải bản đầy đủ (.pptx) (60 trang)

Báo cáo môn kiểm chứng phần mềm PERFORMANCE TESTING

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.3 MB, 60 trang )

SEMINAR Môn Kiểm Chứng Phần Mềm
PERFORMANCE TESTING
GV hướng dẫn: ThS.Nguyễn Công Hoan
Sinh viên thực hiện: Nhóm 2
Văn Phước Lâm MSSV:08520559
Nguyễn Đức Bình Nguyên MSSV:08520567
Nội dung
1. Mục đích thực hiện kiểm thử hiệu năng
2. Khái niệm kiểm thử hiệu năng
3. Các thuật ngữ trong kiểm thử hiệu năng
4. Các hoạt động trong kiểm thử hiệu năng
5. Các kiểu kiểm thử hiệu năng
6. Các kỹ thuật trong kiểm thử hiệu năng
7. Một vài công cụ kiểm thử hiệu năng
8. Ví dụ về kiểm thử hiệu năng trên website Quản lý trường học
1.Tại sao phải thực hiện Performance test

Đây là một trong những cách tốt nhất để đảm bảo
hệ thống chịu đựng được sự tải thực tế và đồng
thời phục vụ đa người dùng một cách đáng tin cậy
và kịp thời

Nâng cao khả năng dự đoán khi mà các mức tải
trong tương lai sẽ làm kiệt quệ hệ thống web để từ
đó ta có các chiến lược nâng cao hệ thống hợp lý
để duy trì kinh nghiệm người dùng chấp nhận
được.

Test hiệu năng giải quyết các vấn đề sau:

Trả lời câu hỏi hệ thống có thể xử lý các mức chịu tải


trong khi vẫn giữ được thời gian hồi đáp (response
time) ở mức chấp nhận được.

Nếu không thì chỉ ra được vào thời điểm nào thì hệ
thống bắt đầu hư hỏng và những thành phần nào là
nguyên nhân của sự suy thoái đó?

Hệ thống hiện tại có thể nâng cấp được không, để phù
hợp với sự phát triển trong tương lai?

Khi mà hệ thống gặp lỗi thì nó sẽ gây ra những ảnh
hưởng gì lên mục đích kinh doanh của doanh nghiệp?
(company sales or technical support costs)
2.Khái niệm kiểm thử hiệu năng

Kiểm thử hiệu năng là hành động kiểm định,
đánh giá phần mềm, một thành phần hoặc
phần cứng có đúng với yêu cầu về hiệu năng và
tối ưu hóa hiệu năng của nó.

Kiểm thử hiệu năng là kiểm thử xác định thời
gian phản hồi (repsonsiveness), thông lượng
(throughput), mức độ tin cậy (reliability) hoặc
khả năng mở rộng (scalability) của hệ thống
theo khối lượng công việc (workload).
3.Các thuật ngữ trong kiểm thử hiệu năng

Thời gian nghĩ (think time): là khoảng thời gian người
sử dụng nắm bắt nội dung của trang web hoặc là thời
gian người dùng thực hiện một hành động tương tác

với hệ thống như nhấp vào một đường dẫn, nút, v.v…

Tải người sử dụng đồng thời (simultaneous user
load): là tải nhiều người đồng thời cùng sử dụng ứng
dụng, tại cùng một thời điểm bất kỳ mỗi người thực
hiện một tương tác khác nhau

Tải người sử dụng đồng thời thực hiện một hành
động (concurrent user load): là tải nhiều người đồng
thời cùng sử dụng ứng dụng và thực hiện cùng một
hoạt động tại bất kỳ thời điểm nào

Yêu cầu/mục đích hiệu năng (performance
requirements/goals):

việc đưa ra các tiêu chí cho rằng hiệu năng của hệ thống
là tốt.

Yêu cầu hiệu năng của một ứng dụng được thể hiện trong
thời gian phản hồi, số lượt truy cập trong 1 giây (hits), số
giao địch trong 1 giây, v.v…

Tải công việc (workload): là tải người sử dụng
hệ thống trong thời gian thực khi người sử
dụng đang truy cập / khi kiểm thử hiệu năng.

Hit: là yêu cầu gửi về máy chủ để truy cập vào
một trang web hoặc một tập tin hoặc một ảnh
từ máy chủ web


Thời gian phản hồi (response time): là thời gian
phục vụ hoặc xử lý để phản hồi lại yêu cầu.

Thời gian phản hồi được tính từ khi trình duyệt web gửi
yêu cầu tới máy chủ web cho tới khi trình duyện web
nhận được những byte phản hồi đầu tiên từ máy chủ.

Thông lượng (throughput): là tổng dữ liệu (bytes)
được chuyền từ máy chủ tới máy khách để phục vụ
yêu cầu người dùng
4.Các hoạt động trong kiểm thử hiệu năng
Kế HiểuHiểuMôMôPhátTạoCàiThựcPhânBáo

Kiểm thử hiệu năng có tính linh động rất cao.

Scott Barker đã từng so sánh:”kiểm thử hiệu
năng như điều tra tội phạm”. Vì nó là hoạt
động có thể điều tra theo bất kỳ hướng nào.
Rất khó để ước tính được nỗ lực bỏ ra để
kiểm thử hiệu năng

Công sức kiểm thử
Báo cáo kiểm thử
5%
Kế hoạch kiểm
thử & mô hình tải
20%
Tạo kịch bản
kiểm thử 30%
Thực hiện kiểm

thử 45%
5.Các kiểu kiểm thử hiệu năng

Kiểm thử cơ sở (baseline test): là kiểm thử được xây dựng
đánh giá hiệu năng ứng dụng với tải một người sử dụng .

Kịch bản kiểm thử có thể được tạo ra với thời gian nghĩ (think
time) trong thực tế và những cài đặt khác giống sử dụng trong
thời gian thực.

Kiểm thử chuẩn (benchmark test) :là kiểm thử được tiến
hành để đo lường hiệu năng của ứng dụng trong một điều
kiện tải thấp. Thông thường kiểm thử chuẩn chiếm 15-
20% mức tải mục tiêu.

Kiểm thử tải (load test) : được thực hiện xác định
hiệu năng hệ thống với điều kiện tải nhiều người sử
dụng đồng thời hệ thống như trong thực tế.

Nó được xây dựng với mục đích tìm ra hiệu năng hệ thống
trong điều kiện tải mục tiêu.

Kiểm thử áp lực (stress test) :là kiểm thử được tiến
hành bằng cách kiểm thử hệ thống trong điều kiện tải
bất hợp lý để xác định điểm dừng (breakpoint) của hệ
thống

Kiểm thử Spike (spike test): giống kiểm thử áp lực (stress test) nhưng hệ
thống được đặt trong tải cực cao trong một thời gian gian ngắn .


Kiểm thử giúp xác nhận hiệu năng hệ thống trong điều kiện tải cao đột ngột trong
giờ giao dịch cao điểm của ứng dụng.

Kiểm thử chịu đựng (endurance test) :tập trung vào đánh giá hiệu năng của
hệ thống với mức tải định trước trong khoảng thời gian kéo dài. Kiểm thử
chịu đựng chạy với 70%- 80% của tải mục tiêu

Trong kịch bản có cài đặt thời gian nghĩ giống như trong thực tế.

Kiểm thử cô lập nghẽn cổ chai (bottleneck isolation
test) :là kiểm thử được thực hiện trên hệ thống hoặc
một thành phần cụ thể để tìm ra các vấn đề và
nguyên nhân ảnh hưởng đến hiệu năng của hệ
thống .

Kiểm thử khối lượng (volume test) :là kiểm thử hiệu
năng cho hệ thống khi nó phải thao tác với một lượng
dữ liệu nhất định. Số lượng này có thể là kích thước
bản ghi dữ liệu hoặc nó cũng có thể là kích thước của
1 tập tin.
6.Các kỹ thuật kiểm thử hiệu năng

Xác định tải công việc của hệ thống (workload of
system)

Cài đặt môi trường kiểm thử hiệu năng

Xây dựng kịch bản kiểm thử hiệu năng

Thực hiện kiểm thử hiệu năng (Performance test

execution)

Báo cáo kiểm thử hiệu năng (Performance test
reporting)

Xác định tải công việc của hệ thống

Định nghĩa:

Tải công việc (workload) là số lượng yêu cầu, giao
dịch người dùng gửi về máy chủ xử lý trong thời
gian người sử dụng truy cập hệ thống hoặc trong
khi thực hiện kiểm thử hiệu năng.

G.Kotis :“tải công việc có thể được xác định như
một tập các đầu vào từ những người sử dụng gửi
tới hệ thống “ .

Kiểu tải:

tải ổn định (Steady-State Workload)

tải bậc thang (Inclined Workload)

tải bùng nổ (Bursty Workload)

tải tại thời gian cụ thể (Time Specific Workload).

Phân tích tải công việc hệ thống:là việc xác định các yếu
tố sau đây


tổng tải công việc của hệ thống phải xử lý

loại yêu cầu mà người dùng gửi đến máy chủ

luồng chức năng được sử dụng thường xuyên

chu kỳ sử dụng của người dùng

thời gian người dùng cuối sử dụng mỗi lần vào hệ thống

thời gian giữa các giao dịch

phân loại người sử dụng

số người sử dụng ứng dụng

khi nào máy chủ chịu tải cao nhất .

Mô hình hóa tải công việc:

Bước 1: Dựa vào yêu cầu về hiệu năng để xây dựng mô hình
tải công việc

Bước 2: Phân tích tải công việc và xác định mô hình yêu cầu

Bước 3: Xác định phân bố thống kê cơ sở cho mô hình yêu
cầu

Bước 4: Thu thập số liệu về sự tiêu thụ tài nguyên phần cứng


Bước 5: Xây dựng mô hình tải

Ví dụ về mô hình tải sau khi áp dụng
Giao dịch Tần suất Thời gian
CPU(giây)
Thời gian I/O(giây)
Nhẹ(Light) 10% 6 120
Trung
bình(medium)
70% 28 260
Nặng(Heavy) 20% 350 900

Cài đặt môi trường kiểm thử hiệu năng

Môi trường kiểm thử:

Môi trường kiểm thử nên được cài đặt giống với
môi trường sản phẩm.

Cô lập môi trường kiểm thử:

Kiểm thử hiệu năng nên được xây dựng trong môi
trường riêng biệt tránh tải không cần thiết để
đánh giá chính xác và những vấn đề ảnh hưởng
đến hiệu năng.

Tạo tải (Load Generators ):

Để tạo tải nhiều người sử dụng hệ thống như trong thực

tế chúng ta sử dụng phần mềm kiểm thử hiệu năng.

Tạo dữ liệu kiểm thử (Test data generator)
– Số lượng bản ghi của hệ thống trong thực tế phải được
nghiên cứu đưa ra một con số cụ thể và chính xác. Khi đó
chúng ta có thể tạo được số bản ghi dữ liệu giống như
trong thực tế để thực hiện kiểm thử
Xây dựng kịch bản kiểm thử hiệu năng

Chọn kịch bản kiểm thử hiệu năng

Lựa chọn kịch bản trong kiểm thử hiệu năng cần
được phân tích và thường xuyên được sử dụng.

Viết kịch bản kiểm thử hiệu năng

Kịch bản kiểm thử được tạo ra bằng cách sử dụng
phần mềm kiểm thử hiệu năng để ghi lại hành
động của người dùng như trong thực tế.

×