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

kiểm thử phần mềm nhúng kiểm thử website quản lý nhà hàng goidi

35 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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ử phần mềm nhúng
Tác giả Nguyễn Thị Nhung, Nguyễn Huyền Ngọc, Trần Trung Hiếu
Người hướng dẫn Th. S Thái Thị Thanh Vân
Trường học Học viện Kỹ thuật Mật mã
Chuyên ngành Công nghệ thông tin
Thể loại Đề tài
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 35
Dung lượng 656,01 KB

Nội dung

Mục đích cuối cùng của công việc này là đảm bảo sản phẩm hoạt động hiệu quả và đáp ứng đúng theo mong muốn, yêu cầu của khách hàng.Quá trình kiểm thử phần mềm không chỉ nhằm mục đích tìm

Trang 1

HỌC VIỆN KỸ THUẬT MẬT MÃKHOA CÔNG NGHỆ THÔNG TIN

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

KIỂM THỬ PHẦN MỀM NHÚNG

KIỂM THỬ WEBSITE QUẢN LÝ NHÀ HÀNG GOIDI

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

- Nguyễn Thị Nhung CT050336

- Nguyễn Huyền Ngọc CT050138

- Trần Trung Hiếu CT050319

Giảng viên hướng dẫn:

Th S Thái Thị Thanh Vân

Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã

Hà Nội, 2024

Trang 2

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

Hà Nội, ngày … tháng … năm … Xác nhận của giảng viên hướng dẫn

(Ký và ghi rõ họ tên)

LỜI CẢM ƠN

Lời đầu tiên chúng em xin chân thành cảm ơn các thầy, cô trong khoa Công nghệ thông tin, Học viện Kỹ Thuật Mật Mã đã tạo điều kiện thuận lợi cho chúng em trong quá

Trang 3

trình học tập tại trường cũng như trong thời gian thực hiện đề tài này Đặc biệt, chúng emmuốn gửi lời cảm ơn tới Th.S Thái Thị Thanh Vân – giảng viên trực tiếp hướng dẫn, chỉbảo giúp chúng em khắc phục những khó khăn, thiếu sót để có thể hoàn thành các phầntrong đề tài này từ lý thuyết cho tới thực hành sử dụng công cụ.

Mặc dù đã cố gắng với tất cả nỗ lực của bản thân để hoàn thiện đề tài, nhưng dothời gian có hạn, năng lực và kinh nghiệm còn hạn chế nên báo cáo không thể tránh khỏinhững thiếu sót Kính mong nhận được sự đóng góp ý kiến từ phía thầy cô, bạn bè đểchúng em có thể nâng cao kiến thức của bản thân, hoàn thiện đề tài được tốt hơn

Chúng em xin chân thành cảm ơn!

Trang 4

MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN I LỜI CẢM ƠN II DANH MỤC HÌNH ẢNH VI DANH MỤC BẢNG BIỂU VI

LỜI NÓI ĐẦU 7

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI VÀ CÔNG NGHỆ SỬ DỤNG 8

1.1 Các khái niệm cơ bản về kiểm thử phần mềm 8

1.1.1 Khái niệm kiểm thử phần mềm (Software Testing) 8

1.1.2 Lỗi phần mềm và nguyên nhân sinh ra lỗi 8

1.1.3 Vai trò của kiểm thử 9

1.1.4 Người thực hiện kiểm thử 10

1.1.5 Thời gian thực hiện kiểm thử 10

1.1.6 Vai trò trong kiểm thử phần mềm 11

1.2 Quy trình kiểm thử 12

1.2.1 Lập kế hoạch kiểm thử (Test plan) 12

1.2.2 Ca kiểm thử (Test Case) 15

1.2.3 Thực hiện kiểm thử 16

1.2.4 Viết báo cáo kiểm thử (Test report) 17

1.3 Các mức kiểm thử 17

1.3.1 Kiểm thử đơn vị (Unit Test) 17

1.3.2 Kiểm thử tích hợp (Intergration Test) 18

1.3.3 Kiểm thử hệ thống (System Test) 18

1.3.4 Kiểm thử chấp nhận (Acceptance Test) 20

1.4 Các phương pháp kiểm thử 20

1.4.1 Kiểm thử hộp đen (Black box testing) 20

1.4.2 Kiểm thử hộp trắng (White box testing) 22

1.5 Các kỹ thuật kiểm thử dùng cho kiểm thử hộp đen 23

1.5.1 Phân vùng tương đương 23

1.5.2 Phân tích giá trị biên (Boundary Value analysis) 24

