1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM

75 124 1

Đ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

Định dạng
Số trang 75
Dung lượng 5,08 MB

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

Nội dung

Mục tiêu nghiên cứu  Có cái nhìn đúng đắn và sâu sắc hơn về các vấn đề cơ bản của công nghệphần mềm, lỗi phần mềm và kiểm thử phần mềm  Hiểu rõ các thành phần của bộ công cụ Selenium 

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM

BÁO CÁO ĐỒ ÁN KIỂM THỬ VÀ ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM

KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE

BẰNG CÔNG CỤ SELENIUM

Ngành: CÔNG NGHỆ THÔNG TIN

Giảng viên hướng dẫn: ThS Nguyễn Hữu Trung

Nhóm Sinh viên thực hiện:

Phạm Văn Khải 1811061405 18DTHB2

Trần Nhựt Tân 1811061686 18DTHB2

Nguyễn Quang Huy 1811062133 18DTHB2

Dương Quốc Nam 1811062201 18DTHB2

TP Hồ Chí Minh, 2021

Trang 2

áp dụng tốt nhất những gì đã được học suốt những buổi học qua.

Trong quá trình thực hiện và làm báo cáo, do còn thiếu nhiều kinh nghiệm thực

tế nên không tránh khỏi những sai sót Chúng em rất mong nhận được những ý kiếnđóng góp của Thầy để giúp chúng em trong lĩnh vực này được hoàn thiện hơn Đó làhành trang quý giá giúp chúng em hoàn thiện kiến thức của mình sau này

Chúng em xin chân thành cảm ơn và trân trọng kính chào!

Trang 3

NHẬN XÉT & ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN

Qua quá trình học tập:

Giáo viên hướng dẫn có một số nhận xét, đánh giá như sau:

1/- Quá trình học tập

2/- Thực hiện báo cáo

Đánh giá chung

Kết quả đạt được: Điểm đánh giá việc thực hiện báo cáo………/10

TP HCM, Ngày 01 tháng 08 năm

2021

GIẢNG VIÊN HƯỚNG DẪN

ThS Nguyễn Hữu Trung

Trang 4

MỤC LỤC

LỜI CẢM ƠN i

NHẬN XÉT & ĐÁNH GIÁ CỦA GIẢNG VIÊN HƯỚNG DẪN ii

MỤC LỤC iii

DANH MỤC BẢNG vi

DANH MỤC HÌNH ẢNH vii

LỜI MỞ ĐẦU 1

CHƯƠNG 1:TỔNG QUAN PHẦN MỀM VÀ LỖI PHẦN MỀM 3

1.1 Phần mềm và khái niệm liên quan 3

1.1.1 Phần mềm 3

1.1.2 Yêu cầu khách hàng 3

1.1.3 Đặc tả yêu cầu phần mềm 4

1.1.4 Chất lượng và độ tin cậy của phần mềm 4

1.2 Định nghĩa về công nghệ phần mềm 5

1.3 Vòng đời phần mềm 5

1.4 Lỗi phần mềm 6

1.4.1 Định nghĩa về lỗi phần mềm và phân loại phần mềm 6

1.4.2 Các nguyên nhân gây lỗi phần mềm 7

CHƯƠNG 2: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 10

2.1 Kiểm thử phần mềm 10

2.1.1 Khái niệm 10

2.1.2 Vai trò của kiểm thử phần mềm 10

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

2.1.4 Quy trình kiểm thử phần mềm 12

2.1.5 Phân loại kiểm thử phần mềm 14

2.1.6 Các mức độ nghiêm trọng của lỗi 15

2.1.7 Kiểm thử tự động 17

2.2 Các kỹ thuật xác định ca kiểm thử 18

2.2.1 Kỹ thuật phân vùng tương đương 18

2.2.2 Kỹ thuật phân tích giá trị biên 19

2.2.3 Đoán lỗi 20

2.2.4 Kỹ thuật kiểm tra trạng thái 20

Trang 5

2.3 Kết luận 20

CHƯƠNG 3: KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB BẰNG CÔNG CỤ SELENIUM 22

3.1 Công cụ kiểm thử tự động Selenium 22

3.1.1 Giới thiệu chung về Selenium 22

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

3.1.3 Hướng dẫn cài đặt Selenium 25

3.1.3.1 Selenium IDE 25

3.1.3.2 Selenium Webdriver 26

3.1.3.3 Selenium Grid 27

CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 30

4.1 Khảo sát hiện trạng 30

4.2 Đối tượng sử dụng và chức năng của website 32

4.3 Phân tích hệ thống 33

4.3.1 Quan hệ giữa các bảng 33

4.3.2 Thiết kế các bảng 33

4.3.3 Các mô hình dữ liệu 35

4.3.4 Sơ đồ ClassDiagram 37

4.3.5 Sơ đồ ERD 37

CHƯƠNG 5: ỨNG DỤNG KIỂM THỬ WEB VÀ DEMO CHƯƠNG TRÌNH 38

5.1 Ứng dụng kiểm thử web 38

5.1.1 Form đăng nhập 38

5.1.2 Form đăng ký 38

5.1.3 Form thông tin tài khoản 39

5.1.4 Form Cập nhật thông tin sản phẩm 40

5.1.5 Form thêm sản phẩm 41

5.1.6 Form thay đổi mật khẩu 42

5.2 Xây dựng testcase 42

5.2.1 Testcase Đăng nhập 42

5.2.2 Testcase đăng ký 44

5.2.3 Testcase cập nhật thông tin tài khoản 45

5.2.4 Testcase cập nhật thông tin sản phẩm 46

Trang 6

5.2.5 Testcase thêm sản phẩm 47

5.2.6 Testcase chỉnh sửa password 48

5.3 Dữ liệu đầu vào 50

5.3.1 Đăng nhập 50

5.3.2 Đăng ký 51

5.3.3 Cập nhật thông tin tài khoản 52

5.3.4 Cập nhật thông tin sản phẩm 52

5.3.5 Thêm sản phẩm 53

5.3.6 Thay đổi mật khẩu 53

5.4 Chi Tiết kết quả 54

5.4.1 Test case Đăng nhập 54

5.4.2 Test case Cập nhật thông tin tài khoản 55

5.4.3 Testcase Cập nhật thông tin sản phẩm 56

5.4.4 Testcase Thêm sản phẩm 57

5.4.5 Testcase Thay đổi mật khẩu 58

5.5 Thực hiện test bằng Selenium WebDriver 59

5.5.1 Đăng nhập hệ thống 59

5.5.2 Đăng ký hệ thống 59

5.5.3 Cập nhật thông tin tài khoản 60

5.5.4 Cập nhật thông tin sản phẩm 60

5.5.5 Thêm sản phẩm 61

5.5.6 Thay đổi mật khẩu 61

5.6 Báo cáo kết quả 62

CHƯƠNG 6: KẾT LUẬN 63

6.1 Kết quả đạt được 63

6.2 Hạn chế 63

6.3 Hướng phát triển của đề tài 64

TÀI LIỆU THAM KHẢO

Trang 7

DANH MỤC BẢNG

Bảng 2.1 Bảng phân loại mức độ nghiêm trọng của lỗi 16

Trang 8

DANH MỤC HÌNH ẢNH

Hình 2.1 Vòng đời của quá trình kiểm thử 10

Hình 2.2 Quy trình kiểm thử phần mềm 12

Hình 2.3 Minh họa kỹ thuật phân vùng tương đương 18

Hình 2.4 Minh họa kỹ thuật phân tích giá trị biên 19

Hình 3.1 Các thành phần của Selenium 23

Hình 3.2 Selenium IDE trên cửa hàng Chrome 26

Hình 3.3 Truy cập vào NuGet Package Manager trên Visual Studio 26

Hình 3.4 Tìm kiếm và cài đặt Selenium WebDriver 27

Hình 3.5 Trang chủ download Selenium Grid 27

Hình 3.6 Khởi tạo hub bằng command line 28

Hình 3.7 Khởi tạo các node cho hub bằng command line 28

Hình 3.8 Giao diện Grid Console dùng để kiểm soát 28

Hình 4.1 Hình ảnh trang chủ giới thiệu Website 31

Hình 4.2 Diagram trong SQL Mô hình quan niệm dữ liệu (thực thể - kết hợp) 33

Hình 4.3 Bảng lưu thông tin người dùng 33

Hình 4.4 Bảng lưu thông tin giỏ hàng 34

Hình 4.5 Bảng lưu thông tin sản phẩm 34

Hình 4.6 Bảng lưu danh mục sản phẩm 34

Hình 4.7 Bảng lưu danh sách hóa đơn đã được lặp 34

Hình 4.8 Bảng lưu chi tiết hoá đơn đã được lập 35

Hình 4.9 Mô hình UseCase tổng quát 35

Hình 4.10 Mô hình UseCase quản lý 36

Hình 4.11 Mô hình UseCase mua hàng 36

Hình 4.12 Sơ đồ ClassDiagram 37

Hình 4.13 Sơ đồ ERD 37

Hình 5.1 Giao diện trang đăng nhập 38

Hình 5.2 Giao diện trang đăng ký 38

Hình 5.3 Giao diện trang thông tin tài khoản 39

