kiểm thử phần mềm trên cơ sở các biểu đồ uml

77 627 2
kiểm thử phần mềm trên cơ sở các biểu đồ uml

Đ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

NGA KIỂM THỬ PHẦN MỀM TRÊN CƠ SỞ CÁC BIỂU ĐỒ UML : 60-48-01 N Trung Tuấn - 2013 i Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ LỜI CAM ĐOAN Tôi xin cam đoan rằng đây là luận văn nghiên cứu của tôi, có sự hỗ trợ từ giáo viên hƣớng dẫn là PGS.TS Đỗ Trung Tuấn. Các nội dung nghiên cứu và kết quả trong luận văn này là trung thực. Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá đƣợc tôi thu thập từ các nguồn khác nhau có ghi trong phần tài liệu tham khảo. Ngoài ra, đề tài còn sử dụng một số nhận xét, đánh giá cũng nhƣ số liệu của các tác giả, cơ quan tổ chức khác, và cũng đƣợc thể hiện trong phần tài liệu tham khảo. Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm trƣớc Hội đồng, cũng nhƣ kết quả luận văn của mình. Thái Nguyên, ngày 14 tháng 10 năm 2013 Học viên Nguyễn Thị Nga ii Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ LỜI CẢM ƠN Để hoàn thành chƣơng trình cao học và viết luận văn này, em đã nhận đƣợc sự giúp đỡ và đóng góp nhiệt tình của các thầy cô trƣờng Đại học Công nghệ Thông tin và Truyền Thông, Đại học Thái Nguyên. Trƣớc hết, em xin chân thành cảm ơn các thầy cô trong bộ phận Đào tạo sau đại học, Đại học Công nghệ thông tin và Truyền thông, trƣờng Đại học Thái Nguyên đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong suốt những năm học qua. Em xin gửi lời biết ơn sâu sắc tới PGS. TS Đỗ Trung Tuấn đã dành rất nhiều thời gian và tâm huyết hƣớng dẫn, chỉ bảo em trong suốt quá trình thực hiện đề tài. Xin chân thành cảm ơn gia đình, bạn bè đã nhiệt tình ủng hộ, giúp đỡ, động viên cả về vật chất lẫn tinh thần trong thời gian học tập và nghiên cứu. Trong quá trình thực hiện luận văn, mặc dù đã rất cố gắng nhƣng cũng không tránh khỏi những thiếu sót. Kính mong nhận đƣợc sự cảm thông và tận tình chỉ bảo của các thầy cô và các bạn. iii Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC TỪ VIẾT TẮT v DANH MỤC HÌNH VẼ vi MỞ ĐẦU 1 Chương 1: MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ THIẾT KẾ PHẦN MỀM BẰNG UML VÀ KIỂM THỬ PHẦN MỀM 3 1.1. Thiết kế hệ thống bằng UML 3 1.1.1. Một số khái niệm cơ bản 3 1.1.2. Các mô hình trong UML 5 1.2. Kỹ thuật kiểm thử phần mềm 14 1.2.1. Một số khái niệm cơ bản 15 1.2.2. Kiểm thử chức năng (Black box) 18 1.2.2.1. Phân hoạch tƣơng đƣơng 18 1.2.2.2. Phân tích giá trị biên 18 1.2.2.3. Kỹ thuật đồ thị nhân quả 19 1.2.2.4. Kiểm thử so sánh 20 1.2.2.5. Kiểm thử dựa trên đặc tả 21 1.2.3. Kiểm thử cấu trúc (White box) 22 1.2.4. Công cụ kiểm thử phần mềm 23 Chương 2: KIỂM THỬ TÍCH HỢP TRÊN CƠ SỞ CÁC MÔ HÌNH UML 30 2.1. Phƣơng pháp 30 2.1.1 Mô hình kiểm thử phần mềm dựa trên thành phần 30 2.1.2 Kiểm thử tích hợp trên cơ sở mô hình UML cho phần mềm dựa trên thành phần 32 iv Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 2.2. Kiểm thử trên cơ sở mô hình trạng thái 33 2.2.1 Mô hình tiếp cận trên mô hình trạng thái 33 2.2.2 Các khái niệm mô hình trạng thái 33 2.2.3 Sử dụng mô hình 35 2.3. Kiểm thử trên cơ sở mô hình trình tự 39 2.3.1 Các khái niệm mô hình trình tự 39 2.3.2 Sử dụng mô hình 40 2.4. Kiểm thử trên cơ sở mô hình cộng tác 40 2.4.1 Các khái niệm mô hình cộng tác 40 2.4.2 Sử dụng mô hình 42 Chương 3: XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM 45 3.1. Bài toán 45 3.2. Phân tích thiết bài toán trên cơ sở UML 47 3.2.1. Quy trình xây dựng tài liệu kiểm thử dựa trên mô hình UML 47 3.2.2. Mô hình xây dựng use-case với bài toán thực tế 48 3.2.3. Xây dựng luồng nghiệp vụ trên cơ sở cách tiếp cận mô hình cộng tác /tuần tự và trạng thái 48 3.3. Sinh test case, test path để kiểm thử trên mô hình UML 58 Trình diễn một số kịch bản của chƣơng trình 66 KẾT LUẬN VÀ KIẾN NGHỊ 68 TÀI LIỆU THAM KHẢO 69 v Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ DANH MỤC TỪ VIẾT TẮT actor Tác nhân Black box Hộp đen BVA boundary value analysis CNTT Công nghệ thông tin FRAME Khung IBM Tên công ty máy tính script Kịch bản UC Biểu đồ UC (Use case diagrams) UML Ngôn ngữ mô hình hóa tổng quát White box Hộp trắng vi Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ DANH MỤC BẢNG, HÌNH VẼ Bảng 2.1. Bảng biến đổi trạng thái nhận đƣợc đặc tả biểu đồ trạng thái 38 Hình 1.1. Các ký hiệu đồ họa của biểu đồ Use Cases 5 Hình 1.2. UC cho hệ thống xử lý đặt hàng 6 Hình 1.3. Các ký hiệu đồ họa của biểu đồ Lớp 6 Hình 1.4. Biểu đồ lớp cho hệ thống xử lý đặt hàng 7 Hình 1.5. Các ký hiệu đồ họa cho biểu đồ đối tƣợng 7 Hình 1.6. Biểu đồ đối tƣợng cho hệ thống xử lý đặt hàng 7 Hình 1.7. Biểu đồ giao tiếp cho hệ thống xử lý đặt hàng 8 Hình 1.8. Biểu đồ tuần tự cho hệ thống xử lý đặt hàng 8 Hình 1.9. Biểu đồ trạng thái cho đối tƣợng phụ tùng trong hệ thống xử lý đặt hàng 9 Hình 1.10. Biểu đồ hoạt động cho hệ thống xử lý đặt hàng 10 Hình 1.11. Biểu đồ gói OrderSubmission 10 Hình 1.12. Ký hiệu đồ họa cho biểu đồ thành phần. 11 Hình 1.13. Biểu đồ thành phần cho hệ thống xử lý đặt hàng 11 Hình 1.14. Biểu đồ triển khai cho hệ thống xử lý đặt hàng 12 Hình 1.15. Biểu đồ thời gian (ký hiệu ngắn gọn) mô tả đƣờng sống của máy in 12 Hình 1.16. Biểu đồ thời gian (ký hiệu dày) miêu tả trạng thái của máy in 13 Hình 1.17. Biểu đồ tƣơng tác của hệ thống quản lý kiểm kê 14 Hình 1.18. Tiến trình kỹ thuật nhân quả 20 Hình 1.19. Mô hình tổ chức Visual Studio Team System 2008 Team Foundation Server 23 Hình 1.20. Giao diện QuickTest Professional 25 Hình 1.21. Logo JMeter 27 Hình 2.1. Biểu đồ trạng thái sự đặc tả thành phần của máy bán hàng tự động 37 Hình 2.2. Biểu đồ trình tự của thành phần máy chủ ATM 39 Hình 2.3. Biểu đồ cộng tác của thành phần máy chủ ATM 41 vii Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ Hình 2.4. Biểu đồ cộng tác cho PIN hợp lệ 42 Hình 3.1. Mô hình use case mô tả bài toán phát biểu 48 Hình 3.2. Biểu đồ trình tự khởi động hệ thống 49 Hình 3.3a. Biểu đồ trình tự tắt hệ thống 49 Hình 3.3b. Biểu đồ trạng thái bật và tắt hệ thống 50 Hình 3.4. Biểu đồ trình tự phiên 50 Hình 3.5. Biểu đồ trạng thái phiên 51 Hình 3.6. Biểu đồ trình tự giao dịch 52 Hình 3.7. Biểu đồ trạng thái cho một loại giao dịch 53 Hình 3.8. Biểu đồ cộng tác giao dịch rút tiền 54 Hình 3.9. Biểu đồ cộng tác giao dịch gửi tiền 55 Hình 3.10. Biểu đồ cộng tác giao dịch chuyển tiền 56 Hình 3.11. Biểu đồ cộng tác giao dịch truy vấn 56 Hình 3.12. Biểu đồ cộng tác PIN không hợp lệ 57 1 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ MỞ ĐẦU 1. Đặt vấn đề Công nghệ thông tin (CNTT) là sự kết hợp của hạ tầng phần cứng và phần mềm. Hạ tầng phần cứng sẽ ngày càng mạnh trong khi phần mềm cũng ngày càng lớn và phức tạp hơn. Chính vì lý do này mà công nghệ phần mềm (quy trình phát triển phần mềm) đã đƣợc chú tâm bàn thảo từ rất sớm nhằm tìm ra những phƣơng pháp để phát triển phần mềm thuận tiện có chất lƣợng cao đáp ứng tốt nhu cầu ngày càng đa dạng và phức tạp. Tất cả các quy trình phát triển phần mềm đều trải qua các bƣớc từ xác định yêu cầu, phân tích, xây dựng, kiểm thử, cho tới triển khai và bảo trì. Trong đó kiểm thử là một khâu không thể thiếu trong quá trình phát triển phần mềm. Nhiều hệ thống phần mềm thất bại do lỗi không đƣợc tìm ra. Kiểm thử phần mềm là một công việc khá phức tạp, tốn nhiều công sức. Quá trình kiểm thử sẽ gồm một số pha kết hợp trong đó nhƣ: kiểm thử đơn vị, kiểm thử chức năng, kiểm thử hệ thống, kiểm thử hồi quy và kiểm thử giải pháp. Nhƣ vậy, kiểm thử phần mềm là điều kiện tiên quyết cho một sản phẩm phần mềm có chất lƣợng tốt. Ngày nay, phần lớn các hệ thống phần mềm đƣợc phát triển theo phƣơng pháp hƣớng đối tƣợng do chúng có nhiều ƣu việt so với phƣơng pháp truyền thống. Quá trình phát triển phần mềm thƣờng thông qua các mô hình UML. Tuy nhiên, phƣơng pháp hƣớng đối tƣợng đã đặt ra nhiều thách thức cho công việc kiểm thử, ví dụ tƣơng tác giữa các đối tƣợng làm cho việc tìm ra các lỗi là rất khó khăn. Đã có nhiều nghiên cứu liên quan đến kiểm thử tích hợp trên các mô hình UML. Nhƣng cho đến nay vẫn chƣa có quy trình chuẩn cho việc áp dụng các mô hình UML vào việc kiểm thử phần mềm nói chung cũng nhƣ kiểm thử các hệ thống phần mềm. Luận văn này nhằm mục tiêu nghiên cứu học hỏi các kỹ thuật mô hình hoá hệ thống phần mềm bằng ngôn ngữ UML và các kỹ thuật kiểm thử phần mềm. 2 Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ Nội dung của đề tài Xuất phát từ việc phân tích và mục tiêu nêu trên, nội dung của đề tài luận văn sẽ bao gồm những vấn đề chính sau: 1. Nghiên cứu, tìm hiểu một số khái niệm cơ bản về thiết kế phần mềm bằng UML và kiểm thử phần mềm. 2. Nghiên cứu kiểm thử tích hợp trên cơ sở các mô hình UML. 3. Xây dựng ứng dụng thử nghiệm Cấu trúc luận văn Luận văn sẽ đƣợc chia thành 3 chƣơng chính dựa vào nội dung nêu trên: Chƣơng 1: Một số khái niệm cơ bản về thiết kế phần mềm bằng UML và kiểm thử phần mềm. Chƣơng 2: Kiểm thử tích hợp trên cơ sở các mô hình UML. Chƣơng 3: Xây dựng ứng dụng thử nghiệm. Cuối luận văn là danh sách các tài liệu tham khảo và phụ lục. [...]... Biểu đồ tương tác của hệ thống quản lý kiểm kê Các phần tử tƣơng tác hiển thị biểu đồ tƣơng tác nội tại, biểu đồ đó có thể là biểu đồ tuần tự, biểu đồ giao tiếp, biểu đồ thời gian hoặc biểu đồ tƣơng tác Các loại của biểu đồ tƣơng tác là miêu tả bởi khung (frame) với mã miêu tả của biểu đồ trong tiêu đề của khung Ví dụ biểu đồ trình tự là đƣợc miêu tả bằng cách viết mã “sd” trong tiêu đề khung Các phần. .. thử, chuẩn bị dữ liệu kiểm thử, tiến hành kiểm thử, viết báo cáo về kết quả kiểm thử, và cần biết quản lí toàn bộ công việc kiểm thử Kiểm thử cần đƣợc nhìn theo nhiều góc độ khác nhau liên quan tới phần mềm: kiểm thử chức năng, kiểm thử hiệu năng, cấu hình, an ninh và liên quan tới qui trình kiểm thử: kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thử chấp nhận; đồng thời phải thực hiện... của kiểm thử phần mềm là các cách thức làm việc với máy tính và chƣơng trình, tuy nhiên với những phần mềm lớn, việc kiểm thử cũng yêu cầu có sự phối hợp của nhiều nhóm chuyên môn phụ trách các thành phần riêng biệt, cho nên kiểm thử cũng cần các kĩ năng của con ngƣời Để thực hiện tốt công việc kiểm thử, ngoài nắm vững các kĩ thuật kiểm thử điển hình, kiểm thử viên cũng cần xây dựng kế hoạch kiểm thử, ... tƣơng tác miêu tả sự tƣơng tác logic giữa biểu đồ tƣơng tác và luồng xử lý Biểu đồ tƣơng tác là một biến thể của biểu đồ hoạt động Kết quả là, hầu nhƣ các ký hiệu của biểu đồ đƣợc sử dụng trong biểu đồ tƣơng tác là giống với các ký hiệu của biểu đồ hoạt động Tuy nhiên thay vì các phần tử biểu đồ hoạt động, biểu đồ tƣơng tác sử dụng các phần tử sau: Phẩn tử tƣơng tác Phần tử xảy ra tƣơng tác Số hóa bởi trung... chiếu tới biểu đồ tƣơng tác đang tồn tại Các phần tử xảy ra tƣơng tác đƣợc đại diện bởi khung với “ref” trong tiêu đề khung Tên của biểu đồ chỉ cho biết nội dung của khung 1.2 Kỹ thuật kiểm thử phần mềm Kiểm thử phần mềm là một trong những khâu quan trọng của quy trình phát triển phần mềm nhằm kiểm tra xem phần mềm làm ra có những lỗi gì cần khắc phục Kiểm thử không thể chứng minh đƣợc phần mềm là hết... http://www.lrc.tnu.edu.vn/ 11 Biểu đồ thành phần (Component diagrams): Kết hợp các gói hoặc các thực thể riêng lẻ để tạo lên các thành phần Có thể miêu tả các thành phần khác nhau và mối quan hệ phụ thuộc của chúng bằng sử dụng biểu đồ thành phần Hình 1.12 Ký hiệu đồ họa cho biểu đồ thành phần Để hiểu biểu đồ thành phần miêu tả các thành phần và mối quan hệ phụ thuộc của chúng, xem ví dụ thành phần thực thi xử... thống phần mềm, có ba loại là: Các thành phần cơ bản: bao gồm các thành phần tĩnh, động, chú thích của UML Số hóa bởi trung tâm học liệu http://www.lrc.tnu.edu.vn/ 5 Mối quan hệ: mô tả mối quan hệ giữa các thành phần khác nhau của mô hình UML Biểu đồ: mô tả cách nhìn khác nhau của các hệ thống đồ họa Biểu đồ cho phép bạn hình dung hệ thống từ nhiều góc độ 1.1.2 Các mô hình trong UML UML cung cấp 12 biểu. .. 12 biểu đồ sau đây để miêu tả cấu trúc và thiết kế của hệ thống phần mềm: 1 Biểu đồ UC (Use case diagrams) 2 Biểu đồ lớp (Class diagrams) 3 Biểu đồ đối tƣợng (Object diagrams) 4 Biểu đồ giao tiếp (Communication diagrams) 5 Biểu đồ tuần tự (Sequence diagrams) 6 Biểu đồ trạng thái (State Machine diagrams) 7 Biểu đồ hoạt động (Activity diagrams) 8 Biểu đồ gói (Package Diagrams) 9 Biểu đồ thành phần (Component... tập các trạng thái Hình 1.16 Biểu đồ thời gian (ký hiệu dày) miêu tả trạng thái của máy in Biểu đồ tƣơng tác (Interaction Overview Diagrams): Cung cấp tổng quan về biểu đồ tƣơng tác Biểu đồ tƣơng tác bao gồm những loại biểu đồ sau: Biểu đồ tuần tự (Sequence diagram) Biểu đồ giao tiếp (Communication diagram) Biểu đồ thời gian (Timing diagram) Biểu đồ tƣơng tác (Interaction overview diagram) Biểu đồ tƣơng... để đánh giá sự hoàn thành của một bộ kiểm thử mà đƣợc tạo cùng với các phƣơng pháp kiểm thử hộp đen Điều này cho phép các nhóm phần mềm khảo sát các phần của một hệ thống ít khi đƣợc kiểm tra và đảm bảo rằng những điểm chức năng quan trọng nhất đã đƣợc kiểm tra 1.2.4 Công cụ kiểm thử phần mềm Trên thị trƣờng hiện nay có nhiều công cụ kiểm thử phần mềm Với các nhà cung cấp nhƣ: Rational Software của . 1.2.2.4. Kiểm thử so sánh 20 1.2.2.5. Kiểm thử dựa trên đặc tả 21 1.2.3. Kiểm thử cấu trúc (White box) 22 1.2.4. Công cụ kiểm thử phần mềm 23 Chương 2: KIỂM THỬ TÍCH HỢP TRÊN CƠ SỞ CÁC MÔ HÌNH UML. niệm cơ bản về thiết kế phần mềm bằng UML và kiểm thử phần mềm. Chƣơng 2: Kiểm thử tích hợp trên cơ sở các mô hình UML. Chƣơng 3: Xây dựng ứng dụng thử nghiệm. Cuối luận văn là danh sách các. 2.1. Phƣơng pháp 30 2.1.1 Mô hình kiểm thử phần mềm dựa trên thành phần 30 2.1.2 Kiểm thử tích hợp trên cơ sở mô hình UML cho phần mềm dựa trên thành phần 32 iv Số hóa bởi trung tâm học

Ngày đăng: 22/11/2014, 21:47

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan