1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kiểm thử tự động trên website product store

58 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểm Thử Tự Động Trên Website Product Store
Người hướng dẫn TS. Hoàng Thị Thanh Hà
Trường học Trường Đại Học Kinh Tế Đà Nẵng
Chuyên ngành Hệ Thống Thông Tin
Thể loại báo cáo thực tập
Thành phố Đà Nẵng
Định dạng
Số trang 58
Dung lượng 2,76 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

3 1.1.3 Lĩnh vực hoạt động - Trí tuệ nhân tạo / máy học: • Phân tích ngôn ngữ tự nhiên NLP • Nhận dạng hình ảnh và video Object Detection • Nhận dạng tài liệu Document Parser • Nhận dạn

Trang 1

TRƯỜNG ĐẠI HỌC KINH TẾ

KHOA THỐNG KÊ – TIN HỌC

BÁO CÁO THỰC TẬP NGHỀ NGHIỆP NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ

CHUYÊN NGÀNH QUẢN TRỊ HỆ THỐNG THÔNG TIN

ĐỀ TÀI:

KIỂM THỬ TỰ ĐỘNG TRÊN WEBSITE PRODUCT

STORE

Đơn vị thực tập : Công ty TMA Solution Bình Định

Giảng viên hướng dẫn : TS Hoàng Thị Thanh Hà

Trang 2

LỜI CẢM ƠN

Lời nói đầu tiên cho phép em gửi lời chân thành sâu sắc cảm ơn tất cả thầy cô giáo trong khoa Thống kê - tin học, trường Đại học Kinh tế Đà Nẵng đã nhiệt tình giảng dạy và truyền đạt những kiến thức trong suốt thời gian qua Những kiến thức này không chỉ là nền tảng cho quá trình thực tập, nghiên cứu đề tài báo cáo thực tập mà còn là hành trang quý báu giúp em tự tin bước vào đời Đặc biệt là mentor Nguyễn Đức Thắng, em cũng xin gửi lời cảm ơn đến Ban giám đốc Công ty TMA Solution Bình Định và toàn thể đội ngũ anh chị nhân viên đã cho phép và tạo điều kiện thuận lợi cho em được thực tập tại công ty Em xin chân thành cảm ơn các anh chị đã trực tiếp hướng dẫn em trong suốt 10 tuần thực tập vừa qua, em đã được áp dụng các kiến thức lý thuyết đã được học trên ghế nhà trường cũng như tích lũy thêm được rất nhiều kiến thức về trình độ chuyên môn nghiệp vụ, kinh nghiệm thực tế trong công việc Qua đó, em đã phần nào biết được một số phương thức phục vụ cho ngành mà em đang theo học và cũng chính là công việc sau này của bản thân Em xin gửi lời chúc sức khỏe đến toàn thể các anh chị trong công ty Chúc công ty ngày càng thành công và phát triển

Trang 3

LỜI CAM ĐOAN

Em xin cam đoan đề tài “Kiểm thử tự động hóa trên website Product Store” là kết quả nghiên cứu của cá nhân trên cơ sở nghiên cứu các lý thuyết đã học và dưới sự hướng dẫn của T.S Hoàng Thị Thanh Hà và mentor Nguyễn Đức Thắng Các kết quả nghiên cứu nêu trong báo cáo thực tập là trung thực và chưa từng được công bố trong bất kỳ công trình nghiên cứu nào Các tư liệu, tài liệu tham khảo từ các nghiên cứu trước đều được ghi chú dẫn nguồn đầy đủ Em xin hoàn toàn chịu trách nhiệm trước bộ môn, khoa và nhà trường

về sự cam đoan này

Trang 4

MỤC LỤC

CHƯƠNG 1 TỔNG QUAN VỀ CÔNG TY TMA 2

1.1 GIỚITHIỆUTỔNGQUÁTVỀDOANHNGHIỆPTHỰCTẬP 2

1.1.1 Quá trình phát triển 2 1.1.2 Tầm nhìn và sứ mệnh 2 1.1.3 Lĩnh vực hoạt động 3

1.2.1 Vị trí thực tập 3 1.2.2 Cơ hội nghề nghiệp 4

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM (TESTER)

5

2.1.1 Kiểm thử phần mềm là gì ? 5 2.1.2 Kiểm thử phần mềm tự động là gì ? 5 2.1.3 Các kỹ năng cần khi kiểm thử phần mềm 6 2.1.4 Tầm quan trọng của kiểm thử phần mềm 6

