Kỹ Thuật Ma Trận Đồ Thị Trong Phương Pháp Kiểm Thử Hộp Trắng

Luận văn thạc sĩ kỹ thuật nghiên cứu hay kỹ thuật ma trận đồ thị trong phương pháp kiểm thử hộp trắng, khảo sát thực trạng, phân tích nguyên nhân, đề xuất giải pháp cải thiện thực

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2020

80
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ KIỂM THỬ HỘP TRẮNG

1.1. Kiểm thử phần mềm

1.2. Quan niệm về kiểm thử phần mềm

1.3. Chiến lược kiểm thử phần mềm

1.4. Các mức kiểm thử

1.5. Sơ lược về các phương pháp kiểm thử

1.6. Ý tưởng của kiểm thử hộp trắng

1.7. Mô tả một số cấu trúc theo lược đồ

1.8. Một số hướng chính về kiểm thử hộp trắng

2. CHƯƠNG 2: MỘT SỐ KỸ THUẬT HIỆU QUẢ TRONG PHƯƠNG PHÁP KIỂM THỬ HỘP TRẮNG VÀ CA KIỂM THỬ

2.1. Một số kỹ thuật chính trong phương pháp kiểm thử hộp trắng

2.2. Ca kiểm thử

2.3. Kỹ thuật ma trận đồ thị cho thiết kế ca kiểm thử

2.4. Quy trình kiểm thử phần mềm bằng kỹ thuật ma trận đồ thị

3. CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM KIỂM THỬ PHẦN MỀM BẰNG KỸ THUẬT MA TRẬN ĐỒ THỊ

3.1. Chọn mô-đun phần mềm thử nghiệm

3.2. Thiết kế ca kiểm thử và kiểm thử mô-đun phần mềm

3.3. Quy trình thiết kế

3.4. Một số giao diện chính của chương trình

3.5. Quá trình test với Mô-đun 1

3.6. Quá trình test với Mô-đun 2

3.7. Quá trình test với Mô-đun 3

3.8. Quá trình test với Mô-đun 4

3.9. Kiểm thử vòng lặp While

3.10. Đánh giá và so sánh kỹ thuật ma trận đồ thị với một số kỹ thuật thiết kế ca kiểm thử khác

3.11. Đánh giá kết quả thử nghiệm và hướng mở rộng

KẾT LUẬN VÀ KIẾN NGHỊ

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Kỹ Thuật Ma Trận Đồ Thị Trong Kiểm Thử Hộp Trắng

Kỹ thuật ma trận đồ thị là một trong những phương pháp quan trọng trong kiểm thử phần mềm, đặc biệt là trong kiểm thử hộp trắng. Kỹ thuật này giúp xác định các đường đi cơ bản trong chương trình, từ đó phát hiện lỗi và đảm bảo chất lượng phần mềm. Việc áp dụng kỹ thuật này không chỉ giúp tối ưu hóa quy trình kiểm thử mà còn nâng cao hiệu quả phát hiện lỗi.

1.1. Khái Niệm Về Kỹ Thuật Ma Trận Đồ Thị

Kỹ thuật ma trận đồ thị là phương pháp sử dụng ma trận để biểu diễn các mối quan hệ giữa các thành phần trong chương trình. Nó giúp xác định các đường đi có thể có trong mã nguồn, từ đó hỗ trợ việc kiểm thử hiệu quả hơn.

1.2. Lợi Ích Của Kỹ Thuật Ma Trận Đồ Thị

Việc sử dụng kỹ thuật ma trận đồ thị mang lại nhiều lợi ích như giảm thiểu thời gian kiểm thử, tăng cường khả năng phát hiện lỗi và đảm bảo rằng tất cả các đường đi trong chương trình đều được kiểm tra.

II. Vấn Đề Trong Kiểm Thử Hộp Trắng Với Kỹ Thuật Ma Trận Đồ Thị

Mặc dù kỹ thuật ma trận đồ thị mang lại nhiều lợi ích, nhưng cũng tồn tại một số thách thức trong quá trình áp dụng. Các vấn đề này có thể ảnh hưởng đến hiệu quả của việc kiểm thử và cần được giải quyết để tối ưu hóa quy trình.

2.1. Thách Thức Trong Việc Thiết Kế Ca Kiểm Thử

