Luận Văn Thạc Sĩ Về Các Phương Pháp Đánh Giá Chất Lượng Phần Mềm

Luận văn thạc sĩ phân tích hay các phương pháp đánh giá chất lượng phần mềm, đánh giá thực trạng, chỉ ra hạn chế, đề xuất giải pháp khả thi cho thực tiễn.

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ĩ

2016

72
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

1. CHƯƠNG 1: QUI TRÌNH VÀ CHẤT LƯỢNG PHẦN MỀM

1.1. SẢN PHẨM VÀ CHẤT LƯỢNG PHẦN MỀM

1.1.1. Khái niệm về sản phẩm phần mềm

1.1.2. Khái niệm lỗi phần mềm

1.1.3. Chi phí sửa lỗi

1.1.4. Khái niệm kiểm thử phần mềm

1.1.5. Những khó khăn của kiểm thử phần mềm

1.1.6. Kiểm thử trong quy trình phát triển phần mềm

1.2. CHẤT LƯỢNG VÀ CÁC TIÊU CHÍ ĐÁNH GIÁ PHẦN MỀM

1.2.1. Chất lượng phần mềm

1.2.2. Các tiêu chí đánh giá

1.2.3. QUY TRÌNH KIỂM THỬ PHẦN MỀM

1.2.4. TỰ ĐỘNG HÓA KIỂM THỬ

2. CHƯƠNG 2: CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM

2.1. NGUYÊN TẮC CƠ BẢN CỦA KIỂM THỬ PHẦN MỀM

2.1.1. Các nguyên tắc kiểm thử phần mềm

2.1.2. Luồng thông tin kiểm thử

2.1.3. Thiết kế trường hợp kiểm thử

2.2. KIỂM THỬ HỘP ĐEN

2.2.1. Phân hoạch tương đương

2.2.2. Phân tích giá trị biên

2.2.3. Kiểm thử giá trị đặc biệt

2.2.4. Kỹ thuật đồ thị nhân quả

2.3. KIỂM THỬ HỘP TRẮNG

2.3.1. Kiểm thử dựa trên đồ thị luồng điều khiển

2.3.2. Kiểm thử dựa trên đồ thị luồng dữ liệu

2.3.3. Kiểm thử điều kiện

2.4. SO SÁNH KIỂM THỬ HỘP ĐEN VÀ KIỂM THỬ HỘP TRẮNG

3. CHƯƠNG 3: MỘT SỐ ỨNG DỤNG CỦA QUY TRÌNH KIỂM THỬ

3.1. BÀI TOÁN NAME CORRECTING

3.1.1. Giới thiệu bài toán

3.1.2. Phạm vi giải quyết

3.1.3. Thiết kế trường hợp kiểm thử

3.2. BÀI TOÁN SORT

3.2.1. Phát biểu bài toán

3.2.2. Phạm vi giải quyết

3.2.3. Thiết kế trường hợp kiểm thử

3.2.4. Kết quả kiểm thử

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Các Phương Pháp Đánh Giá Chất Lượng Phần Mềm

Đánh giá chất lượng phần mềm là một quy trình quan trọng trong phát triển phần mềm. Nó giúp xác định mức độ đáp ứng của phần mềm với các yêu cầu thiết kế và nhu cầu của người dùng. Các phương pháp đánh giá chất lượng phần mềm bao gồm kiểm thử, phân tích mã nguồn và đánh giá hiệu suất. Mỗi phương pháp có những ưu điểm và nhược điểm riêng, và việc lựa chọn phương pháp phù hợp là rất quan trọng để đảm bảo chất lượng sản phẩm cuối cùng.

1.1. Khái Niệm Về Đánh Giá Chất Lượng Phần Mềm

Đánh giá chất lượng phần mềm là quá trình kiểm tra và xác minh các tiêu chí như tính đúng đắn, tính tin cậy và tính dễ sử dụng của phần mềm. Điều này giúp phát hiện lỗi và cải thiện chất lượng sản phẩm.

1.2. Tầm Quan Trọng Của Đánh Giá Chất Lượng

Đánh giá chất lượng phần mềm không chỉ giúp phát hiện lỗi mà còn đảm bảo rằng phần mềm đáp ứng được yêu cầu của người dùng. Điều này rất quan trọng trong bối cảnh cạnh tranh hiện nay.

