You are on page 1of 47

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

BÀI TẬP LỚN


KIỂM THỬ PHẦN MỀM
ĐỀ TÀI: KIỂM THỬ TỰ ĐỘNG VỚI CÔNG CỤ SELENIUM
WEBDRIVER

Giáo viên hướng dẫn : T.S Nguyễn Hoàng Tú

Lớp : ĐH-KTPM3-K11

Nhóm : 13
Sinh viên thực hiện : Trần Viết Trưởng
Đoàn Quang Nhật

Hà Nội, 2019
Bảng Công Việc
Tên Thành Viên Công Việc
Kiểm thử chức năng đăng nhập, kiểm
Trần Viết Trưởng thử hiệu năng luồng đăng nhập, trang
chủ

Đoàn Quang Nhật Kiểm thử chức năng thêm nhân viên
Lời Nói Đầu
Ngày nay công nghệ thông tin đang phát triển ngày càng nhanh chóng, kéo
theo đó là các hệ thống mạng và phần mềm cũng gia tăng cả về số lượng lẫn quy
mô. Nhưng cũng từ đó đã nảy sinh ra nhiều vấn đề về lỗi hỏng hóc phần mềm
không đáng có gây ra các ảnh hưởng nghiêm trọng đến xã hội, kinh tế… Những lỗi
này có thể do tự bản thân phần mềm bị hỏng do không được kiểm duyệt kỹ lưỡng
trước khi đưa cho người dùng hoặc cũng có thể do có người cố tình phá hoại…
Những vấn đề nan giải và cấp thiết này càng có xu hướng mở rộng trong những
năm gần đây.
Do đó yêu cầu đặt ra là cần có công tác kiểm thử phần mềm thật kỹ lưỡng
nhằm ngăn chặn các lỗi hay hỏng hóc còn tiềm tàng bên trong phần mềm mà ta
chưa kịp nhận ra. Tuy nhiên vì phần mềm ngày càng lớn vì vậy để kiểm thử sẽ tốn
rất nhiều công sức nếu làm thủ công chưa kể đến chất lượng sẽ không được cao và
chưa chắc đã chính xác với yêu cầu. Vì vậy cần có các chương trình kiểm thử tự
động cho phép ta thực hiện một cách nhanh chóng và an toàn. Và đó chính là lý do
em chọn đề tài kiểm thử tự động với công cụ selenium webdriver.
Chúng em xin gửi lời cám ơn chân thành đến thầy TS. Nguyễn Hoàng Tú –
giảng viên bộ môn “Kiểm Thử Phần Mềm”, khoa Công nghệ thông tin, trường Đại
Học Công Nghiệp Hà Nội đã định hướng, hướng dẫn và chỉ bảo tận tình trong quá
trình chúng em học tập và hoàn thành báo cáo này. Chúng em xin chúc thầy và gia
đình luôn luôn mạnh khỏe và tràn đầy niềm vui trong cuộc sống.
Cuối cùng, chúng em xin gửi lời cảm ơn đến người thân, bạn bè đã động
viên, đóng góp ý kiến và giúp đỡ trong quá trình học tập, nghiên cứu và hoàn thành
báo cáo này.
Chúng em xin chân thành cảm ơn!
Chương 1. TÌM HIỂU CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM
WEBDRIVER...................................................................................................1
1.1 Tóm tắt lịch sử.......................................................................................1
1.2 Đặc điểm...............................................................................................3
1.3 Cài đặt và sử dụng Selenium Webdriver...............................................4
Chương 2. GIỚI THIỆU PHẦN MỀM QUẢN LÍ NHÀ HÀNG......................9
2.1 Yêu cầu đề tài...........................................................................................9
2.2 Phân tích thiết kế hệ thống.....................................................................10
2.2.1 Đặc tả hệ thống................................................................................10
2.2.2 Thiết kế hệ thống.............................................................................11
Chương 3. KIỂM THỬ PHẦN MỀM QUẢN LÍ NHÀ HÀNG.....................20
3.1 Lập Kế Hoạch Kiểm Thử.......................................................................20
3.2 Thực hiện kiểm thử................................................................................22
3.2.1 Chức năng kiểm thử Đăng Nhập (Trần Viết Trưởng).....................22
3.2.2 Chức năng kiểm thử Thêm Nhân Viên (Đoàn Quang Nhật)........29
Chương 4. KIỂM THỬ HIỆU NĂNG VỚI CÔNG CỤ JMETER.................36
4.1 Giới thiệu công cụ Jmeter......................................................................36
4.2 Cài đặt và sử dụng Jmeter......................................................................37
4.3 Một số thành phần cơ bản của Jmeter....................................................38
4.4 Kiểm thử hiệu năng phần mềm quản lý nhà hàng luồng đăng nhập và
trang chủ (Trần Viết Trưởng).......................................................................38
KẾT LUẬN.....................................................................................................43
Chương 1. TÌM HIỂU CÔNG CỤ KIỂM THỬ TỰ ĐỘNG
SELENIUM WEBDRIVER
1.1 Tóm tắt lịch sử
Selenium là một công cụ kiểm thử phần mềm tự động, được phát triển bởi
ThoughtWorks từ năm 2004 với tên ban đầu là JavaScriptTestRunner. Đến năm
2007, tác giả Jason Huggins rời ThoughtWorks và gia nhập Selenium team, một
phần của Google và phát triển thành Selenium như hiện nay.
Selenium là một tập hợp mạnh mẽ của các công cụ hỗ trợ phát triển nhanh
chóng của các thử nghiệm tự động hóa cho các ứng dụng dựa trên web. Selenium
cung cấp một tập phong phú của các thử nghiệm chức năng đặc biệt hướng đến các
nhu cầu của các thử nghiệm của một ứng dụng web. Các hoạt động này là rất linh
hoạt, cho phép nhiều tùy chọn cho vị trí các thành phần UI và so sánh kết quả thử
nghiệm dự kiến sẽ chống lại hành vi ứng dụng thực tế.
Selenium là một mã nguồn mở và là một công cụ kiểm thử phần mềm tự động
hóa để thử nghiệm các ứng dụng web. Nó có khả năng hoạt động trên nhiều các
trình duyệt và hệ điều hành khác nhau. Selenium không chỉ là một công cụ duy nhất
mà là một bộ các công cụ giúp những người kiểm thử tự động hóa các ứng dụng
dựa trên web hiệu quả hơn.
Selenium gồm có các công cụ: Selenium IDE, Selenium RC, Selenium
WebDriver, Selenium Grid.
 Selenium IDE