Thiết kế ca kiểm thử hiệu quả là một thách thức lớn. Cần phải đảm bảo rằng tất cả các đường đi trong ma trận đều được kiểm tra, điều này có thể dẫn đến việc tăng khối lượng công việc.

2.2. Khó Khăn Trong Việc Phân Tích Kết Quả Kiểm Thử

Phân tích kết quả kiểm thử từ ma trận đồ thị có thể phức tạp. Cần có các công cụ và phương pháp phù hợp để đảm bảo rằng các lỗi được phát hiện và xử lý kịp thời.

III. Phương Pháp Áp Dụng Kỹ Thuật Ma Trận Đồ Thị Trong Kiểm Thử

Để áp dụng kỹ thuật ma trận đồ thị trong kiểm thử hộp trắng, cần có một quy trình rõ ràng. Quy trình này bao gồm việc xác định các đường đi, thiết kế ca kiểm thử và phân tích kết quả.

3.1. Quy Trình Thiết Kế Ca Kiểm Thử

Quy trình thiết kế ca kiểm thử bao gồm việc xác định các điều kiện đầu vào và đầu ra, từ đó xây dựng ma trận kiểm thử phù hợp với cấu trúc của chương trình.

3.2. Phân Tích Kết Quả Kiểm Thử

Sau khi thực hiện kiểm thử, việc phân tích kết quả là rất quan trọng. Cần xác định các lỗi phát hiện được và đánh giá hiệu quả của kỹ thuật ma trận đồ thị trong việc phát hiện lỗi.

IV. Ứng Dụng Thực Tiễn Của Kỹ Thuật Ma Trận Đồ Thị

Kỹ thuật ma trận đồ thị đã được áp dụng trong nhiều dự án phần mềm thực tế. Những ứng dụng này cho thấy rõ ràng hiệu quả của phương pháp trong việc nâng cao chất lượng phần mềm.

4.1. Ví Dụ Về Ứng Dụng Trong Dự Án Phần Mềm

Nhiều dự án phần mềm lớn đã áp dụng kỹ thuật ma trận đồ thị để kiểm thử, giúp phát hiện lỗi sớm và giảm thiểu chi phí phát triển.

4.2. Kết Quả Nghiên Cứu Về Hiệu Quả Kiểm Thử

Các nghiên cứu cho thấy rằng việc áp dụng kỹ thuật ma trận đồ thị có thể tăng cường khả năng phát hiện lỗi lên đến 30% so với các phương pháp kiểm thử truyền thống.

V. Kết Luận Về Kỹ Thuật Ma Trận Đồ Thị Trong Kiểm Thử Hộp Trắng

Kỹ thuật ma trận đồ thị là một công cụ mạnh mẽ trong kiểm thử hộp trắng. Việc áp dụng kỹ thuật này không chỉ giúp phát hiện lỗi hiệu quả mà còn nâng cao chất lượng phần mềm. Tương lai của kỹ thuật này hứa hẹn sẽ còn phát triển hơn nữa.

5.1. Tương Lai Của Kỹ Thuật Ma Trận Đồ Thị

Với sự phát triển của công nghệ, kỹ thuật ma trận đồ thị sẽ tiếp tục được cải tiến và áp dụng rộng rãi hơn trong kiểm thử phần mềm.

5.2. Đề Xuất Nghiên Cứu Thêm

Cần có thêm nhiều nghiên cứu để tối ưu hóa kỹ thuật ma trận đồ thị, từ đó nâng cao hiệu quả kiểm thử và giảm thiểu chi phí phát triển phần mềm.

18/07/2025
Luận văn thạc sĩ hay kỹ thuật ma trận đồ thị trong phương pháp kiểm thử hộp trắng

Trích đoạn nội dung tài liệu

CHƯƠNG 1 TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM VÀ KIỂM THỬ HỘP TRẮNG 1. Kiểm thử phần mềm 1. Quan niệm về kiểm thử phần mềm Kiểm thử phần mềm (Software Testing) là một yếu tố quan trọng trong vấn đề xác minh và thẩm định. Việc kiểm thử cung cấp một thành luỹ cuối cùng để có thể thẩm định về mặt chất lượng, chứng thực hơn, phát hiện ra lỗi [7].

