














Preview text:
lOMoARcPSD|50662567
Bao cao kiem thu phan mem truong dai hoc dien luc 79469
Cong nghe thong tin (Đại học Điện lực) Scan to open on Studocu
Studocu is not sponsored or endorsed by any college or university
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
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 KIỂM
THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM
ĐỀ TÀI: KIỂM THỬ CHẤT LƯỢNG PHẦN MỀM QUẢN
LÝ WEBSITE BÁN ĐỒ NỘI THẤT
Sinh viên thực hiện
: NGUYỄN THỊ NGỌC ÁNH
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 : D13CNPM3 Khóa : 2018-2023
Hà Nội, tháng 1 năm 2022
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 PHIẾU CHẤM ĐIỂM Sinh viên thực hiện: STT Họ và tên
Nội dung thực hiện Điểm Chữ ký 1 Nguyễn Thị Ngọc Ánh 1881010242 Gíao viên chấm điểm: Họ và tên Chữ ký Ghi chú Giáo viên 1: Giáo viên 2:
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 MỤC LỤC
PHIẾU CHẤM ĐIỂM......................................................................................... 2
LỜI CẢM ƠN...................................................................................................... 5
LỜI MỞ ĐẦU...................................................................................................... 6
CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG........................................... 7
1.1. Giới thiệu về Selenium........................................................................ 7 1.1.1.
Đặc điểm của Selenium.......................................................................... 7
1.1.2. Các thành phần của Selenium................................................................. 8 1.1.3.
Ngôn ngữ viết....................................................................................... 12 1.2.
Các tổ chức chương trình chạy với công cụ.................................... 12 1.3.
Áp dụng kiểm thử tự động với chức năng Đăng nhập................... 13
CHƯƠNG 2: ĐẶC TẢ PHẦN MỀM............................................................... 17 2.1.
Giới thiệu phần mềm......................................................................... 17 2.2.
Đặc tả yêu cầu của phần mềm.......................................................... 17 2.3.
Đặc tả yêu cầu chức năng.................................................................. 18
2.3.1. Chức năng Đăng nhập.......................................................................... 18 2.3.2.
Chức năng Đăng ký.............................................................................. 20
2.3.3. Chức năng Quản lý sản phẩm............................................................... 22
CHƯƠNG 3: KẾ HOẠCH TEST.................................................................... 25 3.1.
Mục đích của việc lập kế hoạch test................................................. 25 3.2.
Test Scope........................................................................................... 25 3.3.
Feature/non feature to be test........................................................... 25
3.4. Test Tool.............................................................................................. 27
3.5. Test Environment............................................................................... 27 3.6.
Test Resources Man-power............................................................... 27 3.7.
Features.............................................................................................. 28 3.7.1.
Testing Features.................................................................................... 28 3.7.2.
Non-testing features:............................................................................ 28
3.8. Test milestones.................................................................................... 28 3.9.
Test Products...................................................................................... 29
CHƯƠNG 4: XÂY DỰNG VÀ THỰC HIỆN CÁC TESTCASE.................. 30
4.1. Testcase màn hình ĐĂNG NHẬP..................................................... 30 4.1.1.
Test GUI (Graphical user inteface – giao diện đồ họa người dùng)......30
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 4.1.2.
Test Function........................................................................................ 31 4.2.
Testcase màn hình ĐĂNG KÝ.......................................................... 35
4.2.1. Test GUI (Graphical user inteface – giao diện đồ họa người dùng)...... 35 4.2.2.
Test Function........................................................................................ 36 4.3.
Test case màn hình QUẢN LÝ SẢN PHẨM................................... 43
4.3.1. Test GUI (Graphical user inteface – giao diện đồ họa người dùng)...... 43 4.3.2.
Test Function........................................................................................ 44
KẾT LUẬN ........................................................................................................ 56
TÀI LIỆU THAM KHẢO................................................................................ 57
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 LỜI CẢM ƠN
Trên thực tế, không có sự thành công nào mà không gắn liền với những sự hỗ
trợ, sự giúp đỡ dù ít hay nhiều, dù là trực tiếp hay gián tiếp của người khác.
Trong suốt thười gian từ khi bắt đầu học tập ở giảng đường Đại học đã đến nay,
chúng em đã nhận được rất nhiều sự quan tâm, giúp đỡ của thầy cô, gia đình và bạn bè.
Với lòng biết ơn sâu sắc nhất, chúng em xin gửi đến thầy cô ở Khoa Công
Nghệ Thông Tin- trường Đại Học Điện Lực đã cùng với tri thức và tâm huyết
của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian
học tập tại trường. Và đặc biệt, trong kỳ này, em được tiếp cận với môn học rất
hữu ích đối với sinh viên ngành Công Nghệ Thông Tin. Đó là môn: “Kiểm thử
và đảm bảo chất lượng phần mềm”.
Em xin chân thành cảm ơn cô Lê Thị Trang Linh đã tận tâm hướng dẫn
chúng em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo
luận về môn học. Trong thời gian được học tập và thực hành dưới sự hướng dân
của cô, em không những thu được rất nhiều kiến thức bổ ích, mà còn được
truyền sự say mê và thích thú đối với bộ môn “Kiểm thử và đảm bảo chất lượng
phần mềm”. Nếu không có những lời hướng dẫn, dạy bảo của thầy thì nhóm em
nghĩ báo cáo này rất khó có thể hoàn thành được.
Xin gửi lời cảm ơn chân thành đến gia đình, bạn bè là nguồn động viên to
lớn, giúp em vượt qua những khó khăn trong quá trình học tập và thực hiện báo cáo.
Mặc dù đã rất cố gắng hoàn thiện báo cáo với tất cả sự nỗ lực, tuy nhiên, do
bước đầu đi vào thực tế, tìm hiểu và xây dựng báo cáo trong thời gian có hạn, và
kiến thức còn hạn chế, nhiều bỡ ngỡ, nên báo cáo “Kiểm thử chất lượng phần
mềm Quản lý website bán đồ nội thất” chắc chắn sẽ không thể tránh khỏi những
thiếu sót. Em rất mong nhận được sự quan tâm, thông cảm và những đóng góp
quý báu của các thầy cô và các bạn để báo cáo này được hoàn thiện hơn.
Một lần nữa, em xin chân thành cảm ơn và luôn mong nhận được sự đóng góp của mọi người. Trân trọng.
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567 LỜI MỞ ĐẦU
Ngày nay công nghệ thông tin 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 tăng cả về số lượng theo quy mô
rộng và cả về chất lượng phần mềm theo chiều sâu. 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 ả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 vào cho người
dùng cuối hay cũng có thể do có người cố tình phá hoại nhằm đánh cắp thông tin
cá nhân như mã số tài khoản ngân hàng, số điện thoại, danh bạ, tin nhắn,...
Những vấn đề nan giải và cấp thiết này càng có xu hướng mở rộng trong các
năm gần đây, điển hình như sự cố máy tính Y2K năm 2000 làm tê liệt nhiều hệ
thống máy tính lớn hay như càng có nhiều loại virus phá hoại mới xuất hiện, tấn
công vào các lỗ hổng bảo mật phần mềm làm tê liệt nhiều hệ thống phần mềm
và phần cứng. Từ đó, có thể dễ dàng nhận ra là mặc dù phần mềm phát triền
ngày càng phức tạp nhưng vấn đề về chất lượng vẫn là một dấu hỏi lớn cần xem xét cẩn thận.
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, hàng nghìn module, có
thể do cả một công ty hàng nghìn người phát triền 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 và thật chính xác phù hợp cho
yêu cầu. 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 40% tổng toàn bộ chi
phí cho việc sản xuất phần mềm. Vì vậy cần có các hệ thống kiểm thử phần mềm
một cách tự động cho phép ta thực hiện được các công việc một cách nhanh
chóng và độ an toàn, chính xác cao nhất có thể. Và đó chính là lý do em chọn đề
tài “ Kiểm thử chất lượng phần mềm quản lý website bán nội thất” để nghiên
cứu, tìm hiểu và đề ra các gỉải pháp mới để cải tiến các quy trình kiểm thử như
hiện nay sao cho có năng xuất cao nhất.
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
CHƯƠNG 1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG
1.1. Giới thiệu về Selenium
1.1.1. Đặc điểm của Selenium a. Khái niệm
Selenium là một bộ công cụ chuyên dụng trong kiểm thử tự động open
source dành cho các ứng dụng web, cũng như hỗ trợ hoạt động trên các trình
duyệt có nền tảng khác nhau như Mac, Linux, Windows,.. Với Selenium thì bạn
hoàn toàn có thể viết các test script bằng nhiều ngôn ngữ lập trình khác nhau
như: Java, PHP, C#, Ruby hoặc Python.
Selenium được sử dụng để có thể automate cho các thao tác với trình duyệt
hoặc dễ hiểu hơn là nó hỗ trợ giả lập lại các tương tác nằm trên trình duyệt
tương tự như một người dùng thực thụ. Chính vì thế, bạn có thể lập trình để có
thể bật tự động các trình duyệt, để open một link, input cho dữ liệu, upload,
download dữ liệu từ web page hoặc thậm chí get info page.
b. Đặc điểm của Selenium
-Mã nguồn mở. Phải nói điểm này là điểm mạnh nhất của Selenium khi so
sánh với các test tool khác. 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ộng đồng hỗ trợ. Vì là mã nguồn mở nên Selenium có một cộng đồng
hỗ trợ khá mạnh mẽ. Bên cạnh đó, Google là nơi phát triển Selenium nên chúng
ta hoàn toàn có thể yên tâm về sự hổ trợ miễn phí khi có vấn đề về Selenium.
Tuy nhiên, đây cũng là một điểm yếu của Selenium. Cơ bản vì là hàng miễn phí,
cộng đồng lại đông nên một vấn đề có thể nhiều giải pháp, và có thể một số giải
pháp là không hữu ích. Mặc khác, chúng ta không thể hối thúc hay ra deadline cho sự hỗ trợ.
-Selenium hỗ trợ nhiều ngôn ngữ lập trình.
-Selenium hỗ trợ chạy trên nhiều OS khác nhau với mức độ chỉnh sửa
script hầu như là không có. Thực sự thì điều này phụ thuộc phần lớn vào khả
năng viết script của chúng ta.
-Chạy test case ở backround. Khi chúng ta thực thi một test scrpit, chúng
ta hoàn toàn có thể làm việc khác trên cùng một PC. Điều này hỗ trợ chúng ta
không cần tốn quá nhiều tài nguyên máy móc khi chạy test script.
-Không hỗ trợ Win app. Selenium thực sự chỉ hỗ trợ chúng ta tương tác
với Browser mà không hỗ trợ chúng ta làm việc với các Win app, kể cả Win
dialog như Download/Upload – ngoại trừ Browser Alarm. Vậy nên, để xử lý các
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
trường hợp cần tương tác với hệ thống hay một app thứ ba, cần một hay nhiều
thư viện khác như AutoIt hay Coded UI.
1.1.2. Các thành phần của Selenium
Selenium là một trong những khái niệm chung để miêu tả một phần mềm
chuyên dụng trong automation. Mà ở đó, mỗi loại trong nó sẽ đáp ứng được các
yêu cầu testing khác nhau. Còn về cơ bản thì Selenium bao gồm 4 thành phần chính là:
+Selenium IDE (IDE là từ viết tắt của Integrated Developer
Environment): là một plug-in nằm trên trình duyệt Fire-fox, ta có thể sử dụng để
record và play lại các thao tác đó dựa theo một quy trình hay một test case nào đó.
+Selenium RC: Selenium Remote Control, Selenium server sẽ khởi chạy
và tương tác với các trình duyệt web.
+WebDriver: Selenium WebDriver có nhiệm vụ gửi lệnh khởi chạy rồi
thực hiện tương tác trực tiếp với các trình duyệt mà không cần thông qua bất cứ server như Selenium RC.
+Grid: Selenium Hub được sử dụng để khởi chạy nhiều các test thông qua
các máy cũng như các trình duyệt khác nhau tại cùng một thời điểm nhất định.
Selenium team đã quyết định gộp Selenium RC và WebDriver lại với nhau để có
thể khởi tạo ra các Selenium 2 với các tính năng mạnh mẽ hơn và hiện nay thì
hầu hết các Selenium Project đều sử dụng chúng.
a. Cài đặt trình duyệt FireFox
Bước 1: Truy cập đường dẫn: https://www.mozilla.org/vi/firefox/new/
Bước 2: Click button Tải xuống FireFox
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
Bước 3: Chọn ổ lưu file cài đặt, sau đó nhấn Save
Trình duyệt sẽ hiển thị quá trình cài đặt
Giao diện của trình duyệt khi hoàn tất quá trình cài đặt
b. Cài đặt Selenium IDE trên trình duyệt FireFox
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
Bước 1: Ở trình duyệt FireFox truy cập đường dẫn:
https://www.selenium.dev/downloads/
Bước 2: Chọn trình duyệt cần add Selenium IDE
Bước 3: Click button Add to FireFox
Trên trình duyệt sẽ hiển thị Popup
Bước 4: Click button Thêm
Bước 5: Click button OKay để hoàn tất
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
Công cụ Selenium IDE sau khi được add thành công sẽ hiển thị trên thanh tìm kiếm Giao diện của Selenium IDE
c. Các thành phần của Selenium IDE
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
1.1.3. Ngôn ngữ viết
Sử dụng ngôn ngữ Java, Python,...
1.2. Các tổ chức chương trình chạy với công cụ -Chuẩn bị:
Phần mềm (có thao tác được trên chức năng) Link URL Trình duyệt FireFox Công cụ Selenium -Thực hiện: Trong đó:
(1): Link URL của trang website
(2): Nút Record (bắt đầu ghi hình website)
(3): Run All Test: Chạy lại tất cả chức năng
(4): Thanh chỉnh tốc độ chạy
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
1.3. Áp dụng kiểm thử tự động với chức năng Đăng nhập
Bước 1: Mở công cụ Selenium IDE, click chọn Create a new Project
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
Bước 2: Đặt tên cho project
Bước 3: Gán đường dẫn vào URL, sau đó nhấn REC để bắt đầu ghi hình
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
Lúc này một cửa sổ trang mới sẽ hiển thị và người dùng sẽ thao tác trên cửa sổ mới
Các bước sẽ được ghi lại và hiển thị trong phần Command
Bước 4: Click button Run all test để các chức năng được thực hiện lại
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
Sau khi chạy xong công cụ sẽ hiển thị log
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
CHƯƠNG 2: ĐẶC TẢ PHẦN MỀM
2.1. Giới thiệu phần mềm
Tên phần mềm: Quản lý website bán đồ nội thất Ngôn ngữ viết: + Frontend: React-Native + Backend: Nodejs
Các chức năng chính của phần mềm:
+ Đăng nhập: Nguời dùng Đăng nhập vào hệ thống để thực hiện các thao tác
+ Đăng ký: Khi người tiêu dùng mua hàng, họ phải đăng ký thông tin để
tạo tài khoản mới hoặc Đăng nhập vào hệ thống với tài khoản đã có để tiến hành đặt hàng.
+ Quản lý sản phẩm: Thực hiện các chức năng thêm, sửa, xóa sản phẩm
2.2. Đặc tả yêu cầu của phần mềm
-Hoạt động của khách hàng:
Khi khách hàng đã quyết định tham gia vào hoạt động mua hàng của cửa
hàng “ảo” thì mỗi khách hàng được cung cấp một giỏ hàng tương ứng. Khách
hàng tự do lựa chọn loại hàng hóa nào mà mình thích vào giỏ hàng của mình.
Thông qua chức năng tìm kiếm của website giúp khách hàng có thể
nhanh chóng tìm được loại hàng mà mình muốn mua một cách nhanh nhất.
Khách hàng có thể cập nhật lại các mặt hàng trong giỏ hàng mà mình không
muốn mua nữa. Nếu khách hàng chấp nhận thanh toán thì hệ thống yêu cầu nhập
thông tin chi tiết khách hàng như họ tên, địa chỉ email, số điện thoại, username,
password,... nếu khách hàng chưa đăng ký đăng nhập, ngược lại nếu khách hàng
nào đã đăng ký rồi thì họ chỉ cần đăng nhập bằng username/ email và password của mình.
Khi khách hàng đã hoàn thành quá trình đặt hàng với hệ thống thì khách
hàng tiến hành thanh toán, khách hàng có thể lựa chọn các hình thức thanh toán
trên website. Sau khi hoàn thành quá trình thanh toán khách hàng có thể thực
hiện lại quá trình mua hàng của mình nếu khách hàng muốn mua thêm sản
phẩm. Khi đã đặt hàng rồi, khách hàng có thể theo dõi trực tiếp tình trạng đơn
đặt hàng của mình qua website nếu họ có băn khoăn, nếu họ có sự không hài
lòng về sản phẩm cũng như là phương thức giao hàng,.. thì có thể gửi đơn khiếu
nại và thông tin phản hồi hệ thống qua chức năng liên hệ khách hàng.
-Hoạt động của người quản trị:
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
Cung cấp các giỏ hàng giúp khách hàng cảm thấy an tâm khi mua hàng
mà không bị một số lỗi làm gián đoạn quá trình mua hàng của khách hàng, giúp
hiệu quả việc mua hàng của khách hàng nhiều hơn cho đến khi kết thúc việc mua
hàng cũng như ấn định số lượng hàng mua.
Theo dõi khách hàng: cần phải biết khách hàng tham gia mua là ai và họ
cần mua mặt hàng gì trong số khách hàng tham gia vào việc mua hàng. Và thống
kê đơn hàng mua của họ, và doanh thu với từng mặt hàng của đơn hàng, và mặt
hàng bán nhiều nhất hiện tại.
Sau khi kết thúc phiên giao dịch của khách hàng, các đơn hàng khách
hàng mua sẽ được tổng kết lại và chuyển sang các bộ phận khác để xử lý như
các bộ phận kế toán, kinh doanh, và bộ phận chuyển giao hàng cho khách.
Để thu hút khách hàng thường xuyên tham gia vào trang web, nhà quản
trị cần phải có các biện pháp để xúc tiến đăng tải các chương trình khuyến mãi,
giảm giá trong những dịp cần thiết để lôi kéo khách hàng về phía mình, và có
các ưu đãi đối với các khách hàng thường xuyên vào mua hàng với số lượng lớn.
Có các hoạt động quản lý và xử lý đơn hàng như: thông tin, hiển thị các mặt
hàng đã giao hay chưa giao. Kiểm tra tình trạng đơn hàng và đánh dấu tương
ứng với mặt hàng đã giao hay chưa giao. Lập các hóa đơn giao cho khách hàng.
2.3. Đặc tả yêu cầu chức năng 2.3.1.
Chức năng Đăng nhập
Khi người dùng muốn đăng nhập, trước tiên phải từng đăng ký tài khoản,
nếu không sẽ tạo tài khoản mới sau đó tiến hành đăng nhập tài khoản.
Luồng sự kiện chính: Khi người dùng nhập tài khoản và mật khẩu sẽ có 2 trường hợp xảy ra.
Trường hợp đầu tiên, người dùng nhập sai tài khoản mật khẩu, đăng nhập thất bại.
Trường hợp thứ 2 là người dùng nhập đúng tài khoản, mật khẩu đăng
nhập thành công, hệ thống chuyển qua trang home. Luồng sự kiện phụ:
Người dùng bỏ trống tài khoản hoặc mật khẩu, hệ thống sẽ yêu cầu nhập đầy đủ.
Người dùng nhập tài khoản mật khẩu đúng định dạng nhưng tài khoản
chưa tồn tại. Hệ thống thông báo chưa tồn tại tài khoản này, đăng ký ngay.
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com) lOMoARcPSD|50662567
a. Biểu đồ Usecase chức năng Đăng nhập
Hình 2.3.1.a: Biểu đồ Usecase chức năng Đăng nhập
b. Biểu đồ hoạt động chức năng Đăng nhập
Hình 2.3.1.b: Biểu đồ hoạt động của chức năng Đăng nhập
Downloaded by B?p Tr??ng Thành (baptruongthanh@gmail.com)




