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 0 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

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

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 ILỜI CẢM ƠN IIDANH MỤC HÌNH ẢNH VIDANH 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.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

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ỂUYBả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àikhô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ảnphẩ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ẠCHKIỂ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ượngCun cấp thông tin để đưa ra quyết địnhNgăn ngừa lỗi

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

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

Trang 10

Trái với các hoạt động hiển nhiên hoặc luật phápCó 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 rovà 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ànglà 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àngvà đư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ănglà 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áchnhiệ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ênquan 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ìmthấ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 giaochí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ácnhau, 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ôngThự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 leaderThực hiện các công việc khác được giao

Test leader: Phân công công việc cho testerReview 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ự ánBA Leader: Thực hiện phân công công việc cho BA

Trang 13

Review output của BAReview 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 teamReview 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ânbổ 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ưởngbộ 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ũngnhư 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ườisẽ đị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 testXá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ử Sosánh giữa kết quả thực tế và kế hoạch đã đề ra Bao gồm các việc đưa ra cácaction 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ệnkế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 để đạtmụ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ử đượcphâ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

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ácHigh 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 leveltest 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ểmthử, test case

• 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áctà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

Trang 18

• Báo cáo lỗi ghi nhận được

• Lập lại quá trình kiểm thử cho các lỗi phát hiện được hoặc theo kế hoạch • Ghi nhận lại độ phủ kiểm thử khi so sánh với các tài liệu đầu vào

Test completion

Định nghĩa: Thu nhận kết quả từ các hoạt động kiểm thử để đánh giá kinhnghiệm, và các thông tin liên quan khác Xẩy ra tại các mốc quan trọng củadự án

• Hoạt động

• Kiểm tra xem tất cả các lỗi đã được đóng chưa Trường hợp chưa thì bổsung các lỗi đó vào thành CR hoặc Product backlog

• Tạo báo cáo kiểm thử cho các bên liên quan

• Hoàn thiện và lưu trữ lại môi trường thử nghiệm để sử dụng lại nếu cần • Bàn giao các tài liệu kiểm thử, kết quả kiểm thử cho các bên liên quan • Phân tích bài học rút ra và đề xuất cải tiến cho dự án trong tương lai

1.2.2 Ca kiểm thử (Test Case)

Test case là một chuỗi các hành động mà người thực hiện cần phải làm theo để xácđịnh được xem phần mềm hoặc website (hoặc bất kỳ đối tượng nào cần được kiểm thử)có thực hiện đúng theo yêu cầu của người dùng, khách hàng hoặc các bộ phận liên quankhác

Một Test Case mô tả dữ liệu đầu vào (input), hành động (action) và kết quả mongđợi (expected respone), để xác định một chức năng của ứng dụng phần mềm hoạt độngđúng hay không

Mô tả Test case chi tiết hay ngắn gọn phụ thuộc vào quy mô của dự án hay quymô của công ty sản xuất phần mềm.

Cấu trúc của một test case

Created byNgười thực hiện tạo ra test case

Trang 19

Created date Ngày tạo test caseTest case id

Mã số duy nhất của test case, mỗi test caseBắt buôc phải có một mã để tiện tra cứuvfa lưu trữ

Module hoặc Feature

Là modul hoặc feature mà test case thựchiện việc kiểm thử cho nó Có tác dụng đểkiểm tra lại độ phủ của bộ test case vớispecification đã có

Pre condition

Tiền điều kiện, các điều kiện cần đượcthực hiện trước khi thực hiện các bướctỏng testcase

Test Stept

Các bước thao tác để thực hiện test case.Các bước cần được thực hiện tuần tự, theođúng các thao tác được mô tả, Người thựchiện test không được phép thêm bớt hànhđộng vào test case nếu như không có sựđồng ý của người tạo test case

Expected results Dữ liệu, cách xử lý mà hệ thống cần phảithực hiện Actual result Dữ liêu, cách xử lý mà hệ thống cần phảithực hiện

Executed date

Ngày thực hiện kiểm thử trường hợp kiểmthử nhiều lần trên nhiều phiên bản củaphần mềm sẽ sử dụng để xem xet phiwwnbản thay đổi thế nào qua các lần kiểm thửExecuted by Người thực hiện test case

Comments/ Note/ Remarks Các thông tin cần bổ sung cần ghi cú choNgười tạo hoặc developer hoặc bất kỳthành phần nào liên quan,…

Một số chú ý khi thiết kế Test Case

 Quy ước đặt tên: ngắn gọn, dễ hiểu, có đánh số thứ tự, thường gắn với têndự án và tên của module kiểm thử.

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

Xem thêm:

w