Theo Glen Myers, 1979, kiểm thử phần mềm là quá trình vận hành chương trình để tìm ra lỗi. Một ca kiểm thử tốt là ca kiểm thử có xác suất cao tìm ra một lỗi chưa được phát hiện. Một ca kiểm thử thắng lợi là ca kiểm thử làm lộ ra được ít nhất một lỗi còn chưa phát hiện. Với cách nhìn này, mục tiêu của chúng ta là thiết kế các ca kiểm thử để có thể phát hiện một cách hệ thống các loại lỗi khác nhau với chi phí thời gian và công sức ít nhất có thể.

Phát hiện lỗi là công việc của kiểm thử. Nhưng kiểm thử phần mềm không phải là gỡ lỗi. Kiểm thử phần mềm là một trong những yếu tố góp phần bảo đảm chất lượng phần mềm, là khâu điển hình kiểm soát đặc tả, thiết kế, lập mã. Kiểm thử phần mềm là quá trình thực thi một chương trình với mục đích tìm ra lỗi, đảm bảo sản phẩm phần mềm đáp ứng chính xác, đầy đủ và đúng theo yêu cầu của khách hàng.

Kiểm thử phần mềm cũng cung cấp mục tiêu, cái nhìn độc lập về phần mềm, điều này cho phép việc đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm. Kiểm thử phần mềm tạo điều kiện tận dụng tối đa tư duy đánh giá và sáng tạo để có thể phát hiện ra những điểm mà người khác chưa nhìn thấy. Chiến lược kiểm thử phần mềm Chiến lược kiểm thử là sự tích hợp các kỹ thuật thiết kế “ca kiểm thử” tạo thành một dãy các bước nhằm hướng dẫn quá trình kiểm thử phần mềm thành công [9]. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 Ca kiểm thử (test case) là một tình huống kiểm thử tương ứng với một mạch hoạt động của chương trình.

Nó bao gồm một tập các giá trị đầu vào và một danh sách các kết quả đầu ra mong muốn và thực tế. Chiến lược kiểm thử được đặt ra với các mục tiêu nhằm phác thảo lộ trình để: - Nhà phát triển tổ chức việc bảo đảm chất lượng bằng kiểm thử; - Khách hàng hiểu được công sức, thời gian và nguồn lực cần cho kiểm thử Chiến lược kiểm thử cần đạt các yêu cầu sau: - Tích hợp các khâu như lập kế hoạch, thiết kế ca kiểm thử, tiến hành kiểm thử, thu thập và đánh giá các thông tin kết quả; - Đủ mềm dẻo để cổ vũ óc sáng tạo, đáp ứng được yêu cầu khách hàng; - Thích ứng với mức kiểm thử cụ thể; - Đáp ứng các đối tượng quan tâm khác; 1. Các mức kiểm thử [9] Trong tiến trình kiểm thử, người ta chia ra thành nhiều mức kiểm thử. Về phương diện thực hành người ta thường chia thành 4 mức cơ bản: Mức 1.

Kiểm thử đơn vị (Unit testing); Mức 2. Kiểm thử tích hợp (Integration testing); Mức 3. Kiểm thử hệ thống (System testing), bao gồm: - Kiểm thử chức năng (functional test: system and interface) - Kiểm thử phục hồi (recovery test) - Kiểm thử chịu tải (extra: stress and load test) - Kiểm thử thi hành (performance test) - Kiểm thử an ninh (security test) Mức 4. Kiểm thử chấp nhận (acceptance testing)/thẩm định Có 2 tiến trình thực hiện kiểm thử: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 Tiến trình 1.

Tiến trình thực hiện kiểm thử tương ứng với tiến trình phát triển (theo từng mô hình). Tiến trình 2. Tiến trình kiểm thử thường theo mô hình chiến lược kiểm thử tổng thể: Kiểm thử Kiểm thử Kiểm thử Kiểm thử đơn vị tích hợp hệ thống thẩm định Môđun Môđun Cả phần cứng, Hệ thống đơn vị chức năng, phần mềm thực hệ con Hình 1. Mô hình chiến lược kiểm thử tổng thể 1.

