Tải bản đầy đủ (.docx) (37 trang)

Báo cáo kiểm chứng phần mềm bài tập 6

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.78 MB, 37 trang )

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
NHẬP MÔN KIỂM CHỨNG PHẦN MỀM
----------

BÀI TẬP 6
Giáo viên hướng dẫn:
 Trần Duy Hoàng
 Đào Anh Vũ
 Nguyễn Huy Khánh
 Trần Văn Quý

Mục Lục


Kiểm Chứng Phần Mềm – Nhóm 42

Page 2

Bài Tập 6


Kiểm Chứng Phần Mềm – Nhóm 42

Bài Tập 6

I. Yêu cầu 1: Tìm hiểu Jmeter - Các loại độ đo
hiệu năng
1. Aggregate Report :
− Aggregate Report tạo từng dòng cho những yêu cầu (request) khác nhau trong quá
trình kiểm tra. Mỗi yêu cầu bao gồm thông tin phản hồi và cung cấp số lượng yêu


cầu, giá trị nhỏ nhất, lớn nhất, trung bình, mức độ lỗi, lượng throughput xấp xỉ (yêu
cầu/giây) và mỗi KB throughput trên giây.

Thuộc tính
Label
# Samples
Average
90% Line
Min

Mô tả
Tên thành phần xuất hiện trong bảng
Số lượng mẫu thử ứng với tên mẫu thử
Thời gian trung bình tạo ra kết quả
90% mẫu thử ít tốn thời gian hơn dự kiến.
Thời gian ngắn nhất của các mẫu thử ứng với tên mẫu
Page 3


Kiểm Chứng Phần Mềm – Nhóm 42
Error %
Throughput
KB/sec
Max
Median

Bài Tập 6

thử(lable)
Tỷ lệ các yêu cầu có lỗi

Thông luợng được tính bằng số lượng yêu cầu mỗi
giây/phút/giờ
Dung lượng (KB) throughput trong mỗi giây
Thời gian dài nhất của các mẫu thử ứng với tên mẫu
thử(lable)
Thời gian giữa quá trình tạo ra kết quả. 50% mẫu thử tốn ít
thời gian ở bước tạo ra kết quả, số còn lại tốn nhiều thời
gian hơn.

2. Aggregate Graph :
− Aggregate Graph tương tự các chức năng của Aggregate Report. Sự khác biệt chính là
Aggregate Graph cung cấp dễ dàng các cây đồ thị và lưu từng độ thị thành tập tin
ảnh PNG.

Page 4


Kiểm Chứng Phần Mềm – Nhóm 42

Bài Tập 6

3. BeanShell Listener :
− Cho phép việc sử dụng BeanShell để xử lý các mẫu thử.
− BeanShell là một mã nguồn được viết bằng Java, được nhúng một số ngôn ngữ khác.
BeanShell được sử dụng để tìm và khắc phục lỗi Java, thực hiện các câu lệnh Java
động trong ứng dụng, tương tác với các đối tượng và các hàm API, v.v...

Thuộc tính
Name
Reset

bsh.Interpreter
before each call
Parameters

Script file
Script

Mô tả
Mô tả tên độ đo
Nếu Reset Interpreter được chọn là true, trong mỗi mẫu thử
được tạo ra sẽ có kèm theo giải thích ý nghĩa. Điều này cần thiết
cho những đoạn script.
Các tham số được khai báo để BeanShell bỏ qua. Các tham số
được chứa trong các giá trị:
• Parameters : chuỗi chứa các tham số
• bsh.args : mảng chuỗi chứa các tham số, cách nhau bằng
dấu khoảng trắng.
Tập tin chứa đoạn script BeanShell để thực thi. Tên đoạn script
được chứa trong biến FileName.
Đoạn script BeanShell thực thi. Giá trị trả về được bỏ qua.

Page 5


Kiểm Chứng Phần Mềm – Nhóm 42

Bài Tập 6

4. BSF Listener :
− BSF Listener: đoạn script BSF được áp dụng vào các kết quả mẫu thử.


Thuộc tính
Name
Language
Parameters
Script file
Script

Mô tả
Mô tả tên độ đo được sử dụng.
Ngôn ngữ BSF được sử dụng.
Các tham số được khai báo để script bỏ qua. Các tham số
được chứa trong các giá trị sau :
• Parameters : chuỗi chứa các tham số
• args : mảng chuỗi chứa các tham số, cách nhau bằng
dấu khoảng trắng.
Tập tin chứa đoạn script để thực thi.
Đoạn script thực thi.

5. Assertion Results :
− Assertion Results cho thấy tên từng mẫu thử được sử dụng , đồng thời thông báo
các lỗi của các gói tin trả về từ server trong các testplan.

Page 6


Kiểm Chứng Phần Mềm – Nhóm 42

Bài Tập 6


6. Comparison Assertion Visualizer :
− Comparison Assertion Visualizer cho biết kết quả so sánh các thành phần Assertion.

Thuộc tính
Name

Mô tả
Mô tả tên độ đo được sử dụng.

Page 7


Kiểm Chứng Phần Mềm – Nhóm 42

Bài Tập 6

7. Distribution Graph :
− Distribution Graph cho biết từng cột cho từng thời gian phản hồi (response). Biểu đồ
Distribution sẽ vẽ hai đường ngưỡng :
• 50 % : thể hiện 50% thời gian phản hồi hoàn tất gói tin từ mốc 0 cho đến đường
kẻ 50 %.
• 90 % : thể hiện bề rộng của biểu đồ, phản ảnh thời gian phản hồi hoàn tất gói tin
từ mốc 0 cho đến đường kẻ 90 %.

8. Generate Sumary Results :
− Generate Sumary Results có thể được đặt ở bất cứ đâu trong kế hoạch kiểm thử
(test plan).

Page 8



Kiểm Chứng Phần Mềm – Nhóm 42

Thuộc tính
Name

Mô tả
Mô tả tên độ đo được sử dụng.

9. Graph Results
− Graph Result phát sinh đồ thị đơn giản, vẽ lại toàn bộ thời gian lấy mẫu.

Thuộc tính
Data
Average
Deviation

Mô tả
Vẽ biểu đồ các giá trị thực của dữ liệu
Vẽ biểu đồ giá trị trung bình
Vẽ biểu đồ độ lệch chuẩn
Page 9

Bài Tập 6


Kiểm Chứng Phần Mềm – Nhóm 42
Throughput
Median


10.

Bài Tập 6

Vẽ biểu đồ số lượng mẫu thử trên 1 đơn vị thời gian
Vẽ biểu đồ giá trị trung tuyến

Monitor Result

− Là một công cụ quan sát mới dùng để thể hiện trạng thái server. Monitor Result gồm
2 thẻ:
• Health: Thể hiện trạng thái của một hoặc nhiều server.
• Performance: thể hiện hiệu năng của một server với 1000 mẫu thử
− Giới hạn của Monitor Result là bộ nhớ hệ thống. Cứ 100 server sẽ chiếm 1000 vùng
đệm dữ liệu và 10MB Ram. Ví dụ 1 máy tính 1.4GHZ và 1GB Ram sẽ xử lý được hàng
trăm server.
− Theo nguyên tắc giám sát hệ thống chung nên thiết lập một khoảng thời gian thích
hợp. Khoảng thời gian ít hơn 5 giây là quá ngắn và có nguy cơ ảnh hưởng đến máy
chủ. Với một bộ đệm của 1000 điểm dữ liệu trong 5 giây, màn hình sẽ kiểm tra tình
trạng máy chủ 12 lần một phút hoặc 720 lần một giờ. Điều này có nghĩa là bộ đệm
cho thấy hiệu suất của từng máy.

Page 10


Kiểm Chứng Phần Mềm – Nhóm 42

11.

JSR223 Listener:


− Cho phép đoạn sript JR233 đuợc áp dụng vào các kết quả mẫu thử.

Page 11

Bài Tập 6


Kiểm Chứng Phần Mềm – Nhóm 42

Thuộc tính
Name
Language
Script file
Parameters
Script

12.

Bài Tập 6

Mô tả
Mô tả tên độ đo được sử dụng.
Ngôn ngữ sử dụng.
Tập tin chứa đoạn script để thực thi.
Các tham số được khai báo để script bỏ qua. Các tham số được
chứa trong các giá trị sau :
• Parameters : chuỗi chứa các tham số
• args : mảng chuỗi chứa các tham số, cách nhau bằng dấu
khoảng trắng.

Đoạn script thực thi.

Mailer visualizer:

− Có thể đuợc cấu hình để gửi email nếu quá trình thực thi kiểm tra nhận đuợc các
phản hồi bị lỗi từ phía server.

Page 12


Kiểm Chứng Phần Mềm – Nhóm 42

Thuộc tính
Name
from
Address
Success Subject
Success limit
Failure limit
Host
Port
Login
Password
Connection
security
Failure Subject
Test Mail
Failures

13.


Bài Tập 6

Mô tả
Mô tả tên độ đo được sử dụng.
Địa chỉ email nguời gửi
Địa chỉ email nguời nhận
Nội dung email cho mẫu tin thành công
Khi mà số luợng phản hồi thành công vượt quá số lần giới
hạn quy định thì 1 email thông báo thành công sẽ đuợc gửi
tới.
Số lượng các phản hồi thất bại(failures response) vuợt giới
hạn, một email thất bại sẽ đuợc gửi
Địa chỉ IP hoặc tên host của server SMTP .
Cổng của server SMTP (mặc định là 25)
Đăng nhập để chứng thực
Mật khẩu sử dụng để chứng thực
Loại mã hóa cho chứng thực SMTP (SSL hoặc TLS hoặc
không)
Nội dung Email cho mẫu tin thất bại
Nút gửi mail
Trường lưu trữ thông tin tổng hợp số lần thất bại nhận
đuợc

Save responses to a file

− Thành phần kiểm tra này được đặt bất kỳ nơi nào trong kế hoạch kiểm thử, với từng
mục tiêu mẫu thử, độ đo này sẽ ra các tập tin cho dữ liệu phản hồi. Mục đích của
việc tạo ra tập tin dung để kiểm tra các chức năng và giảm độ lớn của phản hồi, Tên
Page 13



Kiểm Chứng Phần Mềm – Nhóm 42

Bài Tập 6

của tập tin sẽ đuợc tạo từ prefix quy định, cộng với số, phần mở rộng (extendtion)
đuợc tạo từ các loại tài liệu nếu biết, còn ngược lại thì phần mở rộng sẽ được gán là
không biết. Nếu không có tiền tố và không có cả số. Nếu số và hậu tố(suffix) không có
thì lấy tiền tố làm tên tập tin.

Thuộc tính
Name
Filename Prefix
Variable Name
Save failed
response only
Save Successful
responses only
Don’t add
number to
prefix
Don’t add suffix

14.

Mô tả
Mô tả tên độ đo được sử dụng.
Tiền tố(prefix) được tạo cho tên tập tin, nó có thể chứa tên thư
mục, đuờng dẫn liên quan đuợc quyết định liên quan tới thư mục

làm việc hiện hành (mặc định là bin/directory)
Tên các biến dùng để lưu tập tin được tạo ra, nó có thể được sử
dụng sau này trong kế hoạch kiểm thử.
Nếu được chọn thì chỉ lưu các phản hồi thất bại

Nếu được chọn thì chỉ lưu các phản hồi thành công
Nếu được chọn thì không có thêm số vào prefix. Nếu chọn chức
năng này thì bảo đảm rằng prefix là duy nhất hoặc tập tin có thể bị
ghi đè
Nếu được chọn thì không có thêm hậu tố. Nếu bạn chọn chức năng
này thì bảo đảm rằng tiền tố là duy

Simple data writer

− Độ đo này ghi nhớ các kết quả thành một tập tin. Nghĩa là cung cấp việc ghi dữ liệu
hiệu quả trung bình.
Page 14


Kiểm Chứng Phần Mềm – Nhóm 42

15.

Bài Tập 6

Spline Visualizer

− Cung cấp cách nhìn toàn bộ thời gian của các mẫu thử, từ khởi đầu cho đến kết thúc.
Bất chấp có bao nhiêu mẫu thử được sử dụng. Slpine có 10 điểm, mỗi điểm biểu
hiện phần trăm của các mẫu thử và kết nối nhau thành 1 đuờng logic.

− Biểu đồ này đuợc tự động co giãn để phù hợp với màn hình của máy tính

16.

View results in table

− Tạo từng dòng cho từng kết quả mẫu thử. Chiếm nhiều bộ nhớ.

Page 15


Kiểm Chứng Phần Mềm – Nhóm 42

17.

Bài Tập 6

View results tree

− Thể hiện các mẫu thử phản hồi dưới dạng cây, cho phép nguời dùng xem bất kỳ mẫu
thử phản hồi nào. Ngoài ra có thể thấy đuợc thời gian để nhận phản hồi và 1 số mã
phản hồi. Thẻ Request chỉ thể hiện các header được gán bởi Jmetter, nó không thể
hiện các header đuợc gán bằng giao thức HTTP.
− Các cách hiển thị phản hồi:
• Dạng HTML.
• HTML có thêm các nguồn.
Page 16


