- Cuối cùng, không tồn tại kỹ thuật kiềm thử cho phép khang dinh một phan mèm hoàn toàn dung dan hay không chứa lỗi.Với mục đích phát hiện lỗi, kiểm thử phần mềm thường phải trái qua các
Trang 1BAO CAO BAI TAP LON
Kiểm Thử Website Cửa Hàng Bán Điện Thoại Giảng Viên Hướng Dẫn
Mai Văn Hòa
Msv: 2000215
Dàm Quang Huy
Msv: 2000235 Ngô Van Phi Msv: 2000223 Chu Xuân Việt Msv: 2000023
Hà Nội, Năm 2022
Trang 2MUC LUC Contents
0905092 SEE EEE CSA AS AAAS AAAS a aaa aoa £
DANH MỤC CÁC HÌNH LH HH HH HH HH HH HH 5
CHƯƠNG 1: TONG QUAN VỀ KIÊM THỨ PHÂN MÊM co St crtntrirereeea 7
1.1 KNAi MIGM PAAN MEM oo cccecccccsccsccsecsecescessusssesescsecsecsessecseseussassseateatcsessestensenseaseas ; 1.2 Phân loại phần mềm - - c 1 1 11211211 E1 01211111 01 011011 E Hy HH Tnhh HH Hà 1.3 Quy trình phát triên phần mềm - ¿+ E222 121 161191811 1E 1111511111151 51811111 xe 3
1.3.1 Quy trình phát triển phần mềm ¿2 222 SE S33 1911 3 E3 E1 E212 kekcea 8
1.4 Một số mô hình phát triển phần mềm .- ¿2+ + 332393 E3 £EEEEEEEErEsrEsrsesscea 9
1.4.2 Mô hình Agile (Quy trình Scrum) - các nh HH n* nhàn khe hhdh 11
it s00 9 0n an 17
1.8.2 Quy trình kiểm thử tự GONG .cccccccccecccsesecsececsecsseecsessesseseseessessssassecascassesateaeees 20 1.8.3 Mục đích của việc sử dụng kiểm thưửự động - :-ccccccscsxcersrerrerree 20
Trang 31.8.4 Sử dụng kiêm thử tự động vào khi nào + S2 vs 21 1.8.5 Một số công cụ kiêm thttr động 2S: 222 2x re rreeirrce 21 CHƯƠNG 2: GIỚI THIỆU DỰ ÁN VÀ THỰC HIỆN KIÊM THỬ .-:-+5:5s5: 22
1.2 Phân tích yêu cầu hệ thống - ¿+2 22 2121211231121 51153 25151151181 811 HH giết 22
II N 3 t(lNoiỶẳaẳaiầiẳaaŸŸẢaẳaẢđdẳăÝÝÝÝ 2; 1.2.2 Chi tiết chức năng: St St 120121121111 21 111 81 8101111111 1101111111 T HH HH 23 1.2.3 Ulu, nlhuroc -.ddA%⁄44⁄:⁄⁄ 24
1.3 Thực hiện thiết kế các fOrm - t1 T11 1S EE Sky KT T TH HH ky 24 1.4: Giao diện sản phẩm ¿- c c tt HS 1121 1H TH TH HH Hi HH TH TH hy giết 2
2 Quy trình thực hiện †@SÍ c cn nnn nh nh nh HH Hà Ha Ha nh tr Ha đi
2.1 Thiết kê testplan cho dự án :- :- c1 121121 1k1 v11 E111 E1 H1 Hàng hư ưệt 3i
2.1.2 TeSt CNVIFONMENL ct UU nn ners 3l 2.1.3 Test ltems/ Features †o be Tesfed TS TT nọ ki ki ki kv kế 3 2.1.4 Features Not to Be Te@S†©d: chen HH HH khe 3 2.1.5 TeSt StrateGy 0 ri nn re iri nines errr tiriaaaarereeeererentenenaas 3 2.1.5 MilesfOn@S EE EE EE EEE nn nn a 3 2.1.7 Céng 86 va schedule .c.cccccccscsssecsscsssscsecsscaesecstcacsecsessesacsessesaesasseseecsesassasescasaeaes 32
2.1.8 Thành viên tham gia nh nh hen HH KHE kết 3
"2A: 6n 0 an ố.ố ỎỘỌỆỪỌỪỌỘ 33 2.1.10 Tiêu chí tạm ngừng và tiêu chí bắt đầu lại(sau khi tạm ngừng) ‹- 33
2.1.11 RISKS! ooo I EEUU nnn iiienereneees 3
Trang 42.2 Thiét ké cAc testCaSe ceccccceccccccescceeercecesececeeseceusceuecsusecuececuieesecareeeuurescursesecreeenuresenes 34 2.2.1 Testcase Form dang ky cece tr rr nhàng ch kg kh 35 2.2.2 Test form đăng nhập er re rr re nành nh Tnhh kg 43 2.2.3 Test case thêm sự kiện cho website bán hàng cccc che 48 Chương 3 KẾT LUẬN c2 20 2022120121151 111 58151101 H1 E1 1 H1 HT HT TT HH HH HH Hi 52
Trang 5IIC| oi? |>ì 0.13.) 191 Ea 25
2 Giao diện dăng nhậpP nnSnnnnns nh n TK ghen kế 26
3 Giao diện trang chủ nén Ki Ki Ki và 2
4 Giao diện Quản lý chén rn HH HH kh khe 2;
5 Giao diện thêm sản phẩm + 1E 11211211 E15 1211 E1 E5 E111 Hư nh nghe 2i
6 Giao diện sửa sản phâm - ¿2 22 12 121121 1kg vn TT ng HH nh 2
Trang 6LỜI MỞ ĐẦU Kiểm thử phản mém là một hoạt động giữ vai trò rất quan trọng để bảo đảm chất lượng phan mèm và là hoạt động mang tính sóng còn trong các dự án sản xuất hoặc gia công phan mèm
Vì vậy, kiểm thử phần mềm đã trở thành qui trình bắt buộc trong cácdự án phát triển phần mèm trên thế giới Ở Việt Nam, ngành công nghiệp phan mềm đang phát triên thì không thẻ xem nhẹ việc kiểm thử phàn màm vì xác suất thất bại sẽ rất cao, hơn nữa, hàu hết các công ty phản mềm có uy tín đều đặt ra yêu cầu nghiêm ngặt là néu một phan mém không có tài liệu kiếm thử đi kèm thì sẽ không được cháp nhận
Tuy nhiên, hoạt động kiêm thử thường gặp nhiều khó khăn:
- Thứ nhát, kiếm thử các hệ thống phức tạp đòi hỏi rất nhiều nguồn tài nguyên và chỉ phí cao
- Thứ hai, tiền trình phát triển phản mèm luôn trái qua nhiều hoạt động biến đôi thông tin, sự mat mát thông tin trong quá trình biến đối là yéu tố chính làm cho hoạt động kiêm thử khó
khăn
- Thứ ba, kiểm thử chưa được chú trọng trong đào tạo con người
- Cuối cùng, không tồn tại kỹ thuật kiềm thử cho phép khang dinh một phan mèm hoàn toàn dung dan hay không chứa lỗi.Với mục đích phát hiện lỗi, kiểm thử phần mềm thường phải trái qua các bước: tạo dữ liệu thử, thực thi phản mèm trên dữ liệu thử và quan sát kết quả nhận
được Trong các bước này, bước tạo dữ liệu đóng vai trò quan trọng nhát, bởi vì chúng ta
không thẻ tạo ra mọi dữ liệu từ miền vào của chương trình, mà chúng ta chỉ có thẻ tạo ra các
dữ liệu thử có khá năng phát hiện lỗi cao nhất Vấn đề đặt ra là làm thế nào để đánh giá được khả năng phát hiện lỗi của một bộ dữ liệu thử?
Trang 7CHUONG 1: TONG QUAN VE KIEM THU PHAN MEM
1.1 Khái niệm phần mềm
Phan mem (Software) có thẻ hiểu là một tập hợp các tập tin có mỏi liên hệ chặt chẽ với nhau, dam bảo thực hiện một số nhiệm vụ, chức năng nào đó trên thiết bị điện tử Các tập tin này có thẻ bao gồm: các file mã nguòn viết bằng một hoặc nhiều ngôn ngữ lập trình,
các file dữ liệu (thư viện), các ñle hướng dẫn
Phan mém thực hiện các chức năng của nó bằng cách gửi các chỉ thị trực tiếp đến phần cứng (Hardware) hoặc cung cấp dữ liệu đề phục vụ các chương trình hay phần mềm khác
Việc thực thi nhiệm vụ có thê thê là tự động hoặc thực hiện theo các thông tin, dt
liệu đầu vào
Phải có phản cứng thì phan mèm mới thực thi được Thông thường là máy tính, các thiết bị giái trí truyền thông, bộ điều khiển trên máy công cụ - ô tô V.v
1.2 Phân loại phần mềm
Phản mềm được chia thành 2 loại chính xét theo từng mục đích sử dụng khác nhau:
-_ Theo phương thức hoạt động: Phân theo phương thức hoạt động thi được chia
thành các loại khác nhau bao gòm các loại như sau :
e_ Phần mềm hệ thống dùng để vận hành máy tính nói riêng và các thiết bị điện tử nói chung Ví dụ: hệ điều hành máy tính Windows, Linux, Unix; Các trình điều khién (driver), phan syn (firmware) va BIOS Hé diéu hanh di déng ios, Android,
Windows Phone.,
e Phần mềm ứng dụng - phần mềm máy tính : Các phần mềm văn phòng (Microsoft Office, openoffice), trò chơi điện tử (game), các công cụ & tiện ích khác (ví dụ như phần mềm quản lý chi tiêu cá nhân, phần mềm quản lý công VIỆC, )
Trang 8¢ Phần mềm dịch mã (trình dịch) Bao gồm trình biên dịch và trình thông dịch,
cụ thể là chúng dịch các câu lệnh từ mã nguồn của ngôn ngữ lập trình sang dạng ngôn ngữ máy sao cho thiết bị thực thi có thể hiểu được
e_ Nền tảng ứng dụng: như ASP.NET - nền tảng ứng dụng web của Microsoft, cái
nay hỗ trợ việc tạo ra các ung dung web, dich vu web (web service)
- Theo kha nang hay quyền hạn can thiệp vào mã nguồn thì được chia thành các
lOại như sau:
e Phần mềm mã nguồn đóng (closed source software): La phan mềm mà mã nguồn của nó không được công bồ Đề sử dụng phần mềm nguồn đóng phải được cấp bản quyền (mua, tặng là tùy)
¢ Phan mém mi nguén mé (open source software): Là phần mềm mà mã nguồn của nó được công bồ rộng rãi, công khai và cho phép mọi người tiếp tuc phat trién phần mềm đó Thường thì loại phần mềm này miễn phí
1.3 Quy trình phát triển phần mềm
1.3.1 Quy trình phát triển phần mềm
Quy trình phát trién phần mềm là một cấu trúc bao gồm tập hợp các thao tác và các kết quả tương quan sử dụng trong việc phát triển đề sản xuất ra một sản phẩm phần mềm Nhìn chung, một quy trình phát triển phần mềm bao gồm các giai đoạn chính như sau:
1.3.2 Giải pháp, yêu cầu
Nhiệm vụ: Thực hiện khảo sát chỉ tiết yêu cầu của khách hàng đề từ đó tổng hợp vào tài liệu giải pháp Tài liệu này phải mô tả đầy đủ các yêu cầu về chức năng, phi chức năng
và giao điện
Kết quả: Đầu ra của giai đoạn này là Tài liệu đặc tả yêu cầu
1.3.3 Thiết kế
Nhiệm vụ : Thực hiện thiết kế và tổng hợp vào tài liệu thiết kế
Kết quả: Tài liệu thiết kế tổng thê, thiết kế module, thiết kế CSDL
Trang 91.3.4 Lap trinh
Nhiệm vụ: Lập trình viên thực hiện lập trình dựa trên tài liệu Giải pháp và Thiết kế
đã được phê duyệt
Kết quả: Source code
1.3.5 Kiếm thử
Nhiệm vụ: Tester tạo kịch bản kiểm thử (test case) theo tài liệu đặc tả yêu cầu, thực
hiện kiểm thử và cập nhật kết quả vào kịch bản kiêm thử, log lỗi trên các tool quán lý lỗi
Két qua: Test case , 16i trên hệ thống quản lý lỗi
1.3.6 Triển khai
Nhiệm vụ: Triển khai sản phâm cho khách hàng
Kết quả: Biên bản triển khai với khách hàng
1.4 Một số mô hình phát triển phần mềm
1.4.1 Mô hình chữ V
Giới thiệu về mô hình chữ V:
Trong kiểm thử phần mềm (V Model) còn được gọi là mô hình xác thực hay mô hình xác minh Nó là mô hình có tính kỷ luật cao, trong đó, giai đoạn kiêm thử chạy song song với mỗi giai đoạn phát triển phan mém
Đặc điểm điểm của mô hình:
- - Hoạt động tốt với các dự án có quy mô vừa và nhỏ
- Dễ đàng quản lý vì mỗi giai đoạn có các mục tiêu và mục tiêu được xác định rõ
ràng.
Trang 10- _ Toàn bộ quy trình được chia thành 2 nhóm giai đoạn tương ứng nhau là phát triển
và kiểm thử Mỗi giai đoạn phát triển sẽ tiễn hành song song với một giai đoạn kiểm thử tương ứng Do đó, các lỗi được phát hiện sớm ngay từ đầu
Ưu điểm nhược điễm của mô hình chữ V:
Ngay từ lúc nhận được tài liệu đặc tả yêu cầu, tester sẽ tham gia vào review tài
liệu đặc tả yêu cầu sau đó lên kế hoạch và thực hiện viết test case Lỗi được phát
hiện từ giai đoạn này sẽ ít tôn thời gian và chị phí hơn các giai đoạn sau
e Nhược điểm
Trong mô hình chữ V, các yêu cầu vẫn được đưa vào thực hiện cùng I lúc mà rủi
ro về thay đôi yêu cầu từ phía khách hàng là rất lớn Do đó, mô hình này vẫn có thê gặp rắc rối khi khách hàng thường xuyên thay đối yêu cầu
10
Trang 111.4.2 M6 hinh Agile (Quy trinh Scrum)
SCRUM PROCESS
4 HOURS
Backlog items expanded
by team 30 DAYS Sprint Backlog
- What I've done since the last Scrum meeting
What | plan todo before the next
Issues | have that | heed help toresolve
, New Functionality
Hình 1 2 Tác Dó Xứ Lý Cửa Phần Mềm
Giới thiệu về mô hình Agile(quy trình Scrum): Scrum trong Agile là một quy trình
cho phép các đội dự án phát triên phần mèm tập trung vào việc cung cấp các giá trị kinh doanh trong thời gian ngắn nhát ( theo sprint) bằng cách test nhanh chóng và liên tục phầr mèm hoạt động thực té
%% Đặc điểm của mô hình Agile: là một phương pháp phát trên phản mèm linh hoạt
dé lam sao đưa sản phẩm đến tay người dùng càng nhanh càng tốt
** Đặc trưng của mô hình Agile
Agile software Model ˆ
Trang 12Tinh lap (Interactive):
Dự án sẽ được thực hiện trong các phân đoạn lap di lap lai Cac phân đoạn (được gọi
là Interation hoặc Sprint) này thường có khung thời gian ngắn ( từ 1 đến 4 tuần) Trong
mỗi phân đoạn này , nhóm phát triển phải thực hiện đầy đủ các công việc cần thiết như
lập kế hoạch, phân tích yêu cầu, thiết kế, triển khai, kiểm thử để cho ra các phần nhỏ của san pham Cac phan doan Sprint lặp đi lặp lại trong Agile: các phương pháp Agile thường phân rã mục tiêu thành các phần nhỏ với quá trình lập kế hoạch đơn giản và gọn nhẹ nhất
có thể, không thực hiện lập kế hoạch dài hạn
Tính tiệm tiến và tiến hóa:
Cuối các phân đoạn Sprint, nhóm phát triển thường cho ra các phần nhỏ của sản phẩm cuối cùng Các phần nhỏ này thường đầy đủ, có khả năng chạy tốt, được kiểm thử cần thận và có thể sử dụng được ngay Theo thời gian, các phân đoạn này nối tiếp các phân đoạn kia, các phần chạy được tích lũy và lớn dần lên cho tới khi toàn bộ yêu cầu của
khách hàng được thỏa mãn
Tính thích ứng:
Do các sprint chỉ kéo dài trong khoảng l thời gian ngắn và việc lập kế hoạch cũng được điều chỉnh liên tục, nên các thay đổi trong quá trình phát triển đều có thể áp dụng theo cách thích hợp Theo đó, các quy trình Agile thường thích ứng rất tốt với các thay
đối
“+ Cac cong cu (artifacts) Scrum:
Product backlog: Đây là danh sách ưu tiên các tính năng (feature) hoặc đầu ra khác của dự án, có thê hiểu như là danh sách yêu cầu (requirement) của dự án Product
Owner chịu trách nhiệm sắp xếp độ ưu tién cho tung hang muc (Product Backlog Item)
trong Product Backlog dya trên các gia tri do Product Owner dinh nghia
Sprint backlog: Day la ban ké hoach cho mét Sprint, là kết quả của buổi họp lập
kế hoạch (Sprint Planning) Với sự kết hợp của Product Owner, nhóm sẽ phân tích các
12
Trang 13Backlog dưới dạng danh sách công việc (TODO list)
Product Owner tao ra Product Backlog chứa các yêu cầu của dự án với các hạng
mục được sắp theo thứ tự ưu tiên Đội sản xuất sẽ thực hiện việc hiện thực hóa dần các yêu cầu của Product Owner với sự lặp đi lặp lại các giai đoạn từ Ì đến 4 tuần làm việc
(gọi là Sprint) với đầu vào là các hạng mục trong Product Backlog, dau ra là các gói phần mềm hoàn chỉnh có thể chuyên giao được (Potentially Shippable Product Increment)
Đội sản xuất cùng họp với Product Owner để lập kế hoạch cho từng Sprint Kết quả của buôi lập kế hoạch (theo cách làm của Scrum) là Sprint Backlog chứa các công việc cần làm trong suốt một Sprint
Cac Sprint sé được lặp đi lặp lại cho tới khi nào các hạng mục trong Product Backlog đều được hoàn tất
Trong suốt quá trình phát triển, nhóm sẽ phải cập nhật Sprint Backlog và thực hiện công việc họp hằng ngày (Daily Scrum) để chia sẻ tiễn độ công việc cũng như các vướng mắc trong quá trình làm việc cùng nhau Nhóm được trao quyền đề tự quản lí và
tô chức lấy công việc của mình đề hoàn thành công việc trong Sprint
Khi kết thúc Sprint, nhóm tạo ra các gói phần mềm có chức năng hoàn chỉnh, sẵn sảng chuyên giao (shippable) cho khác hàng Buổi họp Sơ kết Sprint (Sprint Review) ở cuối Sprint sẽ giúp khách hàng thấy được nhóm đã có thê chuyên giao những
gì, còn những gì phải làm hoặc còn gì phải thay đổi hay cải tiến
Trang 14Sau khi kết thúc việc đánh giá Sprint, Scrum Master và nhóm cùng tô chức họp Cai tién Sprint (Sprint Retrospective) dé tim kiém cac cải tiến trước khi Sprint tiếp theo bắt đầu, điều này sẽ giúp nhóm liên tục học hỏi và trưởng thành qua từng Sprint s* Bao gồm 4 cuộc họp như sau:
Sprint Planning (Hop Ké hoach Sprint)
Nhóm phát triển họp với Product Owner đề lên kế hoạch làm việc cho một
Backlog => Backlog =5 ' 1W increment
Hình 1 4 Cuóc họp
Sprint Céng viéc lap ké hoach bao gom việc chọn lựa các yêu cầu cần phải phát
triển, phân tích và nhận biết các công việc phải làm kèm theo các ước lượng thời gian cần thiết để hoàn tất các tác vụ Scrum sử dụng cách thức lập kế hoạch từng phần và tăng dần theo thời gian, theo đó, việc lập kế hoạch không diễn ra duy nhất
một lần trong vòng đời của dự án mà được lặp ởi lặp lại, có sự thích nghi với các tinh
hình thực tiễn trong tiến trình đi đến sản phẩm
Daily Scrum (Họp Scrum hằng ngày)
Scrum Master tô chức cho Đội sản xuất họp hằng ngày trong khoảng 15 phút
để Nhóm Phát triển chia sẻ tiên độ công việc Trong cuộc họp này, từng người trong
nhóm phát triển lần lượt trình bày để trả lời 3 câu hỏi sau:
- Hom qua da lam gi?
- Hom nay sé lam gi?
14
Trang 15- C6 kho khan trở ngại gì không?
Sprint Review (Hop So két Sprint)
Cuối Sprint, nhóm phát triển cing voi Product Owner sé ra soat lại các công việc đã hoàn tất (DONE) trong Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay đôi cần thiết cho sản phẩm
Sprint Retrospective (Hop Cai tién Sprint)
Dưới sự trợ giúp của Scrum Master, nhóm phát triển sẽ rà soát lại toàn diện Sprint vừa kết thúc và tìm cách cải tiễn quy trình làm việc cũng như bản thân sản pham.Hop cai tién sprint bao gồm 3 vai trò:
Product Owner: Là người chịu trách nhiệm về sự thành công dự án, người
định nghĩa các yêu cầu cho sản phẩm và đánh giá đầu ra cuối cùng của các nhà phát triển phần mềm
Scrum Master: Là người đảm bảo các sprint được hoàn thành theo đúng quy trình Scrum, giúp đỡ loại bỏ các trở ngại cho đội dự án
Development Team: Là tập hợp của từ 5 đến 9 thành viên chịu trách nhiệm
trực tiếp tham gia sản xuất Tùy theo quy mô của dự án đề bồ trí số thành viên cho phù hợp
Ưu điểm: Phù hợp với các yêu cầu / nghiệp vụ hay thay đối, hoặc hệ thống nghiên cứu
do làm theo từng giai đoạn ngắn ngày, có thể nhìn thấy những rủi ro hay những điểm
chưa phù hợp đề thay đổi
Nhược điểm
- _ Thiếu sự nhắn mạnh về thiết kế và tải liệu cần thiết
- Quy m6 nhân lực thường giới hạn , sẽ có trở ngại lớn nếu nguồn nhân lực yêu cầu vượt quá con số này ví dụ trong các cuộc họp trao đổi
-._ Yêu câu nguôn nhân lực phải có kiên thức và am hiệu về Agile
Trang 161.5 Léi phan mém
Lỗi phần mềm là một lỗi hay hỏng hóc trong chương trình hoặc hệ thống máy tính khiến nó tạo ra kết quả không chính xác hoặc không mong muốn hoặc hành xử theo những cách không lường trước được Quá trình tìm và sửa lỗi được gọi là "gỡ lỗi" và thường sử
dụng các kỹ thuật hoặc công cụ chính thức để xác định lỗi và từ những năm 1950, một số
hệ thông máy tính đã được thiết kế để ngăn chặn, phát hiện hoặc tự động sửa các lỗi máy
tính khác nhau trong quá trình hoạt động
Hầu hết các lỗi phát sinh từ các lỗi và sai lầm được tạo ra trong mã nguồn của chương
trình hoặc thiết kế của chương trình hoặc trong các thành phần và hệ điều hành được sử
dụng bởi các chương trình đó Một số ít các lỗi được gây ra bởi trình biên dịch sản xuất mã không chính xác Một chương trình có chứa nhiều lỗi (bug) hoặc lỗi ảnh hưởng nghiêm trọng đến chức năng của nó, (Duggy) Lỗi có thê kích hoạt các lỗi khác tạo ra hiệu ứng gợn
Lỗi có thể có hiệu ứng hoặc khiến chương trình bị sập hoặc treo máy tính Cac lỗi khác như
chính sửa điều kiện truy cập là lỗi bảo mật và có thê giúp cho phép một số người dùng qua được các hàng rào bảo mật để truy cập một số trang web trái phép hoặc mua bản qua các nền tảng công nghệ bị cắm bởi chính phủ
Một số lỗi phần mềm có thê nghiêm trọng tới mức thảm họa Lỗi trong mã điều khiển
máy xạ trị Therac-25 đã trực tiếp khiến bệnh nhân tử vong trong những năm 1980 Năm
1996, tên lửa Ariane 5 của Cơ quan Vũ trụ Châu Âu tri gid 1 ty USD đã bị phá hủy chưa đầy một phút sau khi phóng do lỗi trong chương trình máy tính hoa tiêu cài đặt trên tàu Vào tháng 6 năm 1994, một máy bay trực thăng Chinook của Không quân Hoàng gia đã đâm vào Mull of Kintyre, giết chết 29 người Điều này ban đầu được coi là lỗi phi công, nhưng một cuộc điều tra của Computer Weekly đã thuyết phục một cuộc điều tra của House
of Lords rằng nó có thể là do lỗi phần mềm trong máy tính điều khiển động cơ của máy bay
Năm 2002, một cuộc điều tra do Mỹ Bộ Thương mại của Viện Tiêu chuân và Công
nghệ kết luận rằng "lỗi phần mềm, hoặc sai sót trong lập trình là nguyên nhân phô biến và
16
Trang 17gây hại đến nỗi chúng đã hao tôn nền kinh tế Mỹ ước tính khoảng 59 tỷ USD mỗi năm, tương đương khoảng 0,6% tổng sản phẩm quốc nội"
1.6 Kiểm thử phần mềm
Kiem thử phần mềm (software testing) là hoạt động nhằm tìm kiếm và phát hiện ra các lỗi của phản mềm, đảm báo phần mềm chính xác, đúng và đầy đủ theo yêu cau của khách
hàng, yêu cầu của sản phẩm đã đặt ra Software testing 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 đánh giá và hiệu rõ các rủi ro khi thực thi phần mèm Ngoài ra kiếm thử phần mềm sẽ giúp chúng ta:
-_ Hạn chế những thát bại sau này,nâng cao chát lượng cho sự ohats trienr cho sản phẩm
- _ Chí phí kiểm thử chiếm 4-50% tông coonng sức phát triên
-_ 30% tổng thời igan phát triển
- _ Với câc sản phâm liên quan đến tinh mạng thì có thẻ gáp từ 3-5 làn
Kiểm thử tốt sẽ :
- _ Giảm chỉ phí phát triển
- _ Tăng độ tin cây cua san phâm phan mém
1.7 Các kỹ thuật kiếm thứ phần mềm
Các phương pháp kiểm thử phần mềm bao gồm:
- _ Kiểm thử hộp trắng (white box testing): Trong kiêm thử hộp trắng cấu trúc mã, thuật toán được đưa vào xem xét Người kiểm thử truy cập vào mã nguồn của chương trình
để có thê kiêm tra nó
- _ Kiểm thử hộp đen (black box testing) : Kiểm tra các chức năng của hệ thông dựa trên
Trang 18Kiểm thử phần mềm là hoạt động đảm bảo chất lượng phần mềm và mang tính sống còn trong các dự án sản xuất phần mềm Vì vậy nó đã trở thành quy trình bắt buộc trong
Phần mém có làm việc như mong muốn không?
Phần mềm có giải quyết được yêu cầu của khách hàng không?Nó làm được gì mà người dùng mong đợi?
Người dùng có thích nó không?
Nó có tương thích với các hệ thông khác của chúng ta hay không?
1.8 Kiểm thử tự động
1.8.1 Khái niệm về kiếm thử tự động
Kiểm thử tự động: Là xử lý một cách tự động các bước thực hiện các testcase, kiêm thử tự động bằng một công cụ nhằm rút ngắn thời gian kiêm thử 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
Ưu điêm của kiêm thử tự động
- _ Đâu tiên, chúng ta sẽ cùng tìm hiệu về hiệu quả của việc kiêm thử tự động
- _ Các bài kiểm tra có thể được thực hiện một cách nhanh chóng
18
Trang 19cô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 phát triển của bạn
được hoàn thành như bé sung tính năng mới, sửa 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 lập tức Việc kết hợp kiểm thử tự động vào
quy trình thực thi CI có thê hiệu quả hơn
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 nguồn 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 cả 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 dữ liệu
Nhược điểm của kiểm thử tự động
Tiếp theo, chúng ta sẽ tìm hiểu về nhược điểm của việc kiểm thử tự động Không
phải tất cả các bài kiểm tra đều có thê tự động hóa Để có hiệu quả với tự động hóa, điều quan trọng là phải xác định thử nghiệm nào để tự động hóa Dưới đây là
một số điều cần ghi nhớ cho điều đó
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ử nghiệ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
Hoạt động báo trì
Trang 20Kiể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 động bảo trì là 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 gì 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
Chi phí ban dau cao hơn với kiêm thử thủ công, chăng hạn như chi phí 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ụ
1.8.2 Quy trình kiểm thử tự động
Quy trình kiểm thử tự động bao gồm:
- Tester sử dụng các kịch bản tự động (automation scripts) và thực thi các script dé chạy ứng dụng với sự giúp sức của các automation tool Một khi script đã sẵn sàng thì việc thực thi kiểm thử có thể diễn ra nhanh chóng và hiệu quả
- Cac hoạt động của kiểm thử tự đông:
- _ Phân tích yêu cầu/Xác định môi trường/công cụ
- _ Xác định tiêu chí đầu ra
- _ Lên kế hoạch và kiểm soát
- _ Thiết lập môi trường kiểm thử
- _ Triển khai thiết kế kiểm thử
- Thue thi kiểm thử
- _ Phân tích, báo cáo
1.8.3 Mục đích ca việc sử dụng kiểm thứ tự động
- - Kiểm thử tự động với các mục đích:
- _ Giảm bớt công sức và thời gian thực hiện quá trình kiểm thử
- Tang d6 tin cay
20
Trang 21- _ Rèn luyện kỹ năng lập trình cho kiêm thử viên
- _ Giảm chỉ phí cho tổng quá trình kiểm thử
1.8.4 Sử dụng kiểm thử tự động vào khi nào
Khi nào cần kiểm thử tự động:
- Không đủ tài nguyên: Khi số lượng testcase quá nhiều mà kiêm thử viên không thé hoan tat trong thời gian cụ thé
- _ Kiểm tra hồi quy: Nâng cấp phần mềm, kiểm tra lại các tính năng đã chạy tốt và những tính năng đã sửa Tuy nhiên, việc này khó đảm bảo về mặt thời gian
- Kiểm tra khả năng vận hành phần mềm trong môi trường đặc biệt (Đo tốc độ trung bình xử lý một yêu cầu của Web server, xác định cau hình máy thấp nhất
mà phần mềm vẫn có thể hoạt động tốt)
1.8.5 Một số công cựwiễm thứ tự động
Một số công cụgiúp ích trong việc kiếm thứ tự động:
- HP Quick Test Professional
Trang 22CHƯƠNG 2: GIỚI THIỆU DỰ ÁN VÀ THUC HIEN KIEM THU
1 Giới thiệu về dự án
Hiện này nhu cầu mua sắm đồ dùng thiết bị thông minh đang trở lên rất phố biến các hình thức mua bán cũng ngày càng đa dạng đề bắt kịp với xu hướng hiện đại hóa Các trang
web bán hàng cũng xuất hiện vô cùng nhiều.Chính vì thế nhóm em xin giới thiệu tới thầy
cô và các bạn mô hình trang web bán đồ dùng thiết bị điện thoại thông minh
Các chức năng chính của trang web:
- Giao diện hệ thông
- Thém stra,x6a san pham
1.2 Phan tich yéu cau hé théng
1.2.1 Mô tả dự án
Trang web phải đáp ứng được nhưng yêu cầu:
-Đối với khách hàng:
+ Yêu cầu xem được các thông tin chỉ tiết về các sản phẩm
+ Trang web phải có giới thiệu và địa chỉ liên hệ rõ ràng
+ Hỗễ trợ tin tức về thị trường, khuyến mãi, giúp khách hàng nắm bắt đầy đủ thông tin để khách hàng mua được sản phẩm ưng ý nhất
+ Chức năng tìm kiếm: hỗ trợ khách hàng tìm kiếm nhanh chóng sản phẩm cần tìm
22
Trang 23+ Liên lạc, tư vấn, hỗ trợ : Theo dõi và trả lời những thắc mắc của khách hàng, khi
họ gặp vấn đề kỹ thuật cần được giải quyết nhanh chóng Đưa ra những câu hỏi và câu trả
lời cho các sự cô hay gập phải đề khách hàng có đầy đủ thông tin để không phải chờ đợi
+ Đặt hàng qua trang web: đề cho khách hàng có thể mua hàng và đặt hang theo yêu cầu của mình một cách dễ dàng và nhanh chóng kết hợp kiêm tra thông tin sản phẩm trước khi mua
- Đối với người quản trị:
+ Website: Người quản trị dễ dàng quán lý và sử dụng các chức năng của trang web như thêm, sửa, xóa, lưu trữ thông tm,
+ Chức năng: Chức năng phải thực hiện đúng yêu cầu, không gặp phải lỗi, hiển thị đầy đủ thông tin yêu cầu
1.2.2 Chi tiết chức năng:
Đăng nhập và đăng ký: Quản lý thông tin của người dùng bao gồm thông tin về tên, tài khoản, mật khẩu cùng các chức năng thêm sửa xóa người dùng và được bảo mật
Trang chủ: Quản lý các thông tin về sản pham và hiến thị thông tin trên website cho khách
hàng
Quản lý Flash sale: Quản lý thông tin sản phẩm bao gồm các thuộc tín như tên, hãnh sản xuất, giá thành, số lượng, Có các chức năng thêm, sửa, xóa thông tin san pham
Input: Thong tin san pham: tén, hanh san xuat, gia thanh, số lượng,
Thêm sản phâm : Chọn chức năng thêm sản phẩm hệ thống sẽ chuyển đến trang thêm sản phẩm Ở đây người quản trị nhập thôn tin sản phẩm sau đó gửi thông tin đã nhập cho hệ thống
Sửa sản phẩm: Người quản trị chọn chức năng này sẽ được hệ thống chuyển đến trang sửa, chính sửa thông tin cần sửa sau đó gửi thông tin đã nhập cho hệ thống
Xóa sản phẩm: người quản trị chọn sản pham cần xóa, hệ thống sẽ gửi thông tin sản phẩm
Trang 241.2.3 Ưu, nhược điểm:
- Ưu điểm:
+Tiết kiệm được chi phí quản lý bán hàng
+ Tiếp cận với khách hàng một cách nhanh chóng và tiện lợi
+ Mua ban moi lic moi noi
-Nhược điểm:
+ D6 bao mat con thap chưa an toan
+ Khó tạo dựng được độ tin cậy của khách hàng
+ Thường xuyên phải nâng cấp và hay gặp lỗi
1.3 Thực hiện thiết kế các form
2 | FONT-END WLB_DT ĐĂNG NHẬP | Đăng Nhập OK 1 1
WLB_DT TRANG CHU | Trang Chủ OK 1 3
3 PLOATSAEL LIST Quan Ly Float Sale OK 1 3
4 | BACK-END OATS, AEL_NEW Thêm Mới Sự Kiện | _ OK 1 4
° FLOATSAEL EDIT Sua Su Kien OK | 1 5
24
Trang 26b Giao dién dang ky
(va lòng nhập tên tài khoản
E1 Tôi đồng ý với các điều khoản bảo mật cá nhân
Đăng ký nhận bản tin khuyến mãi qua email hoặc điện thoại
Hoặc Đăng kí bằng tài khoản Google