1.5.3 Bảng quyết định (Decision Table) 25

Trang 5

1.5.4 Kỹ thuật đồ thị nguyên nhân – kết quả 26

1.6 Phân loại kiểm thử 27

1.6.1 Kiểm thử thủ công (Manual Test) 27

1.6.2 Kiểm thử tự động (Automation Test) 30

CHƯƠNG 2 KẾ HOẠCH KIỂM THỬ 33

2.1 Giới thiệu 33

2.1.1 Mục đích 33

2.1.2 Tổng quan 33

2.1.3 Phạm vi 34

2.2 Tài liệu tham khảo 34

2.3 Lịch trình công việc 35

2.4 Môi trường kiểm thử 36

2.5 Công cụ kiểm thử 36

2.5.1 Selenium là gì? 36

2.5.2 Selenium bao gồm những gì? 37

2.5.3 Một số tính năng nổi bật 37

2.6 Nhân sự 37

2.7 Phạm vi kiểm thử 38

2.7.1 Những chức năng kiểm thử 38

2.7.2 Những chức năng không cần kiểm thử 38

2.8 Chiến lược kiểm thử 38

2.9 Điều kiện chấp nhận 39

2.10 Theo dõi lỗi 40

2.10.1 Phân loại lỗi 40

2.10.2 Quy trình xử lý lỗi 40

2.11 Thiết kế test case 41

2.11.1 Chức năng đăng nhập 41

2.11.2 Chức năng tìm kiếm 42

2.11.3 Chức năng đặt hàng 43

CHƯƠNG 3 THỰC HIỆN KIỂM THỬ VÀ ĐÁNH GIÁ 46

3.1 Thực thi kiểm thử 46

3.2 Đánh giá kết quả kiểm thử 46

Trang 6

3.3 Kết luận 47

TÀI LIỆU THAM KHẢO 48

Trang 7

DANH MỤC HÌNH Ả

Hình 1.1 Một số testing type thường gặp 13

Hình 1.2 Một mẫu Test case cơ bản 16

Hình 1.3 Kiểm thử hộp đen 21

Hình 1.4 Kiểm thử hộp trắng 22

Hình 1.5 Phân vùng tương đương 23

Hình 1.6 Phân tích giá trị biên 24

Hình 1.7 Các kí hiệu trong đồ thị nhân quả 27

Hình 1.8 Kiểm thử thủ công 27

Hình 1.9 Kiểm thử tự động 30

Hình 2.1 Công cụ Selenium 36

DANH MỤC BẢNG BIỂU Y Bảng 2.1 Kiểm thử chức năng 39

Bảng 2.2 Phân loại lỗi 40

Bảng 2.3 Quy trình xử lí lỗi 40

Bảng 2.4 Bảng Test Case chức năng đăng nhập 41

Bảng 2.5 Bảng Test Case chức năng tìm kiếm 42

Bảng 2.6 Bảng Test Case chức đặt hàng 45

Trang 8

LỜI NÓI ĐẦU

Trong những năm gần đây, công nghệ thông tin ngày càng phát triển mạnh mẽ, được ứng dụng, sử dụng trong hầu hết các linh vực của cuộc sống, từ kinh tế, văn hóa , xã hội Công nghệ thông tin phát triển cũng đồng nghĩa với các sản phẩm phần mềm xuất hiện nhiều Việc xây dựng các web phù hợp với mục đích từng sản phẩm là điều cần thiết Tuynhiên giữa muôn vàn sản phẩm có mặt ngoài việc giao diện đẹp đẽ thì tinh năng phải đung đắn, tính tin cậy cao Mọi sản phẩm làm ra cần đạt chuẩn thực hiện đúng chức năng,chính xác yêu cầu người dùng và phải đi kèm với tinh bảo mật cấp thiết Lỗi của một webnói chung sẽ ảnh hưởng đến người dùng, công ti phát hành và nhiều hậu quả nghiêm trọng không thể kể đến Do đó, hoạt động kiểm thử, đảm bảo chất lượng sản phẩm là rất quan trọng trước khi phát hành một sản phẩm phần mềm

Một quá trinh kiểm thử có thể tách biệt nhưng cần kịp thời để các hoạt động

sửa chữa, bảo trì được thực hiện Vì vậy chúng em chọn đề tài kiểm thử web này mong

muốn hướng đến một sản phẩm tốt cho người dùng Trong quá trình thực hiện đề tài không thể tránh khỏi những sai sót, nhóm chúng em rất mong nhận được sự giúp

đỡ góp ý từ phía cô và các bạn để có thể thực hiện tốt đề tài và hoàn thiện sản phẩm của mình hơn nữa.

Chúng em xin chân thành cảm ơn !

Trang 9

CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ KẾ HOẠCH

KIỂM THỬ

1.1 Các khái niệm cơ bản về kiểm thử phần mềm.

1.1.1 Khái niệm kiểm thử phần mềm (Software Testing)

Kiểm thử phần mềm (Software testing) là quá trình bao gồm nhiều

hoạt động kiểm tra để phát hiện ra lỗi của phần mềm nhằm cung cấp cho lập trình viên, khách hàng,… thông tin về chất lượng của phần mềm được kiểm thử Mục đích cuối cùng của công việc này là đảm bảo sản phẩm hoạt động hiệu quả và đáp ứng đúng theo mong muốn, yêu cầu của khách hàng

Quá trình kiểm thử phần mềm không chỉ nhằm mục đích tìm ra các lỗi trong phần mềm hiện có mà còn nhằm tìm ra các biện pháp cải thiện phần mềm hiệu quả, độ chính xác và khả năng sử dụng Nó chủ yếu nhằm mục đích đo lường đặc điểm kỹ thuật, chức năng và hiệu suất của một chương trình hoặc ứng dụng phần mềm

Mục đích của kiểm thử phần mềm là :

Tìm kiếm lỗi

Đảm bảo được một mức độ chất lượng

Cun cấp thông tin để đưa ra quyết định

Ngăn ngừa lỗi

1.1.2 Lỗi phần mềm và nguyên nhân sinh ra lỗi.

 Thế nào là Lỗi?

- Lỗi là các sản phầm đầu ra của một quy trình sản cuất không được đúngnhư kỳ cọng của khách hàng hoặc nguwoif thực hiện

- Trong quá trình sản xuất phần mềm thì có thể có những lỗi trong:

Tài liệu của dự án ( tài liệu thiết kế, báo cáo, hướng dẫn,…):

Mô tả không đúng

Mô tả không rõ ràng dẫn tới hiểu nhầmMâu thuẫn, trái ngược nhau

Lỗi chính tảCác lỗi trong phần mềm, website:

Sai khác với mô tả thiết kế của hệ thốngSai khác các logic không tuân theo mô tả trên màn hình

Trang 10

Trái với các hoạt động hiển nhiên hoặc luật pháp

Có Những loại Lỗi nào ?-Lỗi tính năng: Đây là lỗi liên quan đến tính năng của hệ thống , khi hệthống không thực hiển được tính năng mà nó phải làm thì đó là lỗi tínhnăng

Ví dụ: Khi một người dùng khồn thể đăng nhập vào hệ thống Khi một button dùng để xóa sản phầm A nhưng nó lại xóa sản phẩmB

-Lỗi giao diện: Đây là lỗi liên quan tới giao diện của hệ thống, khi gia diệnkhông đúng thiết kế hoặc các control đè lên nhau, xô lệch, màu sắc sai,…Lỗi nội dung: Đây là loại lỗi gặp phải khi nội dung của website, phần mềmkhông đúng

Ví dụ: Sai chính tả, hình ảnh lỗi, nội dung chưa dịch , nội dung không phùhợp,…

Lỗi hiệu năng; Khi phần mềm hoặc hệ thống không thực hiện được tínhnăng trong thời gian mong muốn

Lỗi bảo mật: Khi các tính năng bảo mật của hệ thống bị lỗi làm lộ cácthông tin nhạy cảm của hệ thống phần mềm

1.1.3 Vai trò của kiểm thử.

Giúp tiết kiệm tiền bảo trì

Bảo trì và nâng cấp là điều bắt buộc đối với sản phẩm phần mềmkhi có yêu cầu thay đổi, có các lỗi phát sinh không thể phát hiện trongquá trình phát triển

Quá trình kiểm thử nếu chúng ta làm tốt thì sẽ hạn chế được việcphát sinh các lỗi sau này Thậm chí phần mềm sẽ chạy ổn định cho đếnkhi phát sinh các thay đổi yêu cầu nghiệp vụ

Trong quá trình kiểm thử chúng ta cũng sẽ kiểm tra được mức độđáp ứng của từng module, phần mềm Khi phát triển phần mềm mớichúng ta hoàn toàn tận dụng được các module đã phát triển trước đó

Trang 11

Từ đó sẽ giảm thiểu ngân sách cho việc bảo trì sản phẩm vì quá trìnhkiểm thử đã được đảm bảo trước đó rồi

Kiểm thử phần mềm giúp phát hiện và sửa lỗi, loại bỏ các rủi ro

và vấn đề sớm, tăng tính bảo mật Vì thế kiểm thử phần mềm có tầmquan trọng trong việc hoàn thiện sản phẩm phần mềm, tránh những lỗhổng bảo mật và tăng độ tin tưởng cho người sử dụng

◦ Chất lượng của sản phẩm

Kiểm thử phần mềm có trách nhiệm về chất lượng sản phẩm.Ngoài vấn đề bảo mật, kiểm thử phần mềm sẽ đảm bảo được độ tincậy, hiệu suất hoạt động cao và đảm bảo đủ các tính năng cần thiếtcủa sản phẩm Sau khi hoàn thiện, sản phẩm đưa đến tay khách hàng

là sản phẩm đủ yêu cầu về: hình thức, giao diện, cấu trúc và tính năng.Đảm bảo không có bất kì lỗi nào trên sản phẩm

Sự hài lòng của khách hàng

Cho dù đội ngũ lập trình của bạn giỏi như thế nào đi nữa thì bạncũng không thể cam kết sản phẩm của bạn là hoàn hảo, không hề cóbugs và không cần phải test

Người dùng có nhiều sự lựa chọn, sản phẩm nào tiện sử dụng vàđáp ứng đủ tính năng thì họ sẽ hài lòng để dùng

Đội ngũ kiểm thử sẽ đóng vai trò quan trọng ở đây, họ test vàđảm bảo chất lượng sản phẩm tốt Họ nghiên cứu nhu cầu khách hàng

và đưa ra các trường hợp lỗi của sản phẩm để test và đánh giá Từ đó

sẽ giúp sản phẩm được hoàn thiện, đáp ứng sự hài lòng của kháchhàng một cách tối đa nhất

Tăng cường quá trình phát triển

Kiểm thử là khâu bắt buộc và có vai trò quan trọng bậc nhất Sẽkhông thể tạo ra một sản phẩm phần mềm đảm bảo chất lượng nếuthiếu đi bước kiểm thử Kiểm thử giúp hỗ trợ trong quá trình phát triển

Trang 12

Nếu không kiểm thử chúng ta sẽ không biết được khi nào và như thếnào là điểm dừng trong quá trình chúng ta phát triển phần mềm.

Dễ dàng trong khi thêm các tính năng mới

Kiểm thử phần mềm dễ dàng thêm các tính năng mới bởi kiểm thử chức năng

là xác minh hệ thống hoạt động theo đúng yêu cầu nghiệp vụ

1.1.4 Người thực hiện kiểm thử

Người trực tiếp tham gia thực hiện tất cả các công việc, gánh vác cách “trách nhiệm” quan trọng trên không đâu xa chính là các Kiểm thử viên (Tester).

Vì vậy, Tester là người nắm rõ nhất các kiến thức, các kĩ thuật, công cụ liên quan trực tiếp đến quá trình kiểm thử phần mềm Từ đó, họ kiểm tra, đánh giá để đưa ra thông số kĩ thuật phù hợp nhất cho sản phẩm.

Tester chịu hoàn toàn trách nhiệm trong việc xác định điều kiện kiểm thử, thiết kế kiểm thử và thực thi kiểm thử Ngoài ra, Tester có thể tham gia vào quá trình thiết lập môi trường kiểm thử và đưa ra các đặc tả cho quy trình cũng như dữ liệu kiểm thử.

Các Tester có nhiệm vụ ghi lại những kết quả đánh giá và kiểm thử khi tìm thấy lỗi nên họ có vai trò giám sát và đảm bảo việc thu thập các số liệu liên quan đến hiệu suất công việc, đảm bảo các yêu cầu sản phẩm được kiểm tra và bàn giao chính xác tới khách hàng.

Trong một dự án sẽ có nhiều bộ phận và mội bộ phận sẽ có mỗi vai trò khác nhau, vai trò của từng thành viên là:

Tester: Thực hiện test case, report bug và báo cáo kết quả theo phân công Thực hiện tạo test case theo pân công

Thực hiện báo cáo tiến độ làm việc cho test leader

Thực hiện các công việc khác được giao

Test leader: Phân công công việc cho tester

Review output/báo cáo của tester

Giải đáp các câu hỏi của tester trong khả năng

Đào tạo training

Báo cáo tiến độ của team test cho PM

BA: Phân tích nghiệp vụ và viết tài liệu để Developer teams có thể phát triển được phần mềm và teams test có thể hiểu và kiểm thử được phần mềm

Giải đáp thắc mắc của team về nghiệp vụ của dự án