Sơ lược về các phương pháp kiểm thử Bất kỳ sản phẩm kỹ nghệ nào đều có thể được kiểm thử theo một trong hai cách [1,2,5,6,15]: Cách 1. Kiểm thử chức năng/hộp đen: cho dữ liệu đầu vào đúng/sai, kiểm tra đầu ra đúng/sai, tức là kiểm thử xem từng chức năng có vận hành đúng không, không quan tâm đến cấu trúc bên trong của chức năng đó. Kiểm thử cấu trúc/hộp trắng: không những quan tâm đến mối quan hệ giữa đầu vào và đầu ra của chức năng đó mà còn quan tâm, đến cấu trúc bên trong, quan tâm chi tiết đến từng đầu vào, đầu ra của các thành phần cấu thành trong đó và cả sự ăn khớp giữa chúng nữa, tức là bảo đảm rằng sự vận hành bên trong thực hiện đúng theo đặc tả và tất cả các thành phần bên trong đều được quan tâm và được kiểm tra một cách chi tiết. Đối với phần mềm máy tính, kiểm thử hộp đen biểu thị việc kiểm thử được tiến hành tại giao diện phần mềm.

Mặc dù chúng được thiết kế để phát hiện ra lỗi, kiểm thử hộp đen được dùng để thể hiện rằng các chức năng phần mềm đã vận hành, cái vào được chấp nhận đúng, và cái ra được tạo ta đúng, tính toàn vẹn của thông tin ngoài (như tệp dữ liệu) là được duy trì. Phép kiểm LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 thử hộp đen xem xét một số khía cạnh của hệ thống ít để ý tới cấu trúc logic bên trong của phần mềm. Kiểm thử hộp trắng 1. Ý tưởng của kiểm thử hộp trắng Kiểm thử hộp trắng (white-box test) không những quan tâm đến mối quan hệ giữa đầu vào và đầu ra của chức năng đó mà còn quan tâm đến cấu trúc bên trong, quan tâm chi tiết đến từng đầu vào đầu ra của các thành phần cấu thành trong đó và cả sự ăn khớp giữa chúng nữa, tức là bảo đảm rằng sự vận hành bên trong thực hiện đúng theo đặc tả và tất cả các thành phần bên trong đều được quan tâm và được kiểm tra một cách chi tiết [9].

Kiểm thử hộp trắng được hướng tới việc xem xét kỹ về chi tiết thủ tục. Các đường logic đi qua phần mềm được kiểm thử bằng cách đưa ra các trường hợp kiểm thử, vốn thực hiện trên một tập xác định các điều kiện và /hoặc chu trình. “Trạng thái của chương trình” có thể được xem xét tại nhiều điểm khác nhau để xác định liệu trạng thái dự kiến hay khẳng định có tương ứng với trạng thái thực tại không [9]. Bản chất của khiếm khuyết phần mềm chính là lý do đầu tiên phải kiểm thử hộp trắng.

Hơn nữa, việc kiểm thử hộp đen, dù làm kỹ lưỡng đến đâu vẫn có thể sót nhiều loại lỗi. Theo Beizer: “Lỗi ẩn nấp trong các ngóc ngách và tập hợp tại biên giới”. Việc kiểm thử hộp trắng có nhiều khả năng phát hiện ra chúng hơn,. Kiểm thử hộp trắng (white box) là việc kiểm tra các đoạn mã chương trình xem nó có vận hành đúng như thiết kế hay không.

Kiểm thử hộp trắng dựa trên việc xem xét cấu trúc bên trong của chương trình theo cấu trúc điều khiển và sự hoạt động của chúng. Nó có nhiều tên gọi khác như glass testing, structure testing, open box testing, clear box testing [Beizer 1995]. Đối tượng của kiểm thử hộp trắng là các mã nguồn ở các mô-đun đơn vị [7,8]. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7 Kiểm thử hộp trắng sử dụng các chiến lược cụ thể và sử dụng mã nguồn của chương trình/đơn vị phần mềm cần kiểm thử nhằm kiểm tra xem chương trình/đơn vị phần mềm có thực hiện đúng so với thiết kế và đặc tả hay không.

Trong khi các phương pháp kiểm thử hộp đen chỉ cho phép phát hiện các lỗi/khiếm khuyết có thể quan sát được, kiểm thử hộp trắng cho phép phát hiện các lỗi/khiếm khuyết tiềm ẩn bên trong chương trình/đơn vị phần mềm, các lỗi này thường khó phát hiện bởi các phương pháp kiểm thử hộp đen. Kiểm thử hộp đen và kiểm thử hộp trắng không thể thay thế cho nhau mà chúng cần được sử dụng kết hợp với nhau trong một quy trình kiểm thử thống nhất nhằm đảm bảo chất lượng phần mềm. Tuy nhiên, để áp dụng các phương pháp kiểm thử hộp trắng, người kiểm thử không chỉ cần hiểu rõ giải thuật mà còn cần có các kỹ năng và kiến thức tốt về ngôn ngữ lập trình được dùng để phát triển phần mềm, nhằm hiểu rõ mã nguồn của chương trình/đơn vị phần mềm cần kiểm thử. Do vậy, việc áp dụng phương pháp kiểm thử hộp trắng thường tốn thời gian và công sức nhất là khi chương trình/đơn vị phần mềm có kích thước lớn.