Selenium-IDE là môi trường phát triển tích hợp cho việc xây dựng trường hợp
thử nghiệm Selenium. Nó hoạt động như một trình duyệt Firefox add-on và cung
cấp một giao diện dễ sử dụng để phát triển và chạy trường hợp kiểm thử cá nhân, bộ
kiểm tra toàn bộ. Selenium-IDE có một tính năng ghi lại, sẽ giữ tài khoản của người
sử dụng khi chúng được thực hiện và lưu trữ chúng như là một kịch bản tái sử dụng
để phát sử dụng. Nó cũng có một menu ngữ cảnh (nhấn chuột phải) tích hợp với
trình duyệt Firefox, cho phép người dùng chọn từ một danh sách xác nhận và xác
minh cho các vị trí đã chọn. Selenium-IDE cũng cung cấp chỉnh sửa đầy đủ các
trường hợp thử nghiệm cho chính xác hơn và kiểm soát.
Mặc dù Selenium-IDE chỉ là một Firefox add-on, các kiểm thử tạo ra trong nó
cũng có thể được chạy cho các trình duyệt khác bằng cách sử dụng Selenium-RC và
chỉ định tên của bộ ứng dụng thử nghiệm trên dòng lệnh.
1
 Selenium Webdriver
WebDriver là một khuôn khổ tự động hóa web cho phép bạn thực hiện các kiểm
thử của mình trên các trình duyệt khác nhau. Nó nằm trong bộ kiểm thử tự động
Selenium. WebDriver được sử dụng trong ngữ cảnh sau:
- Kiểm thử đa trình duyệt, bao gồm cải thiện chức năng cho trình duyệt mà
không được hỗ trợ tốt bởi Selenium RC
- Điều khiển nhiều frame, nhiều cửa sổ trình duyệt, nhiều popup và alert.
- Điều hướng trang phức hợp.
- Điều hướng người dùng nâng cao như kéo-thả (drag-and-drop)
- AJAX-based UI elements.
 Selenium RC (Remote Control)
Selenium RC là dự án Selenium chính trong một thời gian dài trước khi
Selenium WebDriver (Selenium 3.9) ra đời. Giờ đây Selenium RC hầu như không
được sử dụng vì WebDriver cung cấp nhiều tính tăng mạnh mẽ hơn. Tuy nhiên bạn
vẫn có thể tiếp tục phát triển các script sử dụng RC.
Selenium RC cho phép các nhà phát triển tự động hóa kiểm tra sử dụng một
ngôn ngữ lập trình cho tính linh hoạt tối đa và mở rộng trong việc phát triển logic
thử nghiệm. Ví dụ, nếu trình ứng dụng trả về một tập kết quả của việc kiểm tra, và
nếu chương trình thử nghiệm tự động cần chạy thử nghiệm trên mỗi phần tử trong
tập hợp kết quả, hỗ trợ lặp đi lặp lại các ngôn ngữ lập trình có thể được sử dụng để
chuyển đổi thông qua việc tập hợp kết quả, kêu gọi Selenium lệnh chạy thử nghiệm
trên mỗi mục.
Khả năng sử dụng Selenium RC với một ngôn ngữ lập trình bậc cao để phát
triển các trường hợp thử nghiệm cũng cho phép thử nghiệm tự động được tích hợp
với một dự án xây dựng môi trường tự động.
Selenium RC cho phép chúng ta viết các kiểm thử giao diện của ứng dụng Web
tự động với sự giúp đỡ của các ngôn ngữ lập trình như Java, C#, Perl, Python, PHP
để tạo ra các ca kiểm thử phức tạp hơn như đọc và viết các tập tin, truy vấn cơ sở dữ
liệu và gửi mail kết quả kiểm thử. Khả năng sử dụng Selenium RC với một ngôn
ngữ lập trình bậc cao để phát triển các trường hợp thử nghiệm cũng cho phép thử
nghiệm tự động được tích hợp với một dự án xây dựng môi trường tự động.
 Selenium Grid

2
Selenium Grid cho phép người dùng thực thi kiểm thử song song trên nhiều máy
tính khác nhau với nhiều trình duyệt khác nhau.
Selenium Grid cho phép thực thi kiểm thử với chế độ phân tán, sử dụng chung
một code base. Do đó, hard code không cần thiết phải có mặt trên tất cả các máy
được sử dụng để thực thi kiểm thử.
Selenium Grid bao gồm 2 thành phần chính là Hub và Nodes:
- Hub: có thể hiểu là máy chủ server, chứa hard code và là nơi gửi lệnh
điều khiển các máy khác trong mô hình thực thi kiểm thử. Hub chỉ có thể
được set up duy nhất trên một máy tính.
- Nodes: là các Selenium instances được kết nối vào Hub để thực thi các
kịch bản kiểm thử. Có thể có nhiều Nodes trong một mô hình Grid. Các
Nodes có thể được set up trên nhiều máy tính với nhiều trình duyệt khác
nhau.
Selenium WebDriver là sự kế thừa của Selenium RC để gửi các lệnh trực tiếp tới
trình duyệt và xuất ra các kết quả. Selenium WebDriver cho phép chúng ta sử dụng
một trong số các ngôn ngữ lập trình như HTML, Java, .Net, Perl, Ruby… để tạo
kịch bản test (Test Case) kết hợp với sử dụng các điều kiện, vòng lặp… khiến cho
test script trở nên chính xác hơn. Selenium WebDriver được phát triển tốt hơn để hỗ
trợ cho các trang web động (Những trang web mà phần tử trong nó có thể thay đổi
ngay cả khi trang đó không được tải lại) Mục đích của WebDriver là hỗ trợ cho các
vấn đề về kiểm thử web-app hiện nay.
1.2 Đặc điểm
 Selenium là một công cụ mã nguồn mở: Vì là mã nguồn mở nên chúng ta có
thể sử dụng mà không phải lo lắng về phí bản quyền hay thời hạn sử dụng.
 Các thử nghiệm sau đó có thể được chạy trên các trình duyệt web hiện đại
nhất.
 Selenium hỗ trợ chạy trên nhiều OS khác nhau, Selenium triển khai trên nền
tảng Windows, Linux và Mac.
 Nó cho phép recording, editting and debugging tests.
 Kiểm thử có thể được exported ở hầu hết các ngôn ngữ ví dụ: HTML,
Java, .Net, perl, ruby, …
 Selenium có sự hỗ trợ của một số nhà cung cấp trình duyệt lớn hỗ trợ.

3
 Selenium hỗ trợ nhiều ngôn ngữ lập trình C#, Java, Python, PHP, Selenium
còn có thể kết hợp với một số công cụ kiểm thử khác như Junit, Bromien,
Nunit…

1.3 Cài đặt và sử dụng Selenium Webdriver

 Download và cài đặt Java Development Kit (JDK)

Hình 1.1 Download java development kit (JDK) tại trang oracle.com

 Download và cài đặt Neatbean IDE

Hình 1.2 Download neatbean IDE tại trang netbeans.org

4
 Download selenium

Hình 1.3 Download selenium tại trang seleniumhq.org

 Download và cài đặt Selenium Java Client Driver