BA Leader: Thực hiện phân công công việc cho BA

Trang 13

Review output của BA

Review báo cáo của BA

Developer: Thực hiện việc phát triển phần mềm theo yêu cầu đã có

Thực hiện unit test cho các phần mình phát triển

Báo cáo công việc co Technique leader

Tech leader : Chịu trách nhiệm giải quyết các vấn đề kỹ thuật trong team dự án

Quản lý tiến độ, phân công công việc trong developer team

Review sản phẩm của các developer

Project manager: Người chịu trách nhiệm quản trị dự án, lên kế hoạch, phân

bổ nguồn lực, đặt mức độ ưu tiên,… Để dự án thành công.

Đầu mối để tương tác với các thành phần ngoài dự án như giám đốc, trưởng

bộ phận

Customer: Khách hàng là người ra đề bài cho việc phát triển sản phẩm cũng như là người quyết định chất luwonjg, nghiệm thu sản phẩm phần mềm

Là người có quyền cao nhất về nghiệp vụ, tiến độ của dự án.

Product owner: LÀ người chịu trách nhiệm về sản phẩm phần mềm, người

sẽ định hướng việc phát triển phần mềm cũng như các tính năng cần có của nó.

Trang 14

1.2 Quy trình kiểm thử.

1.2.1 Quy trình kiểm thử trong dự án

Test planning : Là hoạt động thiết lập hay cập nhật lại kế hoạch kiểm thử Hoạt động: Xác định phạm vi, đối tượng các rủi ro có thể xẩy ra ttrong quá trình

Trang 15

Xác định cách thức tiệp cận quá rình kiểm thử” test approach”

Xác định chiến lược kiểm thử “ test strategy”

Xác định các yêu cầu cần thiết cho uqas trình kiểm thủ

Lên kế hoạch cho các giai đoạn tiếp theo của quá tình test

Xác định điểm kết thúc của quá trình test

Test Monitoring and control

Đĩnh nghĩa: là hoạt động diễn ra liên tuch trong suốt quá trình kiểm thử So sánh giữa kết quả thực tế và kế hoạch đã đề ra Bao gồm các việc đưa ra các action phù hợp để đạt được mục tiêu theo kế hoạch

• Hoạt động

• Đo lường và phân tích kết quả của quá trình kiểm thử tĩnh và động

• Giám sát và tài liệu quá quá trình kiểm thử, độ phủ kiểm thử và điều kiện kết thúc quá trình kiểm thử

• Cung cấp thông tin về chất lượng trong quá trình kiểm thử

• Đưa ra các hành động điều chỉnh kế hoạch hoặc các hoạt động khác để đạt mục tiêu cho kế hoạch

Test analysis

Đĩnh nghĩa: Là quá trình mà các tài liệu đầu vào của quá trình kiểm thử được phân tích để xác định các tính năng có thể kiểm thử và các điều kiện kiểm thử tương ứng

• Xác định tính năng hoặc bộ tính năng được kiểm thử

• Xác định mức độ ưu tiên của từng tính năng

Trang 16

Test Design

Định nghĩa: Là quá trình mà các điều kiện kiểm thử được phân bổ thành các High level test case hoặc các bộ high level test cases

Trang 17

• Hoạt động

• Thiết kế và đưa ra mức độ ưu tiên của high level test case hoặc bộ high level test case

• Xác định test data cần thiết cho quá trình kiểm thử

• Xác định môi trường test, hạ tầng kiểm thử và các công cụ

• Xác định được mối liên quan giữa tài liệu đầu vào với các điều kiện kiểm thử, test case

Test implementation

Định nghĩa: Quá trình phát triển các test case, test script để có thể tiến hành quá trình kiểm thử Đồng thời sắp xếp thứ tự test case sẽ được kiểm thử.

• Hoạt động

• Tạo và sắp xếp thứ tự các test case và các kịch bản kiểm thử tự động

• Tạo các test suites cần thiết

• Sắp xếp test suites vào quá trình kiểm thử để nâng cao chất lượng kiểm thử

• Xây dựng môi trường kiểm thử đồng thời xác định được rằng môi trường này được xây dựng chính xác

• Chuẩn bị test data

• Xác minh và cập nhật lại bảng so sánh độ phủ giữa tài liệu đầu vào và các tài liệu mới được tạo

• So sánh kết quả thực tế và kết quả mong muốn

• Phân tích các hiện tượng bất thường để hiểu rõ nguyên nhân xẩy ra

Ngày đăng: 03/07/2024, 15:47

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

TÀI LIỆU LIÊN QUAN

w