Vì lý do này, phương pháp kiểm thử hộp trắng chủ yếu được sử dụng cho kiểm thử đơn vị. Mô tả một số cấu trúc theo lược đồ Trong các phương pháp kiểm tra tính đúng đắn của chương trình, lược đồ được dùng để: - Trừu tượng hóa cú pháp của mã lệnh; - Làm khuôn mẫu cơ bản cho các nguyên tắc kiểm tra theo trường hợp. - Kiểm tra tính đúng đắn trên toàn bộ lược đồ. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 8 SEQUENCE UNTIL IF WHILE CASE Hình 1.

Một số cấu trúc lập trình 1. Một số hướng chính về kiểm thử hộp trắng 1. Kiểm thử theo câu lệnh (Statement Testing) Thiết kế quá trình kiểm thử sao cho mỗi câu lệnh của chương trình được thực hiện ít nhất một lần. Phương pháp kiểm thử này xuất phát từ ý tưởng [1]: - Trừ phi một câu lệnh được thực hiện, nếu không ta không thể biết được có lỗi xảy ra trong câu lệnh đó hay không.

- Việc kiểm thử với một giá trị đầu vào không đảm bảo là sẽ đúng cho mọi trường hợp. Ví dụ: Đoạn chương trình thực hiện tính: result = 0+1+.+|valuel|, nếu result <= maxint, báo lỗi trong trường hợp ngược lại. THEN value := - value; 5. IF result <= maxint LUAN VAN CHAT LUONG download : add luanvanchat@agmail.

Sơ đồ điều khiển chương trình LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 Start Yes Value:=Value Value<0 No i:=i+1 result:=result + i (i<value)and (result<=maxint Yes ) No Yes No result< =maxint output (result); output (“too large”); End. Đồ thị của chương trình Ví dụ: Với các bộ giá trị đầu vào (input): maxint = 10, value = -1 hay: maxint = 0, value = -1 sẽ kiểm tra được toàn bộ các câu lệnh trong đoạn chương trình trên. Để đánh giá phương pháp này ta xem qua ví dụ sau: A B Hình 1. Minh hoạ về độ phức tạp của câu lệnh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 11 Với câu hỏi đầu tiên “Lược đồ nào phức tạp hơn”, ta có câu trả lời là B.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Kỹ Thuật Ma Trận Đồ Thị Trong Kiểm Thử Hộp Trắng" cung cấp cái nhìn sâu sắc về phương pháp kiểm thử hộp trắng, đặc biệt là kỹ thuật ma trận đồ thị. Tài liệu này không chỉ giải thích các khái niệm cơ bản mà còn hướng dẫn cách áp dụng chúng trong thực tế, giúp người đọc hiểu rõ hơn về cách tối ưu hóa quy trình kiểm thử phần mềm. Một trong những lợi ích lớn nhất mà tài liệu mang lại là khả năng cải thiện độ chính xác và hiệu quả trong việc phát hiện lỗi, từ đó nâng cao chất lượng sản phẩm phần mềm.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo thêm tài liệu "Bài tập lớn môn kiểm chứng phần mềm đề tài phương pháp hộp trắng white box testing", nơi bạn sẽ tìm thấy các bài tập thực hành liên quan đến kiểm thử hộp trắng. Ngoài ra, tài liệu "Luận văn nghiên cứu phương pháp sinh dữ liệu kiểm thử phần mềm dựa trên kỹ thuật kiểm chứng mô hình" sẽ giúp bạn hiểu rõ hơn về cách sinh dữ liệu kiểm thử hiệu quả. Cuối cùng, tài liệu "Nghiên cứu và ứng dụng selenium webdriver trong kiểm thử phần mềm" sẽ cung cấp cho bạn cái nhìn về một công cụ phổ biến trong kiểm thử phần mềm, giúp bạn áp dụng các kỹ thuật đã học vào thực tiễn.