Hình 1.4 Selenium Java Client Driver

5
 Download Chrome Driver

Hình 1.5 Download Chrome Driver


 Cài Đặt
Sau khi đã download các thành phần chúng ta bắt đầu tiến hành cài đặt như sau:
+ Mở neatbean đã được tải về
+ Tạo một dự án mới: File -> New Project. Sau đó đặt tên dự án là “MyTest”.
Nhấp chuột phải vào Source Packages chọn new Packages đặt tên là “Libs”
dùng để chứa các thư viện hỗ trợ.
+ Nhấp chuột phải vào folder Libraries chọn Add JAR/Folder và tìm đến thư
mục vừ tải về sau đó chọn tất cả các thư mục .jar và thêm vào packages
Libs.

6
+ Tạo một class trong dự án vừa tạo để chạy thử

+ Sau khi chạy kết quả ta sẽ được như hình sau

7
 Những lệnh cơ bản
 Một số câu lệnh hay được sử dụng trong Selenium WebDriver:

- driver.getUrl(); : mở một trang web mới trong trình duyệt hiện


tại.
- driver.getTitle(); : lấy tiêu đề của trang web hiện tại.
- driver.getCurrentUrl(); : lấy Url của trang hiện tại đã được tải lên
trình duyệt.
- driver.getPageSource(); : lấy source của trang được tải cuối cùng.
- driver.close(); : đóng cửa sổ hiện tại của trình duyệt.
- driver.quit(); : thoát khỏi trình duyệt và tất cả các cửa sổ đã
mở.
- driver.navigate().refresh(); : làm mới trình duyệt.
- driver.findElement(By.id(“”)); : Tìm item được set id.
- pageLoadTimeout(); : set thời gian load Timeout cho điều khiển
javascript.
 Một số câu lệnh điều hướng trình duyệt sử dụng

- navigate().forward();
- navigate().back();
- implicitlyWait(); : để chờ các cảnh báo.
 Thư Viện Hỗ Trợ - Apache POI
Apache POI hỗ trợ bạn làm việc với các định dạng của Microsoft, các
class của nó thường có tiếp đầu ngữ HSSF, XSSF, HPSF, ... Nhìn vào tiếp
đầu ngữ của một class bạn có thể biết được class đó hỗ trợ loại định dạng
nào.
Apache POI cung cấp cho bạn các interface Workbook, Sheet, Row,
Cell... và các class thể hiện (implementation) tương ứng là HSSFWorkbook,
HSSFSheet, HSSFRow, HSSFCell...

8
Chương 2. GIỚI THIỆU PHẦN MỀM QUẢN LÍ NHÀ HÀNG
2.1 Yêu cầu đề tài

 Tên đề tài

Kiểm thử tự động với công cụ selenium webdriver với phần mềm quản lí nhà hàng

 Lý do chọn đề tài

Ngày nay công nghệ thông tin đanng ngày càng phát triển nhanh chóng, kéo
theo đó là hệ thống mạng và các phần mềm cũng gia tang cả về số lượng và chất
lượng. Nhưng cũng từ đó đã nảy sinh nhiều vấn đề về lỗi hỏng hóc phần mềm
không đáng có gây ra các ảnh hưởng nghiêm trọng đến xã hội, kinh tế… Những lỗi
này có thể do tự bản thân phần mềm bị hỏng do không được kiểm duyệt kỹ lưỡng
trước khi đưa cho người dùng hay cũng có thể do có người cố tình phá hoại nhằm
đánh cắp thông tin. Do đó yêu cầu đặt ra là cần có công tác kiểm thử phần mềm thật
kỹ lưỡng để ngăn chặn các lỗi hay hỏng hóc còn tiềm tàng bên trong phần mềm mà
ta chưa kịp nhận ra. Tuy nhiên vì phần mềm ngày càng lớn, hàng nghìn module, có
thể do một công ty hàng nghìn người phát triển ra vì vậy để kiểm thử được một
phần mềm lớn như vậy sẽ tốn rất nhiều công sức và thời gian nếu làm thủ công,
chưa kể đến chất lượng kiểm thử sẽ không cao. Theo nhiều tính toán thì công việc
kiểm thử đóng vai trò hết sức quan trọng trong quy trình phát triển phần mềm, nó
đóng góp tới khoảng 40% tổng toàn bộ chi phí sản xuất phần mềm. Vì vậy cần có
các hệ thống kiểm thử tự động cho phép thực hiện công việc một cách nhanh chóng
và chính xác nhất có thể. Và đó là lí do em chọn đề tài này để nghiên cứu, tìm hiểu.

 Mục đích nghiên cứu

- Tìm hiểu về kiểm thử phần mềm

- Tìm hiểu về kiểm thử tự động và công cụ kiểm thử tự động selenium
webdriver

- Xây dựng được kịch bản kiểm thử cho một số test case của phần mềm
 Bài toán kiểm thử
- Phần mềm kiểm thử : Phần mềm quản lí nhà hàng
- Mô tả: Phần mềm quản lý nhà hàng là phần mềm được xây dựng cho việc
quản lý nhà hàng, quán ăn, quán caffe...

9
2.2 Phân tích thiết kế hệ thống

2.2.1 Đặc tả hệ thống


 Giới thiệu phần mềm
Website quản lý nhà hàng là một website được xây dựng cho việc quản lý
nhà hàng, chuỗi nhà hàng, quán ăn, quán caffe... website giải quyết được những
yêu cầu từ phía nhà quản lý trong việc kiểm soát các hoạt động bán hàng cho
đến việc quản lý từng bộ phận, doanh thu… website giúp người dùng dễ dàng
thao tác với các nghiệp vụ của nhà hàng như quản lí bán hàng, quản lí hóa đơn
qua đó giúp nhà hàng tối ưu hóa trong việc phục vụ của mình.
 Các tác nhân của hệ thống
- Chủ cửa hàng quản lí tất cả các chức năng và quản lí tất cả các tài khoản
khác trong hệ thống
- Người quản lí quản lí tất cả các chức năng nhưng không quản lí được tài
khoản
- Nhân viên chỉ có thể sử dụng được một số chức năng của hệ thống
 Các yêu cầu chức năng của hệ thống
- Xem tổng quan: Cho phép các tác nhân nắm được tổng quan hoạt động
của cửa hàng như doanh thu, hóa đơn, bàn ...
- Quản lí bán hàng: Cho phép người quản lí chi tiết từng bàn như thêm bớt
món ăn, thanh toán…
- Quản lí hóa đơn : Cho phép các tác nhân kiểm soát các hóa đơn đã thanh
toán như tìm kiếm, xem chi tiết, xóa …
- Quản lí sản phẩm: Cho phép các tác nhân quản lí thông tin về các món ăn
- Quản lí tài khoản: Cho phép tác nhân quản lí các tài khoản của người
dùng.
- Thống kê: Cho phép các tác nhân nắm được tình hoạt động của hệ thống,
việc thống kê được thự hiện theo tháng, theo quý, theo năm hoặc theo tác
nhân yêu cầu.
 Các yêu cầu phi chức năng của hệ thống