2.2.1 Kiểm thử hộp trắng (White Box Testing) 6 2.2.2 Kiểm thử hộp đen (Black Box Testing) 7 2.2.3 Kiểm thử hộp xám (Gray Box Testing) 7

Trang 5

2.3.1 Kiểm thử đơn vị (Unit Testing) 8 2.3.2 Kiểm thử tích hợp (Integration Testing) 8 2.3.3 Kiểm thử hệ thống (System Testing) 9 2.3.4 Kiểm thử chấp nhận (Acceptance Testing) 9

CHƯƠNG 3 KIỂM THỬ TỰ ĐỘNG HÓA TRÊN WEB PRODUCT STORE

11

3.1.1 Selenium là gì ? 11 3.1.2 Các thành phần của Selenium 11 3.1.3 Selenium Webdriver 12

3.4.1 Yêu cầu phi chức năng 14

3.4.2 Yêu cầu chức năng 15

a Use case Sign up 16

b Use case Login/Logout 17

c Use case Add to Cart 19

d Use case Contact 21

Trang 6

e Use case Place Order 22

3.5.2 Cài đặt môi trường kiểm thử 29

3.6.1 Kiểm thử chức năng Sign up 31 3.6.2 Kiểm thử chức năng Login/Logout 32 3.6.3 Kiểm thử kiểm thử chức năng Add to Cart 35 3.6.4 Kiểm thử kiểm thử chức năng Contact 37 3.6.5 Kiểm thử chức năng Place Order 39

Trang 7

Hình 3.3 Trang web Product Store 14

Hình 3.4 Use case tổng quát 16

Hình 3.5 Use case Sign up 16

Hình 3.6 Màn hình Sign up 17

Hình 3.7 Use case Login/Logout 18

Hình 3.8 Màn hình Login 18

Hình 3.9 Use case Add to Cart 19

Hình 3.10 Màn hình thêm sản phẩm vào giỏ hàng 20

Hình 3.11 Màn hình sản phẩm đã được thêm vào và xóa sản phẩm ra khỏi giỏ hàng

Trang 8

DANH MỤC BẢNG BIỂU

Trang 9

hỗ trợ kiểm thử có khá nhiều ưu điểm như có thể kiểm thử trên nhiều trình duyệt,

hỗ trợ nhiều ngôn ngữ lập trình Đây là những công cụ tốt nhất cho kiểm tra web application đó Đó là lí do chọn đề tài Kiểm thử tự động trên website Product Store

2 Mục tiêu của đề tài

Đề tài này nghiên cứu về “Kiểm tra tự động hóa trên website Product Store” nhằm mục đích ứng dụng công cụ và kiến thức để viết kịch bản kiểm thử trên một ứng dụng, website cụ thể

3 Đối tượng và phạm vi nghiên cứu

Địa điểm: Công ty TMA Solution Bình Định Thời gian thực hiện: 19/6/2023 đến ngày 25/8/2023 Đối tượng kiểm thử: website Product Store

4 Kết cấu của đề tài

Đề tài được tổ chức gồm phần mở đầu, 3 chương nội dung và phần kết luận

- Mở đầu

- Chương 1: Tổng quan về công ty TMA

- Chương 2: Cơ sở lý thuyết Tester

- Chương 3: Kiểm thử tự động trên website Product Store

- Chương 4: Kết quả thực hiện

- Kết luận và hướng phát triển

Trang 10

2

CHƯƠNG 1 TỔNG QUAN VỀ CÔNG TY TMA

1.1 Giới thiệu tổng quát về doanh nghiệp thực tập

Tháng 6 năm 2018, TMA đã mở chi nhánh tại Bình Định Sau 4 năm, TMA Bình Định đã phát triển nhanh chóng với hơn 400 kỹ sư, trong đó có nhiều kỹ sư đang làm việc tại TP.HCM đã trở về làm việc tại quê hương

Tháng 8 năm 2018, TMA đã khởi công xây dựng Công viên Sáng tạo TMA Bình Định (TMA Innovation Park – TIP) trên 10 hecta tại Thung lũng Sáng tạo Quy Nhơn (Quy Nhon Innovation Park – QNIVY) với vốn đầu tư hàng trăm tỷ đồng

1.1.2 Tầm nhìn và sứ mệnh

Là trung tâm phần mềm đầu tiên tại Thung lũng Sáng tạo Quy Nhơn, Công viên Sáng tạo TMA mang sứ mệnh trở thành trung tâm phát triển phần mềm và công nghệ cao hàng đầu tại miền Trung, góp phần quan trọng đưa Thung lũng sáng tạo Quy Nhơn trở thành một điểm đến của công nghệ 4.0 tại Việt Nam Công viên Sáng tạo TMA bao gồm Trung tâm Phát triển Phần Mềm, Xưởng Phần mềm, Trung tâm R&D, Trung tâm Khoa học Dữ liệu, Học viện Công Nghệ

