Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
0,93 MB
Nội dung
Kiểmthửhiệunăngdịchvụphầnmềmquảnlý
trường học
Phạm Thị Thương
Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ
Chuyên ngành: Công nghệ phần mềm; Mã số: 60 48 10
Cán bộ hướng dẫn khoa học: TS. Trương Anh Hoàng
Năm bảo vệ: 2012
Abstract. Trình bầy khái niệm cơ bản kiểmthửhiệu năng, các hoạt động trong kiểmthử
hiện năng, các kiểu kiểmthửhiệu năng, một vài công cụ kiểmthửhiệunăng trên thị trường.
Mô tả chi tiết các kỹ thuật trong kiểmthửhiệu năng: phân tích và xác định tải công việc cho
ứng dụng, cài đặt môi trườngkiểm thử, chọn và xây dựng kịch bản kiểm thử, thực hiện kiểm
thử hiệunăng và phân tích đưa ra báocáo kết quả. Miêu tả cách thực hiện và kết quả thu
được khi: phân tích mô hình người sử dụng và mô hình tải, luồng chức năng hay được sử
dụng, thời gian nghĩ (think time), chọn kịch bản kiểm thử, ghi và cài đặt kịch bản kiểmthử
tải sử dụng phầnmềm Jmeter, thực hiện kiểm thử, phân tích và báocáo kết quả, đưa ra kết
luận về hiệunăng và vấn đề ảnh hướng chính đến hiệunăng hệ thống khi triển khai mở
rộng. Vận dụng lý thuyết kiểmthửhiệunăng và kinh nghiệm bản thân trong thực tế tôi đã
phân tích đưa ra chú ý giúp đội phát triển và kiểmthử viên tham khảo để cải thiện và đảm
bảo hệ thống đạt được hiệunăng yêu cầu khi triển khai trên diện rộng.
Keywords: Công nghệ thông tin; Kiểmthửphần mềm; Phần mềm; Quảnlýtrườnghọc
Content.
MỞ ĐẦU
Kiểmthửhiệunăng cho hệ thống rất quan trọng chính vì vậy mà luận văn tập trung nghiên
cứu lý thuyết, kỹ thuật và công cụ trong kiểmthửhiệu năng. Đồng thời áp dụng kiểmthửhiệunăng
vào hệ thống đang được triển khai thử nghiệm trong thực tế. Từ kết quả kiểmthử và vận dụng lý
thuyết luận văn phân tích đưa ra các chú ý khi triển khai hệ thống trên diện rộng.
Cấu trúc của luận văn như sau:
Chương 1 trình bầy khái niệm cơ bản kiểmthửhiệu năng, các hoạt động trong kiểmthử hiện
năng, các kiểu kiểmthửhiệu năng, một vài công cụ kiểmthửhiệunăng trên thị trường.
Chương 2 mô tả chi tiết các kỹ thuật trong kiểmthửhiệu năng: phân tích và xác định tải công
việc cho ứng dụng, cài đặt môi trườngkiểm thử, chọn và xây dựng kịch bản kiểm thử, thực hiện
kiểm thửhiệunăng và phân tích đưa ra báocáo kết quả.
Chương 3 là sự nỗ lực của bản thân thực hiện kiểmthử tải cho phầnmềmquảnlýtrườnghọc
được xây dựng trên nền web. Luận văn miêu tả cách thực hiện và kết quả thu được khi: phân tích mô
hình người sử dụng và mô hình tải, luồng chức năng hay được sử dụng, thời gian nghĩ (think time),
chọn kịch bản kiểm thử, ghi và cài đặt kịch bản kiểmthử tải sử dụng phầnmềm Jmeter, thực hiện
kiểm thử, phân tích và báocáo kết quả. Từ kết quả tôi phân tích đưa ra kết luận về hiệunăng và vấn
đề ảnh hướng chính đến hiệunăng hệ thống khi triển khai mở rộng.
Chương 4 từ kết quả kiểmthử tải ở Chương 3, vận dụng lý thuyết kiểmthửhiệunăng và kinh
nghiệm bản thân trong thực tế tôi đã phân tích đưa ra chú ý giúp đội phát triển và kiểmthử viên tham
khảo để cải thiện và đảm bảo hệ thống đạt được hiệunăng yêu cầu khi triển khai trên diện rộng.
Tóm tắt kết quả đã đạt được, trình bày những hạn chế và hướng nghiên cứu phát triển trong
tương lai sẽ được trình bày trong phần kết luận.
CHƢƠNG 1 TỔNG QUAN VỀ KIỂMTHỬHIỆUNĂNG
1.1 Giới thiệu
Chương 1 và Chương 2 của luận văn sẽ giúp người đọc có cái nhìn từ tổng quan và đến chi tiết
kỹ thuật trong các hoạt động kiểmthửhiệu năng.
1.2 Khái niệm kiểmthửhiệunăng
Có nhiều định nghĩa về kiểmthửhiệu năng. Theo [5], kiểmthửhiệună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ệunăng và tối
ưu hóa hiệunăng của nó.
Một cách định nghĩa khác của kiểmthửhiệunăng theo [4], kiểmthửhiệunăng là kiểmthử
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).
1.3 Tầm quan trọng của kiểmthửhiệunăng
Kiểm thửhiệunăng là hoạt động cần thiết cho việc phát triển những giải pháp tối ưu hóa hiệu
năng cho phần mềm. Kiểmthửhiệunăng giúp chúng ta tránh được các tình huống không lường trước
khi triển khai ứng dụng trong môi trường thực tế.
1.2 Các thuật ngữ trong kiểmthửhiệunăng
Theo [5] tôi đã chọn lọc và đưa ra một thuật ngữ hay được sử dụng trong kiểmthử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 đíchhiệunăng (performance requirements/goals): là định lượng đưa ra tiêu
chí cho rằng hiệunăng của hệ thống là tốt. Yêu cầu hiệună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 hoặc trong khi kiểmthử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.
1.3 Các hoạt động trong kiểmthửhiệunăng
Hình 1.1: Các giai đoạn trong kiểmthửhiệunăng [5].
Dựa vào Hình 1.1 ta thấy có 4 giai đoạn chính trong thực hiện kiểmthửhiệunăng và lần lượt
thứ tự thực hiện là: lên kế hoạch kiểm thử, tạo kịch bản, thực hiện và phân tích, báocáo kết quả.
Trong mỗi giai đoạn này có các hoạt động khác nhau.
1.4 Tính linh động trong kiểmthửhiệunăng
Tính linh động trong kiểmthửhiệunăng rất cao. Scott Barber đã 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ểmthửhiệunăng [5].
Nỗ lực kiểmthử được chia ra như sau:
Hình 1.2: Nỗ lực kiểmthử [5].
1.5 Hiểu lầm về kiểmthửhiệunăng
So sánh bản chất thực tế và những quan điểm sai lầm mà mọi người hay nhầm tưởng về kiểm
thử hiệunăng sẽ giúp chúng ta có cái nhìn đúng đắn hơn và làm thế nào để một dự án đạt được yêu
cầu hiệunăng trước khi đưa ra triển khai trong thực tế.
1.6 Kiểu kiểmthửhiệunăng
Kiểm thử cơ sở (baseline test)
Kiểm thử cơ sở là kiểmthử được xây dựng đánh giá hiệunăng ứng dụng với tải một người sử
dụng [5, 6]. Kịch bản kiểmthử 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)
Kiểm thử chuẩn là kiểmthử được tiến hành để đo lường hiệunăng của ứng dụng trong một
điều kiện tải thấp. Thông thường kiểmthử chuẩn chiếm 15-20% mức tải mục tiêu [5].
Kiểm thử tải (load test)
Kiểm thử tải được thực hiện xác định hiệunăng hệ thống với điều kiện tải nhiều người sử dụng
đồng hệ thống như trong thực tế. Nó được xây dựng với mục đích tìm ra hiệunăng hệ thống trong
điều kiện tải mục tiêu [2, 5, 6].
Kiểm thử áp lực (stress test)
Kiểm thử áp lực là kiểmthử được tiến hành bằng cách kiểmthử 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 [2, 5].
Kiểm thử Spike (spike test)
Kiểm thử này rất giống kiểmthử á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 [2, 5]. Kiểmthử giúp xác nhận hiệunăng hệ thống trong điều kiện tải
cao đột ngột trong giờ giao dịchcao điểm của ứng dụng.
Kiểmthử chịu đựng (endurance test)
Kiểm thử chịu đựng tập trung vào đánh giá hiệunăng của hệ thống với mức tải sử dụng được
định trước trong khoảng thời gian kéo dài. Kiểmthử 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)
Kiểm thử cô lập nghẽn cổ chai là kiểmthử đượ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ệunăng của hệ thống [5].
Kiểm thử khối lƣợng (volume test)
Kiểm thử khối lượng là kiểmthửhiệună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.
1.7 Công cụ kiểmthửhiệunăng
1.7.1 Công cụ kiểmthửhiệunăng
Có rất nhiều phầnmềmkiểmthửhiệunăng trên thị trường. Nó có thể được chia thành hai loại
chính: phầnmềm mã nguồn mở và phầnmềm có bản quyền.
1.7.2 Tiêu chuẩn để chọn một công cụ kiểmthửhiệunăng
Chọn một phầnmềmkiểmthủhiệunăng tốt phù hợp với đặc thù của ứng dụng cần kiểmthử
không phải là việc quá khó với kiểmthử viên. Kết luận của kiểmthử viên về hiệunăng của hệ thống
mới là công cụ tốt nhất phân tích, đánh giá hiệunăng của hệ thống [5].
CHƢƠNG 2 CÁC KỸ THUẬT TRONG KIỂMTHỬHIỆUNĂNG
2.1 Xác định tải công việc của hệ thống (workload of system)
2.1.1 Đị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ểmthửhiệu năng. Như
G.Kotis từng nói, “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 “ [5].
2.1.2 Kiểu tải công việc
Tải công việc của hệ thống cần được phân tích và thiết kế. Điều đó sẽ giúp chúng ta hiểu được
người sử dụng cuối và mô hình sử dụng [5]. Một vài loại tải công việc: tải ổn định (Steady-State
Workload), tải bậc thang (Inclined Workload), tải bùng nổ (Bursty Workload) và tải tại thời gian cụ
thể (Time Specific Workload).
2.1.3 Phân tích tải công việc của hệ thống
Phân tích tải công việc là: xác định 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 [5].
2.1.4 Mô hình hóa tải công việc (workload)
Tuần tự các bước để mô hình hóa tải công việc của ứng dụng:
Bước 1: Dựa vào yêu cầu về hiệună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
Bảng 2.1: Ví dụ về mô hình tải sau khi xây dựng [5]
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
2.2 Cài đặt môi trƣờng kiểmthửhiệunăng
2.2.1 Môi trườngkiểmthử
Nếu môi trường sản phẩm và môi trườngkiểmthử có sự khác nhau về phần cứng triển khai
ứng dụng thì sẽ mang lại rủi ro cao là hiệunăng sau khi kiểmthử không phải là hiệunăng thực tế của
hệ thống trong thực tế. Vì vậy môi trườngkiểmthử nên được cài đặt giống với môi trường sản phẩm.
2.2.2 Cô lập môi trườngkiểmthử
Kiểm thửhiệună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.
2.2.3 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ầnmềmkiểm
thử hiệu năng.
2.2.4 Tạo dữ liệu kiểmthử (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ử.
2.3 Xây dựng kịch bản kiểmthửhiệunăng
2.3.1 Chọn kịch bản kiểmthửhiệunăng
Lựa chọn kịch bản trong kiểmthửhiệunăng cần được phân tích và nó chỉ chiếm 20% trong
tổng số kịch bản. Đó là những kịch bản mà người dùng sử dụng thường xuyên khi sử dụng hệ thống.
Thực hiện kiểmthửhiệunăng cho 80% kịch bản còn lại sẽ làm tốn thời gian, công sức mà không
mang lại kết quả mong đợi [5,7].
2.3.2 Viết kịch bản kiểmthửhiệunăng
Kịch bản kiểmthử được tạo ra bằng cách sử dụng phầnmềmkiểmthửhiệunăng để ghi lại
hành động của người dùng như trong thực tế. Tuy nhiên do hạn chế của phầnmềm mà thời gian nghĩ
(think time) và một số tham số khác không được ghi lại trong kịch bản. Vì vậy mà mà kiểmthử viên
phải tự cài đặt lại thời gian nghĩ và tham số khác để đảm bảo kịch bản chạy đúng như trong thực tế.
2.4 Thực hiện kiểmthửhiệunăng (Performance test execution)
2.4.1 Những chuẩn bị trước khi kiểmthửhiệunăng
Bƣớc 1: Hiểu mô hình người sử dụng (workload model) của hệ thống thông.
Bƣớc 2: Thiết kế ca kiểmthử cùng với các tham số như chiến lược tăng (ramp up), thời gian
kiểm thử, cài đặt thời gian đợi (think time), kịch bản kiểmthử được thực hiện, các điều kiện tải, các
loại kiểmthử được tiến hành cùng với chuẩn qua/lỗi
Bƣớc 3: Xác định phầnmềmkiểmthửhiệunăng và chuẩn bị dữ liệu kiểm thử.
Bƣớc 4: Đảm bảo môi trườngkiểmthử đã sẵn sàng, không có người sử dụng truy cập ứng
dụng trong khi thực hiện kiểmthử và máy chủ được cách ly với bất kỳ sử dụng khác.
2.4.2 Phương pháp thực hiện kiểmthửhiệunăng
Sử dụng phầnmềmkiểmthử và kịch bản đã tạo sẵn chúng ta thực hiện kiểmthửhiệunăng cho
hệ thống. Trong thời gian thực hiện kiểmthửhiệu năng, đặt máy chủ trong một tải ổn định khoảng
15- 30 phút phụ thuộc vào mô hình sử dụng. Kiểm tra hiệunăng của hệ thống với nhiều tình huống
trong các điều kiện tải khác nhau và sau đó đưa ra số liệu hiệunăng về thời gian phản hồi, thông
lượng và sử dụng tài nguyên của máy chủ.
2.4.3 Lời khuyên khi thực hiện kiểmthử tải và kiểmthử áp lực
Kiểm thử tải (load test)
Thực hiện ít nhất 3 vòng kiểmthử tải cần lên kế hoạch trước khi đặt hệ thống trong tải mục
tiêu. Kiểmthử tải thấp cho hệ thống chiếm 30 % tải mục tiêu, kiểmthử tải trung bình chiếm 60%
trong tải mục tiêu và còn lại là kiểmthử tải cao chiếm 100% tải mục tiêu [5].
Kiểm thử áp lực (stress test)
Thông thường khoảng 10% - 20 % tải được cộng thêm vào mức tải tối đa của hệ thống được
đạt làm mức tải cho kiểmthử áp lực. Khi thực hiện kiểmthử áp lực chúng ta nên tăng chậm tải cho
hệ thống cho đến khi xuất hiện điểm dừng (break point). Kiểmthử này có thể thực hiện một vài lần
thu thập hành vi của hệ thống và nângcao độ tin cậy khi phân tích hành vi này.
2.5 Báocáokiểmthửhiệunăng (Performance test reporting)
2.5.1 Báocáokiểmthửhiệunăng
Thông tin viết trong báocáo gồm: yêu cầu hiệunăng cần kiểm thử, tổng quan về hệ thống, các
kịch bản kiểm thử, mô hình phân bố người sử dụng và kết quả kiểmthử [5].
Thông tin quan trọng nhất trong báocáo là chi tiết thời gian phản hồi, thông lượng trong các
giao dịch, các chỉ số về mức độ sử dụng tài nguyên phần cứng, lỗi ứng dụng hoặc những lỗi phát sinh
trong khi kiểm thử, v.v… [5].
2.5.2 Các thành phần của báocáo
Một cách khái quát báocáokiểmthửhiệunăng nên có thông tin sau:
1. Mục đích của kiểmthửhiệunăng (cam kết mức độ dịchvụ cung cấp).
2. Môi trườngkiểmthử và cấu hình máy chủ.
3. Kịch bản kiểmthử (theo bản kế hoạch).
4. Tóm tắt kết quả kiểm thử.
5. Trực quan hóa thông tin chi tiết hiệunăng hệ thống.
6. Trực quan hóa vấn đề, nguyên nhân ảnh hưởng đến hiệunăng (nếu có).
7. Kết luận về hiệunăng và giải pháp để cải thiện hiệu năng.
2.5.3 Lời khuyên và ví dụ khi tạo báocáo
Kết quả trình bầy trong báocáo nên đưa ra các thông tin:
Đưa ra 90% giá trị của thời gian phản hồi không nên dùng giá trị trung bình [5,7].
Sử dụng bảng so sánh thời gian phản hồi (90% giá trị của thời gian phản hồi) để chúng ta
thấy rõ hiệunăng cửa hệ thống ở các mức tải khác nhau [5].
Vẽ biểu đồ để thể hiện sự thay đổi thời gian phản hồi với mức tải khác nhau.
Ví dụ 1: Bảng só sanh thời gian phản hồi.
Bảng 2.2: So sánh thời gian phản hồi [5]
Bảng so sánh thời gian phản hồi (90% giá trị của thời gian phản hồi (sec))
Giao dịch
50 Người
100 người
200 người
300 người
Giao dịch 1
1.2
1.9
2.1
21
Giao dịch 2
0.7
1.2
1.8
19
Giao dịch 3
0.9
1.6
2
17
Dựa vào Bảng 2.2 người đọc báocáo dễ dàng thấy được sự thay đổi thời gian phản hồi từng
giao theo số người sử dụng.
Ví dụ 2: Biểu đồ sự thay đổi thời gian phản hồi với mức tải khác nhau
Hình 2.6: Biểu đồ sự thay đổi thời gian phản hồi [5].
Dựa vào Hình 2.6 người đọc báocáo dễ dàng thấy được trạng thái hiệunăng của hệ thống
tương ướng với số người sử dụng.
CHƢƠNG 3 KIỂMTHỬHIỆUNĂNGDỊCHVỤPHẦNMỀMQUẢNLÝ TRƢỜNG HỌC
3.1 Mục tiêu
Trong chương này tôi miêu tả các hoạt động và các kết quả tôi đạt được khi áp dụng lý thuyết
để thực hiện kiểmthửhiệunăng cho phầnmềmquảnlýtrườnghọc được xây dựng trên nền web
(truongnha.com) đang được triển khai thử nghiệm. Tất cả kết quả kiểmthử được thực hiện trên máy
chủ ảo ở trang web http://cntt.dyndns.info:8851.
Nội dụng chính trình bầy trong chƣơng:
- Giới thiệu trang web quảnlýtrường học.
- Phân tích mô hình người sử dụng và mô hình tải của trang dựa vào các số liệu Google
Analytics cung cấp về người sử dụng hệ thống.
- Xây dựng kịch bản thực hiện kiểm thử: xây 2 kịch bản kiểmthử chính để thực hiện kiển thử
tải.
- Chiến lược thực hiện kiểm thử.
- Thực hiện kiểm thử: kiểmthử cơ sở, kiểmthử tải cho trang web với 2 mức tải 50 và 100
người sử dụng đồng thời. Thu thập các số liệu về hiệunăng của trang web trên máy chủ hiện tại: thời
gian phản hồi, thông lượng, mức độ sử dụng CPU, I/O và bộ nhớ trên máy chủ.
- Phân tích kết quả và báo cáo: đưa ra kết luận về hiệunăng máy chủ với các mức tải thực
hiện kiểm thử. Từ kết quả phân tích tôi đưa ra kết luận về vấn đề ảnh hưởng đến việc nângcaohiệu
năng của hệ thống.
3.2 Giới thiệu trang web quảnlý trƣờng học
Trang web quảnlýtrườnghọc (truongnha.com) là hệ thống thông tin cho các trườnghọc phổ
thông và là cầu nối giữa nhà trường và gia đình. Dịchvụ của trang web phục vụ cho 4 đối tượng:
Nhà trường (Hiệu trưởng/Hiệu phó), Giáo viên, Học sinh/Phụ huynh, Sở giáo dục và đào tạo
3.3 Phân tích mô hình ngƣời sử dụng và mô hình tải
Trong hệ thống này để phân tích mô hình người sử dụng và mô hình tải tôi sẽ sử dụng các số
liệu và biểu đồ mà Google Analytis cung cấp.
3.3.1 Số người truy cập lớn nhất trong 1 tháng/1 tuần /1 ngày/1 giờ
- Số người truy cập lớn nhất trong 1 tháng là : 726 người/1 tháng
- Số người truy cập lớn nhất trong 1tuần là: 395 người/1 tuần
- Số người truy cập lớn nhất trong 1 ngày là 260/1 ngày
- Số người truy cập lớn nhất trong 1 giờ là : 46 người/ 1 giờ
Phân bố thống kê cơ sở mô hình yêu cầu của người dùng là Self-similar.
3.3.2 Luồng chức năng được sử dụng nhiều nhất
Từ biểu đồ luồng sự kiện của người dùng mà Google Analytics thống kê chúng ta có thể phân
tích được những luồng chức năng chính được sử dụng nhiều nhất trong hệ thống.
Nhập điểm:
Home -> /login/ -> /school/ -> /school/markTable/ -> /logout/
Xuất ra báo cáo:
Home -> /login/ -> /school/ -> /school/report/ -> /logout/
3.3.3 Thời gian trung bình duyệt mỗi trang
Theo thống kê của Google Analytics về thời gian trung bình người dùng duyệt một trang:
Bảng 3.1: Thời gian nghĩ (think time) trên các trang
Thời gian nghĩ trên các trang (think time)
Đƣờng dẫn đến trang
Thời gian nghĩ (Think time) (giây)
/login/
34
/school/
39
/school/classes
51
/school/report
37
/school/viewClassDetail/number_id
32
/school/count1/number_id/number_id
90
/school/markTable/number_id1/number_id2
90
3.4 Môi trƣờng kiểmthử
Kiểm thửthử nghiệm được thực hiện với mảy chủ ảo ở trang web http://cntt.dyndns.info:8851
với cấu hình máy chủ web và cơ sở dữ liệu trên cùng một máy.
3.5 Kịch bản kiểmthử
Bảng 3.3: Miêu tả kịch bản kiểmthử
#
Tên kịch bản
Các bƣớc trong kịch bản
Miêu tả
1
Giáo viên nhập
điểm cho học
sinh cho một
môn học (NHẬP
ĐIỂM)
Đăng nhập vào hệ thống
Đăng nhập thành công
Chọn lớp học cần nhập điểm
Chọn thành công được một lớp
cần nhập điểm
Chọn môn cần nhập điểm
Chọn thành công môn cần nhập
điểm
Nhập thông tin điểm cho từng
học sinh
Lần lượt nhập các điểm cho từng
học sinh
Lưu thông tin điểm đã nhập
Lưu thông tin điểm thành công
Thoát khỏi hệ thống
Thoát khỏi hệ thống thành công
2
Giáo viên/ Hiệu
trưởng/Sở giáo
dục và đào tạo
xuất báocáo
(BÁO CÁO)
Đăng nhập vào hệ thống
Đăng nhập thành công
Vào chức năngbáocáo
Chọn thành công được một lớp
cần nhập điểm
Chọn loại báo cáo: thống kê
điểm cuối kỳ
Chọn thành công thống kê điểm
cuối kỳ
Chọn môn cần xuất ra báocáo
Chọn thành công môn cần nhập
điểm
Xuất ra báocáo ra file Excel
Lần lượt nhập các loại điểm cho
từng học sinh
Thoát khỏi hệ thống
Thoát khỏi hệ thống thành công
3.6 Chiến lƣợc kiểmthử
Bảng 3.4: Số lượng người kiểmthử trong kịch bản
Kịch bản kiểmthử
Ngƣời sử dụng
Thời gian tải ổn định
NHẬP ĐIỂM/BÁO CÁO
1
NHẬP ĐIỂM/BÁO CÁO
50
30 phút
NHẬP ĐIỂM/BÁO CÁO
100
30 phút
[...]... các kiểu kiểm thửhiệunăng Luận văn cũng mô tả chi tiết các kỹ thuật thực hiện kiểm thửhiệunăng Ngoài ra luận văn còn đưa ra một vài lời khuyên để thực hiện kiểmthửhiệunăng một cách hiệu quả Toàn bộ kiến thức về kiểmthửhiệunăng tôi đã tham khảo chính [5] Tiếp theo luận văn áp dụng lý thuyết để thực hiện kiểmthử tải cho phầnmềmquảnlýtrườnghọc được xây dựng trên nền web Trong phần áp dụng... vận hành vẫn không đơn giản Vì vậy hướng nghiên cứu tiếp theo của luận văn là tìm hiểu sử dụng dịchvụkiểmthửhiệunăng dựa trên điện toán đám mây (cloud computing) để kiểmthửhiệunăng và so sánh tính hiệu quả với việc sử dụng phần mềmkiểmthử hiệu năng Từ đó tìm ra cách để thực hiện kiểm thửhiệunănghiệu quả hơn cho các hệ thống References Tiếng Anh [1] Emily H Halili (2008), Apache JMeter, Ltd,... tôi vận dụng lý thuyết, tìm tòi, nghiên cứu, học hỏi từ đồng nghiệp, bạn bè và một vài dự án trong thực tế Dựa vào lý thuyết kiểm thửhiệu năng, kết quả kiểmthử trong phần áp dụng thực nghiêm và kinh nghiệm bản thân trong thực tế tôi phân tích đưa ra chú ý hay lời khuyên giúp đội phát triển giải quyết vấn đề ảnh hưởng đến hiệunăng và kiểmthử viên có kế hoạch hoặc chiến lược kiểmthửhiệu quả để đảm... nhiều người dùng trong thực tế Khi đó đội phát triển phải đưa ra giải pháp và kiểmthử thực hiện kiểmthử để đảm bảo hệ thống đã đạt hiệunăng mong đợi Với kết quả kiểmthử tải ở Chương 3, chúng ta thấy vấn đề ảnh hƣởng đến hiệunăng của hệ thống là mức sử dụng CPU trên máy chủ trong kịch bản kiểmthửBÁOCÁO Để cải thiện hiệunăng của hệ thống lên thì đội phát triển nên xem xét lại thuật toán hoặc giải... hiện chức năng xuất báocáo ra tập tin Excel Số bản ghi dữ liệu lớn sẽ tiềm ẩn một số vấn đề về hiệunăng của hệ thống Để tăng độ tin cậy về hiệunăng hệ thống khi triển khai trên diện rộng thì kiểmthử viên có thể thực hiện kiểmthử khối lượng (volumn test) với số bản ghi dữ liệu khi triển khai hệ thống trên diện rộng KẾT LUẬN Luận văn đã trình bầy các kiến thức cơ bản về kiểmthửhiệunăngbao gồm...3.7 Tạo và cài đặt kịch bản kiểmthử sử dụng phầnmềm Jmeter Sử dụng phầnmềm mã nguồn mở Jmeter để ghi lại các luồng chức năng cho 2 kịch bản: NHẬP ĐIỂM, BÁOCÁO trên trình duyệt IE 3.8 Phân tích kết quả kiểmthử 3.8.1 Thời gian phản hồi Bảng 3.7: So sánh 90% thời gian phản hồi trong các kịch bản kiểmthử Bảng 90% thời gian phản hồi trong từng kịch bản kiểmthử (ms) Tên kịch Trang 1 Người 50... do mức sử dụng CPU trên máy chủ thường xuyên cao và có những lúc lên đến 100% CPU CHƢƠNG 4 4.1 TRIỂN KHAI DỊCHVỤQUẢNLÝ TRƢỜNG HỌC TRÊN DIỆN RỘNG Vấn đề ảnh hƣởng hiệunăng của hệ thống Mức sử dụng CPU trên máy chủ với kịch bản kiểmthửBÁOCÁO là một trong các vấn đề sẽ ảnh hưởng lớn đến hiệunăng của hệ thống khi triển khai mở rộng 4.2 Triển khai hệ thống trên diện rộng Muốn triển khai thành công... kịch bản kiểmthửBÁOCÁO Dựa vào Hình 3.22 chúng ta thấy một cách rất trực quan sự khác nhau thời gian phản hồi với các mức tải khác nhau trong kịch bản BÁOCÁO 3.8.2 Sử dụng CPU trên máy chủ Hình 3.23: So sánh sử dụng CPU trong kịch bản BÁOCÁO & NHẬP ĐIỂM Dựa vào Hình 3.23 ta thấy với cùng mức tải 100 người sử dụng đồng thời nhưng mức sử dụng CPU trên máy chủ với kịch bản kiểmthửBÁOCÁO lớn hơn... chức năng hay được sử dụng, tính toán thời gian nghĩ (think time), cách sử dụng phầnmềm Jmeter để cài đặt kịch bản kiểm thử, thực hiện và thu thập các kết quả kiểmthử Từ kết quả thu được tôi đã phân tích đưa ra kết luận về tình trạng hiệunăng hệ thống và mức sử dụng CPU cao trên máy chủ là nguyên chính ảnh hưởng đến hiệunăng khi muốn triển khai mở rộng hệ thống Toàn bộ kết quả đạt được trong phần. .. Trang thông tin về trường (/school/) 258 266 347 Trang chọn loại báocáo 414 128 231 195 147 207 865 704 859 Xuất ra báocáo ra tập tin excel 541 582 667 Thoát khỏi hệ thống 96 128 196 (/school/saveMark) (/school/report/) Chọn thông tin học kỳ và môn học (school/count2/2/1) Xem thông tin báocáo (/school/count2/2/1/14/2/2) Hình 3.21: So sánh 90% thời gian phản hồi kịch bản kiểmthử NHẬP ĐIỂM Dựa vào . động kiểm thử hiệu năng. 1.2 Khái niệm kiểm thử hiệu năng Có nhiều định nghĩa về kiểm thử hiệu năng. Theo [5], 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. cụ kiểm thử hiệu năng 1.7.1 Công cụ kiểm thử hiệu năng Có rất nhiều phần mềm kiểm thử hiệu năng trên thị trường. Nó có thể được chia thành hai loại chính: phần mềm mã nguồn mở và phần mềm. Kiểm thử hiệu năng dịch vụ phần mềm quản lý trường học Phạm Thị Thương Trường Đại học Quốc gia Hà Nội; Trường Đại học Công nghệ Chuyên ngành: Công nghệ phần mềm; Mã số: