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
Trang 1
TRƯỜNG ĐẠI HỌC ĐIỆN LỤC KHOA CÔNG NGHỆ THÔNG TIN
ĐáI HỌC ĐIỆT LỰC
ELECTRIC POWER UNIVERSITY
BAO CAO CHUYEN DE HOC PHAN KIEM THU VA DAM BAO CHAT LUQNG PHAN MEM
_DE TAI: KIEM THU CHAT LUQNG PHAN MEM QUAN
LY WEBSITE BAN DO NOI THAT
Sinh viên thực hiện : NGUYÊN THỊ NGỌC ANH
Giảng viên hướng đẫn : LÊ THỊ TRANG LINH
Trang 2PHIEU CHAM DIEM Sinh viên thực hiện:
Trang 3MỤC LỤC
CHƯƠNG I1: CÔNG CỤ KIỂM THỬ TỰ ĐỘNG -ocssseo 7
13 Áp dụng kiểm thử tự động với chức năng Đăng nhập 13
2.3.1 Chức năng Đăng nhập - S 2.22212122121112 121121 xe, 18 2.3.2 Chức năng Đăng ký L2 2.2.2.2 2e, 20
CHƯƠNG 4: XAY DUNG VA THUC HIỆN CÁC TESTCASE 30
Trang 4
42.1 Test GUI (Graphical user inteface — giao diện đồ họa người dùng) 35
4.2.2 `8 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 `8 44
KÉT LUẬN 56
Trang 5LỜI CẢM ƠN
Trên thực tế, không có sự thành công nào mà không gan liên với những sự hỗ trợ, sự giúp đỡ dù ít hay nhiều, đù 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 Tìm- 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 sur 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ô gang hoàn thiện báo cáo với tất ca sự nỗ lực, tuy nhiên, do bước đâu đi vào thực tế, tìm hiểu và xây đự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 Quan ly website ban đồ 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 thay 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 gop cua mọi người
Trang 6LỜI MỞ ĐẦU
Ngày nay công nghệ thông tin ngay cang phat triển nhanh chóng, kéo theo
đó là hệ thông mạng và các phân mem 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 ba, 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 gan day, đ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, tan 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à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ộ chỉ 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 | mebsite bán nội thất” để nghiên cứu, tìm hiểu và đề ra các giải pháp mới để cải tiến các quy trình kiêm thử như
Trang 7CHƯƠNG 1: CONG CU KIEM THU TY DONG 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 danh cho cac ứ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, Liux, 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 duoc su dung để có thế automate cho các thao tác với trình duyệt
hoặc để 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 vi thế, bạn có thể lập trình để có thế bật tự động các trình duyệt, dé open mét link, input cho di liệu, upload, download dit liéu tir web page hoac tham chi get info page
b Đặc diém cua Selenium
-Mã nguồn mở Phải noi diém nay la diém manh nhat 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à noi phat 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ó van dé 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
-Chay test case 6 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 seript
-Không hỗ trợ Win app Selenium thực sự chỉ hỗ trợ chúng †a 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
Trang 8thư viện khác như Autolt 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 dung trong automation Ma 6 đó, 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à:
Environment): la mét plug-in nam trén trình duyệt Fire-fox, ta có thé sir dung để record va play lai cac thao tac d6 dựa theo một quy trỉnh hay một test case nao
do
+Selentum 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
+WebDniver: Selenum WebDriver có nhiệm vụ gửi lệnh khởi chạy roi 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 da 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ử đụng chúng
a Cài đặt trình duyệt EireFox
Bước 1: Truy cập đường dẫn: https:/www.mozilla.org/vi/ñrefox/new/ Bước 2: Click button Tai xuéng FireFox
ESTETZAY Were cureerretoe tan pte Chingtalan tur Simos Taig reer
Firelox inh cho may tind đẻ bàn,
Tai trinh duyét bao vé
những gì quan trọng
Trang 9teœơio©e®O
i
7s được tải xuống ˆ
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 tt quá trình cải đặt
WS Pe act etek ah gy aed ange!
b Cai dat Selenium IDE trén trình duyét FireFox
Trang 10Trén trinh duyét sé hién thi Popup
Bước 4: Click button Thêm
Trang 11tìm kiếm
Giao diện của Selenium IDE
c Các thành phần của Selenium IDE
Trang 12
Sử dụng ngôn ngữ Java, Python,
(1): Link URL cua trang website
(2): Nut Record (bat dau ghi hinh website)
(3): Run All Test: Chay lai tat cả chức năng
(4): Thanh chỉnh tốc độ chạy
Trang 14Bước 3: Gán đường đẫn vào URL, sau đó nhắn REC để bắt đầu ghi hình
Trang 15cửa sô mới
Các bước sẽ được ghi lại và hiển thị trong phân Command
Trang 17+ Đăng ký: Khi người tiêu dùng mua hang, họ phải đăng ký thông tin dé
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
-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 cua minh
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 tinh 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
Trang 18mà 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ọ can mua mat hang 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 don hang, 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ử ly nhw các bộ phận kế toán, kinh doanh, vả bộ phận chuyên giao hàng cho khách
Dé 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 đị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 đấ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
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
Trang 19Hì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
Trang 20Userr W- Dangnhap p -QL- Tai khoann
Dangnhap
Yeu cau dang nhap
Hien thi giao dien
Nhap username va pass
Yeu cau kiem tra
Kiem tra dang nhap Xac nhan tai khoan Thanh cong Thanh cong
Hien thi thong bao
Hình 2.3.1.c: Biểu đồ tuần tự của chức năng Đăng nhập 2.3.2 Chức năng Đăng ký
Người dùng đăng ký tài khoản để thực hiện các chức năng thao tác trên
website, mua sản phẩm, và thực hiện các ưu đãi khác,
Trang 21Hình 2.3.2.a: Biểu đồ usecase của chức năng Đăng
ký b Biểu đồ hoạt động của chức năng Đăng ký
Hình 2.3.2.b: Biêu đồ hoạt động của chức năng Đăng
ký c Biểu đồ tuần tự của chức năng Đăng ký
Trang 222.3.3 Chức năng Quản lý sản phẩm
Người dùng đăng nhập vảo hệ thống với tài khoản ađmin Sau đó, đi tới
muc Product va thực hiện chức năng của sản phẩm
Luéng sự kiện chính:
Người dùng truy cập vào vào hệ thông băng tải khoản admin Truy cập đến menu mục Products, sau đó thực hiện chức năng Các chức năng của quản lý sản phẩm:
Thêm sản pham: Hién thi From thém san phẩm, nhập thông tin sản phẩm, nhân lưu thông tin sản phâm
Sửa sản phẩm: Hiên thi From stra thông tin sản phẩm, nhập thông tin cần thay đôi, nhắn nút lưu thông tin
Xoá sản phẩm: Chọn sản phẩm muốn xoá, hiện thị thông báo muốn xoá sản phẩm, nhắn nút xoá sản phẩm, hiện thị danh sách sản phâm
a Biểu đồ Usecase chức năng Quản lý sản phẩm
Hình 2.3.3.a: Biểu đồ Usecase của chức năng Quản lý sản phẩm
b Biêu đồ hoạt động của chức năng Quản lý sản phẩm
Trang 25CHƯƠNG 3: KÉ HOẠCH TEST
- Xác định những thông tin dy án và các phần dự án cần được kiểm thử
- Liệt kê những yêu cầu kiêm thử (Test Requirements)
- Nêu ra những phương pháp, chiến lược kiểm thử nên sử dụng
- Xác định nguồn lực cần
- Nêu rõ các chức năng test và các chức năng không test
- Liệt kê môi trường †est
Control Testing
khoan
- Chire nang test:
+ Đăng nhập: Thường dễ gây lỗi khi người dùng
Nhập sai định dạng form đăng nhập
Nhập thiếu username, password
Nhập đúng định dạng nhưng tải khoản đã tồn tại
Kết nỗi mạng không ôn định
Nhập dấu cách trong password (dấu cách ở đâu, ở cuỗi, ở giữa)
Trang 26+Đăng ký tải khoản: Thường xảy ra lỗi khi người dùng nhập đữ liệu
Nhập sai định dạng form đăng ký
Nhập thiếu tên, họ, username, email, password, nhap lai password Nhập đúng định dạng nhưng tài khoản chưa được dang ky
Nhập đúng định dạng nhưng tải khoản đã tồn tại
Kết nỗi mạng không ôn định
Nhập dấu cách trong password (dấu cách ở đâu, ở cuỗi, ở giữa) Nhập password và nhập lại password không trùng khớp
Kết nối gián đoạn trong quá trình đăng ký
Dang ky thành công nhưng không lưu dữ liệu
+Quản lý sản phâm: Thường xảy ra lỗi khi người dùng nhập và thao tác dữ liệu Nhập thiếu, không đúng định dạng các trường
Nhập dữ liệu đã tổn tại
Nhập quá maxlength các trường
Nhập khoảng trắng (ở đầu, ở giữa, ở cuối) của Price
Kết nỗi gián đoạn khi đang thực hiện thao tác
Thêm, sửa, xoá không thành công
Tải file ảnh không hợp lệ
Thêm, sửa, xoá thành công nhưng không lưu dữ liệu
Lỗi hiển thị thông báo khi đữ liệu hợp lệ/ không hợp lệ
Lỗi timeout
Lỗi insert vào DB
-Chức năng không test: Thêm vào giỏ hàng, mua hang
-Các tiêu chuẩn đánh giá chất lượng phần mềm:
+ Hệ thống vận hành tốt, không bị các lỗi như trên
+ Trải nghiệm người dùng tốt, tương tác lưu loát, mượt mà
+Tất cả thông tin về lỗi cần được ghi nhận lại để đánh giá chính xác chất lượng
của phần mềm
Trang 27+Tốc độ tải trang nhanh
-Việc test chỉ đừng lại khi:
+Hết thời gian triên khai dự án
+ Hết kinh phí
+ Bi delay qua lau, sản phẩm không còn giá trị nhiều so với kinh phí bỏ ra
+ Sản phẩm đã hoàn thành, đạt đúng yêu cầu và chất lượng đã thỏa thuận
3.4 Test Tool
2 Databas DB phat trién DB thiết lập
MySQL
Bảng sau đây mô tả nguồn lực test cho dự án:
! Nguyễn Thị Test manager: Quản lý hoạt động
Trang 28Hướ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
Ngoc Anh Dinh nghia cach tiếp cận test
Viết các test case
3 Nguyễn Thị Tester: hiện thực và chạy testcase
Ngọc Ảnh Hiện thực test va test suites
Chay test suil Ghi két qua Yêu câu về hệ thống:
Quan tri website:
Quản lý người dùng và quyền vảo truy xuất trên website
Khách hàng:
Thực hiện chức năng Thêm giỏ hàng, tìm kiếm, sắp xép, trên website Xem sản phẩm
Nhân viên:
Quản lý tài khoản
Quản lý module Danh mục sản phẩm (thêm, sửa, xóa, tìm kiếm)
Quản lý module Sản phẩm (thêm, sửa, xóa, tìm kiếm)
3.72, Non-testing features:
Nhân viên:
Quản lý đăng ký tài khoản
Quản lý đánh giá sản
Trang 29Mỗi Milestione cho 1 module bao gồm cả việc design testcase và chạy testcase:
Ngoc Anh
Trang 30CHƯƠNG 4: XÂY DỰNG VÀ THỰC HIỆN CÁC TESTCASE
cân đối nhu design thiét ké Cae tab nhảy
đúng thứ tự các
sẽ nhập
Vào màn hình form Đăng nhập
P ass
P ass
P ass
P
Trang 31“Bạn long
vui
nhập
vào Username”
A
Co Te
res mment ster
ult
P ass