Trang 11

3

1.1.3 Lĩnh vực hoạt động

- Trí tuệ nhân tạo / máy học:

• Phân tích ngôn ngữ tự nhiên (NLP)

• Nhận dạng hình ảnh và video (Object Detection)

• Nhận dạng tài liệu (Document Parser)

• Nhận dạng quảng cáo (Brand Detection)

• Phân tích năng lực và hành vi học sinh (Student Analytics)

• Tối ưu hoạt động máy móc (Machine Optimization)

- Dữ liệu lớn / phân tích dữ liệu:

• Thiết kế hệ thống dữ liệu doanh nghiệp

• Thu thập và phân tích dữ liệu trong thời gian thực

Công việc của Tester bao gồm tạo ra các kịch bản kiểm thử, thực hiện các ca kiểm thử, tìm kiếm và ghi nhận các lỗi, sự cố hoặc không thỏa mãn yêu cầu, và tạo

Trang 12

4

báo cáo chi tiết về kết quả kiểm thử Có khả năng chỉ ra các lỗi và sự cố trong phần mềm, hiểu rõ yêu cầu của khách hàng và tích hợp kiến thức về thiết kế và phát triển phần mềm để đảm bảo sự hoạt động chính xác và nhất quán của sản phẩm

1.2.2 Cơ hội nghề nghiệp

Có cơ hội phát triển lớn, có thể làm việc ở môi trường làm việc trong nước

và có cơ hội đi làm tại các nước phát triển như Nhật, Mỹ, Canada

Mức lương: Tùy vào khả năng mà mức lương khởi điểm từ 5 triệu - 20 triệu

Trang 13

5

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM (TESTER)

2.1 Tổng quan về kiểm thử phần mềm

- Manual Testing (kiểm thử Thủ công)

- Automation Testing (kiểm thử Tự động)

2.1.2 Kiểm thử phần mềm tự động là gì ?

Kiểm thử phần mềm tự động còn được gọi với các tên khác là Automation Testing Kiểm thử phần mềm tự động có thể hiểu rất đơn giản là thay vì kiểm thử bằng tay thì ta dùng các công cụ để hỗ trợ thực hiện kiểm thử mà Tester phải làm (khởi động hệ thống, nhập dữ liệu đầu vào, kiểm tra so sánh với dữ liệu đầu ra và ghi kết quả)

Automation Testing đóng một vai trò quan trọng góp phần nâng cao hiệu quả kiểm thử, giảm thiểu lỗi cũng như sự nhàm chán với việc kiểm thử bằng tay trong

Trang 14

6

một thời gian dài và việc lặp đi lặp lại Kiểm thử tự động là một quá trình xử lý tự động các bước thực hiện một test case và được thực hiện bởi phần mềm là Automation Testing Tool

2.1.3 Các kỹ năng cần khi kiểm thử phần mềm

Để kiểm tra trên source code của các lập trình viên, các Tester cần phải hiểu một ít kiến thức về lập trình Cần phải có được những kỹ năng thiết kế, lập trình, phân tích và hiểu biết về các ứng dụng khác nhau của các phần mềm

Người làm công việc kiểm thử cũng cần có trình độ tiếng Anh để đọc, hiểu, viết được tài liệu chuyên ngành Tester phải có tính cẩn thận, tỉ mỉ, nhạy bén, cần phải phải học nhiều để có tầm nhìn rộng, biết được xu hướng thị trường để tư vấn

và đưa ra quan điểm của mình về sản phẩm

2.1.4 Tầm quan trọng của kiểm thử phần mềm

Tester là nghề vô cùng quan trọng, nó là một phần không thể thiếu và quan trọng trong kiểm thử phần mềm Hai chữ "kiểm thử" nghe có vẻ đơn giản, nhàn rỗi đây là một giai đoạn giúp cho sản phẩm được hoàn thiện nhằm đáp ứng yêu cầu đặt

ra của khách hàng Sản phẩm hoàn thiện đưa đến tay người dùng tăng thêm niềm tin và sự uy tín của công ty đối với khách hàng Nếu không có kiểm thử phần mềm thì phần mềm sẽ xảy ra lỗi Chính vì vậy, Tester là vị trí không thể thiếu và công việc này quyết định khá nhiều vào sự thành công chung của dự án

2.2 Các kỹ thuật kiểm thử phần mềm

2.2.1 Kiểm thử hộp trắng (White Box Testing)

Kiểm thử hộp trắng là kiểm tra mà các Tester tìm kiếm lỗi bên trong code, cấu trúc của mã, biết được hoạt động bên trong mã để tìm đoạn mã phù hợp Mục đích là kiểm thử bao phủ nhiều nhất các câu lệnh và các rẽ nhánh trong mã nguồn nếu có thể

Ưu và nhược điểm là dễ dàng tìm ra loại dữ liệu nào kiểm tra ứng dụng hiệu quả và tối ưu mã hóa Song kiểm thử hộp trắng có nhược điểm không xem được mọi ngóc ngách để tìm lỗi tiềm ẩn vì nhiều đường dẫn không được kiểm tra và khó thực

Trang 15

7

hiện vì yêu cầu các công cụ chuyên dụng như bộ phân tích mã và công cụ sửa lỗi

2.2.2 Kiểm thử hộp đen (Black Box Testing)

Kiểm thử hộp đen là kiểu kiểm tra mà Tester thực hiện kiểm tra không chú ý

gì đến code, nói một cách dễ hiểu là không có bất kỳ kiến thức về hoạt động bên trong của ứng dụng Việc kiểm tra xảy ra dựa trên các đặc tả bên ngoài như giao diện, cũng có thể hiểu như kiểm tra hành vi, chỉ hành vi bên ngoài của ứng dụng là được đánh giá và phân tích Mục đích là kiếm các trường hợp và chương trình không thực hiện theo các đặc tả của nó

Ưu và nhược điểm là phù hợp và hiệu quả với các đoạn mã lớn và truy cập

mã không cần thiết Phân biệt ra người dùng với nhà phát Bên cạnh đó kiểm thử hộp đen có nhược điểm là phạm vi hạn chế do thiếu kiến thức và người kiểm tra không nhắm mục tiêu cụ thể hoặc khu vực xảy ra lỗi

2.2.3 Kiểm thử hộp xám (Gray Box Testing)

Kiểm thử hộp xám là sự kết hợp giữa kiểm thử hộp đen và kiểm thử hộp trắng Trong đó ta quan tâm đến dữ liệu đầu vào và đầu ra trong kiểm thử hộp đen

và có sự hiểu biết về cấu trúc của hệ thống cũng như quyền truy cập về cơ sở dữ liệu Mục đích là tìm kiếm và xác định các lỗi do cấu trúc không đúng hoặc được

sử dụng không đúng cách

Ưu và nhược điểm của kiểm thử hộp xám là cung cấp các lợi ích của kiểm thử hộp đen và kiểm thử hộp xám Kiểm tra được thực hiện từ quan điểm của người dung hơn là quan điểm của nhà thiết kế Song nhược điểm là có thể mất nhiều thời gian để kiểm tra từng đường dẫn

Trang 16

8

2.3 Các cấp độ kiểm thử phần mềm

Hình 2.3 Các cấp độ kiểm thử phần mềm

2.3.1 Kiểm thử đơn vị (Unit Testing)

Kiểm tra đơn vị là kiểm tra từng đơn vị hoặc một thành phần riêng lẻ Nó là phần nhỏ nhất của một ứng dụng như hàm, lớp, thủ tục, giao diện Kiểm thử đơn vị thường có kích thước nhỏ, chức năng hoạt động đơn giản, không gây nhiều khó khăn trong việc kiểm thử, ghi nhận và phân tích kết quả do đó nếu phát hiện lỗi việc tìm kiếm nguyên nhân và sửa lỗi cũng đơn giản và tốn ít chi phí hơn Khi mà lập trình viên hoàn thành xong một chức năng hay màn hình nhỏ nào đó thì sẽ kiểm tra lại

Mục đích nhằm xác nhận rằng mỗi đơn vị của phần mềm hoạt động có đúng chức năng, có chính xác không

Người thực hiện: Nó đòi hỏi kiến thức về lập trình cũng như về thiết kế nên kiểm thử đơn vị được thực hiện bởi lập trình viên

2.3.2 Kiểm thử tích hợp (Integration Testing)

Kiểm tra tích hợp là các đơn vị/mô-đun được tích hợp lại một cách hợp lí và được kiểm thử theo nhóm Trong quá trình kiểm thử phần mềm thì các mô đun được kiểm thử độc lập, riêng rẻ thông qua kiểm thử đơn vị, sau đó sẽ được tích hợp lại thành một hệ thống hoàn chỉnh