II. Các Vấn Đề Thách Thức Trong Đánh Giá Chất Lượng Phần Mềm

Mặc dù có nhiều phương pháp đánh giá chất lượng phần mềm, nhưng vẫn tồn tại nhiều thách thức trong quá trình thực hiện. Các vấn đề như thiếu tài liệu, sự phức tạp của phần mềm và áp lực thời gian có thể ảnh hưởng đến hiệu quả của việc đánh giá.

2.1. Thiếu Tài Liệu và Thông Tin

Thiếu tài liệu có thể dẫn đến việc không hiểu rõ yêu cầu của phần mềm, từ đó ảnh hưởng đến quá trình đánh giá. Điều này thường xảy ra trong các dự án phát triển phần mềm lớn.

2.2. Sự Phức Tạp Của Phần Mềm

Phần mềm ngày càng trở nên phức tạp, với nhiều tính năng và yêu cầu khác nhau. Điều này làm cho việc đánh giá chất lượng trở nên khó khăn hơn, đòi hỏi các phương pháp đánh giá phải linh hoạt và hiệu quả.

III. Phương Pháp Kiểm Thử Phần Mềm Hiệu Quả

Kiểm thử phần mềm là một trong những phương pháp chính để đánh giá chất lượng phần mềm. Có nhiều loại kiểm thử như kiểm thử hộp đen, kiểm thử hộp trắng và kiểm thử hồi quy. Mỗi loại kiểm thử có cách tiếp cận và mục tiêu riêng.

3.1. Kiểm Thử Hộp Đen

Kiểm thử hộp đen tập trung vào việc kiểm tra chức năng của phần mềm mà không cần biết về cấu trúc bên trong. Phương pháp này giúp phát hiện lỗi từ góc độ người dùng.

3.2. Kiểm Thử Hộp Trắng

Kiểm thử hộp trắng yêu cầu người kiểm thử phải hiểu rõ về mã nguồn và cấu trúc của phần mềm. Phương pháp này giúp phát hiện lỗi trong logic và cấu trúc của mã.

IV. Ứng Dụng Thực Tiễn Của Các Phương Pháp Đánh Giá

Các phương pháp đánh giá chất lượng phần mềm đã được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau. Từ các ứng dụng thương mại đến các hệ thống nhúng, việc đánh giá chất lượng là rất cần thiết để đảm bảo hiệu suất và độ tin cậy.

4.1. Ứng Dụng Trong Ngành Công Nghiệp

Trong ngành công nghiệp, việc đánh giá chất lượng phần mềm giúp đảm bảo rằng sản phẩm cuối cùng đáp ứng được yêu cầu của khách hàng và thị trường.

4.2. Kết Quả Nghiên Cứu Về Đánh Giá Chất Lượng

Nghiên cứu cho thấy rằng việc áp dụng các phương pháp đánh giá chất lượng có thể giảm thiểu lỗi và cải thiện hiệu suất của phần mềm, từ đó tăng cường sự hài lòng của người dùng.

V. Kết Luận Về Tương Lai Của Đánh Giá Chất Lượng Phần Mềm

Đánh giá chất lượng phần mềm sẽ tiếp tục đóng vai trò quan trọng trong phát triển phần mềm trong tương lai. Với sự phát triển của công nghệ, các phương pháp đánh giá cũng sẽ ngày càng trở nên tinh vi và hiệu quả hơn.

5.1. Xu Hướng Mới Trong Đánh Giá Chất Lượng

Các xu hướng mới như tự động hóa kiểm thử và trí tuệ nhân tạo đang được áp dụng để nâng cao hiệu quả của quá trình đánh giá chất lượng phần mềm.

5.2. Tương Lai Của Kiểm Thử Phần Mềm

Tương lai của kiểm thử phần mềm sẽ tập trung vào việc phát triển các công cụ và phương pháp mới nhằm cải thiện độ chính xác và hiệu quả trong việc phát hiện lỗi.

18/07/2025
Luận văn thạc sĩ hay các phương pháp đánh giá chất lượng phần mềm

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

