Tuy nhiên phần mềm càng lớn thì càng tốn nhiều công sức, nhân lực và thời gian nếu làm thử công, chưa kể tới việc chất lượng sản phâm không cao và không chính xác, không phù hợp với yêu
Trang 1
TRUONG DAI HQC SU PHAM KY THUAT HUNG YEN
BAI TAP LON
KIEM THU TU DONG CHO UNG DUNG WEBSITE BLACK
HUNG YEN - 2024
Trang 2
Nhận xét của giảng viên hướng dẫn:
GIẢNG VIÊN HƯỚNG DẪN
(Ky và ghỉ rõ họ tên)
Trang 3LOI CAM DOAN
Em xin cam đoan bài tập lớn “Kiểm thử tự động cho ứng dụng website Black Rouge Vietnam” la két quả thực hiện của bản thân em dưới sự hướng dẫn của cô Đỗ Thị Thu Trang
Những phần sử dụng tài liệu tham khảo trong đỗ án đã được nêu rõ trong phần tài liệu tham khảo Các kết quả trình bày trong đồ án và chương trình xây đựng được hoàn toản là kết quả do bản thân em thực hiện
Nếu vi phạm lời cam đoan này, em xin chịu hoàn toàn trách nhiệm trước Khoa
và Nhà trường
Hưng Yên, ngày tháng năm 2024
Sinh viên
Trang 4LOI CAM ON
Đề có thể hoàn thành bài tập lớn này, đầu tiên em xin phép gửi lời cảm ơn tới
bộ môn Công nghệ phần mềm, Khoa Công nghệ thông tin - Trường Đại học Sư phạm
Kỹ thuật Hưng Yên đã tạo điều kiện thuận lợi cho em thực hiện đỗ án môn học nảy
Đặc biệt em xin chân thành cảm ơn cô Đỗ Thị Thu Trang đã rất tận tình hướng
dẫn, chỉ bảo em trong suốt thời gian thực hiện đồ án vừa qua
Em cũng xin chân thành cảm ơn tất cả các Thầy, các Cô trong Trường đã tận tình giảng dạy, trang bị cho em những kiến thức cần thiết, quý báu để giúp em thực hiện được đồ án này
Mặc dù em đã có cô gắng, nhưng với kiến thức còn hạn chế, trong quá trình thực hiện đề tài không tránh khỏi những thiếu sót Em hi vọng sẽ nhận được những ý kiến nhận xét, góp ý của các Thầy giáo, Cô giáo về những kết quả triển khai trong đồ
án
Em xin trân trọng cảm on!
Trang 52.2.2 Giới thiệu tổng quan về Selenium WebDriver 5s s22 ren 23
Trang 6CHUONG 3: DAC TA HE THONG PHAN MEM cccsccecsseeccsseeeceseeeceseeeeeseneeees 27
3.1 Giới thiệu CHUNG cece 12 22212211211 1211 12211511151 1111 11111111211 171 011 H1 H1 111 Hy 27 3.2 Các yêu cầu chức năng 5 1 2E 1111211 1121121122121 1221 ryu 27 3.2.1 Yêu cầu về chức năng phía người dùng 2-52 22222212222 xe 27
3.3 Các yêu cầu phi chức năng - 2 122221 1191111211 1121121111111 11120 trreg 45 3.4 Tinh Ung Quine .- 46 3.5 Tinh toan ven dit liéu/Performance 0 0.c cece ceecccccceceeecccccccccceseececeesecuauuneeeeesees 47
CHƯƠNG 4: TRIÊN KHAI KIÊM THỬ TỰ ĐỘNG 2.-c:222cccszzsec re 48 4.1 Thiết kế kiểm thử : 522 2221212211122211122111122211 1111.1 11.111 01 te 48
4.1.1 Thiết kế kiếm thử tông quan hệ thống - 2-2221 SE 221221222722 2x6 48
4.1.2 Thiét ké kiém thir chite nang ccccceccecceccecseccsessessessesesecsessesseseesesetevsesseees 49
4.2 Xây dựng các trường hợp kiểm thử - 5 212221111115 1121111211211121 1c te 60
4.4 Thực thi và báo cáo kiểm thử 25s: 22 1222112221121 de 90 0n 91
Trang 7
DANH MUC CAC THUAT NGU
Trang 8DANH MUC CAC BANG
Cac yéu cau chite nang c.cccccccccccccecessessecsceseessesesseeecensetecsteeesereseseeees 30
Dữ liệu chức năng đăng nhập - 222222 211221112211 1512 115111 2x xe 31
Dữ liệu chức năng đăng ký 0 Q0 01121121 112111211111 121112122811 ke 33
Dữ liệu chức năng thêm vào giỏ hàng 20c 20 122 12 2n re 34
Dữ liệu chức năng ø1ỏ hàng 0 0201221121112 11211 1811121211 11181 11 te 36
Dữ liệu chức năng đặt hàng - 0 0 22122211211 221 1122115121112 812 122 xe 37 Bảng yêu cầu phi chức năng 2 5-22 2E 2212111211211 211211 1x2 47
Testcase chức năng đăng nhập 2 22 2122111211211 1211511 281222 xe 63 Test case chức năng đăng ký 2 2 220112 212121122111 111111 1812 re 65
Trang 9Hình 2- 6: Tông quan về selenium webdFriVeT - 22: 22522121221 1221212212211 22 xe
Hinh 2- 7: Cong cu eclipse 44
Hinh 3- 1: Chức năng đăng nhậtp - ccc cece seeseeeseeeceneestecnsectsesssenseeeseeenses
Hinh 3- 2: Chức năng đăng ký - Q20 2 1212111111 2112 1111211112110 211112211 grkg
Hinh 3- 3: Chức năng thêm vào p1ó hàng - 0 2022211211121 1111121117118 1 18211 kg
Hinh 3- 4: Chức năng ø1ỏ hàng - 5 22222121 12211121 1253121112211 1813111121111 11 1111 kg
Hinh 3- 5: Chức năng đặt hàng - 2200201211121 1111112112211 011 1011111111111 1 21 1 kg
Hình 3- 6: Chức năng tìm kiếm 5 S2 1221211111111 1112121121 1g tru
Hình 3- 7: Biểu đồ use case tông quát của hệ thống 2 2212 S2 11221 2x2
Hinh 3- 8: Use case đăng nhập - L2 02012211211 121112121221 11211011101 111 211281 1e,
Hình 3- 9: Use case xem sản phẩm - 22 S1 2E1E11211212111121121111212 1 mrce
Hinh 3- 10: Use case quan lý s1ỏ hàng 2022011211221 12 112211211101 11 281111811 te
Hình 3- 11: Use case tìm kiếm ST 1102111 1515111521515121115 2 1150511281 ra
Trang 10Hình 4- 4: Thiết kế kiểm thử chức năng đăng nhập 2 2-2 525222212222 c2 49
Hình 4- 12: Thiết kế kiểm thử chức năng quản lý giỏ hàng 2 52- 5255252252 56 Hình 4- 13: Thiết kế kiểm thử chức năng quản lý giỏ hàng 3 -2- 5255252222 56
Hình 4- 14: Thiết kế kiểm thử chức năng thông tin dat hang ccc: 57
Hình 4- 16: Thiết kế chức năng thông tin thanh toán 2222 +E E222 22x££zzsze2 58
Hinh 4- 21: Két quả chạy test case LOGIN cece cece 2212211211121 12111 1182118115181 1 1 kg 89
10
Trang 11CHUONG 1: = TONG QUAN VE DE TAI
1.1 Lý do chọn đề tài
Sau đại dịch covid 19 công nghệ thông tin nói chung cũng như công nghệ phần
mềm nói riêng được công chúng tiếp cận rộng rãi hơn, chính vì vậy mà việc phát triển phần mềm ngày càng được chú trọng và được hỗ trợ bởi nhiều công cụ tiên tiến giúp
cho việc xây dựng phần mềm giảm bớt được độ khó và hiệu quả hơn Mặc dù vậy
nhưng độ phức tạp của việc tạo ra phần mềm cũng như những giới hạn về chi phí và
thoi gian van không đảm bảo được độ chính xác tuyệt đối không có saI sót về mặt nào
đó dù các hoạt động đảm bảo chất lượng phần mềm và kiểm thử ngày càng khoa học
và chặt chẽ Lỗi vẫn luôn tại trong sản phâm và có thể gay ra những thiệt hại lớn
Do đó đặt ra yêu cầu 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 tiềm tàng bên trong bên trong mà ta chưa thể nhận ra Tuy nhiên phần mềm càng lớn thì càng tốn nhiều công sức, nhân lực và thời gian nếu làm
thử công, chưa kể tới việc chất lượng sản phâm không cao và không chính xác, không
phù hợp với yêu cầu khách hàng Chính vì vậy mà 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ông việc kiểm thử một cách nhanh chóng và độ an toản, chính xác cao nhất có thể Hơn thế nữa, nhu cầu tìm hiểu về mỹ phâm của phái nữ hiện nay cũng rất cao, các ứng dụng phần mềm về mỹ phẩm cũng
ra đời rất nhiều, nhất là về các đòng son Selemum là bộ kiểm thử tự động miễn phí (mã nguồn mở) dành cho các ứng dụng web trên các trình duyệt và nền tảng khác nhau Với selenium củng một số công cụ hỗ trợ khác như Cucumber, Jenkins, Maven, kiểm thử viên có thể phát triển thành các framework hỗ trợ cho viết các kịch bản kiểm thử và chạy các kịch ban này một cách tự động, giảm nguồn lực, tăng độ tin cậy
và nhàm chán của công việc kiểm thử Ngoài ra, hiện nay, nhụ cầu kiểm thử tự động khá cao nhưng nhân lực trong ngành này không nhiều, đặc biệt là ở Hà Nội Các công
ty muốn áp dụng kiểm thử tự động trong quá trình phát triển dự án nhưng việc hiểu biết về kiểm thử tự động khả là mơ hồ và chưa xây dựng được một framework chuẩn
ll
Trang 12áp dụng cho dự án tại công ty mình Chính vi lẽ đó mà em chọn đề tài “Kiểm thử tự dong cho tung dung website Black Rouge Vietnam” lam bài tập lớn
1.2 Mục tiêu của đề tài
- Áp dụng BDD để tự động hóa quá trình kiểm thử, đặc biệt là tập trung
vào trải nehiệm người dùng
1.3 Giới hạn và phạm vi của dé tai
1.3.1 Đối tượng nghiên cứu
- _ Đối tượng nghiên cứu: trang website Black Rouge Vietnam
- _ Khách thê nghiên cứu: Các chuyên gia đầu ngành, nhân viên tác nghiệp, khách hàng, nhà cung cấp
1.3.2 Phạm vì nghiÊn cứu
- Pham vi khong gian:
- Pham vi thoi gian: Thoi gian thực hiện từ tháng 4/2024 đến tháng 6/2024
- Y nghĩa khoa học và thực tiễn của đề tài :
o Ý nghĩa khoa học: nghiên cứu các kiến thức về kiểm thử tự động, sử dụng công cụ hỗ trợ để kiểm thử cho một website
o Y nghia thực tiễn: Kiểm thử tự dong cho website Black Rouge Vietnam 1.4 Nội dung thực hiện
Cần phải nắm rõ các từng hoạt động và quy trình của các tính năng ở website website Black Rouge Vietnam và quy trình kiểm thử và đảm bảo chất lượng phần mềm
- _ Xây dựng bản đặc tả SRS
- Xay dung test design
- Xay dung testcase
- Thur thi testcase
- Bao cao loi
- Bao cáo kiếm thử
12
Trang 139216, TEEE,
Sử dụng các phương pháp kiểm thử:
Phương pháp phân tích giá trị biên
Phương pháp phân vùng tương đương
Phương pháp bảng quyết định
Khảo sát và phân tích đặc tả yêu cầu, ghi chú những chức năng, giao diện
khách hàng mong muốn, từ đó thiết kế các testcase phù hợp để kiêm thử sản phẩm Tìm tai ligu trong và ngoài nước, tìm ra hướng đi phù hợp
Sử dụng các công cụ kiểm thử tự động chức năng và phi chức năng: Katalon Studio, Jmeter
13
Trang 14Về cơ bản, đây là một bài kiểm tra đề kiểm tra lại xem thiết bị hoặc phần mềm có
thực hiện chính xác như theo thiết kế hay không Trong quá trình phát triển sản phâm,
kiểm thử tự động sẽ kiểm tra đề tìm ra các lỗi, các sai sót hay bat ky van dé phat sinh nào khác Kiểm thử tự động được sử dụng cho các công việc lặp đi lặp lại cũng như các công việc khó có thê thực hiện bằng kiểm thử thủ công
Kiểm thử tự động: là một kỹ thuật tự động trong đó người kiểm thử tự viết các tập lệnh và sử dụng phần mềm phù hợp đề kiểm thử phần mềm Nó về cơ bản là một quá trình tự động hóa của một quy trình kiếm thử thủ công Giống như kiêm thử hồi quy, kiêm thử tự động cũng được sử dụng để kiểm thử ứng dụng theo quan điểm tải, hiệu năng và ứng suất
Kiểm thử tự động giúp giảm chỉ phí kiếm thử bằng cách hỗ trợ quá trình kiếm
thử thông qua các công cụ phần mềm
2.1.2 Ưu và nhược điểm của kiểm thử tự động
> Ưu điểm:
- _ Các bài kiểm tra có thể được thực hiện một cách nhanh chóng,
= Noi chung vu điểm của kiểm thứ tự động là nó chạy nhanh hơn kiêm thử thủ công Tuy nhiên, hãy nhớ rằng tốc độ thực thi sẽ khác nhau tủy thuộc vào nội dung được thực thi và các công cụ được sử dụng
-_ Có thê phát hiện sớm các lôi
“ Bằng cách chạy các bài kiểm thử tự động mỗi khi quá trình phat triển của bạn được hoàn thành như bé sung tinh nang moi, sua lỗi Bạn có thể phát hiện sớm các lỗi và thực hiện hành động ngay lap tức Việc kết hợp kiếm thử tự động vảo quy trình thực
thi CI c6 thé hiệu quả hơn
14
Trang 15-_ Có thê thực hiện kiêm tra một cách chính xác
" Loại bỏ lôi của con người khi thực hiện các bài kiêm tra, cho
phép các bài kiếm tra chính xác hơn
-_ Có thê thực hiện kê cả thiêu nguon nhân lực
Bằng cách tự động hóa việc kiểm tra, bạn có thê kiếm tra ngay ca
khi bạn thiếu nhân lực đề thực hiện việc kiêm tra đối với ứng
dụng, phần mềm của bạn Kiểm tra thủ công cũng cho phép kiếm tra hiệu suất quy mô lớn không thực tế và kiểm tra so sánh lượng
lớn đữ liệu
> Nhược điểm:
- _ Có thể bỏ sốt lỗi do con người
“ Kiểm thử tự động bao gồm các bài kiểm tra tốt và không tốt Ví
dụ, với các thử nphiệm dễ xảy ra lỗi do con người và các thử
nghiệm được lặp lại thì các thử nghiệm được thực hiện không,
thường xuyên hoặc quy trình không cố định thì không phù hợp với tự động hóa
- Hoat dong bao tri
“ Kiểm thử tự động không có hiệu quả ngay lập tức Hiệu quả có thê đạt được bằng cách tiếp tục vận hành nó nhiều lần Hoạt dong bao tri la cần thiết đề kiểm thử tự động được tiếp tục hoạt động
- _ Kiểm tra tự động chỉ có thể kiểm tra những øì chúng ta thiết kế
"_ Chỉ nội dung kiểm thử đã được thiết kế đề thử nghiệm mới có thê được tự động hóa
- Chi phi cao
“ Chí phí ban đầu cao hơn với kiếm thử thủ công, chăng hạn như chi phi viết mã kiểm tra và chỉ phí học cách sử dụng thành thạo
các công cụ
2.2 Một số công cụ kiểm thử tự động
15
Trang 162.2.1 Selenium
Khải niệm: Nó là một công cụ kiểm tra phần mềm được sử dụng đề kiểm tra hồi quy (Regression Testing) Đây là một công cụ kiểm tra mã nguồn mở cung cấp chức năng phát lại và thu âm để kiểm tra hồi quy Cac Selenium IDE chi hé trợ trình duyét web Mozilla Firefox
« - Đặc điểm cua Selenium:
Cung cấp các điều khoản để xuất khấu ghi lại kịch bản trong các ngôn ngữ khac nhu Java, Ruby, RSpec, Python, C #, JUnit va TestNG + No co thể thực hiện
nhiều bộ kiểm thử cùng một lúc
Xác định phần tử sử dụng 1d, tên, đường dẫn X, v.v + Lưu trữ các bộ kiểm thử như Ruby Script, HTML và bất kỳ định dạng nào khác + Hỗ trợ tệp tin người dùng selenium-extensions.js
Cho phép để chèn ý kiến ở giữa của kịch bản để hiểu rõ hơn nội dung và mục đích của kịch bản kiểm thử
b QTP (HP UFT)
Khải niệm: QTP được sử dụng rộng rãi để kiểm tra chức nang (Functional Testing) và hồi quy (Regression Testing), giai quyét cac ing dung phan mềm va môi truong Đề đơn giản hóa việc tạo và bảo trị thử nghiệm, nó sử dụng khái niệm kiểm tra từ khóa
QTP hỗ trợ môi trường phát triển NET
Có cơ chế xác định đối tượng kiểm thử tốt
c Rational Function Tester
Khải niệm: Là l công cụ kiểm tra tự động hướng đối tượng có khả năng tự động kiểm
tra dữ liệu, kiểm tra giao diện, và kiếm thử hồi quy (Regression Testing)
Öồ Đặc điểm:
+ Hỗ trợ một loạt các giao thirc và ứng dụng như Java, HTML, NET, Windows, SAP, Visual Basic
+ Có thể eh1 lại và phát lại các hành động theo yêu cầu
+ Tích hợp tốt với các công cụ quản lý kiểm soát nguồn như Rational Clear Case và tich hop Rational Team Concert
+ Cho phép các nhà phát triển tạo ra các kịch bản liên quan đến từ khóa để có thể
được tái sử dụng
16
Trang 17+ Bộ biên tập Cong cu Java Developer Toolkit cua Eclipse tao diéu kién cho nhom tao ma thir nghiém cac doan ma trong Java véi Eclipse
+ Hỗ trợ điều khiến tùy chỉnh thông qua proxy SDK (Java /.Net)
+ Hỗ trợ kiểm soát phiên bản để cho phép phát triển song song các kịch bản thử nghiệm
d WATIR
Khái niệm: Là một phần mềm kiểm tra mã nguồn mở để kiểm thử hồi quy (Regression Testing) Watir chỉ hỗ trợ khám phá Internet trên các cửa số trong khi Watir webdriver hỗ tro Chrome, Firefox, IE, Opera,
Öồ Đặc điểm:
Hỗ trợ nhiều trình duyệt trên các nền tảng khác nhau
Sử dụng một ngôn ngữ kịch bản hiện đại có đầy đủ tính năng
Hỗ trợ ứng dụng web được viết bởi bắt kỳ ngôn ngữ nào
Cho phép bạn viết các test case dễ đọc và bảo trì
e SilkTest
Khái niệm: Silk Test được thiết kế để thực hiện kiểm tra chức năng
(Functional Testing) và hồi quy (Regression Testing) Nó là một ngôn ngữ hướng đối
tượng giống như C ++ Nó sử dụng các khái niệm về đối tượng, các class và sự kế thừa
Öồ Đặc điểm:
Nó bao gồm tat ca các tập tin mã nguồn
Chuyền đổi các lệnh script thành các lệnh GUI Trên cùng một máy, các lệnh có thể được chạy trên một máy từ xa hoặc máy chủ
Đề xác định chuyên động của con chuột cùng với các bấm phím, Silktest có thé được thực hiện Nó có thể sử dụng cả phương pháp phát lại và ghi hoặc các phương
pháp lập trình mô tả
Xác định tất cả các điều khiển và cửa số của ứng dụng được thử dưới dạng các đối tượng và xác định tất cả thuộc tính và thuộc tính của mỗi đối tượng
2.2.2 Giới thiệu mô hình phát triển phần mềm
Mô hình phát triển phần mềm hay quy trình phát triển phần mềm xác định các pha/ giai đoạn trong xây dựng phần mềm Có nhiều loại mô hình phát triển phần mềm khác nhau như:
d Mô hình thúc nước (WaterfHHl tmode))
17
Trang 18
Hình 2- 1: Mô hình thác nước
« - Đây được coi như là mô hình phát triển phần mềm đầu tiên được sử dụng
« Mô hình này áp dụng tuần tự các giai đoạn của phát triển phần mềm
Ö Đầu ra của giai đoạn trước là đầu vào của giai đoạn sau Giai đoạn sau chỉ được thực hiện khi giai đoạn trước đã kết thúc Đặc biệt không được quay lại giai đoạn trước đề xử lý các yêu cầu khi muốn thay đôi
¢ Uudiém
Dé str dung, dé tiếp cận, dễ quan lý
San pham phat triển theo các giai đoạn được xác định rõ ràng
Xác nhận ở từng g1aI đoạn, đảm bảo phát hiện sớm các lỗi
Ö Nhược điểm
Ít linh hoạt, phạm vi điều chỉnh hạn chế
Rất khó để đo lường sự phát triển trong từng giai đoạn
Mô hình không thích hợp với những dự án dài, đang diễn ra, hay những dự án
phức tạp, có nhiều thay đối về yêu cầu trong vòng đời phát triển
Khó quay lại khi giai đoạn nào đó đã kết thúc
b Mô hình xoăn óc
18
Trang 19Kiém thir tu déng cho tg dung website Black Rouge Vietnam
- - Mô hình xoắn ốc được ưa chuộng cho các dự án lớn, đắt tiền và phức tạp
- M6 hinh nay su dung những giai đoạn tương tự như mô hình thác nước, về thứ
tự, plan, đánh giá rủi ro,
Ưu điểm
- _ Tốt cho các hệ phần mềm quy mô lớn
- Dễ kiểm soát các mạo hiểm ở từng mức tiến hóa
- Đánh giá thực tế hơn như là một quy trình làm việc, bởi vì những vấn đề quan trọng đã được phát hiện sớm hơn
Nhược điểm
- _ Manager cần có kỹ năng tốt đề quản lý dự án, đánh giá rủi ro kịp thời
- _ Chí phí cao và mất nhiều thời gian để hoàn thành dự án
- _ Phức tạp vả không thích hợp với các dự án nhỏ và Ít rủi ro
- _ Yêu câu thay đối thường xuyên dẫn đến lặp vô hạn
- _ Chưa được dùng rộng rãi
c M6 hinh Agile
19
Trang 20- Dựa trên mô hình iterative and incremental
- _ Các yêu cầu và giải pháp phát triển dựa trên sự kết hợp của các function
- Trong Agile, cac tác vụ được chia thành các khung thời gian nhỏ để cung cấp các tính năng cụ thể cho bản phát hành cuối
“* Ưu điểm
- _ Tăng cường tỉnh thần làm việc nhóm và trao đổi công việc hiệu quả
- _ Các chức năng được xây dựng nhanh chóng và rõ ràng, dé quản lý
- _ Dễ đảng bồ sung, thay đôi yêu cầu
- Quy tắc tối thiểu, tai liéu dé hiéu, dé str dung
+ Nhược điểm
- _ Mô hình Agile được sử dụng rộng rãi trên thế øiới nhưng cũng không đồng
nghĩa với phù hợp với tất cả các dự án phần mềm
- _ Không thích hợp để xử lý các phụ thuộc phức tạp
- _ Có nhiều rủi ro về tính bền vững, khả năng bảo trì và khả năng mở rộng
- _ Cần một team có kinh nghiệm
- Phụ thuộc rất nhiều vào sự tương tác rõ ràng của khách hàng
- _ Chuyến giao công nghệ cho các thành viên mới trong nhóm có thể khá khó
khăn do thiếu tài liệu
d M6 hinh chit V (V model)
20
Trang 21( == mà
y
Hinh 2- 4: M6 hinh chit V
Mô hình chữ V là một phần mở rộng của mô hình thác nước và được dựa trên sự
kết hợp của một giai đoạn thử nghiệm cho từng giai đoạn phát triển tương ứng Đây là một mô hình có tính kỷ luật cao và giai đoạn tiếp theo chỉ bắt đầu sau khi hoàn thành ø1ai đoạn trước
Với V model thì công việc test được tham gia ngay từ đầu
Ưu điểm
Đây là một mô hình có tính ky luật cao và các giai đoạn được hoàn thành củng một lúc
Hoạt động tốt cho các dự án nhỏ, khi các yêu cầu được hiểu rất rõ
Đơn giản và dễ hiểu va dé sir dung, dé quan ly
Nhược điểm
Khó quản lý kiểm soát rủi ro, rủi ro cao
Không phải là một mô hình tốt cho các dự án phức tạp và hướng đối tượng
Mô hình kém cho các dự an dai va dang diễn ra
Không thích hợp cho các dự án có nguy cơ thay đôi yêu cầu trung bình đến cao
e M6 hinh Scrum
21
Trang 22Hinh 2- 5: M6 hinh Scrum
- _ Chia các yêu cầu ra làm theo từng øiai đoạn Mỗi | giai doan(sprint) chi lam 1
số lượng yêu cầu nhất định
-_ Mỗi một sprint thường kéo đài từ 1 tuần đến 4 tuần ( ko dài hơn | thang)
- Đầu sprint sẽ lên kế hoạch làm những yêu cầu nảo Sau đó, sẽ thực hiện code
và test Cuối sprint la 1 san pham hoàn thiện cả code lẫn test có thể demo và chạy được
- Hoan thanh sprint 1, tiép tuc lam sprint 2, sprint cho đến khí hoản thành hết
cac yéu cau
- Trong m6i | sprint thi sé cd hop hang ngay — daily meeting từ 15 - 20 phút
Mỗi thành viên sẽ báo cáo: Hôm qua tôi đã làm gì? Hôm nay tôi sẽ làm gì? Có gặp khó khăn gì không?
- - Scrum là mô hình hướng khach hang (Customer oriented)
- Trinh dé cua nhóm cần có một kỹ năng nhất định
- _ Phải có sự hiểu biết về mô hình aglie
- Kho khan trong viéc xac định ngân sach va thoi gian
- Luén nghe y kién phan hdi tr khach hang va thay déi theo nén thoi gian sẽ
Trang 23@%* Selenium WebDriver Features
‘Cancun © © Works on different OS
Multiple Language © © Add-ons & Reusability
Support
Speed & Performance © © Simple Commands
Community support (ED Q —=—==
Open Source & Portable © © No server installation
Hinh 2- 6: Tong quan vé selenium webdriver
Selenium WebDriver (gọi tắt la WebDriver) 14 1 automation framework cua
web, cho phép thực thị các test của ban đối với các trình duyệt khác nhau, không chỉ Eirefox, Chrome (nó không giống như Selenium IDE)
'WebDrriver cùng cho phép bạn sử dụng các ngôn ngữ lập trình trong việc tạo test script của bạn
Bạn có thể sử dung conditional operations nhu if- else hay la switch-case hoac vong lap do-while
WebDriver hỗ trợ nhiều ngôn ngữ lập trình khác nhau như Java, Net, PHP, Python, Perl, Ruby Không nhất thiết bạn phải am hiểu tất cả các ngôn ngữ trên
nhưng để sử dụng WebDriver 1 cách hiệu quả hơn, bạn nên biết ít nhất một trong số
những ngôn ngữ trên
« Tai sao st dung Selenium Web Driver?
Người dùng có thê dùng miễn phí
Kiến trúc đơn giản:
+ Điều khiên trình duyệt từ hệ điều hành
+ Bạn chỉ cần IDE và trình duyệt là xong
Ngôn ngữ lập trinh hỗ trợ: Web Driver hễ trợ bạn viết kịch bản kiểm thứ bằng các ngôn ngữ khác nhau như Java, NET, PHP, Python, Perl, Ruby va bạn có thể sử dụng các điều kiện if else, các vòng lặp để tăng tính chính xác cho kịch bản kiểm thử Tốc độ: Khi so sánh với các công cụ khác của bộ Selenium, WebDriver là công cụ nhanh nhất trong số tất cả do tương tác trực tiếp từ hệ điều hành tới trình duyệt
« - Ưu điểm của Selenium WebDriver
Hỗ trợ 7 ngôn nsữ lap trinh: JAVA, C #, PHP, Ruby, Perl, Python và Net
Hỗ trợ thử nghiệm trên nhiều trình duyệt khác nhau như: Firefox, Chrome, IE, Safari
Các thử nghiệm có thể được thực hiện trên các hệ điều hành khác nhau như: Windows, Mac, Linux, Android, 10S
Khắc phục các hạn chế của Selenium vi như tải lên tệp, tải xuống, cửa số bật lên
và hộp thoại
« - Nhược điểm của Seleniun WebDriver
23
Trang 24Báo cáo kiêm thử chỉ tiết không thể được tạo ra
Không thể kiểm tra hình ảnh
Bất kề thách thức, những thiếu sót nảy có thể được khắc phục bằng cách tích hợp với các khung khác Đối với kiểm thử hình ảnh, Sikuli có thê được sử dụng và để tạo báo cáo thử nghiệm chi tiết, TestNG có thê được sử dụng
Selenrum WebIDriver thường được sử dụng trong cac trường hợp sau
Đề sử : dụng một ngôn ngữ lập trình nhất định trong việc thiết kế test case của bạn
Đề kiêm tra các ứng dụng có nhiều chức năng dựa trên AJAX
Đề thực hiện các kiếm thử trên trình duyệt HtmlUnit
Đề tạo kết quả kiểm thử tùy chỉnh
2.2.3 Công cụ eclipse
Get Eclipse IDE 2019-09
Install your favorite desktop IDE packages
————
| Download 64 bit
Hình 2- 7: Công cụ eclipse
- Khai niém Eclipse là một công cụ hỗ trợ người dùng lập trình mã nguồn mở Đây là một môi trường phát triển tích hợp dành cho Java, nhưng vẫn có thé str dung dé lap trình bằng một số ngôn ngữ khác như C/C++, PHP, Ruby Người dùng có thể
sử dụng Eclipse để mở rộng hơn mã nguồn bằng cách chèn plugins cho
- Danén tang: co thé chạy trên cả hệ điều hành Windows và Linux
- Không, bị hạn chế về các nhà cung cấp công cụ, bao gồm cả các nhà cung cấp phần mềm độc lập (ISV)
- H6tro sử dụng nhiễu công cụ lập trình
- _ Tạo thuận lợi cho tích hợp liền mạch các công cụ bên trong vả xuyên qua nhiều kiểu nội dung và các nhà cung cấp công cụ khác nhau
- - Hỗ trợ các công cụ thao tác các ngôn ngữ lập trình như: HTML, Java, C
24
Trang 25- Hétro môi trường phat triển GUI lẫn không dựa trên GUI
- Tinh phé biên của ngôn ngữ Java (ngôn negữ sử dụng đề việt các công cụ)
- Load nhanh hon do su dung SWT/JFace s* Nhược điêm
« _ Việc cài đặt khá phức tạp, tốn phần cứng và bộ nhớ máy
« Nhiéu plugins dan dén viéc thieu tinh nhat quán
Những nhược điểm trên đang dần được nhà cung cấp khắc phục Hiện nay, Eclipse đã
cho ra đời phiên bản Eclipse Luna không cần cài đặt Việc nảy sẽ tiết kiệm được phần nảo bộ nhớ và phần cứng cho máy tính Tuy nhiên, phiên bản mới này vẫn chưa được
phô biến rộng rãi
25
Trang 26CHUONG 3: DAC TA HE THONG PHAN MEM
3.1 Giới thiệu chung
Black Rouge la mét thương hiệu đến từ đất nước Hàn Quốc và được ra đời từ
năm 2016 Được ví như nàng công chúa tai Incheon - thành phố đông dân thứ 3 Hàn
Quốc Đây cũng là một trong những nhà máy không lồ chuyên sản xuất mỹ phâm cho
các hãng nỗi tiếng
Tuy là một thương hiệu mỹ phâm mới ra mắt những năm gân đây nhưng Black
Rouge đã chính phục thị trường nhờ chất lượng và sự sáng tạo mới lạ trong từng sản phâm Ngoài những dòng son gây bão trên thị trường thì hãng còn cho ra các dòng sản phẩm làm đẹp khác như: phần mắt, highliphter, nhũ mắt,
Đặc biệt vào năm 2018 với một cú hích với dòng son kem lì Black Rouge thực
sự trở thành thương hiệu được yêu thích tại Hàn Quốc và lan rộng ra các nước lân cận trong đó có Việt Nam Chính vị sự ưa chuộng và chiếm được sự yêu thích nhất định trên dải đất hình chữ S, chỉ nhánh tại Việt Nam xuất hiện với sứ mệnh có thể mang sac mau cua Black Rouge phu sac khap moi tinh thành, trở thành dong my phẩm được
mọi người ưa chuộng
Với nhiều dòng sản phẩm trang điểm đặc biệt là các mẫu son đa dạng theo từng mùa cùng với giá cả vừa túi tiền, Black Rouge luôn chiếm được cảm tình cảm của giới trẻ nói riêng và chị em phụ nữ nói chung Và để đáp ứng nhu cầu đó hệ thống website mua hàng trực tuyến cùng với sản thương mại điện tử và kênh fanpage chính thức của hãng mỹ phẩm xứ sở kim chỉ đã ra đời, là nơi mà khách hàng có thể cập nhật các dòng sản phâm mới, mua hàng chính hãng trực tiếp từ thương hiệu đề tránh các trường hợp mua phải hàng nhái kém chất lượng
Mục đích của tài liệu này để xác định chức năng và các yêu cầu khác về website Black Rouge Vietnam, bao g6m giới thiệu tổng quát về hệ thống, yêu cầu, tính ứng dung, độ tin cậy và hiệu suất Tài liệu này được dùng cho đội dự án để phát triển sản phẩm
Phần I: Giới thiệu chung về tài liệu
Phần 2: Cung cấp thông tin tông quát về website Black Rouge Vietnam Phần 3: Mô tả các yêu cầu cụ thể của các chức năng, bao gổm input, output, các
xử lý của chương trinh
Phần 4: Mô tả các yêu cầu khác liên quan đến tính ứng dụng của hệ thống (tính thân thiện với end user)
Phần 5: Mô tả các yêu cầu về tính toàn vẹn của đữ liệu, hiệu suất 3.2 Các yêu cầu chức năng
3.2.1 Yêu cầu về chức năng phía người dùng
26
Trang 27Chức năng cho phép người dùng đăng
ký tài khoản trên website để lưu trữ
thông tin của mình và đặt hàng Trang
đăng ký gồm: Họ và tên, số điện thoại,
email, mật khâu, xác nhận mật khâu
Tìm kiêm sản phầm
Chức năng cho phép người dùng tìm
kiếm món ăn có ở nhà hàng một cách
dễ dàng hơn nhiều thông qua những từ
khóa mà khách hàng có nhu cầu hoặc là
tên đầy đủ cho những chiếc bánh
Tin tức và khuyên mãi
Chức năng này cho phép chúng ta xem
những khuyến mãi mới nhất chăng hạn
(tích điểm, đổi quà ) hay là những thông báo mới về thời gian hoạt động tại cửa hàng
Liên hệ với cửa hàng
Chức năng này cho phép người dùng ĐỬI các ý kiến của mình hoặc là các khiếu nại đến cửa hàng cũng như là
phản hồi về món ăn
chọn, thêm, sửa, xóa món ăn tạo điều
27
Trang 28
STT Chire nang Mô tả
kiện thuận lợi cho việc mua sản phẩm
Tính năng này cho phép khách hàng
thanh toán trực tuyến và cung cấp thông
tin cho cửa hàng, bộ xử lý thanh toán
Quản lý tài khoản
Chức năng này cho phép người dùng xem thông tin, cập nhật thông tin, thay đổi mật khâu và địa chỉ
Thay đổi thông tin
Chức năng cho phép người dùng có thể thay đổi tên hoặc địa chỉ email cá nhân,
thanh toán hóa đơn mua hàng thông qua
ví momo hoặc chuyền khoản qua sacombank
Bảng 3- 1: Các yêu cấu chức năng
- - Chức năng đăng nhập
e - Để theo dỗi đơn hàng và đặt hàng dễ dàng, khách hàng có thế đặng nhập tài
khoản khi đã đăng khí tài khoản trước đó
® Trang dang nhap gom: Số điện thoại, mật khâu
e©_ Button Đăng nhập: khi nhân đăng nhập, khách hàng đã đăng nhập vào tải
khoản đã đăng ký
28
Trang 30
TAO TAI KHOAN
Hinh 3- 2: Chic nang dang ky
Ho Co Không Không được bó trống
Tên Có Không Không được bó trống
Trang 31
Tên trường Bắt buộc Khoảng hợp lệ Khác
Số điện thoại Có Chỉ bao gồm 10 ký tự | Không được bó trống
Bảng 3- 3: Dữ liệu chức năng đăng ký
- _ Chức năng thêm sản phẩm vào giỏ hàng
e - Khi truy cập vào hệ thông, khách hàng có thế thêm sản phẩm vào giỏ hàng
từ giao diện xem thông tin sản phẩm Trang xem thông tin sản phâm gồm:
© Thông tin chỉ tiết sản phẩm: tên sản phâm, hình ảnh, số lượng
© - Ô nhập ghi chú của khách hàng
® - Nút “Thêm vào giỏ hàng”
© - Khi Click “Thêm vào giỏ hàng” để sản phâm được ghi nhận vào Giỏ hàng
31
Trang 32Son A09 mau Cam Dat - Son Black Rouge Air Fit Velvet
Tinhtrang: Con hang | Ma SKU Đang cập nhat
N MUA NGAY ) THEM VAO GIO
Phương thức thanh toán
Số lượng Có =] Phải là một số dương
Không được bỏ trông
Không chứa dấu cách
Không được chứa các kí
tự chữ
Bảng 3- 4: Dữ liệu chức năng thêm vào giỏ hàng
e - Khi truy cập vào hệ thông, khách hàng có thế thêm sản phẩm vào giỏ hàng
từ giao điện xem thông tin sản phâm Khi trong giỏ hàng đã có sản phẩm, khách hàng có thể thực hiện sửa số lượng sản phẩm và ghi chú trong giỏ hàng Trang xem chỉ tiết giỏ hàng gồm:
¢ Danh sách các sản phâm, mỗi sản phẩm gồm thông tin: hình ảnh, tên sản phâm, kích thudc, ghi chu, 914, s6 luong, tong tiền, một button Xoa san
phẩm Trong đó thông tin số lượng vả ghi chú sản phẩm có thê sửa
32
Trang 33¢ Néu sé lwong các sản phẩm trong gió hàng hợp lệ, hệ thống sẽ load lại trang cập nhật lại số lượng và tông tiền
e© Nếu trong giỏ hàng có số lượng tương ứng với sản phẩm không hợp lệ thì
người dùng sẽ không nhập được
© Nếu khách hàng muốn sửa chú thích thi ấn vào ảnh của sản phẩm muốn
Sửa
e© Một nút “Thanh toán”: Khách hàng có thể đặt hàng nếu trong giỏ hàng có sản phẩm
e - Một nút “Xoá”: Khách hàng có thể xoá sản phẩm bắt kỳ trong gid hang
BLACK §\_ Hỗ trợ khách hàng Tài khoả R9UGE M k hd Nut 8Ð SS cane a A
O_ Chính sách đổitrả Hệthốngcửahàng «¿Z Kiểm tra đơn hàng
= Danh mục sản phẩm
TỔNG CỘNG 796.006
Mã giảm giá Chọn mã giảm ”
Hình 3- 4: Chúc năng giỏ hàng
Tên trường Bắt buộc Khoảng hợp lệ Khác
Sô lượng Có >=] Phải là một sô dương
Không được bỏ trông
Không chứa dấu cách
Không được chứa các kí
tự chữ
33
Trang 34
Có thê nhập hoặc không
nhập phi chú của khách hàng
Black Rouge Viet Nam Official
Thông tin nhận hàng (Đáng nhập Van chuyén
Vui lòng nhập thông tin giao hang
Tên trường Bắt buộc Khoảng hợp lệ Khác
Số điện thoại Có 10 ký tự số Không được bỏ trống
Tỉnh thành Không được bỏ trống
34
Trang 35
Tên trường Bắt buộc Khoảng hợp lệ Khác
Quận huyện Không được bó trống
Xã phường Không được bó trống Ghi chú Không được bỏ trống
Bảng 3- 6: Dữ liệu chức năng đặt hàng
e© _ Hình thức thanh toán khi nhận hang (COD): Bam Dat hang dé don hang
được xác nhận và nhận mã đơn hàng sau khi đã đặt hàng thành công
e Chọn Đặt hàng để qua bước tiếp theo hoặc bắm back để quay lại đặt hàng
- _ Chức năng tìm kiếm
e - Để tìm kiếm nhanh chóng một sản phâm nào đó thì khách hàng chọn chức
năng tìm kiêm
Hình 3- 6: Chức năng tìm kiếm 3.2.2 Biểu đồ ca sử dụng
- Biểu do use case tông quát
35
Trang 37- Kich bản đăng nhập
Primary Actors Ÿ Khách hàng
Flow of Events
1 Người dùng yêu cầu chức năng đăng nhập
2 SYSTEM Hiển thị giao diện đăng nhập
3 Người dùng nhập email, password, chọn chức năng phi nhớ tài khoản
4 Yêu cầu đăng nhập
5 SYSTEMI Lấy về thông tin người dùng, nếu người dùng không có chuyển sang
luồng phụ 5a
6 if Nếu chọn ghi nhớ tài khoản
6.1 SYSTEMI Hệ thống lưu tài khoản trên trình đuyệt người dùng end if
7 Lưu thông tin người dùng
Extension:
5.a Tài khoản không đúng
1 SYSTEM Hệ thống hiển thị thông báo đăng nhập không thành công, yêu cầu đăng nhập lại và quay lại nước 3
- Bréu do use case xem san pham
37
Trang 38<<Extend>>
| <<Extend>> '
1 Khách hàng kích hoạt giao diện chính của hệ thống
2 SYSTEMI Hệ thông hiển thị giao diện chính với danh sách sản phẩm của hệ
thống và một ô nhập tên sản phẩm
3 Khách hàng nhập vào ô tìm kiếm sản phâm và chọn enter
4 SYSTEM Hệ thống tìm kiếm sản phẩm trong cơ sở dữ liệu và trả về danh sách sản phẩm mà khách hàng yêu cầu tìm kiếm gồm tên sản phẩm, hình ảnh và giá sản phâm
5 Khách hàng click chọn một sản phâm trong danh sách sản phâm vừa tìm kiếm
6 SYSTEM Hé théng hién thị thông tin chỉ tiết sản phâm đã chọn bao gồm: tên sản phẩm, thể loại, giá sản phâm, trạng thái sản phẩm, kích thước, ghi chú của bạn một nút “Thêm vào g1ỏ hàng”
38
Trang 39Extension:
3 a SYSTEM Hé thống thông báo không có sản phâm mà khách hàng yêu cầu tìm kiêm
1 SYSTEMI Hệ thống yêu cầu khách hàng nhập lại tên sản phâm
2 Khách hàng nhập lại tên sản pham va tiếp tục các bước sau
- Biéu đồ use case quan ly gid hang
1 Khách hàng kích hoạt giao diện chính của hệ thống
2 SYSTEMI Hệ thông hiển thị giao diện chính với danh sách sản phẩm của hệ
thống và một ô nhập tên sản phẩm
3 Khách hàng nhập vảo ô tìm kiếm sản phẩm và chọn enter
4.SYSTEM Hệ thống tìm kiếm sản phẩm trong cơ sở đữ liệu và trả về danh sách
san pham mà khách hàng yêu câu tìm kiếm gồm tên sản phẩm, hình anh va giá sản
39
Trang 40pham
5 Khách hàng click chọn một sản phâm trong danh sách sản phâm vừa tìm kiếm
6 SYSTEM Hé théng hién thị thông tin chỉ tiết sản phâm đã chọn bao gồm: tên sản phẩm, thể loại, giá sản phâm, trạng thái sản phẩm, kích thước, ghi chú của bạn một nút “Thêm vào g1ỏ hàng”
Extension:
3.a SYSTEMI Hệ thống thông báo không có sản phẩm mà khách hàng yêu cầu tìm
kiếm
1 SYSTEMI Hệ thống yêu cầu khách hàng nhập lại tên san pham
2 Khách hàng nhập lại tên sản pham va tiếp tục các bước sau
s* Thêm sản phâm vào giỏ hàng
Primary Actors Ÿ Khách hàng
Flow of Events
1 Khách hàng yêu cầu xem thông tin sản phẩm
2 SYSTEM Hệ thống hiến thị thông tin chỉ tiết sản phâm đã chọn bao gồm: tên sản phẩm, thể loại, giá sản phâm, trạng thái sản phẩm, kích thước, ghi chú của bạn một nút “Thêm vào g1ỏ hàng”
3 Khách hàng nhập số lượng sản phẩm và chọn ““Thêm vảo giỏ hàng”
4 SYSTEM Hệ thống thêm sản phâm với số lượng khách hàng đã chọn và giỏ hàng
Extension:
3.a Số lượng sản phẩm không hợp lệ
1 SYSTEM Hệ thống yêu cầu khách hàng nhập lại số lượng sản pham
2 Khách hàng nhập lại thông tin sản phẩm và tiếp tục thực hiện mua sắm
40