Hình 5.4 Giao diện trang thông tin sản phẩm 40

Hình 5.5 Giao diện trang thêm sản phẩm 41

Hình 5.6 Giao diện trang đổi mật khẩu 42

Trang 9

Hình 5.7 Phân vùng tương đương form đăng ký 44

Hình 5.8 Testcase từ bảng phân vùng tương đương form đăng ký 45

Hình 5.9 Phân vùng tương đương form thông tin tài khoản 46

Hình 5.10 Testcase từ bảng phân vùng tương đương form thông tin tài khoản 46

Hình 5.11 Phân vùng tương đương form thông tin sản phẩm 47

Hình 5.12 Testcase từ bảng phân vùng tương đương form thông tin sản phẩm 47

Hình 5.13 Phân vùng tương đương form thêm sản phẩm 48

Hình 5.14 Testcase từ bảng phân vùng tương đương form thêm sản phẩm 48

Hình 5.15 Phân vùng tương đương form đổi mật khẩu 49

Hình 5.16 Testcase từ bảng phân vùng tương đương form đổi mật khẩu 49

Hình 5.17 Dữ liệu đầu vào form đăng nhập 50

Hình 5.18 Dữ liệu đầu vào form đăng ký 51

Hình 5.19 Dữ liệu đầu vào form thông tin tài khoản 52

Hình 5.20 Dữ liệu đầu vào form thông tin sản phẩm 52

Hình 5.21 Dữ liệu đầu vào form thêm sản phẩm 53

Hình 5.22 Dữ liệu đầu vào form đổi mật khẩu 53

Hình 5.23 Chi tiết kết quả testcase đăng nhập 54

Hình 5.24 Chi tiết kết quả testcase cập nhật thông tin tài khoản 55

Hình 5.25 Chi tiết kết quả testcase cập nhật thông tin sản phẩm 56

Hình 5.26 Chi tiết kết quả testcase thêm sản phẩm 57

Hình 5.27 Chi tiết kết quả testcase thay đổi mật khẩu 58

Hình 5.28 Thực hiện test đăng nhập bằng Selenium WebDriver 59

Hình 5.29 Thực hiện test đăng ký bằng Selenium WebDriver 59

Hình 5.30 Thực hiện test cập nhật thông tin tài khoản bằng Selenium WebDriver 60

Hình 5.31 Thực hiện test cập nhật thông tin sản phẩm bằng Selenium WebDriver 60

Hình 5.32 Thực hiện test thêm sản phẩm bằng Selenium WebDriver 61

Hình 5.33 Thực hiện test thay đổi mật khẩu bằng Selenium WebDriver 61

Trang 10

LỜI MỞ ĐẦU

1 Lý do chọn đề tài

Trong giai đoạn phát triển của ngành công nghệ thông tin, nghành công nghệphần mềm đang ngày càng phát triển và chiếm một vị trí quan trọng trong xu hướngphát triển kinh tế công nghiệp hóa, hiện đại hóa đất nước ta Song với việc phát triểncông nghệ phần mềm luôn tiềm ẩn những thách thức dành cho các doanh nghiệp vàcác nhà phát triển phần mềm trong việc kiểm soát lỗi, chất lượng đầu ra của sản phẩm,thực tế đã chứng minh kiểm thử phần mềm là giai đoạn chiếm đến 40% thời gian kinhphí phát triển dự án phần mềm Tuy nhiên ở Việt Nam hiện nay việc kiểm thử phầnmềm vẫn chưa được nhìn nhận đúng với tầm quan trọng của nó Điều này được thểhiện Điều này thể hiện kỹ sư kiểm thử phần mềm ở Việt Nam còn khá thấp cứ 5 lậptrình viên thì mới có 1 kỹ sư kiểm thử Thêm vào đó là mức độ đáp ứng của kỹ sưkiểm thử phần mềm ở Việt Nam chưa cao Nguyên nhân dẫn đến việc này đến từ sựthiếu hụt các đơn vị đào tạo chuyên sâu về kiểm thử và nguyên nhân sâu xa là vấn đềkiểm thử phần mềm ở Việt Nam vẫn chưa được chuyên nghiệp hóa và đầu tư đúngmức

Bên cạnh đó xu hướng áp dụng tự động hóa đang được triển khai rộng rãi ởnhiều lĩnh vực, trong đó có kiểm thử phần mềm Đặc biệt khi kiểm thử phần mềm làcông đoạn chiếm phần lớn thời gian trong quá trình phát triển dự án phần mềm thì sự

ra đời của các công cụ kiểm thử tự động ngày càng có ý nghĩa hơn bao giờ hết, giúptiết kiệm thời gian và tiền bạc Selenium là một công cụ hỗ trợ kiểm thử tự động dànhcho các ứng dụng Web, hoạt động hầu hết các trình duyệt phổ biến hiện nay như:FireFox, Chrome, Safari, Internet Explorer,…cũng như hỗ trợ số lượng lớn các ngônngữ lập trình Web phổ biển Công cụ Selenium hiện được đánh giá là một trong nhữngcông cụ tốt nhất cho kiểm thử tự động các ứng dụng Web, và ưu điểm của công cụ này

là nó là một bộ mã nguồn mở, do đó các tổ chức sẽ không tốn kinh phí mua bản quyển.Tuy chưa được ứng dụng nhiều trong các tổ chức ở Việt Nam, song với những ưuđiểm trên Selenium hứa hẹn sẽ ngày càng phát triển và trở nên thông dụng hơn trongcác tổ chức phát triển phần mềm ở nước ta

Với mong muốn có cái nhìn xác thực, rõ ràng hơn về kiểm thử phần mềm vàtiếp cận được với công cụ kiểm thử tự động Selenium để làm tiền đề cho định hướng

Trang 11

tương lai khi tốt nghiệp đại học sẽ trở thành một kỹ sư phần mềm, nhóm em lựa chọn

đề tài: “Nghiên cứu các vấn đề về việc kiểm thử phần mềm và công cụ kiểm thử tựđộng Selenium” Trong khuôn khổ đồ án do thời gian và kinh nghiệm thực tế còn hạnchế nên có những phần thực hiện chưa được tốt, chúng em rất mong nhận được sự góp

ý của thầy cô và các bạn

2 Mục tiêu nghiên cứu

 Có cái nhìn đúng đắn và sâu sắc hơn về các vấn đề cơ bản của công nghệphần mềm, lỗi phần mềm và kiểm thử phần mềm

 Hiểu rõ các thành phần của bộ công cụ Selenium

 Nắm được cách thức sử dụng bộ công cụ là Selenium Web Driver

 Ứng với các kiến thức kiểm thử phần mềm và kiến thức về Selenium để viếtthành một đồ án kiểm thử cho một ứng dụng cụ thể

3 Kết cấu nội dung đề tài:

 LỜI MỞ ĐẦU: Trình bày về lý do chọn đề tài, mục tiêu nghiên cứu đồ án

và kết cấu nội dung đề tài

 CHƯƠNG 1: TỔNG QUAN VỀ PHẦN MỀM VÀ LỖI PHẦN MỀM:

Chương này trình bày về những định nghĩa cơ bản về phần mềm, nghànhcông nghệ phần mềm, lỗi phần mềm, và quy trình xử lý lỗi phần mềm

 CHƯƠNG 2: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM: Chương

này trình bày những kiến thức cơ bản về phần mềm như các nguyên tắckiểm thử, các phương pháp kiểm thử, các giai đoạn kiểm thử phần mềm

 CHƯƠNG 3: CÔNG CỤ KIỂM THỬ SELENIUM: Chương này trình

bày tổng quan về bộ công cụ Selenium, thao tác với Selenium WebDriver

 CHƯƠNG 4: PHÂN TÍCH THIẾT KẾ HỆ THỐNG: Chương này tiến

hành khảo sát hiện trạng phân tích hệ thống, giới thiệu sơ lược về Website,các lược đồ quan hệ: UesCase, ERD, ClassDiagram Cấu trúc các bảng cótrong SQL Server

 CHƯƠNG 5: ỨNG DỤNG KIỂM THỬ WEB VÀ DEMO CHƯƠNG TRÌNH: Chương này trình bày kịch quá trình kiểm thử viết cho một số

chức năng cơ bản của ứng dụng Web bán café và bánh ngọt và thử nghiệmmột số trường hợp kiểm thử tự động viết bằng Selenium Web Driver

 CHƯƠNG 6: KẾT LUẬN: Chương này đưa ra kết quả mà nhóm thực hiện

Trang 12

được, những thiếu sót chưa thực hiện được và hướng phát triển của đề tàitrong tương lai.

1 CHƯƠNG 1:TỔNG QUAN PHẦN MỀM VÀ LỖI PHẦN MỀM

Chương đầu tiên của đồ án đi sâu vào việc tìm kiếm khái niệm về phần mềm vàkiểm thử phần mềm, giúp khái quát việc phân loại kiểm thử phần mềm, đưa ra các quytrình, mức độ, các kỹ thuật trong kiểm thử phần mềm

1.1 Phần mềm và khái niệm liên quan

1.1.1 Phần mềm Định nghĩa theo IEEE: Phần mềm là các chương trình máy tính, các thủ tục,

các tài liệu có liên quan và các dữ liệu để vận hành của một hệ thống máy tính

Theo như định nghĩa của IEEE, phần mềm gồm 4 phần:

 Chương trình máy tính ( mã nguồn ): Thành phần này giúp cho máy tính

thực thực thi các ứng dụng được yêu cầu

 Các thủ tục: Các thủ tục được yêu cầu , được định nghĩa với thứ tự và lịch

trình mà chương trình sẽ thực thi, các hàm sẽ triển khai, người thực thi cáchành động cần thiết cho ứng dụng phần mềm

 Các tài liệu: Có rất nhiều những tài liệu cần thiết với nhân viên phát triển,

người sử dụng và nhân viên bảo trì như: tài liệu thiết kế , tài liệu phân tích,tài liệu hướng dẫn sử dụng , tài liệu hướng dẫn bảo trì

 Dữ liệu cần dùng cho việc vận hành hệ thống: Dữ liệu bao gồm các biển,

mã nguồn, danh sách tên thích ứng phần mềm với yêu cầu xác định củakhách hàng để vận hành phần mềm

1.1.2 Yêu cầu khách hàng

Phần mềm được phát triển dựa trên nhu cầu của khách hàng Chính vì lẽ đó, cácchức năng của phần mềm được xây dụng dựa trên việc thu thập phân tích, khảo sát nhucầu của khách hàng thông qua những yêu cầu cụ thể Đối với phần mềm, yêu cầuthường được tổng hợp từ nhiều người, nhiều tổ chức có mức độ chuyên môn và mức

độ tham gia cũng như tương tác với phần mềm khác nhau trong môi trường hoạt độngcủa nó

Có thể phần loại yêu cầu của khách hàng cho sản phẩm phần mềm thành một sốloại như sau:

Phân loại theo sản phẩm và tiến trình

Trang 13

 Yêu cầu sản phẩm: là những đòi hỏi hay ràng buộc mà phần mềm phải thực

hiện

 Yêu cầu tiến trình: là những ràng buộc liên quan đến việc phát triển phần

mềm (kỹ thuật sử dụng và mô hình phát triển,…)

Phân loại chức năng:

 Yêu cầu chức năng: đặc tả các chức năng mà phần mềm cần thực hiện.

 Yêu cầu phi chức năng: là các ràng buộc về giải pháp và chất lượng ( hiệu

năng, việc bảo trì, mức độ an toàn, bảo mật,.v v )

 Yêu cầu đặc tả các thuộc tính nổi bật: là đặc tả cho các thuộc tính phụ

thuộc vào sự vận hành, đặc biệt là kiến trúc hệ thống Các thuộc tính nàykhông thể xác định cho từng thành phần đơn lẻ

Phân loại theo phạm vi đặc tả

 Yêu cầu hệ thống: đặc tả các cấu hình, cơ sở hạ tầng, phần cứng, phần mềm,

con người, kỹ thuật, v.v của toàn bộ hệ thống

 Yêu cầu phần mềm: đặc tả các chức năng, giao diện, v.v của kết cầu phần

mềm

1.1.3 Đặc tả yêu cầu phần mềm

Từ yêu cầu khách hàng và những yêu cầu bắt buộc khác, đặc tả yêu cầu phầnmềm được viết ra để mô tả một cách chính xác các yêu cầu đáp ứng của sản phẩmphần mềm Đây cũng chính là tài liệu cơ sở để lập trình viên, kiểm thử viên và các bộphận khác dựa vào để phát triển phần mềm hoàn chỉnh, đúng với yêu cầu đặt ra banđầu Tài liệu đặc tả yêu cầu phần mềm cũng cần cung cấp đầy đủ các thông tin về chiphí, rủi ro và lịch trình cho quá trình phát triển của sản phẩm

Đặc tả yêu cầu phần mềm được viết ra phục vụ rất nhiều đối tượng từ ngườidùng hệ thống, khách hàng đến các nhà phát triển và bảo trì phần mềm Do đó, tài liệuđặc tả nên được viết bằng ngôn ngữ tự nhiên sử dụng biểu đồ, bảng biểu để đảm bảotính dễ hiểu, dễ sử dụng cho tất cả các đối tượng trên

1.1.4 Chất lượng và độ tin cậy của phần mềm

Chất lượng của phần mềm trước hết là đáp ứng các yêu cầu đề ra trong bảngđặc tả phần mềm Có thể kể đến các yếu tố đại diện cho chất lượng phần mềm như:tính đúng đắn, tính hiệu quả, độ tin cậy, dễ sử dụng, dễ bảo trì Ta có thể thấy độ tincậy chỉ là một trong những yếu tố đánh giá chất lượng phần mềm Tuy nhiên người

Trang 14

kiểm thử lại hay nhầm lẫn giữa khái niệm chất lượng và độ tin cậy của phần mềm.Ngoài ra có thể dựa vào thời gian khắc phục sự cố để đánh giá đô tin cậy của phầnmềm

1.2 Định nghĩa về công nghệ phần mềm

Công nghệ phần mềm là việc áp dụng các công cụ kỹ thuật một cách hệ thống

trong việc phát triển các ứng dụng dựa trên máy tính Nói cách khác đó là việc áp dụngcác quan điểm cách tiến hành có kỹ luật có bài bản vào việc phát triển vận hành và bảotrì phần mềm

Về cơ bản, công nghệ phần mềm thực hiện các tác vụ chủ yếu sau: thiết kế phầnmềm xây dựng phần mềm, kiểm thử phần mềm và bảo trì phần mềm

Mục tiêu của công nghệ phần mềm là tạo ra những phần mềm tốt, giảm đếnmức tối thiểu sai sót xảy ra trong quá trình vận hành, cũng như tạo điều kiện thuận lợitrong việc bảo trì và nâng cấp phần mềm

1.3 Vòng đời phần mềm

Vòng đời phần mềm là các pha mà phần mềm phải trải qua tử việc khám phácác khái niệm cho đến khi phần mềm được loại bỏ hoàn toàn Mô hình vòng đời phầnmềm gồm 7 pha:

 Pha yêu cầu (requirements phase): Là pha đầu tiên trong quá trình xây

dựng phần mềm, còn gọi là pha tìm hiểu khái niệm (concept exploration) Ởpha này đại diện nhóm phát triển và khách hàng gặp nhau, khách hàng đưa

ra những yêu cầu mà phần mềm đó phải có, đại diện nhóm phát triển ghichép lại Nếu dịch theo tiếng Anh là “requirements phase” là pha yêu cầu.Tuy nhiên cách gọi này có thể hơi khó hiểu, do đó người ta thường gọi làpha xác định yêu cầu

 Pha đặc tả (sepecification phase): Pha này phân tích các yêu cầu của khách

hàng mô tả các kết quả phân tích dưới dạng ”tài liệu đặc tả” Cuối giai đoạnnày, kế hoạch quản lý dự án phần mềm được đưa ra, mô tả quá trình pháttriển phần mềm

 Pha thiết kế (design phase): Là pha tiếp theo pha đặc tả Căn cứ vào tài liệu

đặc tả, pha này mô tả cách thức mà phần mềm thực hiện các công việc cụthể Pha thiết kế thường có 2 tầng kiến trúc (architecture design) và thiết kế(detail design) Thiết kế kiến trúc phân chia phần mềm thành các phần gọi

Trang 15

là mô-đun Thiết kế chi tiết là thiết kế từng mô-đun một cách chi tiết

 Pha cài đặt (implementation phase): Ở pha này người ta thực hiện viết

chương trình bằng ngôn ngữ lập trình cụ thể

 Pha tích hợp (integration phase): Kết nối các mô-đun đã viết chương trình

thành một phần mềm thống nhất và chạy thử, chỉnh sửa cho đến khi phầnmềm chạy tốt

 Pha bảo trì (maintenance phase): Khi chương trình được cài đặt trên máy

khách hàng vẫn có thể có lỗi phát sinh trong phần mềm cần loại trừ và điềuchỉnh lại theo yêu cầu khách hàng Công việc bảo trì được chia thành hailoại: bảo trì sửa lỗi (software repair) và bảo trì cập nhật (software update).Bảo trì sửa lỗi là sửa các lỗi có thể còn xuất hiện trong khi chạy chươngtrình Bảo trì cập nhật lại được chia thành hai loại: bảo trì hoàn thiện(perfective maintenance) và bảo trì thích nghi (adaptive maintenance) Bảotrì hoàn thiện là sửa đổi phần mềm theo ý của khách hàng để nâng cao hiệuquả Bảo trì thích nghi là sửa đổi để phần mềm thích nghi với môi trườngmới

 Pha loại bỏ (retirement phase): Đến một thời điểm nào đó do sự thay đổi

của môi trường làm việc và một số yếu tố khác, chi phí bảo trì phần mềm sẽlớn hơn rất nhiều so với chi phí phát triển một phần mềm mới Đó là lúcloại bỏ phần mềm được thực hiện

1.4 Lỗi phần mềm

1.4.1 Định nghĩa về lỗi phần mềm và phân loại phần mềm

Lỗi phần mềm nhìn chung là sự không khớp giữa chương trình và đặc tả của nó,kéo theo những vấn đề xuất hiện trong các giai đoạn phát triển phần mềm

Lỗi phần mềm thường xuất hiện ở các hình thức sau đây:

 Sai (Fault): Khi phần mềm gặp lỗi sẽ đưa về những sai sót.Tuy nhiên không

dễ để phát hiện ra sai sót trong quá trình phát triển phần mềm khi ngườiphâm tích, thiết kế bỏ sót thông tin dẫn đến thiếu chức năng mà lẽ ra cầnphải có

 Thất bại (Failure): Thất bại dễ nhận thấy nhất khi một lỗi được thực thi.Chúng thường xuất hiện dưới 2 dạng: thất bại có thể chạy được ( Ví dụ như

mã nguồn ) và thất bại chỉ liên kết với các lỗi về nhiệm vụ Ngoài ra, có thể

Trang 16

kể đến các thất bại liên quan tới các lỗi do bỏ quên Chúng ta có thể hạn chếthất bại ngay tại bước đầu tiên của quy trình phát triển phần mềm nếu việckhảo sát được thực hiện tốt.

 Sự cố (Incident): Sự cố thưởng được liên kết với một thất bại Tuy nhiên nókhác với thất bại ở chỗ sự cố luôn hiển thị cho người dùng hoặc kiểm thửviên biết sự tồn tại của nó

 Thừa 1 số chức năng không có trong bản đặc tả yêu cầu phần mềm nhưnglại xuất hiện trong phần mềm được xây dựng

Ngoài ra , còn xuất hiện một số lỗi phi chức năng như phần mềm khó sử dụng,tốc độ không đáp ứng yêu cầu (vấn đề hiệu năng) hay giao diện khó nhìn cũng sẽ dễkhiến cho người sử dụng nghĩ rằng phần mềm đang hoạt động không đúng

Dựa vào định nghĩa, ta có thể phân loại lỗi phần mềm thành 3 dạng:

 Lỗi sai: Sản phẩm phần mềm được xây dựng và đặc tả

 Lỗi thiếu: Các yêu cầu của sản phẩm phần mềm đã có trong đặc tả nhưnglại không có trong sản phẩm thực tế

 Lỗi thửa: Sản phẩm thực tế có những tính năng không có trong tài liệu đặctả

1.4.2 Các nguyên nhân gây lỗi phần mềm

Lỗi phần mềm có thể đến từ nhiều nguyên nhân khác nhau trong đó có cácnguyên nhân chủ quan và các nguyên nhân khách quan Dưới đây là nguyên nhân chủyếu gây ra lỗi phần mềm

 Định nghĩa các yêu cầu bị lỗi: Những lỗi trong việc xác định yêu cầu

thường nằm ở phía khách hàng Một số lỗi thường gặp là định nghĩa sai yêucầu, lỗi không hoàn chỉnh thiếu các yêu cầu quan trong hoặc là quá chútrọng các yếu cầu không thật sự cần thiết

 Các lỗi trong giao tiếp giữa khách hàng và nhà phát triển: Hiểu lầm

trong giao tiếp giũa khách hàng và nhà phát triển cũng là nguyên nhân gâylỗi Những lỗi này thường xuất hiện trong giai đoạn đầu của dự án Một sốlỗi hay gặp phải: hiểu sai chỉ dẫn trong tài liệu yêu cầu, hiểu sai thay đổi khikhách hàng trình bày bằng lời nói và tài liệu, hiểu sai về phản hồi và thiếuquan tâm đến đề cập của khách hàng

Trang 17

Giải pháp khắc phục: Cần có ủy ban liên kết giữa khách hàng và nhà cungcấp để tránh lỗi trong giao tiếp Ủy ban do quản trị viên dự án đứng đầu vàkhách hàng phải giới thiệu những người hiểu về mặt nghiệp vụ vào ủy banđó

 Sai lệch có chủ ý với các yêu cầu phần mềm: Trong một số trường hợp

các nhà phát triển cố tình làm sai lệch các yêu cầu trong tài liệu đặc tả.Nguyên nhân của việc này đến từ các áp lực thời gian, ngân sách, hay cốtình sử dụng các mô-đun các dự án trước mà chưa phân tích đầy đủ nhữngthay đổi để thích nghi với các yêu cầu mới

Giải pháp khắc phục: Dựa trên những thống kê để quyết định xem giải phápnhư thế nào sắp xếp ưu tiên xem bỏ được yêu cầu nào hay sử dụng lại đượcmô-đun nào

 Các lỗi thiết kể logic: Lỗi phần mềm xày ra trong quá trình các chuyên gia

thiết kế hệ thống, các kiến trúc sư hệ thống kỹ sư phần mềm, các nhà phântích xây dựng phần mềm theo yêu cầu Các lỗi điển hình bao gồm:

 Định nghĩa các yêu cầu phần mềm bằng các thuật toán sai

 Quy trình định nghĩa có chứa trình tự lỗi

 Sai sót trong các định nghĩa biên như > 3 hay lớn hơn hoặc bằng 3

 Thiếu sót các trạng thái hệ thống phần mềm được yêu cầu

 Các lỗi lập trình: Có rất nhiều lý do dẫn đến các lặp trình viên gây ra các

lỗi lặp trình Những lý do này bao gồm: sự hiểu sai các tài liệu thiết kế,ngôn ngữ , sai sót ngôn ngữ lập trình, sai sót việc áp dụng các công cụ pháttriển, sai sót trong lựa chọn dữ liệu

 Không tuân thủ theo các tài liệu hướng dẫn và tiêu chuẩn lập trình:

Các lỗi phần mềm có thể đến từ việc không tuân thủ các tài liệu và tiêuchuẩn lập trình của các tổ chức phát triển phần mềm

 Thiếu sót trong quá trình kiểm thử: Lỗi phần mềm có thể đến từ chính

quá trình kiểm thử khi người kiểm thử để lọt lỗi Những lỗi này đến từ cácnguyên nhân sau đây:

 Kế hoạch kiểm thử chưa hoàn chỉnh, để sót yêu cầu kiểm thử

 Lỗi trong tài liệu và bảo cáo kiểm thử

 Việc sửa chữa các lỗi được phát hiện không hoàn chỉnh do áp lực thời

Trang 18

gian hay do thiếu cẩn thận

Giải pháp: lên kế hoạch kiểm thử cụ thể tại giai đoạn đầu của dự án

 Các lỗi thủ tục: Các thủ tục hướng dẫn cho người sử dụng tại từng bước

của tiến trình, chúng có tầm quan trọng đặc biệt trong các hệ thống phầnmềm phức tạp mà các tiến trình được thực hiện bằng nhiều bước, mỗi bước

có nhiều kiểu dữ liệu cho phép kiểm tra các kết quả trung gian Các lỗi cóthể đến từ việc viết các thủ tục

 Các lỗi về tài liệu: Các lỗi về tài liệu là vấn đề của đội phát triển và bảo trì

khi có sai sót trong các tài liệu liên quan Những lỗi này có thể là nguyênnhân gây ra lỗi trong giai đoạn phát triển kế tiếp và giai đoạn bảo trì

Trang 19

2 CHƯƠNG 2: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM

2.1 Kiểm thử phần mềm

2.1.1 Khái niệm

Kiểm thử phần mềm là một cuộc kiểm tra được tiến hành để cung cấp cho cácbên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ được kiểm thử Hiểutheo cách đơn giản hơn, kiểm thử phần mềm là quá trình tìm thất bại hoặc chứng tỏviệc tiến hành của phần mềm là đúng đắn

2.1.2 Vai trò của kiểm thử phần mềm

Kiểm thử phần mềm chiếm một vị trí quan trọng trong việc nâng cao chất lượngcũng như độ tin cậy của phần mềm trong quá trình phát triển Hoàn thành vòng quay

“đưa vào lỗi – tìm lỗi – khử lỗi đi” của quy trình tìm kiếm thử phần mềm sẽ thu lạiđược những cải tiến đáng kể cho chất lượng sản phẩm phần mềm Việc biết được sảnphẩm phần mềm Việc biết được sản phẩm phần mềm tốt tới mức nào trước khi đưavào sử dụng sẽ hạn chế tối đa những rủi ro gặp phải trong quá trình phát triển phầnmềm

Hình 2.1 Vòng đời của quá trình kiểm thử

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

Có rất nhiều cách chia cấp độ kiểm thử phẩn mềm, nhưng tựu chung lại sẽ gồm

4 cấp độ sau:

Kiểm thử đơn vị: Cấp độ này chủ yếu do lập trình viên trực tiếp thực hiện.

Phần mềm khi phát triển sẽ bao gồm nhiều đơn vị chức năng (hàm phương thức) hợpthành Mỗi lập trình viên sẽ đảm nhiệm việc phát triển một hay nhiều đơn vị chức

Trang 20

năng Kiểm thử đơn vị chính là việc lập trình viên sau khi hoàn thành code đơn vị chứcnăng của mình sẽ tiến hành kiểm thử chức năng đó một cách cô lập nhằm phát hiện lỗi

và khắc phục trước khi tích hợp với các đơn vị chức năng khác Kiểm thử đơn vịthường được tiến hành theo 2 giai đoạn: kiểm thử đợn vị tĩnh và kiểm thử đơn vị động

Kiểm thử tích hợp: Sau khi kiểm thử đơn vị được tiến hành bởi chính lập trình

viên viết ra nó, các đơn vị chức năng sẽ được ghép lại với nhau để tạo thành hệ thốngđầy đủ và có thể làm việc được Các đơn vị chức năng hoạt động tốt khi ở trạng tháiđộc lập riêng lẻ, những khi ghép lại sẽ có thể xuất hiện những lỗi về giao diện hoặccho ra kết quả không đúng khi phải sử dụng dữ liệu từ những đơn vị chức năng khác

Đó chính là lý do tại sao phải tiếp tục kiểm thử để phát hiện ra những lỗi kể trên.Người ta thường chia bước kế tiếp này thành 2 giai đoạn: kiểm thử tích hợp và kiểmthử hệ thống Ở mức kiểm thử tích hợp, các đơn vị chức năng đucợ kết hợp lại vớinhau và tiến hành kiểm thử chúng theo phương pháp tăng dần để đảm bảo cụm cácđơn vị chức năng sẽ làm việc ổn định trong môi trường thử nghiệm

Kiểm thử hệ thống: Sau khi tất cả các đơn vị chức năng đã được tích hợp lại

với nhau tạo thành một hệ thống hoàn chỉnh, kiểm thử hệ thống hoàn chỉnh, kiểm thử

hệ thống sẽ được thực thi để đảm bảo sản phẩm phần mềm đáp ứng đầy đủ các yêu cầutrong bảng đặc tả yêu cầu phần mềm Đây là công việc tốn nhiều công sức nhất trongquá trình kiểm thử phần mềm Đồng thời cũng sử dụng nhiều kỹ thuật kiểm thử khácnhau như kiểm thử giao diện người dùng, kiểm thử chức năng, kiểm thử hiệu năng,kiểm thử tính dễ dùng,.v.v để hoàn tất công việc kiểm thử trong cấp độ này

Kiểm thử chấp nhận: Khi kiểm thử hệ thống hoàn tất, sản phẩm phần mềm coi

như đã sẵn sàng cho việc đưa vào sử dụng thực tế Lúc này, phần mềm cần được tiếnhành cấp độ kiểm thử cuối cùng – kiểm thử chấp nhận bởi chính khách hàng hay người

sử dụng phần mềm Tuy có phần tương tự như kiểm thử hệ thống nhưng mực đíchchính của kiểm thử chấp nhận là quyết định việc đưa vào sử dụng chính thức sản phẩmphần mềm Người ta dựa trên các số liệu thống kê thực tế về chất lượng , độ tin cậycủa phần mềm để quyết định triển khai báo cáo cho người dùng cuối Kiểm thử chấpnhận thường được thực hiện dưới hình thức cho một nhóm người dùng thử sản phẩmphần mềm để phát hiện các lỗi và nhận phản hồi từ người dùng Trong đó, phiên bảnalpha dành cho đội phát triển phần mềm và phiên bản beta được cung cấp cho người

sử dụng thật để đưa ra đánh giá trong môi trường thực tế Ở thời điểm hiện tại, kiểm

Trang 21

thử thứ chấp nhận được coi là cấp độ quy chuẩn bắt buộc không thể thiếu trong quátrình phát triển của nhiều sản phẩm phần mềm.

2.1.4 Quy trình kiểm thử phần mềm

Kiểm thử phần mềm bao gồm nhiều giai đoạn với sự phối hợp của nhiều bênliên quan chứ không chỉ là một đoạn đơn lẻ Chính vì thế, cần có quy trình kiểm thửphần mềm để làm rõ các công đoạ, các bước tiến hành trong toàn bộ quy trình pháttriển phần mềm Nói cách khác, quy trình kiểm thử phần mềm chính là chuỗi các hoạtđộng được tiến hành để thực hiện việc kiểm thử Các giai đoạn trong quy trình kiểmthử phần mềm được biểu diễn tổng quát bằng sơ đồ sau:

Hình 2.2 Quy trình kiểm thử phần mềm Phân tích yêu cầu: Nhóm kiểm thử sẽ tương tác với các bên liên quan để hiểu

rõ những yêu cầu cụ thể cần cho việc kiểm thử Các yêu cầu có thể là chức năng ( xácđinh phần mềm cần phải làm những gì ) hoặc ghi những chức năng (hiệu năng, tínhbảo mật hệ thống, màu sắc, v v)

 Hoạt động cụ thể:

 Xác định loại kiểm thử sẽ thực hiện

 Tổng hợp chi tiết về mức độ tập trung thứ tự ưu tiên

 Xác định môi trường kiểm thử

 Phân tích khả năng sử dụng kiểm thử tự động

 Tài liệu sử dụng:

 Báo cáo về khả năng sử dụng kiểm thử tự động (nếu cần)

Lên kế hoạch kiểm thử: Còn được gọi bằng tên khác là chiến lược thử

nghiệm Ở giai đoạn này, trưởng nhóm kiểm thử sẽ dự toán chi phí cho dự án cũngnhư chuẩn bị kế hoạch kiểm thử

 Hoạt động cụ thể:

Trang 22

 Lựa chọn công cụ kiểm thử (test tool).

 Lên kế hoạch về nhân sự và ấn định vai trò trác nhiệm cho từng ngườitrong nhóm

 Phổ biển cho mọi người trong nhóm kiểm thử về yêu cầu dự án

 Tài liệu sử dụng:

 Bảng kế hoạch kiểm thử

Tạo ca kiểm thử: Giai đoạn này cần phải tạo, xác minh, kiểm tra lại các ca

kiểm thử Dữ liệu kiểm thử cũng được tạo và xác minh trong giai đoạn này

 Hoạt động cụ thể:

 Tạo ca kiểm thử

 Xác minh, kiểm tra lại các ca kiểm thử

 Tạo dữ liệu kiểm thử

 Tài liệu sử dụng:

 Ca kiểm thử

 Dữ liệu kiểm thử

Cài đặt môi trường kiểm thử: Môi trường kiểm thử quyết định bởi các điều

kiện phần cứng và phần mềm trong từng dự án Thiết lập môi trường kiểm thử có thểthực hiện song song với giai đoạn ca kiểm thử và là một tiêu chí quan trọng trong quátrình kiểm thử Tuy nhiên, nhóm kiểm thử có thể không cần tham gia vào giai đoạnnày nếu đã có các bên liên quan khác hỗ trợ, nhiệm vụ của nhóm kiểm thử chỉ là yêucầu môi trường kiểm thử cần thiết

 Hoạt động cụ thể:

 Hiểu được kiến trúc yêu cầu, thiết lập môi trường và chuẩn bị danh sáchyêu cầu về phần cứng và phần mềm cho môi trường thử nghiệm

 Thiết lập môi trường kiểm thử

Thực hiện kiểm thử: Nhóm kiểm thử thực hiện kiểm thử theo kế hoạch và

danh sách ca kiểm thử đã chuẩn bị từ giai đoạn trước Các lỗi phát hiện ở giai đoạn này

sẽ được thông báo lại cho nhóm phát triển phần mềm để chỉnh sửa và thực hiện kiểmthử lại

 Hoạt động cụ thể:

 Thực hiện kiểm thử theo thứ tự kế hoạch

Trang 23

 Làm tài liệu về kết quả kiểm thử, cập nhật lại các lỗi trong ca kiểm thử.

 Kiểm thử lại các lỗi đã được chỉnh sửa

 Kiểm tra để đóng lỗi

 Tài liệu sử dụng:

 Ca kiểm thử (Cập nhật kết quả)

 Báo cáo lỗi

Đóng chu trình kiểm thử: Nhóm kiểm thử sẽ họp, thảo luận và phân tích

những bài học rút ra sau quá trình kiểm thử, đưa ra chiến lược cho những lần kiểm thử

kế tiếp hoặc chia sẻ kinh nghiệm cho những dự án tương tự

 Hoạt động cụ thể:

 Đánh giá việc hoàn thành quy trình kiểm thử dựa vào thời gian mức độbao phủ, chi phí và chất lượng

 Chuẩn bị dữ liệu dựa vào các tiêu chí trên

 Chuẩn bị báo cáo kết thúc kiểm thử

 Báo cáo chất lượng sản phẩm cho khách hàng

 Phân tích kết quả kiểm thử để tìm ra sự phân bố lỗi theo loại và mức độnghiêm trọng

 Tài liệu sử dụng:

 Báo cáo kết thúc kiểm thử

2.1.5 Phân loại kiểm thử phần mềm

Có 2 cách cơ bản để xác định các ca kiểm thử là kiểm thử tĩnh và kiểm thửđộng

 Kiểm thử tĩnh: là một hình thức của kiểm thử phần mềm mà không cần

thực thi chương trình Điều này ngược với thử nghiệm động Công việc chủyếu là kiểm tra tính đúng đắn của mã lệnh, thuật toán hay tài liệu Đây làloại kiểm thử được thực hiện bởi lập trình viên Lỗi được phát hiện bằngkiểm thử tĩnh ít tốn kém để sửa chữa hơn so với lỗi phát hiện bằng kiểm thửđộng sẽ được đề cập dưới đây.Các lập trình viên có thể trao đổi mã nguồnchéo nhau hoặc làm việc một cách độc lập để thực hiện kiểm thử tĩnh

 Kiểm thử động: Liên quan đến việc thực thi chương trình để phát hiện các