Mục đích: Là tìm ra sự khiếm khuyết trong sự tương tác giữa các mô đun

Trang 17

• Hybrid/ Sandwich: Là phương pháp kết hợp song song giữa Top down

và Bottom up kiểm tra tích hợp ở nhiều mức độ khác nhau, các mô-đun ở đầu được kiểm tra với các mô-đun thấp hơn đồng thời các mô-đun thấp hơn được tích hợp với các mô-đun ở đầu hay còn được gọi là kiểm tra xen kẽ nhau

2.3.3 Kiểm thử hệ thống (System Testing)

Kiểm thử hệ thống là quá trình kiểm thử toàn bộ hệ thống để kiểm tra khả năng tương thích và tất cả các chức năng của hệ thống thường là thử nghiệm cuối cùng để xác minh rằng hệ thống được phân phối đáp ứng đặc điểm kỹ thuật và mục đích của nó Mục đích là đảm bảo các thành phần phần hoạt động tương tốt trước khi đưa ra sản phẩm triển khai

Có 2 loại kiểm thử: Kiểm thử chức năng (functional testing) và Kiểm thử phi chức năng (Non-functional testing)

2.3.4 Kiểm thử chấp nhận (Acceptance Testing)

Kiểm thử chấp nhận được thực hiện bởi người dùng hoặc khách hàng, đảm bảo hệ thống hoặc ứng dụng phù hợp với yêu cầu và mong đợi của người dùng cuối Được thực hiện bởi Quality Assurance, đánh giá xem liệu ứng dụng có đáp ứng được thông số kỹ thuật và yêu cầu của khách hàng, tập hợp kịch bản trước và các test case đó sẽ được sử dụng để kiểm tra thử ứng dụng

Có 2 phương pháp kiểm tra chấp nhận:

Trang 18

10

• Alpha testing: Là giai đoạn thử nghiệm đầu được thực hiện tại trang web của nhà phát triển, được thực hiện bởi nhà phát triển và Quality Assurance Mục đích: nhằm tìm ra lỗi và cải tiến ứng dụng, trước khi ứng dụng chuyển giao cho khách hàng

• Beta testing: được thực hiện ở môi trường doanh nghiệp, được kiểm tra bởi khách hàng, người dùng cuối Nó được thực hiện trước khi ra mắt sản phẩm Mục đích: là thu thập những phản hồi và trải nghiệm của của người dùng tìm ra những vấn đề, cải thiện ứng dụng trước khi ra mắt sản phẩm

Trang 19

11

CHƯƠNG 3 KIỂM THỬ TỰ ĐỘNG HÓA TRÊN WEB PRODUCT STORE

3.1 Các kỹ thuật kiểm thử phần mềm

3.1.1 Selenium là gì ?

Selenium thường được viết tắt là (SE) là một phần mềm mã nguồn mở, được phát triển bởi Jason Huggins, là một công cụ phổ biến trong tự động hóa kiểm thử phần mềm (Automation testing)

Selenium là một công cụ mạnh mẽ cho việc kiểm thử ứng dụng web vì nó hỗ trợ nhiều trình duyệt phổ biến như Chrome, Firefox, Internet Explorer, và Edge, cũng như các hệ điều hành chủ yếu như Windows , Linux , Mac ,

Selenium hỗ trợ nhiều ngôn ngữ lập trình như Java, Python, C#, Ruby, và nhiều ngôn ngữ khác Nó cho phép các nhà phát triển và kiểm thử viết các kịch bản kiểm thử sử dụng mã và sau đó chạy những kịch bản này trên trình duyệt web thực

tế để kiểm tra tính năng và tương tác của ứng dụng

3.1.2 Các thành phần của Selenium

Hình 3.1 Thành phần của Selenium

Selenium bao gồm một bộ các công cụ hỗ trợ kiểm tra tự động tính năng của

Trang 20

• Selenium Remote Control (RC): Cung cấp một máy chủ (server) để thực thi các lệnh tự động hóa, và máy chủ này sẽ giao tiếp với trình duyệt thông qua JavaScript nhúng (JavaScript injection) để thực hiện các hành động trên trình duyệt.cung cấp một máy chủ (server) để thực thi các lệnh tự động hóa, và máy chủ này sẽ giao tiếp với trình duyệt thông qua JavaScript

• Selenium WebDriver: Thực hiện kiểm tra của bạn trên các trình duyệt khác nhau (Firefox, Chrome, IE, Edge, Opera, Safari,/…) Giao tiếp trực tiếp với trình duyệt Thời gian thực thi nhanh hơn Selenium RC và IDE

• Selenium Grid: Được sử dụng để chạy các kịch bản kiểm thử đồng thời trên nhiều trình duyệt và nhiều hệ thống khác nhau Chạy song song nhiều thử nghiệm trên các máy khác nhau, các trình duyệt và môi trường khác nhau cùng một lúc Tiết kiệm thời gian và sử dụng khái niệm trung tâm và nút, hub hoạt động như một nguồn trung tâm của các lệnh Selenium cho mỗi nút được kết nối với nó

3.1.3 Selenium Webdriver

Hình 3.2 Selenium Webdriver

Selenium WebDriver (gọi tắt là WebDriver) là một automation framework

Trang 21

13

dành cho web, với WebDriver bạn có thể thực hiện các phiên kiểm thử của mình trên các trình duyệt khác nhau mà không cần giới hạn trên Firefox hay Chrome Tương tác với các thành phần trang theo cách thực tế hơn Cung cấp các phương thức và API cho việc tương tác với các yếu tố trên trang web, chẳng hạn như điều hướng qua các trang, nhập liệu vào các ô nhập liệu, click vào các nút, thu thập thông tin và kiểm tra các yếu tố

WebDriver sẽ cung cấp công cụ hỗ trợ bạn tốt hơn trong việc coding để tạo test scripts Bạn có thể sử dụng ngay các phương thức điều kiện như if-then-other, switch case, hoặc vòng lặp như do-while WebDriver hỗ trợ nhiều ngôn ngữ lập trình khác nhau như Python, 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 một 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

3.1.4 Python

Python là một ngôn ngữ lập trình được sử dụng rộng rãi trong các ứng dụng web, phát triển phần mềm, khoa học dữ liệu và máy học Các nhà phát triển sử dụng Python vì nó hiệu quả, dễ học và có thể chạy trên nhiều nền tảng khác nhau Phần mềm Python được tải xuống miễn phí, tích hợp tốt với tất cả các loại hệ thống và tăng tốc độ phát triển

3.2 Giới thiệu bài toán

Thông qua kiểm thử tự động, kịch bản kiểm thử được viết theo yêu cầu của khách hàng, tìm ra lỗi để hệ thống hoạt động tốt trước khi đưa đến tay khách hàng Bên cạnh

đó kiểm thử tự động sử dụng Selenium và Python để thực hiện các thao tác và kiểm tra các yếu tố trên trang web

Các kịch bản kiểm thử tự động này giúp đảm bảo tính chính xác và hiệu quả của trang web, từ đó giúp tăng cường trải nghiệm của người dùng và đảm bảo hoạt động ổn định của ứng dụng và giúp nâng cao độ tin cậy và tính ổn định của ứng dụng web Product Store Cung cấp kết quả kiểm thử rõ ràng và dễ đọc, giúp nhà phát triển nắm bắt tình trạng của ứng dụng một cách chính xác và nhanh chóng đưa ra các cải tiến cần thiết

Giả sử trang web có chức năng sau:

Trang 22

3.3 Giới thiệu về ứng dụng kiểm thử

Trong đề tài này, chúng em đã tiến hành thực hiện kiểm thử tự động cho một trang web cụ thể đó là Product Store dựa trên các testcase Các test case được xây dựng trên môi trường Python thông qua Selenium Webdriver trên Visual studio code

Link website: https://www.demoblaze.com/

Trang web Product Store nhằm đáp ứng nhu cầu mua sắm trực tuyến các sản phẩm công nghệ cho người tiêu dung

Hình 3.3 Trang web Product Store

3.4 Đặc tả yêu cầu

3.4.1 Yêu cầu phi chức năng

- Yêu cầu vận hành: Ứng dụng hoạt động trên nền tảng website

- Yêu cầu bảo mật: Vấn đề bảo mật sẽ được ưu tiên, đảm bảo bảo mật thông tin khách hàng tuyệt đối

- Yêu cầu hiệu suất: Login/Logout

• Hệ thống hoạt động liên tục 24/24

Trang 23

15

• Tốc độ thời gian phản hồi hệ thống 0.2 giây

3.4.2 Yêu cầu chức năng

Trước khi sử dụng hệ thống người dùng phải Login Nếu không Login hoặc Login không hợp lệ thì người dùng không thực hiện các hoạt động trong ứng dụng

3.4.2.1 Mô tả chung

a Sign up

Người dùng chưa có tài khoản, mới sử dụng ứng dụng web Product Store lần đầu tiên sẽ lập tài khoản, nhập username và password, chọn vào sign up Tài khoản đã được tạo thành công