Phần mở đầu, ba chƣơng nội dung, Phần kết luận và Tài liệu tham khảo. Chƣơng 1: Tổng quan về qui trình quản lí chất lƣợng phần mềm Tìm hiểu khái niệm chung về sản phẩm phần mềm, vấn đề chất lƣợng phần mềm, tầm quan trọng, khó khăn của việc kiểm thử phần mềm và các hoạt động đánh giá chất lƣợng trong quy trình phát triển phần mềm. Chƣơng 2: Các kỹ thuật kiểm thử phần mềm. Nội dung của chƣơng này phân tích các kỹ thuật cơ bản trong kiểm thử phần mềm:  Kiểm thử hộp đen: xây dựng lớp phân hoạch tƣơng đƣơng, phân tích giá trị biên, kỹ thuật đồ thị nhân quả, kiểm thử giá trị đặc biệt.

 Kiểm thử hộp trắng: kiểm thử dựa trên đồ thị luồng điều khiển, kiểm thử dựa trên luồng dữ liệu, kiểm thử điều kiện. Trên cơ sở các nội dung nói trên, luận văn phân tích, làm nổi bật những yếu tố quan trọng trong đảm bảo chất lƣợng phần mềm. Chƣơng 3: Một số ứng dụng cụ thể của quy trình kiểm thử. Để minh hoạ cho phần lý thuyết ở trên, chƣơng 3 sẽ trình bày một vài kịch bản kiểm thử áp dụng kỹ thuật hộp đen và kỹ thuật hộp trắng để kiểm thử.

Xây dựng các trƣờng hợp kiểm thử (test cases) cho từng kịch bản kiểm thử. Xây dựng chƣơng trình và giao diện: thực hiện với các trƣờng hợp kiểm thử đã đề xuất, đối sánh kết quả của chƣơng trình và kết quả dự kiến của các trƣờng hợp kiểm thử. Kết luận và hƣớng phát triển Tài liệu tham khảo Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1 CHƢƠNG 1 QUI TRÌNH VÀ CHẤT LƢỢNG PHẦN MỀM 1.1 SẢN PHẨM VÀ CHẤT LƢỢNG PHẦN MỀM 1.1 Khái niệm về sản phẩm phần mềm Phần mềm là một (bộ) chƣơng trình đƣơc cài đặt trên máy tính thực hiện một nhiệm vụ tƣơng đối độc lập nhằm phục vụ cho một hoặc nhiều ứng dụng cụ thể: quản lý hoạt động của máy tính hoặc áp dụng máy tính trong các hoạt động kinh tế, quốc phòng, văn hóa, giáo dục, giải trí…[4], [5] Ví dụ: S1. Hệ điều hành Ubutu; S2.

Môi trƣờng lập trình C++ Devcpp; S3. Hệ thống quản lý: CN2; S4. Game: Lines… … Việc tạo ra một sản phẩm phải trải qua nhiều giai đoạn, ngƣời ta gọi là quy trình phát triển phần mềm. Quy trình này đƣợc khởi động từ khi bắt đầu có ý tƣởng cho đến khi đƣa ra sản phẩm phần mềm thực thi.

Khối lƣợng công việc trong từng giai đoạn của quá trình sản xuất phần mềm cũng thay đổi theo thời gian.1 minh họa cụ thể hơn về tỷ lệ công việc của các giai đoạn phát triển phần mềm [9] Bảng 1. 1 - Tỷ lệ công việc của các giai đoạn phát triển phần mềm Phân Thiết Lập trình Tích hợp và Kiểm Thiết kế Giai đoạn tích yêu kế sơ và kiểm kiểm thử thử hệ chi tiết cầu bộ thử đơn vị tích hợp thống Thập kỉ 1960- 1970 10% 80% 10% Thập kỉ 1980 20% 60% 20% Thập kỉ 1990 40% 30% 30% Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2 Theo một tài liệu khác [7], chi phí liên quan từng giai đoạn của vòng đời phần mềm đƣợc thể hiện trong biểu đồ hình quạt nhƣ đƣới đây: Nguồn [7] Nhƣ vậy, một sản phẩm phần mềm đƣợc xem là một hệ thống bao gồm một hoặc nhiều phân hệ. Mỗi phân hệ lại đƣợc xây dựng từ những cấu phần. Mỗi cấu phần bao gồm các đơn vị nhỏ.