lỗi, thất bại có thể có của chương trình hay tìm ra các vấn đề về hiệu năng

Trang 24

hệ thống Việc thực thi chương trình trên tất cả các dữ liệu đầu vào để thựcthi hay nói cách khác là sinh ra các ca kiểm thủ Trong kiểm thử động,người ta chi làm 2 kỹ thuật: kiểm thử hộp trắng (Kiểm thử cấu trúc) vàkiểm thử hộp đen (kiểm thử chức năng).

 Kiểm thử hộp trắng: là kỹ thuật kiểm thử dựa vào thuật toán, cấu trúc

mã nguồn bên trong của chương trình với mục đích đảm bảo rẳng tất cảcác câu lệnh và điều kiện sẽ được thực hiện ít nhất một lần Người kiểmthử truy cập vào mã nguồn chương trình và kiểm tra nó, lấy nó làm cơ

sở để thực hiện việc kiểm thử Kiểm thử hộp trắng bao gồm các công cụ

cơ bản: Kiểm thử đường dẫn, kiểm thử luồng điều khiển, kiểm thử nội

bộ (xác nhận tham số, vòng lặp), kiểm thử tính năng (kiểm tra thời gian

xử lý, dữ liệu cụ thể) Tuy nhiên, việc kiểm thử hộp trắng tồn tại khánhiều hạn chế như: không thể đảm bảo rằng chương trình đã tuân theođặc tả khó phát hiện được lỗi do dữ liệu, thiếu đường dẫn,.v.v Như vậy,không thể chỉ sử dụng kiểm thử hộp trắng để kiểm thử chương trình

 Kiểm thử hộp đen: là kỹ thuật kiểm thử dựa trên dầu vào và đầu ra của

chương trình mà không quan tâm tới mã nguồn bên trong được viết rasao Với kỹ thuật này, kiểm thử viên xem phần mềm là một hộp đen

Để thực hiện, kiểm thử viên sẽ xây dựng các nhóm giá trị đầu vào saocho chúng có thể thực hiện đầy đủ các chức năng cần có của chươngtrình Kiểm thử hộp đen sử dụng các phương pháp phân tích giá trịbiên, kiểm thử tính bền vững, kiểm thử trường hợp xấu nhất, kiểm thửphân lớp tương đương miền dữ liêụ đầu vào, đầu ra, kiểm thử giá trị đặcbiệt, kiểm thử dựa trên bảng quyết định.Tất cả các phương pháp trênđều dựa trên thông tin xác định về các thành phần đang được kiểm thử

2.1.6 Các mức độ nghiêm trọng của lỗi

Chương trình một khi đã xuất hiện lỗi điều kéo theo những hệ lụy nghiêmtrọng Một trong những cách phân loại mức độ nghiêm trọng của lỗi thường được sửdụng là lặp đi lặp lại nhiều lần Việc phân loại mức độ nghiêm trọng của lỗi sẽ giúpkiểm thử viên cũng như lập trình viên ý thức được đâu là lỗi cần được giải quyết trước,nhằm giảm thiểu tối đa những tổn thất về chi phí và nâng cao chất lượng cho sản phẩmphần mềm Các mức độ nghiêm trọng của lỗi dựa trên mức độ nghiêm trọng và hậu

Trang 25

quả.

Trang 26

Bảng 2.1 Bảng phân loại mức độ nghiêm trọng của lỗi

3 Khó chịu Tên bị thiếu, cụt chữ hoặc hóa đơn có giá trị 0.0 đồng

4 Bực mình Một vài giao dịch không được xử lý

5 Nghiêm trọng Mất giao dịch

6 Rất nghiêm trọng Xử lý giao dịch sai

7 Cực kỳ nghiêm trọng Lỗi rất nghiêm trọng thường xuyên xảy ra

10 Dịch họa Thảm họa chuyển sang mức lây lan

Ca kiểm thử là một khái niệm không thể thiếu trong kiểm thử phần mềm, cakiểm thử mô tả dữ liệu bao gồm: đầu vào, hành động hoặc sự kiện và kết quả đầu ramong đợi (expected results) để xác định liệu 1 ứng dụng, hệ thống phần mềm hoặc mộtrong các tính năng của nó có hoạt động đúng như mong muốn hay không

Cấu trúc của một ca kiểm thử thông thưởng bao gồm:

 Test case ID: Xác định số lượng trường hợp cần kiểm thử

 Function (Chức Năng): Các finction có thể được chia nhỏ dựa theo chức

năng của hệ thống nhằm giúp ca kiểm thử trở nên rõ ràng hơn

 Pre-condition: Điều kiện đầu vào của ca kiểm thử, ví dụ như khi thực hiện

kiểm thử form đăng nhập, pre-condition sẽ là form đăng nhập phải đượchiển thị ra

 Test Data: Dữ liệu đầu vào cần chuẩn bị trước khi kiểm thử.

 Test Steps: Mô tả chi tiết các bước thực hiện kiểm thử.

 Expected Results: Mô tả kết quả thực tế khi thực hiện kiểm thử trên môi

trường của hệ thống Actual Result thường bao gồm ba giá trị pass, fail vàpending

 Comments: Có thể chứa screen shot hoặc thông tin liên quan khi thực hiện

ca kiểm thử

Một ca kiểm thử được cho là hiệu quả khi:

 Dựa vào ca kiểm thử có thể tìm thấy lỗi

 Tìm được nhiều lỗi khó phát hiện

 Chỉ ra được những điểm ban đầu mà khi thực hiện kiểm thử (Test steps)đơn giản, minh bạc, dễ hiểu

 Các trường hợp thử nghiệm nên có gí trị, tóm tắt và ngắn

Trang 27

 Các trường hợp thử nghiệm nên có giá trị, tóm tắt và ngắn.

 Các ca kiểm thử nên có sự liên kết Mỗi ca kiểm thử cần được đánh số thứ

tự (Test case ID) để đảm bảo ca kiểm thử đã bao phủ 100% bàn đặc tả yêucầu phần mềm

 Ca kiểm thử có thể bảo trì: Nên viết ca kiểm thử sao cho khi có thay đổi,chỉnh sửa thì các bên liên quan có thể dễ dàng nhận thấy được sự thay đổiđó

Kiểm thử tự động là quá trình kiểm tra một hệ thống nào đó bằng các công cụ

tự động hóa dữ liệu đầu vào và đầu ra đã được xác định

Công việc kiểm thử chiếm từ 11% - 40% chi phí cho quá trình phát triển phầnmềm Hơn nữa, các dự án phần mềm đều mong muốn giảm chi phí về thời gian, nhânlực mà vẫn đem lại hiệu quả cao, chất lượng tốt Đó chính là lý do kiểm thử tự độngđược áp dụng rộng rãi trong các quy trình phát triển phần mềm ngày nay

Kiểm thử tự động đặc biệt phát huy tác dụng trong các trường hợp kiểm thử lặp

đi lặp lại, kiểm thử hồi quy hay các ca kiểm thử có giá trị dữ liệu đầu vào rất lớn khiếncho việc kiểm thử thủ công gặp nhiều khó khăn Đối với các trường hợp kiểm thử lặp

đi lặp lại, nếu thực hiện thủ công sẽ gây ra sự nhàm chán cho người kiểm thử, dẫn tớinăng suất lao động kém Đó là chưa kể tới việc lặp đi lặp lại quy trình một cách thủcông hoàn toàn có thể dẫn tới sai sót Ngược lại nếu thay bằng kiểm thử tự động, dù cólặp đi lặp lại bao nhiều lần thì cũng cho ra thao tác và kết quả chính xác Điều này giúpchúng ta tránh được những rủi ro không đáng có và giảm đáng kể thời gian cho việckiểm thử

Dù có rất nhiều ưu điểm về mặt thời gian thực thi nhưng kiểm thử tự động cũngkhông thể thay thế hoàn toàn quá trính kiểm thử của con người Để thực hiện kiểm thử

tự động, trước hết vẫn cần bàn tay của con người thiết lập thao tác cho công cụ hay cácđoạn kịch bản máy tính để thực thi Đối với những ca kiểm thử chỉ thực hiện số ít lần

Trang 28

thì việc mất thời gian tạo kịch bản kiểm thử tự động là không cần thiết Chưa kể tớinhững ca kiểm thử với đặc thù riêng biệt mà kiểm thử tự động không làm được Thêmvào đó, không phải công cụ kiểm thử tự động nào cũng miễn phí và dễ sử dụng hayđưa vào triển khai rỗng rãi.

2.2 Các kỹ thuật xác định ca kiểm thử

Trong quá trình kiểm thử phần mềm sẽ nảy sinh vô số trường hợp cần phải xéttới Tuy nhiên, vì yếu tố chi phí, thời gian phát triển dự án người kiểm thử không thểtiến hành kiểm thử hết toàn bộ các giá trị đầu vào (Input) Lúc này, việc xác định tậpcác ca kiểm thử đặc trưng sẽ xây dựng sao cho có thể bao phủ được tối đa các trườnghợp là điều vô cùng cần thiết Phần này của đồ án đề cập tới một số kỹ thuật xác định

ca kiểm thử nhằm giải quyết vấn đề trên

2.2.1 Kỹ thuật phân vùng tương đương

Kỹ thuật phần vùng tương đương có đặc điểm là:

 Chia miền dữ liệu đầu vào của một chương trình thành các vùng dữ liệutương đương nhau

 Tất cả các giá trị trong một vùng tương đương sẽ cho ra kết quả đầu ragiống nhau

 Có thể chọn ra một giá trị đại diện trong một vùng tương đương để tiếnhành kiểm thử

Hình 2.3 Minh họa kỹ thuật phân vùng tương đương

Việc thiết kế ca kiểm thử bằng kỹ thuật phân lớp tương đương dựa trên nguyên

tắc xác định số vùng tương đương hợp lệ và số vùng tương đương không hợp lệ.

Ví dụ: Trương hợp kiểm thử một ô textbox chỉ cho phép nhập vào số ký tựtrong khoảng [5-30] Áp dụng nguyên tắc xác định số vùng tương đương ta sẽ có các

ca kiểm thử sau:

Trang 29

 Nhập vào một giá trị trong vùng tương đương không họp lệ thứ nhất: Nhập

4 ký tự

 Nhập vào một giá trị trong vùng tương đương hợp lệ Nhập 6 ký tự

 Nhập vào một giá trị trong vùng tương đương không hợp lệ thứ hai nhập 31

ký tự

Như vậy với kỹ thuật trên, kiểm thử viên đã rút ngắn được số ca kiểm thử cầnsinh ra so với việc kiểm thử toàn bộ các giá trị đầu vào

2.2.2 Kỹ thuật phân tích giá trị biên

Phân tích giá trị biên tập trung vào các giá trị tại biên của miền xác định để xâydựng ca kiểm thử Mục đích là tìm ra lỗi có thể xảy ra ở gần các giá trị biên này Phântích giá trị biên chính là trường hợp đặc biệt của kỹ thuật phân tích vùng tương đương.Dựa trên những vùng giá trị tương đương, kiểm thử viên sẽ xác định biên giữa nhữngvùng này và thiết kế ca kiểm thử phù hợp

Hình 2.4 Minh họa kỹ thuật phân tích giá trị biên

Với kỹ thuật phân tích giá trị biên, kiểm thử viên cần chú ý tới một số giá trịsau để sinh ca kiểm thử:

 Giá trị nhỏ nhất

 Giá trị gần kể lớn hơn giá trị nhỏ nhất

 Giá trị gần kề nhỏ hơn giá trị nhỏ nhất

 Giá trị bình thường

 Giá trị gần kề nhỏ hơn giá trị lớn nhất

 Giá trị lớn nhất

 Giá trị gần kề lớn hơn giá trị lớn nhất

Ví dụ: Kiểm thử một textBox nhập tuổi cho nhập giá trị một trong khoảng 150] Vậy có thể sinh ra các ca kiểm thử cho trường hợp này theo kỹ thuật phân tíchbiên như sau:

[0- Giá trị nhỏ nhất: 0

 Giá trị gần kể lớn hơn giá trị nhỏ nhất: 1

Trang 30

 Giá trị gần kề nhỏ hơn giá trị nhỏ nhất: -1

 Giá trị bình thường: 70

 Giá trị gần kề nhỏ hơn giá trị lớn nhất: 149

 Giá trị lớn nhất: 150

 Giá trị gần kề lớn hơn giá trị lớn nhất: 151

Như vậy có thể thấy phân tích giá trị biên là kỹ thuật bổ sung cho kỹ thuật phânvùng tương đương, giúp kiểm thử viên sinh ca kiểm thử để kiểm tra các giá trị tại biên

Trong một số trường hợp, kiểm thử viên có thể kết hợp với lập trình viên để tìm

ra những trường hợp có thể bị bỏ sót trong quá trình viết đặc tả yêu cầu phần mềm vàlập trình

2.2.4 Kỹ thuật kiểm tra trạng thái

Kỹ thuật này dựa trên việc quan sát, theo dõi quá trình chuyển từ trạng thái nàysang trạng thái khác khi có một hành động xảy ra trong chương trình phần mềm đểphát hiện các lỗi có thể xảy ra mà các kỹ thuật trên có thể bỏ sót Ví dụ điển hình cho

kỹ thuật chuyển trạng thái là việc kiểm thử chức năng giỏ hàng trong các trang Webthương mại điện tử Lỗi có thể xuất hiện mỗi khi thêm sản phẩm vào giỏ hàng, xóa sảnphẩm giỏ hàng hay khi thanh toán các sản phẩm trong giỏ hàng đó Công việc củakiểm thử viên là xem xét các điều kiện trạng thái, theo dõi quá trình chuyển đổi giữacác trạng thái, điều kiện nhập đầu vào các sự kiện kích hoạt thay đổi trạng thái

2.3 Kết luận

Tóm lại, Chương 2 đã trình bày những khái niệm có cái nhìn tổng quát vềnhững vấn đề cơ bản xoay quanh phần mễm và kiểm thử phần mềm các vấn đề cụ thểbao gồm:

 Các định nghĩa về phần mềm, kiểm thử phần mềm

 Vai trò của kiểm thử trong quá trình phát triển dự án phần mềm

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

 Quy trình kiểm thử phần mềm

Trang 31

 Phân loại kiểm thử phần mềm

 Liệt kê các mức độ nghiệm trọng của lỗi

 Tổng quan về ca kiểm thử

 Vai trò của kiểm thử tự động trong kiểm thử phần mềm hiện nay

Trang 32

3 CHƯƠNG 3: KIỂM THỬ ỨNG DỤNG TRÊN NỀN WEB BẰNG CÔNG CỤ

SELENIUM 3.1 Công cụ kiểm thử tự động Selenium

3.1.1 Giới thiệu chung về Selenium

Selenium là một phần mềm mã nguồn mở - một công cụ kiểm thử phần mềm tựđộng để kiểm thử các ứng dụng trên nền Web Năm 2004, Selenium được phát triểnbởi ThoughtWorks với cái tên ban đầu là JavaScriptTestRunner Đến năm 2007, tácgiả Jason Huggins rời ThoughtWorks và gia nhập Selenium Team (thuộc Google), từ

đó tiếp tục phát triển Selenium như hiện nay

Selenium không chỉ là một công cụ duy nhất mà là một bộ các công cụ giúpkiểm thử tự động các ứng dụng trên nền Web hiệu quả hơn, bao gồm 4 phần: SeleniumIDE, Selenium RC, Selenium Grid, Selenium WenDriver

Selenium là một tập hợp mạnh mẽ của các công cụ hỗ trợ phát triển nhanhchóng của các thử nghiệm tự động hóa cho các ứng dụng dựa trên Web Seleniumcung cấp một tập phong phú các thử nghiệm chức năng đặc biệt hướng đến các nhucầu của các thử nghiệm của một ứng dụng web Các hoạt động này là rất linh hoạt, chophép nhiều tùy chọn cho vị trí các thành phần UI và so sánh kết quả thử nghiệm dựkiến sẽ chống lại hành vi ứng dụng thực tế

Lợi ích của Selenium:

 Hỗ trợ các trường hợp mà việc excute test lặp đi lặp lại

 Hỗ trợ các trường hợp excute test một ma trận thử nghiệm lớn

 Có thể thực hiện excute test song song

 Có thể thực hiện excute test mà không cần người giám sát

 Cải thiện độ chính xác , giảm tối đa các lỗi do con người tạo ra

 Tiết kiệm thời gian tiền bạc

Các đặc điểm của Selenium

 Mã nguồn mở Phải nói điểm này là điểm mạnh nhất của Selenium khi sosánh với các test tool khác Vì là mã nguồn mở nên chúng ta có thể sử dụng

mà không phải lo lắng về phí bản quyền hay thời hạn sử dụng

 Cộng đồng hỗ trợ Vì là mã nguồn mở nên Selenium có một cộng đồng hỗtrợ khá mạnh mẽ Bên cạnh đó, Google là nơi phát triển Selenium nênchúng ta hoàn toàn có thể yên tâm về sự hổ trợ miễn phí khi có vấn đề về

Trang 33

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 C#, Java, Python, PHP vàSelenium còn có thể kết hợp với một số công cụ kiểm thử khác như Junit,Bromien, Nunit

 Selenium hỗ trợ chạy trên nhiều OS khác nhau với mức độ chỉnh sửa scripthầ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ăngviết script của chúng ta

 Chạy test case ở backround Khi chúng ta thực thi một test scrpit, chúng tahoà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 takhông cần tốn quá nhiều tài nguyên máy móc khi chạy test script

 Không hỗ trợ Win app Selenium thực sự chỉ hỗ trợ chúng ta tương tác vớiBrowser mà không hỗ trợ chúng ta làm việc với các Win app, kể cả Windialog như Download/Upload – ngoại trừ Browser Alarm Vậy nên, để xử

lý các trường hợp cần tương tác với hệ thống hay một app thứ ba, chúng tacần một hay nhiều thư viện khác như AutoIt hay Coded UI

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

Selenium gồm 4 thành phần chính: mỗi thành phần đều đóng một vai trò cụ thểtrong việc hỗ trợ kiểm thử Web

Hình 3.5 Các thành phần của Selenium

 Selenium IDE: Selen-IDE là môi trường phát triển tích hợp cho việc xây

dựng trường hợp thử nghiệm Selenium Nó hoạt động như một trình duyệtFirefox add-on và cung cấp một giao diện dễ sử dụng để phát triển và chạytrường hợp kiểm thử cá nhân, bộ kiểm tra toàn bộ Selenium-IDE có một

Trang 34

tính năng ghi lại, sẽ giữ Email của người sử dụng khi chúng được thực hiện

và lưu trữ chúng như là một kịch bản tái sử dụng để phát sử dụng Nó cũng

có một menu ngữ cảnh (nhấn chuột phải) tích hợp với trình duyệt Firefox,cho phép người dùng chọn từ một danh sách xác nhận và xác minh cho các

vị trí đã chọn Selenium- IDE cũng cung cấp chỉnh sửa đầy đủ các trườnghợp thử nghiệm cho chính xác hơn và kiểm soát.Mặc dù Selen-IDE chỉ làmột Firefox add-on, các kiểm thử tạo ra trong nó cũng có thể được chạy chocác trình duyệt khác bằng cách sử dụng Selenium-RC và chỉ định tên của bộứng dụng thử nghiệm trên dòng lệnh

 Selenium Webdriver: WebDriver là một công cụ để kiểm thử tự động các

ứng dụng web Nó thường được gọi là Selenium 2.0 WebDriver sử dụngmột framework cơ bản khác biệt trong khi Selenium RC sử dụng JavacriptSelenium-Core nhúng vào trong trình duyệt WebDriver tương tác trực tiếpvới các trình duyệt và không cần bất kỳ trung gian nào, không giống nhưSelenium RC phụ thuộc vào một máy chủ WebDriver được sử dụng trongngữ cảnh sau

 Kiểm thử đa trình duyệt, bao gồm cải thiện chức năng cho trình duyệt

mà không được hỗ trợ tốt bởi Selenium RC (Selenium 1.0)

 Điều khiển nhiều frame, nhiều cửa sổ trình duyệt, nhiều popup và alert

 Điều hướng trang phức hợp

 Điều hướng người dùng nâng cao như kéo-thả (drag-and-drop)

 AJAX-based UI elements

 Selenium RC (Remote Control):

 Selenium RC là dự án Selenium chính trong một thời gian dài trước khiSelenium WebDriver (Selenium 2.0) ra đời Giờ đây Selenium RC hầunhư không được sử dụng vì WebDriver cung cấp nhiều tính tăng mạnh

mẽ hơn Tuy nhiên bạn vẫn có thể tiếp tục phát triển các script sử dụngRC

 Selenium RC cho phép các nhà phát triển tự động hóa kiểm tra sử dụngmột ngôn ngữ lập trình cho tính linh hoạt tối đa và mở rộng trong việcphát triển logic thử nghiệm Ví dụ, nếu trình ứng dụng trả về một tậpkết quả của việc kiểm tra, và nếu chương trình thử nghiệm tự động cần

Trang 35

chạy thử nghiệm trên mỗi phần tử trong tập hợp kết quả, hỗ trợ lặp đilặp lại các ngôn ngữ lập trình có thể được sử dụng để chuyển đổi thôngqua việc tập hợp kết quả, kêu gọi Selenium lệnh chạy thử nghiệm trênmỗi mục Khả năng sử dụng Selen-RC với một ngôn ngữ lập trình bậccao để phát triển các trường hợp thử nghiệm cũng cho phép thử nghiệm

tự động được tích hợp với một dự án xây dựng môi trường tự động

 Selenium RC cho phép chúng ta viết các kiểm thử giao diện của ứngdụng Web tự động với sự giúp đỡ của các ngôn ngữ lập trình như Java,C#, Perl, Python, PHP để tạo ra các ca kiểm thử phức tạp hơn như đọc

và viết các tập tin, truy vấn cơ sở dữ liệu và gửi mail kết quả kiểm thử.Khả năng sử dụng Selen-RC với một ngôn ngữ lập trình bậc cao để pháttriển các trường hợp thử nghiệm cũng cho phép thử nghiệm tự độngđược tích hợp với một dự án xây dựng môi trường tự động

 Selenium Gird

Selenium Grid cho phép người dùng thực thi kiểm thử song song trên nhiềumáy tính khác nhau với nhiều trình duyệt khác nhau.Selenium Grid cho phép thực thikiểm thử với chế độ phân tán, sử dụng chung một code base Do đó, hard code khôngcần thiết phải có mặt trên tất cả các máy được sử dụng để thực thi kiểm thử

Selenium Grid bao gồm 2 thành phần chính là Hub và Nodes:

 Hub: có thể hiểu là máy chủ server, chứa hard code và là nơi gửi lệnhđiều khiển các máy khác trong mô hình thực thi kiểm thử Hub chỉ cóthể được set up duy nhất trên một máy tính

 Nodes: là các Selenium instances được kết nối vào Hub để thực thi cáckịch bản kiểm thử Có thể có nhiều Nodes trong một mô hình Grid CácNodes có thể được set up trên nhiều máy tính với nhiều trình duyệtkhác nhau

3.1.3 Hướng dẫn cài đặt Selenium

Trang 36

Sau khi truy cập liên kết chỉ cần chọn thêm vào Chrome là được

Hình 3.6 Selenium IDE trên cửa hàng Chrome

3.1.3.2 Selenium Webdriver

Đối với Selenium Webdriver ta có thể cài bằng cách cài trực tiếp vào VisualStudio thông qua NuGet Truy cập vào NuGet Package Manager

Hình 3.7 Truy cập vào NuGet Package Manager trên Visual Studio

Tìm với từ khoá Selenium và chọn Selenium.WebDriver Sau đó chọn install

Trang 37

Hình 3.8 Tìm kiếm và cài đặt Selenium WebDriver

Sau khi cài Selenium WebDriver Cần phải cài WebDriver cho trình duyệt, hiệntại Selenium hỗ trợ các trình duyệt chính như: Chrome, Firefox, Internet Explore (IE)

và Microsoft Egde

Có thể cài đặt trực tiếp qua NuGet như trên hoặc có thể tải về phiên bản phùhợp tại: https://chromedriver.chromium.org/downloads Và sử dụng bằng cách importvào trong code Ví dụ: để khởi tạo trong C# ta có thể viết:

IWebDriver driver = new ChromeDriver(@"C:\chromedriver_win32");

Trong đó "C:\chromedriver_win32" là thư mục gốc chứa driver

3.1.3.3 Selenium Grid

Để cài đặt Selenium Grid, ta cần tải file jar được cung cấp tại trang chủ củaSelenium: https://www.selenium.dev/downloads/

Hình 3.9 Trang chủ download Selenium Grid

Sau khi tải về, cần phải khởi tạo hub bằng command line

Ngày đăng: 06/12/2021, 19:08

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Vòng đời của quá trình kiểm thử - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 2.1 Vòng đời của quá trình kiểm thử (Trang 19)
Hình 2.3 Minh họa kỹ thuật phân vùng tương đương - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 2.3 Minh họa kỹ thuật phân vùng tương đương (Trang 28)
Hình 3.5 Các thành phần của Selenium - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 3.5 Các thành phần của Selenium (Trang 33)
Hình 3.6 Selenium IDE trên cửa hàng Chrome - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 3.6 Selenium IDE trên cửa hàng Chrome (Trang 36)
Hình 3.8 Tìm kiếm và cài đặt Selenium WebDriver - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 3.8 Tìm kiếm và cài đặt Selenium WebDriver (Trang 37)
Hình 4.13 Hình ảnh trang chủ giới thiệu Website - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 4.13 Hình ảnh trang chủ giới thiệu Website (Trang 41)
Hình 4.14 Diagram trong SQL Mô hình quan niệm dữ liệu (thực thể - kết hợp) - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 4.14 Diagram trong SQL Mô hình quan niệm dữ liệu (thực thể - kết hợp) (Trang 43)
Hình 4.15 Bảng lưu thông tin người dùng - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 4.15 Bảng lưu thông tin người dùng (Trang 43)
Hình 4.21 Mô hình UseCase tổng quát - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 4.21 Mô hình UseCase tổng quát (Trang 45)
Hình 4.22 Mô hình UseCase quản lý - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 4.22 Mô hình UseCase quản lý (Trang 46)
Hình 4.25 Sơ đồ ERD - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 4.25 Sơ đồ ERD (Trang 47)
Hình 4.24 Sơ đồ ClassDiagram - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 4.24 Sơ đồ ClassDiagram (Trang 47)
Hình 5.27 Giao diện trang đăng ký - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 5.27 Giao diện trang đăng ký (Trang 48)
Hình 5.28 Giao diện trang thông tin tài khoản - BÁO CÁO đồ án KIỂM THỬ VÀ đảm BẢO CHẤT LƯỢNG PHẦN MỀM KIỂM THỬ ỨNG DỤNG WEB BÁN COFFEE BẰNG CÔNG CỤ SELENIUM
Hình 5.28 Giao diện trang thông tin tài khoản (Trang 49)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w