b Login/Logout

Login vào ứng dụng

Người dùng nhập tên đăng nhập và mật khẩu Ứng dụng tiến hành kiểm tra thông tin đăng nhập Nếu thông tin đăng nhập đúng thì có thể bắt đầu mua sắm trong ứng dụng Nếu thông tin đăng nhập sai thì tiến hành đăng nhập lại Đăng nhập thành công hiển thị màn hình chức năng

Logout khỏi ứng dụng

Người dùng muốn đăng xuất khỏi ứng dụng Product Store, chọn vào button Logout ở màn hình Product Store Sau khi click chọn thì người dung đăng xuất khỏi ứng dụng web và hiển thị đến màn hình chính

c Add to Cart

Người dùng đăng nhập thành công vào ứng dụng sẽ hiện lên màn hình mua sắm Thêm sản phẩm muốn mua vào giỏ hàng, sau đó chọn button Cart khi truy cập vào sẽ hiển thị những sản phẩm được thêm vào giỏ hàng Nếu muốn xóa sản phẩm thì chọn button Delete để xóa sản phẩm, sau khi xong kiểm tra lại xem sản phẩm đã được xóa ra khỏi giỏ hàng của bạn

d Contact

Trang 24

16

Người dùng đăng nhập thành công vào ứng dụng sẽ hiện lên màn hình mua sắm Tiếp đến, chọn button Contact, màn hình sẽ xuất hiện những thông tin cần bạn điền đầy đủ như địa chỉ email, tên và lời nhắn mà bạn muốn gửi đến người nhận Sau khi nhập đầy đủ thông tin thì chọn vào button Send message Những phản hồi đã được gửi đến người nhận

e Place Order

Người dùng đăng nhập thành công vào ứng dụng sẽ hiện lên màn hình mua sắm Chọn được những sản phẩm ưng ý rồi sẽ đến bước đặt hàng, trong đặt hàng cần nhập đầy đủ thông tin về tên, đất nước, thành phố, số tài khoản ngân hàng, tháng và năm sinh Thông tin nhập đầy đủ và hợp lệ rồi thì chọn button Purchase, bạn đã đặt hàng thành công

3.4.2.2 Mô tả Usecase

Use case tổng quát của quán tạp hóa

Hình 3.4 Use case tổng quát

a Use case Sign up

Hình 3.5 Use case Sign up

Màn hình Sign up

Trang 25

17

Hình 3.6 Màn hình Sign up

Use case name: Sign up Actor: User

Brief Description: Use case này được thực hiện khi User tạo tài khoản

Triggers: Tạo tài khoản để vào ứng dụng Product Store

Relationships: User thực hiện chức năng sign up bằng cách nhập tên đăng nhập,

mật khẩu

Main flow – Operation:

- Bước 1: Click vào “Sign up” ở màn hình “Product Store”

- Bước 2: Nhập Username/ Password

- Bước 3: Click vào “Sign up” ở màn hình “Product Store”

- Bước 4: Sign up thành công hiển thị màn hình chức năng

Alternative flows:

- Hệ thống xác thực thông tin không thành công và hiển thị thông báo

Bảng 3.1 Bảng chi tiết use case Sign up

b Use case Login/Logout

Trang 26

Brief Description: Use case này được thực hiện khi User muốn Login vào ứng dụng

Product Store bằng cách nhập tên đăng nhập và mật khẩu

Triggers: User bắt đầu mua sắm với ứng dụng Product Store

Relationships: User thực hiện chức năng Login bằng cách nhập tên đăng nhập, mật khẩu Main flow – Operation:

- Bước 1: Click vào “Login” ở màn hình “Product Store”

- Bước 2: Nhập Username/ Password

- Bước 3: Click vào “Login” ở màn hình “Product Store”

- Bước 4: Login thành công hiển thị màn hình chức năng

Bảng 3.2 Bảng chi tiết use case Login

Trang 27

19

Bảng chi tiết use case Logout

Use case name: Logout Actor: User

Brief Description: Use case này được thực hiện khi User muốn Logout khỏi ứng

dụng Product Store

Triggers: User muốn Logout khỏi ứng dụng Product Store

Relationships:

- User thực hiện chức năng Logout

- Logout là chức năng mở rộng của Login

Main flow – Operation:

- Bước 1: Click vào “Logout” ở màn hình “Product Store”

- Bước 2: User logout khỏi hệ thống và hiển thị đến màn hình chính