- Giao diện thân thiện, dễ sử dụng
- Hiệu năng hoạt động tốt
- Phù hợp với mọi trình duyệt

10
2.2.2 Thiết kế hệ thống
 Biểu đồ use case chính

Hình 2.1 Biểu đồ use case chính của hệ thống

 Mô tả chi tiết use case


11
 Mô tả chi tiết use case Đăng Nhập
 Mô tả use case Đăng Nhập
Use case này cho phép người dùng đăng nhập vào hệ thống với quyền
sử dụng của mình
 Luồng sự kiện
o Luồn cơ bản
1. Use case này bắt đầu khi người dùng kích vào nút đăng
nhập trên giao diện của hệ thống. Hệ thống sau khi xác
nhận dữ liệu sẽ kiểm tra dữ liệu trong bảng USER từ CSDL
và hiển thị chức năng tương ứng với quyền của người dùng.
Use case kết thúc.
o Luồng rẽ nhánh
1. Nhập không đúng định dạng: Nếu người dùng nhập thông
tin sai định dạng yêu cầu hệ thống sẽ thông báo lỗi cho
người dùng biết. Người dùng có thể nhập lại hoặc thoát
khỏi hệ thống
2. Sai tên tài khoản hoặc mật khẩu: Nếu người dùng nhập sai
tên tài khoản hoặc mật khẩu hệ thống sẽ thông báo lỗi cho
người dùng. Người dùng có thể nhập lại hoặc thoát hỏi hệ
thống.
3. Không kết nối được với CSDL: Tại bất kỳ thời điểm nào
trong quá trình thực hiện use case nếu không kết nối được
với CSDL thì hệ thống sẽ hiển thị thông báo lỗi và use case
kết thúc.
 Các yêu cầu đặc biệt
Use case này được dùng để phân quyền người dùng
 Tiền điều kiện
Người dùng cần có một tài khoản trong hệ thống
 Hậu điều kiện
Nếu đăng nhập thành công người dùng sẽ truy nhập được vào hệ thống và
sử dụng các chức năng với quyền của mình

 Mô tả chi tiết use case Xem Tổng Quan


12
 Mô tả use case Xem Tổng Quan
Use case này cho phép người dùng nắm được các thông tin hoạt động của
hệ thống trong ngày hôm đó như doanh thu, hóa đơn, các hoạt động …
 Luồng sự kiện
o Luồng cơ bản
1. Use case này bắt đầu khi người dùng kích vào nút “Tổng
Quan” trên giao diện. Hệ thống sẽ truy xuất CSDL và hiển
thị lên màn hình các thông tin như doanh thu, số hóa đơn,
số bàn còn trống, món ăn bán chạy … Use case kết thúc
o Luồng rẽ nhánh
1. Không kết nối được với CSDL: Tại bất kỳ thời điểm nào
trong quá trình thực hiện use case nếu không kết nối được
với CSDL thì hệ thống sẽ hiển thị thông báo lỗi và use case
kết thúc.
 Các yêu cầu đặc biệt
Không có
 Tiền điều kiện
Người dùng phải đăng nhập vào hệ thống
 Hậu điều kiện
Không có
 Mô tả chi tiết use case Quản Lí Bán Hàng
 Mô tả use case Quản Lí Bán Hàng
Use case này cho phép người dùng quản lí thông tin của các bàn bao gồm
các tác vụ mở bàn, thêm món, bớt món, sửa số lượng món, đổi/gộp bàn,
thanh toán.
 Luồng sự kiện
o Luồng cơ bản
1. Use case này bắt đầu khi người dùng kích vào nút Quản Lí
Bán Hàng trên giao diện. Hệ thống sẽ truy xuất CSDL và
hiển thị dữ liệu lên giao diện.
2. Mở bàn : Người dùng muốn đưa một bàn vào trạng thái mở

13
- Người dùng click vào bàn cần mở
- Hệ thống sẽ hiển thị lên giao diện thông tin chi tiết của
bàn đó đồng thời thay đổi trạng thái của bàn đó từ đóng
sang mở trong CSDL
3. Thêm món ăn: Người dùng muốn thêm món ăn cho một bàn
- Trong giao diện chi tiết của bàn đó người dùng click
vào món ăn muốn thêm.
- Hệ thống sẽ truy vấn CSDL lấy thông tin của món ăn đó
và hiển thị lên trong mục danh sách order của bàn đó.
4. Bớt món ăn: Người dùng muốn xóa một món ăn khỏi order
- Trong danh sách order của bàn đó người dùng click vào
biểu tượng thùng rác.
- Hệ thống sẽ xóa món ăn đó khỏi danh sách order
5. Sửa số lượng món ăn: Người dùng muốn sửa số lượng món
ăn trong danh sách order
- Trong danh sách order người dùng nhập số lượng món
ăn theo yêu cầu nhưng số lượng tối đa nhỏ hơn hoặc
bằng 5.
- Hệ thống sẽ tự động tính tiền lại cập nhật số lượng của
order đó
6. Đổi gộp bàn: Người dùng muốn đổi hoặc gộp bàn
- Trong giao diện chi tiết của bàn người dùng click vào
bàn muốn chuyển từ danh sách các bàn.
- Hệ thống sẽ chuyển hết dữ liệu từ bàn cũ sang bàn mới
đồng thời hiển thị lên giao diện của bàn vừa được
chuyển sang.
7. Thanh toán: Người dùng muốn kết thúc phiên làm việc của
một bàn
- Trong giao diện chi tiết của bàn đó người dùng click
vào nút thanh toán
- Hệ thống yêu cầu xác nhận

14
- Sau khi xác nhận hệ thống sẽ lưu lại thông tin của bàn
đó vào bảng HOADON sau đó chuyển trạng thái của
bàn đó từ mở thành đóng.
o Luồng rẽ nhánh
1. Tại bước 5 trong luồng cơ bản nếu người dùng nhập số
lượng món ăn vượt quá 5 hệ thống sẽ reset số lượng món ăn
về 5.
2. Không kết nối được với CSDL: Tại bất kỳ thời điểm nào
trong quá trình thực hiện use case nếu không kết nối được
với CSDL thì hệ thống sẽ hiển thị thông báo lỗi và use case
kết thúc.
 Các yêu cầu đặc biệt
Không có
 Tiền điều kiện
Người dùng cần đăng nhập vào hệ thống
 Hậu điều kiện
Các thông tin của các bàn sẽ được cập nhật

 Mô tả chi tiết use case Quản Lí Hóa Đơn


 Mô tả use case Quản Lí Hóa Đơn