Các thành phần của phần mềm đƣợc liên kết với nhau thông qua các mối quan hệ và các tƣơng tác [8]. Vì vậy, việc mắc lỗi không chỉ xảy ra trong khi lập trình mà còn xảy ra cao hơn trong các công đoạn khác của quy trình phát triển một sản phẩm phần mềm. Việc kiểm thử cũng vì thế phải đƣợc tiến hành trong tất cả các phần tạo nên một sản phẩm phần mềm. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.

1 - Sản phẩm phần mềm.2 Khái niệm lỗi phần mềm Chúng ta đã thấy khi phần mềm hoạt động không nhƣ mong muốn thì ta nói rằng phần mềm đó có lỗi. Tuy nhiên, cũng có thể dùng nhiều thuật ngữ khác để mô tả hiện tƣợng này nhƣ: thất bại, sai sót, có vấn đề, bất thường không hợp lý, không tương thích,… Định nghĩa lỗi phần mềm dƣới đây dựa trên khái niệm đặc tả: một đặc tảlà một sự thống nhất về đặc tính, quan hệ, chức năng và hành vi của sản phẩm giữa những ngƣời phát triển phần mềm hoặc giữa ngƣời phát triển phần mềm và ngƣời đặt hàng hoặc sử dụng phần mềmthông qua một ngôn ngữ nào đó [5], [8], [10]. Lỗi phần mềm xuất hiện khi xảy ra một hay nhiều điều kiện sau [13], [14], [15]:  Phần mềm không thực hiện đúng những gì mà đặc tả định nghĩa.  Phần mềm thực hiện những gì mà đặc tả khuyến cáo không nên thực hiện.

 Phần mềm thực hiện những gì mà đặc tả không đề cập đến. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4  Phần mềm không thực hiện những gì mà đặc tả không đề cập đến nhƣng lẽ ra nên thực hiện.  Phần mềm là khó hiểu hay khó sử dụng. Theo các kết quả nghiên cứu đƣợc thực hiện trong các dự án khác nhau, số lỗi do đặc tả gây ra là nhiều nhất, chiếm khoảng 80% [12].

Các nguyên nhân sinh lỗi tại pha đặc tả:  Đặc tả không hình thức: Ngôn ngữ tự nhiên dễ hiểu nhƣng rƣờm rà, nhập nhằng.  Đặc tả hình thức (ngôn ngữ toán học và logic): đơn giản, chính xác nhƣng khó hiểu, khó cài đặt.  Quên đặc tả một yêu cầu nào đó.  Đặc tả không hết.

 Yêu cầu đã thay đổi nhƣng đặc tả không thay đổi.  Đặc tả khác nhau cho cùng một yêu cầu xuất hiện trong các cấu phần khác nhau của hệ thống. 2– Các nguyên nhân gây ra lỗi phần mềm [5] Nguồn gây ra lỗi lớn thứ hai là thiết kế. Đó là nền tảng mà lập trình viên dựa vào để nỗ lực thực hiện kế hoạch cho phần mềm.

Thời kỳ đầu, phát triển phần mềm thƣờng đồng nhất với lập trình, công việc lập trình thì nặng nhọc, do đó lỗi do lập trình gây ra là chủ yếu [4]. Ngày nay, công việc lập trình chỉ là một phần việc của qúa trình lao động chất xám, việc lập trình trở nên nhẹ nhàng hơn, mặc dù độ phức tạp phần mềm lớn hơn rất nhiều. Do đó, lỗi do lập trình gây ra cũng ít hơn. Tuy nhiên, nguyên nhân để lập trình tạo ra lỗi lại Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.

