lOMoARcPSD|15963670
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN
MÔN : KIỂM THỬ
ĐỀ TÀI : KIỂM THỬ WEBSITE BÁN ĐỒ THÚ CƯNG BẰNG CÔNG CỤ JMETTER
Sinh viên thực hiện
: NGUYỄN ĐỨC CÔNG-19810310366
Giảng viên hướng dẫn
: LÊ THỊ TRANG LINH
Ngành
: CÔNG NGHỆ THÔNG TIN
Chuyên ngành
: CÔNG NGHỆ PHẦN MỀM
Lớp
: D14CNPM5
Hà Nội, tháng 10 năm 2022
1
lOMoARcPSD|15963670
PHIẾU CHẤM ĐIỂM
Sinh viên thực hiện:
Họ và tên
Chữ ký
Ghi chú
Chữ ký
Ghi chú
Nguyễn Đức Công
Giảng viên chấm:
Họ và tên
Giảng viên chấm 1 :
Giảng viên chấm 2 :
2
lOMoARcPSD|15963670
CHƯƠNG I : CÔNG CỤ KIỂM THỬ TỰ ĐỘNG
1.1.
Giới thiệu về công cụ Apache Jmeter :
Jmeter là công cụ để đo độ tải và performance của đối tượng, có thể sử dụng để test
performance trên cả nguồn tĩnh và nguồn động, có thể kiểm tra độ tải và hiệu năng trên
nhiều loại server khác nhau như: Web – HTTP, HTTPS, SOAP, Database via JDBC,
LDAP, JMS, Mail – SMTP(S), POP3(S) and IMAP(S)… Jmeter là một mã nguồn mở
được viết bằng java. Cha đẻ của JMeter là Stefano Mazzocchi sau đó Apache đã thiết kế
lại để cải tiến hơn giao diện đồ họa cho người dùng và khả năng kiểm thử hướng chức
năng.
a. Các đặc trưng của jmeter:
Nguồn mở, miễn phí
Giao diện đơn giản, trực quan dễ sử dụng
Có thể kiểm thử nhiều kiểu server: Web - HTTP, HTTPS, SOAP, Database JDBC, LDAP, JMS, Mail - POP3,…
Một công cụ độc lập có thể chạy trên nhiều nền tảng hệ điều hành khác nhau,
trên Linux chỉ cần chạy bằng một shell scrip, trên Windows thì chỉ cần chạy
một file .bat
Đa luồng, giúp xử lý tạo nhiều request cùng một khoảng thời gian, xử lý các dữ
liệu thu được một cách hiệu quả.
Đặc tính mở rộng, có rất nhiều plugin được chia trẻ rộng rãi và miễn phí
Một công cụ tự động để kiểm thử hiệu năng và tính năng của ứng dụng. Cách
thức hoạt động: nó giả lập một nhóm người dùng gửi các yêu cầu tới một máy
chủ, nhận và xử lý các response từ máy chủ và trình diễn các kết quả đó cho
người dùng dưới dạng bảng biểu, đồ thị,cây…
Lợi ích của jmeter đối với performance testing:
Jmeter có thể sử dụng để kiểm thử hiệu năng của hai nguồn tài nguyên tĩnh như
là Javascript và HTML và tài nguyên động như JSP, Servlets, và AJAX.
Jemeter có thể phát hiện ra một số lượng lớn các users trong cùng một thời
điểm mà website có thể xử lý.
Jmeter có thể cung cấp phần lớn các phân tích đồ họa của báo cáo
performance.
JMeter Performance Testing bao gồm :
3
lOMoARcPSD|15963670
Load testing: Mô hình hóa dự kiến sử dụng bởi nhiều người dùng truy cập một
dịch vụ website trong cùng thời điểm.
Stress testing: Tất cả các web server có thể tải một dung lượng lớn, khi mà tải
trọng vượt ra ngoài giới hạn thì web server bắt đầu phản hồi chậm và gây ra
lỗi. Mục đích của stress testing là có thể tìm ra độ tải lớn mà web server có thể
xử lý.
b. Các thành phần của Jmeter :
Các thành phần của JMeter bao gồm:
Test plan
ThreadGroup
Samplers
Listeners
WorkBench
Assertions
Config Element
Logic Controllers
Timer
Sơ đồ mỗi thành phần và mối quan hệ giữa các thành phần trong jmeter :
4
lOMoARcPSD|15963670
Thread group :
Thread group là đại diện cho một nhóm người dùng và chứa các Thread khác. Mỗi
Thread Group sẽ mô phỏng những người dùng để thực hiện một trường hợp thử
nghiệm cụ thể. Một số thông số cần chú ý trong Thread Group:
Number of Threads: Mỗi Thread đại diện cho một người dùng ảo, JMeter cho
phép thay đổi số lượng người dùng không hạn chế để thực hiện các thử
nghiệm.
Ram-Up Period: Thời gian để bắt đầu tất cả các Thread.
Loop Count: Số lần lặp lại những yêu cầu của người dùng.
5
lOMoARcPSD|15963670
Cách tạo Thread Group: Click chuột phải vào Test plan -> Add -> Threads (Users) ->
Thread Group
Listeners :
Sau khi tạo và gửi yêu cầu tới server, JMeter sẽ nhận kết quả trả về và hiển thị.
Listeners cho phép xem các kết quả thu được từ việc chạy dưới dạng các loại khác
nhau, như: bảng biểu, đồ thị, cây... Listeners sẽ cung cấp một cách trực quan những
dữ liệu thu được. Chúng ta cùng tìm hiểu một số dạng phổ biến như sau:
-
View Results Tree: Cho phép theo dõi thông tin của dữ liệu mà server trả về cho
mỗi người dùng dưới các dạng khác nhau.
6
lOMoARcPSD|15963670
-
Graph Results: Trả về đồ thị biểu diễn những thông số về: số lượng yêu cầu, lượng
yêu cầu được xử lý mỗi phút, giá trị trung bình, giá trị trung vị của toàn bộ thời
gian phản hồi từ server.
7
lOMoARcPSD|15963670
-
Summary Report: Cung cấp báo cáo về các giá trị: thời gian phản hồi thấp
nhất/cao nhất, số yêu cầu xảy ra lỗi, lưu lượng trung bình.
Cách tạo: Click chuột phải Thread group -> Add -> Listener -> Chọn dạng kết quả
-
Configuration :
Configuration dùng để thiết lập các giá trị mặc định và các biến để sử dụng sau này
bởi các samplers. Hình dưới đây cho thấy một số configuration elements thường được
dùng trong JMeter :
8
lOMoARcPSD|15963670
Chương 2 : Đặc tả phần mềm
1. Giới thiệu về phần mềm :
Website bán hàng được xây dựng với tiêu chí phục vụ cho tất cả mọi người với
mong muốn đáp ứng đầy đủ các mặt hàng, các chức năng của một website bán hàng
trực tuyến.
-
Website bao gồm các loại người dùng chính: Khách hàng viếng thăm, Khách hàng
thành viên, Nhân viên, Giám đốc:
Đối với Khách hàng viếng thăm: Xem danh sách sản phẩm, Xem chi tiết sản
phẩm, Đưa sản phẩm vào giỏ hàng, cập nhật giỏ hàng, Tìm kiếm, Đăng Ký…
Đối với Khách hàng thành viên: Ngoài những chức năng như khách hàng viếng
thăm còn có thêm một số chức năng như Đặt mua, Xem danh sách đơn hàng,
Quản lý đơn hàng, Thanh Toán, Đăng nhập…
Đối với nhân viên: Được xem như là một khách hàng thành viên và còn có
chức năng quản lý tùy thuộc vào chức năng như Quản lý sản phẩm, đơn hàng,
khách hàng, quản lý thông tin khác. Ngoài ra còn tư vấn khách hàng, giải đáp
thắc mắc, phản hồi ý kiến cho khách hàng.
Đối với Giám đốc: Toàn quyền trong hệ thống và người có quyền quyết định
đối với nhân viên của mình.
2. Đặc tả yêu cầu phần mềm :
2.1. Đặc tả yêu cầu chức năng quản lý sản phẩm :
2.1.1. UC quản lý sản phẩm :
a. Mô tả UseCase :
9
lOMoARcPSD|15963670
10
lOMoARcPSD|15963670
Use case
Nội dung
Tên
Thêm sản phẩm
Mô tả
Nhân viên thực hiện thêm sản phẩn
Actor
Nhân viên
Điều kiện
Lựa chọn thêm sản phẩm
Tiền điều kiện
Đã đăng nhập
Hậu điều kiện
Thêm sản phẩm thành công
Luồng sự kiện
Nhân viên
Hệ thống
1.Chọn quản lý sản
phẩm
2.Hiển thị trang quản lý sản phẩm
3.Lựa chọn thêm
sản phẩm
4. Hiển thị trang thêm sản phẩm
5. Nhập các trường
thông tin sản phẩm
cần thêm
6.Lưu sản phẩm vừa thêm .
Ngoại lệ
-
Không
Đặc tả UC Thêm sản phẩm
11
lOMoARcPSD|15963670
-
Đặc tả UC sửa sản phẩm
Use case
Nội dung
Tên
Thêm sản phẩm
Mô tả
Nhân viên thực hiện sửa sản phẩn
Actor
Nhân viên
Điều kiện
Lựa chọn sửa sản phẩm
Tiền điều kiện
Đã đăng nhập
Hậu điều kiện
Sửa sản phẩm thành công
Luồng sự kiện
Nhân viên
Hệ thống
1.Chọn quản lý sản
phẩm
2.Hiển thị trang quản lý sản phẩm
3.Lựa chọn sản
phẩm cần sửa
4. Hiển thị trang sửa sản phẩm
5. Thay đổi các
trường thông tin
sản phẩm cần sửa
6.Lưu thông tin thay đổi .
Ngoại lệ
Không
Use case
Nội dung
Tên
Thêm sản phẩm
Mô tả
Nhân viên thực hiện
Actor
Nhân viên
Điều kiện
Lựa chọn thêm sản phẩm
12
lOMoARcPSD|15963670
Tiền điều kiện
Đã đăng nhập
Hậu điều kiện
Thêm sản phẩm thành công
Luồng sự kiện
Nhân viên
Hệ thống
1.Chọn quản lý sản
phẩm
2.Hiển thị trang quản lý sản phẩm
3.Lựa chọn sản
phẩm cần xóa
4. Thông báo xóa thành công
Ngoại lệ
-
Không
Đặc tả UC xóa sản phẩm
13
Downloaded by ng?c trâm (
[email protected])
lOMoARcPSD|15963670
2.1.2. Biểu đồ hoạt động của chức năng :
- Biểu đồ hoạt động của UC thêm sản phẩm :
-
Biểu đồ hoạt động của UC sửa sản phẩm :
14
Downloaded by ng?c trâm (
[email protected])
lOMoARcPSD|15963670
-
Biểu đồ hoạt động của UC xóa sản phẩm :
15
Downloaded by ng?c trâm (
[email protected])
lOMoARcPSD|15963670
Chương 3 : Kế hoạch test
3.1. Test Scope :
ID
Feature
Functional
testing
1
Quản lý sản
phẩm
Itegration
testing
Security &
Access Control
3.2. Feature/non feature to be test :
Chức năng test: Các chức năng chính yếu của sản phẩm như :
quản lý sản phẩm: module thêm sản phẩm, sửa sản phẩm, xóa sản phẩm, tìm kiếm
sản phẩm …
Chức năng không test: quản lý đơn hàng, báo cáo thống kê…
3.3. Test tool :
ID
Action
Tools
1
Quản lý hoạt động kiểm
thử
Kiểm soát lỗi
2
Excel
Supplier/Seftcontruction
Microsoft
Version
Office 365
Excel
Microsoft
Office 365
3.4. Test environment :
ID
Resource
1
2
3
4
Phiên bản
Database
Mạng
Server/client
Functional
Test/Integration
Test
Security &
Access Control
Testing
Chạy trên code
DB phát triển
Localhost
Localhost
System Test
Chạy trên code
DB thiết lập riêng
Internet
1 server, 1
domain
3.5. Test Resources Man-power :
Bảng sau đây mô tả nguồn lực test cho dự án:
16
Downloaded by ng?c trâm (
[email protected])
lOMoARcPSD|15963670
ID
1
Member
Nguyễn Đức Công
Position/Responsibility/Comment
Test manager: quản lý hoạt động kiểm thử
- Hướng dẫn kỹ thuật
- Sử dụng nguồn lực
- Báo cáo quản lý
- Báo cáo sản phẩm
Test designer: thiết kế testcase
- Định nghĩa cách tiếp cận test
- Viết các testcase
Test designer: thiết kế testcase
- Định nghĩa cách tiếp cận test
- Viết các testcase
Hardware
1PC (Ram>=1GB, CPU…)
Các browser: IE >7.0, firefox>3.0, hỗ trợ đầy đủ Javascript
Server LAMP: Ubuntu server >9.04, Apache 2.0, MySQL 5.0, PHP 5.0.
3.6. Test milestones :
Mỗi Milestione cho 1 module bao gồm cả việc design testcase và chạy testcase
ID
1
Milestone Task
Quản lý sản phẩm
2
3
4
5
Thêm sản phẩm
Sửa sản phẩm
Xóa sản phẩm
Tìm kiếm sản
phẩm
Resource
Begin date
Nguyễn Đức
Công
-
End date
Man day
17
Downloaded by ng?c trâm (
[email protected])
lOMoARcPSD|15963670
18
Downloaded by ng?c trâm (
[email protected])