Use case này cho phép người dùng quản lí các hóa đơn đã bán ra
 Luồng sự kiện
o Luồng cơ bản
1. Use case này bắt đầu khi người dùng kích vào nút Quản Lí
Hóa Đơn trên giao diện. Hệ thống sẽ truy xuất CSDL và
hiển thị dữ liệu lên giao diện.
2. Tìm kiếm: Người dùng muốn tìm kiếm một hóa đơn
- Người dùng nhập mã hóa đơn vào ô tìm kiếm
- Hệ thống sẽ truy xuất dữ liệu và hiển thị kết quả tìm
kiếm lên giao diện
3. Lọc: Người dùng muốn lọc hóa đơn theo ngày

15
- Người dùng chọn ngày muốn lọc
- Hệ thống sẽ truy suất dữ liệu và hiển thị lên giao diện
những hóa đơn của ngày đó
4. Xem chi tiết: Người dùng muốn xem chi tiết một hóa đơn
- Người dùng kích vào biểu tượng con mắt ở hóa đơn đó
- Hệ thống sẽ truy xuất dữ liệu và hiển thị lên chi tiết nội
dung của hóa đơn đó.
5. Xóa: Người dùng muốn xóa bỏ một hóa đơn
- Người dùng kích vào biểu tượng thùng rác của hóa đơn
đó
- Hệ thống sẽ xóa dữ liệu của hóa đơn đó khỏi cở sở dữ
liệu
o Luồng rẽ nhánh
1. Không kết nối được với CSDL: Tại bất kỳ thời điểm nào
trong quá trình thực hiện use case nếu không kết nối được
với CSDL thì hệ thống sẽ hiển thị thông báo lỗi và use case
kết thúc.
 Các yêu cầu đặc biệt
Use case này chỉ dành cho admin và administrator
 Tiền điều kiện
Người dùng phải đăng nhập được vào hệ thống
 Hậu điều kiện
Không có

16
 Mô tả chi tiết use case Quản Lí Sản Phẩm
 Mô tả use case Quản Lí Món Ăn
Use case này cho phép người dùng thêm, xóa, sửa, tìm kiếm thông tin
một sản phẩm
 Luồng sự kiện
o Luồng cơ bản
1. Use case này bắt đầu khi người dùng kích vào nút Quản Lí
Món Ăn trên giao diện. Hệ thống sẽ truy xuất cơ sở dữ liệu
và hiển thị lên giao diện.
2. Tìm kiếm: Người dùng muốn tìm kiếm một món ăn
- Người dùng nhập nội dung muốn tìm vào ô tìm kiếm
- Hệ thống sẽ truy xuất dữ liệu và hiển thị kết quả lên
giao diện
3. Thêm sản phẩm: Người dùng muốn thêm một món ăn mới
- Người dùng kích vào nút thêm
- Hệ thống hiển thị giao diện để người dùng nhập dữ liệu
- Người dùng nhập dữ liệu muốn thêm
- Hê thống kiểm tra dữ liệu và lưu lại vào CSDL
4. Sửa sản phẩm: Người dùng muốn sửa thông tin một món ăn
- Người dùng chọn món ăn muốn sửa
- Hệ thống hiển thị lên giao diện thông tin món ăn
- Người dùng nhập dữ liệu
- Hệ thống kiếm tra dữ liệu và lưu lại vào CSDL
5. Xóa sản phẩm: Người dùng muốn xóa một món ăn
- Người dùng click vào biểu tượng thùng rác món ăn
muốn xóa
- Hệ thống sẽ xóa dữ liệu của món ăn đó khỏi CSDL
o Luồng rẽ nhánh
1. Không kết nối được với CSDL: Tại bất kỳ thời điểm nào
trong quá trình thực hiện use case nếu không kết nối được
17
với CSDL thì hệ thống sẽ hiển thị thông báo lỗi và use case
kết thúc.
 Các yêu cầu đặc biệt
Use case này chỉ dành cho admin và administrator
 Tiền điều kiện
Người dùng phải đăng nhập vào hệ thống
 Hậu điều kiện
Thông tin sản phẩm được cập nhật

 Mô tả chi tiết use case Quản Lí Tài Khoản


 Mô tả use case Quản Lí Tài Khoản
Use case này cho phép người dùng thêm, xóa, sửa thông tin tài khoản
 Luồng sự kiện
o Luồng cơ bản
1. Use case này bắt đầu khi người dùng kích vào nút Quản Lí
Tài Khoản trên giao diện. Hệ thống sẽ truy xuất dữ liệu và
hiển thị lên giao diện.
2. Thêm tài khoản: Người dùng muốn thêm một tài khoản
- Người dùng click vào nút thêm tài khoản
- Hệ thống sẽ hiển thị lên giao diện để người dùng nhập
dữ liệu
- Người dùng nhập dữ liệu
- Hệ thống kiểm tra dư liệu nhập vào và lưu lại trong
CSDL
3. Sửa tài khoản: Người dùng muốn sửa thông tin một tài
khoản
- Người dùng click vào tài khoản muốn sửa
- Hệ thống sẽ hiển thị lên thông tin của tài khoản đó
- Người dùng cập nhật thông tin

18
- Hệ thống sẽ kiểm tra dữ liệu và lưu lại trong cở sở dữ
liệu
4. Xóa tài khoản: Người dùng muốn xóa một tài khoản
- Người dùng click vào biểu tượng thùng rác của tài
khoản muốn xóa.
- Hệ thống sẽ xóa dữ liệu của tài khoản đó khỏi hệ thống
o Luồng rẽ nhánh
1. Không kết nối được với CSDL: Tại bất kỳ thời điểm nào
trong quá trình thực hiện use case nếu không kết nối được
với CSDL thì hệ thống sẽ hiển thị thông báo lỗi và use case
kết thúc.
 Các yêu cầu đặc biệt
Use case này chỉ dành cho administrator
 Tiền điều kiện
Người dùng phải đăng nhập vào hệ thống
 Hậu điều kiện
Thông tin tài khoản được cập nhật

19
Chương 3. KIỂM THỬ PHẦN MỀM QUẢN LÍ NHÀ HÀNG
3.1 Lập Kế Hoạch Kiểm Thử
 Tổng quan
Website quản lý nhà hàng là một website được xây dựng cho việc
quản lý nhà hàng, chuỗi nhà hàng, quán ăn, quán caffe... website giải quyết
được những yêu cầu từ phía nhà quản lý trong việc kiểm soát các hoạt động
bán hàng cho đến việc quản lý từng bộ phận, doanh thu… website giúp
người dùng dễ dàng thao tác với các nghiệp vụ của nhà hàng như quản lí bán
hàng, quản lí hóa đơn qua đó giúp nhà hàng tối ưu hóa trong việc phục vụ
của mình.
 Mục đích
Tài liệu kế hoạch kiểm thử này đưa ra các mục đích sau:
- Xác định thông tin cơ bản về dự án và các thành phần chức năng được
kiểm thử và không được kiểm thử
- Liệt kê những yêu cầu cho việc kiểm thử (Test Requirements)
- Những chiến lược kiểm thử nên được sử dụng
- Ước lượng những yêu cầu về tài nguyên và chi phí cho việc kiểm thử
- Những tài liệu được lập sau khi hoàn thành việc kiểm thử
 Phạm vi
Kế hoạch kiểm thử này được áp dụng cho việc kiểm thử những chức
năng sau của phần mềm quản lí nhà hàng được đặc tả trong tài liệu bài tập
lớn môn kiểm thử phần mềm.
- Đăng Nhập
- Thêm Món Ăn
- Thêm Tài Khoản
 Yêu cầu về tài nguyên
 Phần cứng

CPU RAM Ổ Cứng Architecture

Intel Core i7, 8G HDD 500G 64bit


2.5 GHz

 Phần mềm
20
Tên Phần Mềm Phiên Bản Loại

Google Chrome 73.0.3683.86 (Official Trình duyệt web


Build) (64-bit)

Microsoft Windows 10 10 Hệ điều hành


Professional

xampp 7.3.2 Máy chủ web

Neatbean 8.0.2 IDE

Excel 2013 Quản lí dữ liệu

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


Máy tính cá nhân có cài đặt máy chủ xampp, trình duyệt chrome, Hệ
điều hành Microsoft Windows 10 Professional.
 Nhân sự
- Trần Viết Trưởng
- Đoàn Quang Nhật
 Lịch trình công việc

STT Task Start Date End Date

1 Lập kế hoạch kiểm thử 17/03/2019 19/03/2019

2 Xem lại tài liệu, tìm hiểu selenium 22/03/2019 01/04/2019

3 Thiết kế các test case 01/04/2019 02/04/2019

4 Viết các test case và thực hiện kiểm thử 03/04/2019 10/04/2019

5 Xem lại các test case 10/04/2019 12/04/2019

6 Quay video 13/04/2019 17/04/2019

21
7 Ghi nhận đánh giá và báo cáo kiểm thử 18/04/2019

 Điều kiện chấp nhận


Passed 9x% các test case

3.2 Thực hiện kiểm thử

3.2.1 Chức năng kiểm thử Đăng Nhập (Trần Viết Trưởng)

3.2.1.1 Phân tích chức năng kiểm thử Đăng Nhập


+, Giao diện chức năng Đăng Nhập

Hình 3.1 Giao diện chức năng đăng nhập

22
+, Mã nguồn chức năng đăng nhập

Hình 3.2 Mã nguồn chức năng đăng nhập


+, Lưu đồ thuật giải

Hình 3.3 Lưu đồ thuật giải chức năng đăng nhập

23
+,Sơ đồ đồ thị dòng

Hình 3.4 Sơ đồ đồ thị dòng chức năng đăng nhập


+, Độ phức tạp chu trình
C=8–6+2=4
1. 1 – 6
2. 1 – 2 – 6
3. 1 – 2 – 3 – 4 – 6
4. 1 – 2 – 3 – 4 – 6
+, Thiết kế test case
 Mô tả điều kiện
- Tất cả các trường không được để trống
- Trường email theo định dạng a@b.c
- Email và password tồn tại database

24
 Áp dụng phương pháp phân tích giá trị biên, phân vùng tương đương
Đầu vào Vùng hợp lệ Đánh dấu Vùng không hợp lệ Đánh dấu

Email trống K1

Đúng định dạng H1


Email không đúng K2
email, tồn tại trong
Email định dạng
database

Email không tồn tại K3


trong database

Password trống K4

Password Tồn tại trong H2


Password không tồn K5
database
tại trong database

Bảng 3.1 Bảng phân vùng tương dương

TCs Input Output Cover

1 Email: tranviettruong1998@gmail.com Đăng nhập H1,H2


thành công
Password: 123456

2 Email: Email không H2,K1


được để trống
Password: 123456

3 Email: tranviettruong1998@gmail.com Mật khẩu không H1,K4


được để trống

Password:

4 Email: Email không K1,K4


25
được để trống

Password:

5 Email: tranviettruong Email không K2,K5


hợp lệ
Password: 123

6 Email: tranviettruong@gmail.com Email hoặc mật H2,K3


khẩu không
Password: 123456 chính xác

7 Email: tranviettruong1998@gmail.com Email hoặc mật H1,K5


khẩu không
Password: 123 chính xác

8 Email: truong@.com Email không H2,K2


hợp lệ
Password: 123456

9 Email: truong@gmail.com Email hoặc mật K3,K5


khẩu không
Password: 123123 chính xác

Bảng 3.2 Ca kiểm thử


+, Bảng test case Đăng Nhập
Testcase Email Password Kết quả mong muốn

1 tranviettruong1998@gmail.com 123456 Đăng nhập thành


công

2 123456 Email không được để


trống

26
3 tranviettruong1998@gmail.com Mật khẩu không
được để trống

4 Email không được để


trống

5 tranviettruong 123 Email không hợp lệ

6 tranviettruong@gmail.com 123456 Email hoặc mật khẩu


không chính xác

7 tranviettruong1998@gmail.com 123 Email hoặc mật khẩu


không chính xác

8 truong@.com 123456 Email không hợp lệ

9 truong@gmail.com 123123 Email hoặc mật khẩu


không chính xác

3.2.2.2 Thực hiện chức năng kiểm thử Đăng Nhập


Chi tiết thực kiểm thử em sẽ trình bày ở trong video
3.2.2.3 Báo cáo kiểm thử
 Round 1
 Tổng quan
Số test case: 9
Pass: 7
Fail: 2
Đã test: 100%
Thành công: 77.78%
Pending: 22.22%

27
 Chi tiết
Test case Kết quả
Test case 1 pass
Test case 2 fail
Test case 3 pass
Test case 4 fail
Test case 5 pass
Test case 6 pass
Test case 7 pass
Test case 8 pass
Test case 9 pass

 Chi tiết test case xin vui lòng xem trong file Data.xlsx
 Round 2
 Tổng quan
Số test case: 9
Pass: 9
Fail: 0
Đã test: 100%
Thành công: 100%
Pending: 0%
 Chi tiết
Test case Kết quả
Test case 1 pass
Test case 2 pass
Test case 3 pass
Test case 4 pass
Test case 5 pass
Test case 6 pass
Test case 7 pass
Test case 8 pass
Test case 9 pass

 Chi tiết test case xin vui lòng xem trong file Data.xlsx

28
 Tổng kết
Round 1 Round 2
Tổng test case 9 9
Đã test 9 9
Chưa test 0 0
Pass 7 9
Fail 2 0

3.2.2 Chức năng kiểm thử Thêm Nhân Viên (Đoàn Quang Nhật)

3.2.2.1 Phân tích chức năng kiểm thử Thêm Nhân Viên
+, Giao diện chức năng thêm nhân viên

Hình 3.5 Giao diện chức năng thêm nhân viên

29
+, Mã nguồn chức năng thêm nhân viên

Hình 3.6 Mã nguồn chức năng thêm nhân viên

30
+, Lưu đồ thuật giải

Hình 3.7 Lưu đồ thuật giải chức năng thêm nhân viên

31
+,Sơ đồ đồ thị dòng

Hình 3.8 Sơ đồ đồ thị dòng chức năng thêm nhân viên

 Độ phức tạp chu trình


Có 7 nút, 10 cung
C = 10 - 7 + 2 = 5
Đường thi hành độc lập
1. 1 – 7
2. 1 – 2 – 7
3. 1 – 2 – 3 – 7
4. 1 – 2 – 3 – 4 – 5 – 7
5. 1 – 2 – 3 – 4 – 5 – 6 – 7
 Thiết kế test case
a. Mô tả điều kiện
b. Áp dụng phương pháp phân tích giá trị biên và phân vùng tương đương
- Tất cả các trường đều bắt buộc
- Email theo format a@b.c từ 5 đến 40 ký tự
- Tên nhân viên có độ dài từ 10 đến 40 ký tự
- Mật khẩu từ 6 đến 20 kí tự

32
 Áp dụng phương pháp phân tích giá trị biên, phân vùng tương
đương
Đánh
STT Đầu Vào Lớp hợp lệ Vùng không hợp lệ Đánh dấu
dấu
Tên nhân
1 Không được để trống H1 Để trống K1
viên
Email chứa tiếng
K2
việt có dấu
Email không chứa
K3
Email Hợp lệ( Có kí tự @
chứa @ và không
1 Email H2 Chứa khoảng trắng K4
được dùng tiếng việt
có dấu) Trước và sau kí tự
@ không được để K5
trống
Để trống K6

Mật khẩu từ 6-20 kí Mật khẩu <6 kí tự


K7
5 Mật khẩu tự, không được để H3 và >20 kí tự
trống Để trống K8

Bảng 3.3 Bảng phân vùng tương dương

33
Input
TC Output Cover
Tên nhân viên Email Mật khẩu

nguyenvana@gmail Tạo tài khoản thành


1 Nguyễn Văn A 123456 H1,H2,H3
.com công
nguyenvana@gmail
2 123456 Không được để trống K1,H2,H3
.com
nguyễn@gmail.co
3 Nguyễn Văn A 123456 Email không hợp lệ K2,H1,H3
m

4 Nguyễn Văn A nguyenvana 123456 Email không hợp lệ K3,H1,H3

5 Nguyễn Văn A nguy @gmail.com 123456 Email không hợp lệ K4,H1,H3

6 Nguyễn Văn A nguyenvana@ 123456 Email không hợp lệ K5,H1,H3

7 Nguyễn Văn A 123456 Không được để trống K6,H1,H3

nguyenvana@gmail Mật khẩu không hợp


8 Nguyễn Văn A 1234 K7,H1,H2
.com lệ

nguyenvana@gmail
9 Nguyễn Văn A Không được để trống K8,H1,H2
.com

Bảng 3.4 Ca kiểm thử

34
+, Bảng test case thêm nhân viên
Kết quả mong
TC Tên Nhân Viên Email Mật Khẩu
muốn
Tạo tài khoản
1 Nguyễn Văn A nguyenvana@gmail.com 123456
thành công
Không được để
2 nguyenvana@gmail.com 123456
trống
Email không hợp
3 Nguyễn Văn A nguyễn@gmail.com 123456
lệ
Email không hợp
4 Nguyễn Văn A nguyenvana 123456
lệ
Email không hợp
5 Nguyễn Văn A nguy @gmail.com 123456
lệ
Email không hợp
6 Nguyễn Văn A nguyenvana@ 123456
lệ
Không được để
7 Nguyễn Văn A 123456
trống
Mật khẩu không
8 Nguyễn Văn A nguyenvana@gmail.com 1234
hợp lệ

Không được để
9 Nguyễn Văn A nguyenvana@gmail.com
trống

3.2.2.2 Thực hiện chức năng kiểm thử thêm nhân viên
Chi tiết thực kiểm thử em sẽ trình bày ở trong video
3.2.2.3 Báo cáo kiểm thử

35
Chương 4. KIỂM THỬ HIỆU NĂNG VỚI CÔNG CỤ
JMETER
4.1 Giới thiệu công cụ Jmeter
Jmeter là ứng dụng viết trên mã nguồn mở(open source), được viết 100% trên
java và là ứng dụng dành cho việc test tải (load test) tốc độ thực thi của ứng dụng
web. Ban đầu nó được thiết kế để đơn thuần kiểm tra cho ứng dụng web, sau đã
được mở rộng ra nhiều chức năng khác.
Apache JMeter có thể được sử dụng để kiểm tra hiệu suất cả trên các tài
nguyên tĩnh, động và các ứng dụng Web. Nó có thể được sử dụng để mô phỏng một
lượng người dùng ảo, request lớn trên một máy chủ, nhóm máy chủ, mạng hoặc đối
tượng để kiểm tra về độ tải của nó hoặc để phân tích thời gian phản hồi tổng thể dưới
các loại tải khác nhau.
 Điểm nổi bật
- Là công cụ mã nguồn mở
- Dễ sử dụng
- Khả năng kiểm thử hiệu suất nhiều ứng dụng, server và protocol khác
nhau như Web-HTTP, HTTPS, FTV,TCP …
- Đầy đủ tính năng ghi lại quá trình kiểm thử từ website hoặc chính ứng
dụng này, và có khả năng debuging.
- Có thể sử dụng với command-line từ java compatible OS(Linux,
Windows, Mac OSX...)
 Nhược điểm
- Tiêu thụ bộ nhớ
- Chỉ chạy trên ứng dụng web

36
4.2 Cài đặt và sử dụng Jmeter
 Download Jmeter

Hình 4.1 Download Jmeter tại trang jmeter.apache.org


 Cài đặt
Chúng ta tiến hành giải nén file vừa download. Sau đó vào thư mục bin click
vào file ApacheJmeter để khởi tạo công cụ. Sau khi khởi tạo ta có giao diện sau

Hình 4.2 Giao diện Jmeter

37
4.3 Một số thành phần cơ bản của Jmeter
- Test Plan : Kế hoạch kiểm thử hiệu năng
- Thread Group: là một nhóm người dùng giả lập sẽ tấn công máy chủ dưới
việc kiểm tra hoặc là đồng thời hoặc là theo một số trình tự được xác định
trước
- Samplers: Sampler phải được thêm vào kế hoạch kiểm thử duy nhất, nó cho
phép Jmeter biết cái kiểu request cần được gửi tới máy chủ và với bất kỳ tham
số nào được định nghĩa trước hoặc không. Các yêu cầu có thể là HTTP,
HTTP(s), FTP, TCP, SMTP, SOAP ... 
- HTTP Requests Default: Cho phép gửi HTTP / HTTPS request mặc định tới
web server
- HTTP Requests: Cho phép gửi HTTP / HTTPS request tới web server
- Logic controller: Cho phép bạn điều chỉnh các yêu cầu xử lý trong một
thread
- Listener: Hiển thị kết quả sau khi kiểm thử
- View Result Tree: Hiển thị kết quả kiểm thử dưới dạng cây
- View Result Table: Hiển thị kết quả kiểm thử dưới dạng table
- Aggregate Report: Hiển thị kết quả kiểm thử tổng hợp

4.4 Kiểm thử hiệu năng phần mềm quản lý nhà hàng luồng đăng nhập và
trang chủ (Trần Viết Trưởng)
 Môi trường kiểm thử
- Phần cứng: Ram 8G, HDD 500G, Chip Intel Core i7 2.5 GHz
- Phền mềm: Microsoft Windows 10 Professional, Google chrome, Xampp
- Máy chủ: Localhost
 Luồng chức năng được kiểm thử
- Đăng nhập: http://localhost:8888/quanlinhahang/login
- Trang chủ: http://localhost:8888/quanlinhahang
 Kiểm tra các hiệu năng
- Thời gian phản hồi không quá 3s khi 1000 người truy cập trong 10s.
- Xác định số người dùng tối đa trước khi gặp sự cố

38
- Xác nhận thời gian đáp ứng của phần mềm trong các điều kiện tải thấp,bình
thường,trung bình, nặng như sau: 100 người truy cập trong 30s, 1000 người
truy cập trong 30s, 5000 người truy cập trong 30s, 10000 người truy cập
trong 30s

 Thiết lập kiểm thử


+, Tạo 4 nhóm người dùng tương ứng với 100 người, 1000 người, 5000 người,
10000 người

+, Tạo các http request tới các chức năng được kiểm thử

39
+, Tạo các listener để theo dõi kết quả kiểm thử

 Báo cáo kết quả kiểm thử


 Điều kiện tải thấp 100 user

+ Luồng đăng nhập


- Tổng user: 100
- Tổng thời gian: 10s
- Thời gian phản hồi trung bình: 15ms
- Tỉ lệ % request có thời gian phản hồi < 18ms: 95%
- Thời gian phản hồi nhỏ nhất: 6ms
- Thời gian phản hồi lớn nhất: 18ms
- Tỉ lệ request lỗi: 0%
- Số user trong 1s: 10.1
+ Luồng trang chủ
- Tổng user: 100
- Tổng thời gian: 10s
40
- Thời gian phản hồi trung bình: 11ms
- Tỉ lệ % request có thời gian phản hồi < 17ms: 95%
- Thời gian phản hồi nhỏ nhất: 5ms
- Thời gian phản hồi lớn nhất: 20ms
- Tỉ lệ request lỗi: 0%
- Số user trong 1s: 10.1
 Điều kiện tải bình thường 1000 user

+ Luồng đăng nhập


- Tổng user: 1000
- Tổng thời gian: 10s
- Thời gian phản hồi trung bình: 6ms
- Tỉ lệ % request có thời gian phản hồi < 8ms: 95%
- Thời gian phản hồi nhỏ nhất: 5ms
- Thời gian phản hồi lớn nhất: 19ms
- Tỉ lệ request lỗi: 0%
- Số user trong 1s: 100.1
+ Luồng trang chủ
- Tổng user: 1000
- Tổng thời gian: 10s
- Thời gian phản hồi trung bình: 5ms
- Tỉ lệ % request có thời gian phản hồi < 15ms: 95%
- Thời gian phản hồi nhỏ nhất: 4ms
- Thời gian phản hồi lớn nhất: 25ms
- Tỉ lệ request lỗi: 0%
- Số user trong 1s: 100.1

41
 Điều kiện tải trung bình 5000 user

+ Luồng đăng nhập


- Tổng user: 5000
- Tổng thời gian: 10s
- Thời gian phản hồi trung bình: 1805ms
- Tỉ lệ % request có thời gian phản hồi < 3188ms: 95%
- Thời gian phản hồi nhỏ nhất: 7ms
- Thời gian phản hồi lớn nhất: 3370ms
- Tỉ lệ request lỗi: 4.96%
- Số user trong 1s: 393.3
+ Luồng trang chủ
- Tổng user: 5000
- Tổng thời gian: 10s
- Thời gian phản hồi trung bình: 764ms
- Tỉ lệ % request có thời gian phản hồi < 2549ms: 95%
- Thời gian phản hồi nhỏ nhất: 4ms
- Thời gian phản hồi lớn nhất: 3370ms
- Tỉ lệ request lỗi: 4.96%
- Số user trong 1s: 381.2
 Điều kiện tải nặng 10000 user

+ Luồng đăng nhập


- Tổng user: 10000
- Tổng thời gian: 10s

42
- Thời gian phản hồi trung bình: 2843ms
- Tỉ lệ % request có thời gian phản hồi < 4166ms: 95%
- Thời gian phản hồi nhỏ nhất: 19ms
- Thời gian phản hồi lớn nhất: 7700ms
- Tỉ lệ request lỗi: 77.08%
- Số user trong 1s: 719.9
+ Luồng trang chủ
- Tổng user: 10000
- Tổng thời gian: 10s
- Thời gian phản hồi trung bình: 2650ms
- Tỉ lệ % request có thời gian phản hồi < 3898ms: 95%
- Thời gian phản hồi nhỏ nhất: 7ms
- Thời gian phản hồi lớn nhất: 7802ms
- Tỉ lệ request lỗi: 66.74%
- Số user trong 1s: 644.4

KẾT LUẬN
Kiểm thử phần mềm là một hoạt động quan trọng nhằm đảm bảo chất lượng
phần mềm. Kiểm thử phần mềm cũng cung cấp mục tiêu, cái nhìn độc lập về
phần mềm, điều này cho phép việc đánh giá và hiểu rõ các rủi ro khi thực thi
phần mềm.
 Kết quả đạt được
- Nắm được tổng quan về kiểm thử phần mềm: các phương pháp, kỹ thuật và
các vấn đề liên quan
- Giới thiệu công cụ kiểm thử tự động Selenium webdriver
- Giới thiệu công cụ kiểm thử hiệu năng Jmeter
- Kiểm thử tự động các chức năng đăng nhập, thêm nhân viên
- Kiểm thử hiệu năng các luồng đăng nhập, trang chủ

43

You might also like