Bảng 3.3 Bảng chi tiết use case Logout

c Use case Add to Cart

Hình 3.9 Use case Add to Cart

Màn hình Add to Cart

Trang 28

20

Hình 3.10 Màn hình thêm sản phẩm vào giỏ hàng

Hình 3.11 Màn hình sản phẩm đã được thêm vào và xóa sản phẩm ra khỏi giỏ hàng

Use case name: Thêm sản phẩm vào giỏ hàng Actor: User

Brief Description: User thực hiện thêm sản phẩm vào giỏ hàng

Triggers: User muốn thêm sản phẩm vào giỏ hàng

Relationships:

- User thực hiện chức năng thêm sản phẩm vào giỏ hàng

- Chỉ được thêm mới khi Login thành công vào ứng dụng

- Xóa sản phẩm chức năng mở rộng của thêm sản phẩm

Trang 29

21

Main flow – Operation:

- Bước 1: User login thành công vào ứng dụng, muốn thêm mới vào giỏ hàng

- Bước 2: Click vào button “Cart” tại màn hình Product Store

- Bước 3: Click vào sản phẩm muốn thêm vào giỏ hàng

- Bước 4: Mở giỏ hàng để xem sản phẩm đã được thêm vào chưa, sản phẩm chưa thêm vào thì quay lại bước 2

- Bước 5: Nếu không thích sản phẩm được thêm vào có thể xóa ra khỏi giỏ hàng

Bảng 3.4 Bảng chi tiết use case Add to Cart

d Use case Contact

Hình 3.12 Use case Contact

Màn hình Contact

Hình 3.13 Màn hình Contact

Ngày đăng: 12/12/2023, 19:44

HÌNH ẢNH LIÊN QUAN

Hình 2.3 Các cấp độ kiểm thử phần mềm  2.3.1 Kiểm thử đơn vị (Unit Testing) - Kiểm thử tự động trên website product store
Hình 2.3 Các cấp độ kiểm thử phần mềm 2.3.1 Kiểm thử đơn vị (Unit Testing) (Trang 16)
Hình 3.1 Thành phần của Selenium - Kiểm thử tự động trên website product store
Hình 3.1 Thành phần của Selenium (Trang 19)
Hình 3.3 Trang web Product Store - Kiểm thử tự động trên website product store
Hình 3.3 Trang web Product Store (Trang 22)
Hình 3.5 Use case Sign up - Kiểm thử tự động trên website product store
Hình 3.5 Use case Sign up (Trang 24)
Hình 3.8 Màn hình Login - Kiểm thử tự động trên website product store
Hình 3.8 Màn hình Login (Trang 26)
Hình 3.10 Màn hình thêm sản phẩm vào giỏ hàng - Kiểm thử tự động trên website product store
Hình 3.10 Màn hình thêm sản phẩm vào giỏ hàng (Trang 28)
Hình 3.11 Màn hình sản phẩm đã được thêm vào và xóa sản phẩm ra khỏi giỏ hàng - Kiểm thử tự động trên website product store
Hình 3.11 Màn hình sản phẩm đã được thêm vào và xóa sản phẩm ra khỏi giỏ hàng (Trang 28)
Bảng 3.4 Bảng chi tiết use case Add  to Cart - Kiểm thử tự động trên website product store
Bảng 3.4 Bảng chi tiết use case Add to Cart (Trang 29)
Bảng 3.5 Bảng chi tiết use case Contact - Kiểm thử tự động trên website product store
Bảng 3.5 Bảng chi tiết use case Contact (Trang 30)
Bảng 3.6 Bảng chi tiết use case Place Order - Kiểm thử tự động trên website product store
Bảng 3.6 Bảng chi tiết use case Place Order (Trang 32)
Bảng 3.7 Test case của chức năng Sign up - Kiểm thử tự động trên website product store
Bảng 3.7 Test case của chức năng Sign up (Trang 33)
Bảng 3.8 Test case của chức năng Login/Logout - Kiểm thử tự động trên website product store
Bảng 3.8 Test case của chức năng Login/Logout (Trang 35)
Bảng 3.9 Test case của chức năng Cart - Kiểm thử tự động trên website product store
Bảng 3.9 Test case của chức năng Cart (Trang 35)
Bảng 3.10 Test case của chức năng Contact - Kiểm thử tự động trên website product store
Bảng 3.10 Test case của chức năng Contact (Trang 36)
Bảng 3.11 Test case của chức năng Place Order - Kiểm thử tự động trên website product store
Bảng 3.11 Test case của chức năng Place Order (Trang 37)
w