Kiểm Chứng Phần Mềm – Nhóm 42






18.

Bài Tập 6

JSON: thể hiện các tin phản hồi dưới dạng cây, có nhúng thêm java script
Regexp Tester: chỉ làm vịệc cho những phản hồi bằng văn bản(text). Nó thể hiện
đoạn văn bản(text)
Text: thể hiện tất cả các dạng văn bản trong mẫu tin phản hồi.
XML: thể hiện các mẫu tin phản hồi dưới dạng cây.

Summary report

− Tạo từng dòng cho những yêu cầu (request) khác nhau trong quá trình kiểm tra. Mỗi
yêu cầu gồm có thông tin phản hồi và cung cấp số lượng yêu cầu, giá trị nhỏ nhất,
lớn nhất, trung bình, mức độ lỗi, lượng throughput xấp xỉ (yêu cầu/giây) và mỗi KB
throughput trên giây. Nó giống như aggregate Report, ngoại trừ nó sử dụng ít bộ nhớ
hơn.

Thuộc tính
Label
# Samples
Min
Max
Error %
KB/sec

Avg.bytes
Std.Dev
Average
Throughput

Mô tả
Mô tả tên thành phần xuất hiện trong bảng
Số lượng mẫu thử ứng với tên mẫu thử
Thời gian ngắn nhất của các mẫu thử ứng với tên mẫu thử
Thời gian dài nhất của các mẫu thử ứng với tên mẫu thử
Tỷ lệ các yêu cầu có lỗi
Dung lượng (KB) throughput trong mỗi giây
Kích thuớc trung bình của mẫu thử phản hồi (bytes)
Độ lệch chuẩn của mẫu thử
Thời gian trung bình tạo ra kết quả
Được tính bằng số lượng yêu cầu mỗi giây/phút/giờ

Page 17


Kiểm Chứng Phần Mềm – Nhóm 42

Bài Tập 6

II. Yêu cầu 2: Kiểm tra tự động
1 Kịch bản
− Kiểm tra hiệu năng chức năng tìm kiếm trên trang www.thuenhanh.vn

19.


Mô tả

− Khi người dùng vào link thì mặc định sẽ
hiển thị danh sách các căn hộ cho thuê trên thuê nhanh .
− (05/07/2012 tìm kiếm có 1912 tin)

− Dùng Jmeter để kiểm tra hiệu năng của chức năng tìm kiếm, giả sử có 100 người
dùng và số lần lập lại là 100.

20. Các bước thực hiện
a. Bước 1:
− Chạy file ApacheJMeter.jar

b.

Bước 2:

− Tạo Thread Group

c.

Bước 3:

− Màn hình sau khi tạo Thread Group xuất hiện như sau :

Page 18


Kiểm Chứng Phần Mềm – Nhóm 42


− Đặt tên Thread Group là Test Hiệu Năng Chức Năng Tìm Kiếm

− Nhập vào 100 user

− Tạo các thread 1 lần

− Tạo 100 vòng lặp kiểm thử
− Kết quả như hình bên dưới

Page 19

Bài Tập 6


Kiểm Chứng Phần Mềm – Nhóm 42
d.

Bước 4:

Bài Tập 6

− Tạo HTTP Request, Click bên phải vào Thread Group node rồi chọn Add -> Sampler
-> HTTP Request

e.

Bước 5:

− Màn hình sau khi tạo HTTP Request


Page 20


Kiểm Chứng Phần Mềm – Nhóm 42









Thiết lập một số chức năng chính sau :
Server Name of IP : />Port Number : 80
Protocol [http]:http
Method : GET
Path : />Kết quả như sau :

Page 21

Bài Tập 6


Kiểm Chứng Phần Mềm – Nhóm 42

f.

Bài Tập 6


Bước 6:

Sử dụng những listener để xem kết quả :

• View Results Tree
− Eight-clicking vào Thread group node rồi chọn Add -> Listener -> View Results
Tree.

Page 22


Kiểm Chứng Phần Mềm – Nhóm 42

Page 23

Bài Tập 6


Kiểm Chứng Phần Mềm – Nhóm 42
Giao diện

Page 24

Bài Tập 6


Kiểm Chứng Phần Mềm – Nhóm 42
• View Results in Table

Page 25


Bài Tập 6


×