Đó là do độ phức tạp của phần mềm, do tài liệu nghèo nàn, do sức ép thời gian hoặc chỉ đơn giản là những lỗi “không nói lên đƣợc” [11]. Một điều cũng khá hiển nhiên là nhiều lỗi xuất hiện trên văn bản chƣơng trình, nhƣng khi tìm hiểu kỹ thì thực ra lại do lỗi của đặc tả hoặc thiết kế [10]. Một nguyên nhân khác tạo ra lỗi là do bản thân của công cụ phát triển phần mềm cũng có lỗi nhƣ công cụ trực quan, thƣ viện lớp, bộ biên dịch, các mẫu thƣờng đƣợc thiết kế theo xu hƣớng tổng quát hóa quá cao … 1.3 Chi phí sửa lỗi Ngƣời ta ƣớc tính, bảo trì là phần chi phí chính của phần mềm và kiểm thử là hoạt động có chi phí đắt thứ hai, ƣớc tính khoảng 40% của chi phí trong quá trình phát triển ban đầu của sản phẩm phần mềm. Kiểm thử cũng là phần chi phí chính của giai đoạn bảo trì do phải tiến hành kiểm thử lại những thay đổi trong quá trình sửa lỗi và đáp ứng yêu cầu của ngƣời dùng [1], [6] Kiểm thử và sửa lỗi có thể đƣợc thực hiện tại bất kỳ giai đoạn nào của vòng đời phần mềm.

Tuy nhiên, chi phí cho việc tìm và sửa lỗi sẽ tăng đáng kể theo thời gian trong quá trình phát triển [8]. Sự thay đổi một tài liệu hoặc yêu cầu (thí dụ, của khách hàng) khi đang trong pha thiết kế là không đắt nếu không nói là không đáng kể. Chi phí sẽ tăng lên nhiều hơn nếu các yêu cầu thay đổi đƣợc đƣa ra sau khi đã lập trình. Thay đổi lúc này đồng nghĩa với việc phải viết lại chƣơng trình [9].

Việc sửa lỗi sẽ không đáng kể nếu ngƣời lập trình tự phát hiện lỗi của mình, và không có sự liên quan đến chi phí khác. Họ không phải giải thích lỗi cho bất kỳ ngƣời nào trong nhóm. Họ cũng không phải nhập lại lỗi đó vào cơ sở dữ liệu lỗi và lƣu vết lỗi. Ngƣời kiểm thử và ngƣời quản lý không phải duyệt lại tình trạng lỗi.

Và lỗi đó không ảnh hƣởng đến công việc của ngƣời khác trong nhóm dự án. Nói chung, sửa một lỗi trƣớc khi phát hành một phần mềm rẻ hơn rất nhiều so với việc khắc phục nó sau khi đã phát hành [14], [15]. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 Theo các nghiên cứu của IBM, GTE cho biết, lỗi đƣợc phát hiện càng muộn thì chi phí cho việc sửa lỗi càng lớn. Chi phí tăng theo hàm mũ nhƣ sau: Hình 1.

3 - Chi phí cho việc sửa lỗi. Nguồn: [6], [8] Chúng ta từng chứng kiến sự cố máy tính Y2K năm 2000. Nguyên nhân là do việc tiết kiệm bộ nhớ bằng cách biểu diễn năm có 4 chữ số bằng 2 chữ số cuối của năm mà không dự tính đƣợc lỗi tiềm ẩn có thể xảy ra mà mấy chục năm sau, thế giới đã phải lo sợ và tốn nhiều tỉ đô la để khắc phục do dữ liệu ngày tháng có thể bị thay đổi khi máy tính coi năm 1900 nhƣ năm 2000 [1], [5].4 Khái niệm kiểm thử phần mềm Kiểm thử phần mềm là một quá trình liên tục, xuyên suốt mọi giai đoạn phát triển phần mềm để đảm bảo rằng phần mềm thỏa mãn các yêu cầu thiết kế và các yêu cầu đó đáp ứng các nhu cầu của ngƣời dùng. Các kỹ thuật kiểm thử phần mềm đã, đang đƣợc nghiên cứu, và việc kiểm thử phần mềm đã trở thành quy trình bắt buộc trong các dự án phát triển phần mềm trên thế giới.

Kiểm thử phần mềm là khâu mấu chốt để đảm bảo chất lƣợng phần mềm, là đánh giá cuối cùng về đặc tả thiết kế và mã hóa [7]. Mục đích của kiểm thử phần mềm là tìm ra lỗi chƣa đƣợc phát hiện ở thời điểm sớm nhất có thể và đảm bảo rằng lỗi đó đã đƣợc sửa.

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