ĐỒ ÁN TỐT NGHIỆP xây dựng phần mềm kiểm thử phần mềm C(KÈM CODE)

63 118 0
ĐỒ ÁN TỐT NGHIỆP xây dựng phần mềm kiểm thử phần mềm C(KÈM CODE)

Đ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

Các công cụ hỗ trợ kiểm thử tự động trên thị trường cũng có rất nhiều nhưng cũng có những hạn chế nhất định nào đó chưa thực sự tự động hoàn toàn trong quá trình kiểm thử mà vẫn cần rất nhiều công sức của kiểm thử viên. Vì vậy nhóm chúng em đã chọn đề tài “Tìm hiểu và xây dựng một ứng dụng kiểm thử phần mềm tự động” với mong muốn xây dựng một ứng dụng có thể đáp ứng và hỗ trợ cho kiểm thử viên thực hiện công việc một cách dễ dàng, chính xác và nhanh chóng hơn.

NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… ………………………………………….……………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Hưng Yên, ngày…… tháng… năm Giáo viên hướng dẫn Trang NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN PHẢN BIỆN …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Hưng Yên, ngày…… tháng… năm Giáo viên phản biện Trang NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN PHẢN BIỆN …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Hưng Yên, ngày…… tháng… năm Giáo viên phản biện Trang MỤC LỤC DANH MỤC CÁC BẢNG Trang DANH MỤC CÁC HÌNH VẼ LỜI CẢM ƠN Chúng em xin chân thành cảm ơn thầy cô khoa Công nghệ thơng tin tận tình giảng dạy, bổ sung cho chúng em kiến thức hiểu biết vô quý báu suốt thời gian học tập, thầy tạo điều kiện cho chúng em hồn thành tốt đồ án thời gian thực Sau thời gian nghiên cứu, tìm hiểu chúng em hồn thiện đồ án Đồ án thực hoàn thành trường Đại học Sư phạm kỹ thuật Hưng Yên hướng dẫn thầy giáo Đào Anh Hiển Trong thời gian thực nhóm gặp nhiều khó khăn mặt kiến thức nguồn tài liệu thầy hướng dẫn tận tình bảo, động viên, giúp đỡ, tạo điều kiện hỗ trợ tốt cho chúng em để chúng em hồn thành đồ án Nhóm chúng em xin bày tỏ kính trọng lịng biết ơn đến thầy! Mặc dù nỗ lực cố gắng hẳn đề tài nhiều thiếu sót Chúng em mong nhận góp ý, phê bình thầy để hồn thiện phát triển lên làm đồ án tốt nghiệp cho kỳ tới Chúng em xin cảm ơn! Trang Hưng Yên, ngày 10 tháng năm 2011 Nhóm thực hiện: Nguyễn Thị Thi Nguyễn Thị Thảo Trang PHẦN I: MỞ ĐẦU 1.1 Lý chọn đề tài Ngành công nghiệp phần mềm Việt Nam dần phát triển với nhiều hứa hẹn tương lai Kiểm thử phần quan trọng thiếu quy trình phát triển phần mềm Với địi hỏi ngày cao chất lượng việc rút ngắn tối đa thời gian phát triển, kiểm thử ngày trở nên quan trọng chí nhiều vấn đề sống để dự án phát triển phần mềm Với nhận định Công ty kiểm thử phần mềm Mỹ Logigea “ Việt Nam hổ ngành kiểm thử phần mềm Châu Á” với yêu cầu phát triển vậy, với nguồn nhân lực Kiểm thử viên Việt Nam cịn so với Lập trình viên cơng cụ hỗ trợ Kiểm thử viên cần thiết Các công cụ hỗ trợ kiểm thử tự động thị trường có nhiều có hạn chế định chưa thực tự động hồn tồn q trình kiểm thử mà cần nhiều công sức kiểm thử viên Vì nhóm chúng em chọn đề tài “Tìm hiểu xây dựng ứng dụng kiểm thử phần mềm tự động” với mong muốn xây dựng ứng dụng đáp ứng hỗ trợ cho kiểm thử viên thực công việc cách dễ dàng, xác nhanh chóng 1.2 Mục đích nghiên cứu • • • • Đưa khái niệm kiểm thử tự động Đưa lợi ích việc xây dựng ứng dụng kiểm thử tự động Nghiên cứu kỹ thuật NET hỗ trợ xây dựng ứng dụng kiểm thử tự động Thiết kế ứng dụng kiểm thử tự động phần mềm dựa vào kiến thức nghiên cứu Trang 1.3 Khách thể đối tượng nghiên cứu • Khách thể nghiên cứu: Kiến thức kiểm thử phần mềm tự động, trình xây dựn ứng dụng kiểm thử tự động • Đối tượng nghiên cứu: Tìm hiểu xây dựng ứng dụng kiểm thử tự động phần mềm 1.4 Nhiệm vụ nghiên cứu • Trình bày lý thuyết kỹ thuật xây dựng ứng dụng kiểm thử tự động phần mềm • Phân tích – thiết kế hệ thống • Xây dựng ứng dụng kiểm thử tự động phần mềm 1.5 Phạm vi nghiên cứu Nghiên cứu nội dung bao gồm: • Khái niệm kiểm thử phần mềm • Khái niệm kiểm thử tự động • Lợi ích kiểm thử tự động xây dựng ứng dụng kiểm thử tự động phần mềm • Kỹ thuật Reflection NET • Kỹ thuật CodeDom NET • Lưu trữ liệu với XML MS Excel 1.6 Phương pháp nghiên cứu • Tìm kiếm, tham khảo tài liệu liên quan đến kiểm thử phần mềm, kiểm thử tự động kỹ thuật xây dựng ứng dụng tự động; trang forum, blog kiểm thử phần mềm testingvn.com, yinyangit.wordpress.com , testervn.com … • Tìm hiểu cách lấy thông tin assembly cách tự động • Tìm hiểu cách xây dựng thực thi tự động chương trình c# Trang 1.7 Ý nghĩa lý luận thực tiễn đề tài Đề tài hoàn thành nguồn tài liệu tham khảo cho muốn quan tâm kiểm thử muốn xây dựng ứng dụng kiểm thử với chức mong muốn Về mặt ứng dụng cung cấp ứng dụng kiểm thử tự động phần mềm đảm bảo yêu cầu test mặt phần mềm Trang PHẦN II: NỘI DUNG Chương 1: Giới thiệu tổng quan 1.1 Khái niệm kiểm thử phần mềm: Kiểm thử phần mềm khâu mấu chốt để đảm bảo chất lượng phần mềm, đánh giá cuối đặc tả, thiết kế mã hóa Kiểm thử phần mềm q trình chạy ứng dụng để phát lỗi xem có thỏa mãn u cầu đặt khơng Trong trình phát triển phần mềm, người phát triển phần mềm kỹ sư kiểm thử làm việc để phát lỗi đảm bảo chất lượng sản phẩm Một sản phẩm phần mềm phân phối phải có đầy đủ chức yêu cầu tương thích với phần cứng khách hàng Mục tiêu kiểm thử ngăn ngừa lỗi, ngăn ngừa lỗi cịn tốt sửa lỗi ngăn ngừa lỗi tốt sửa mã, giải vấn đề từ đầu làm giảm bớt chi phí thời gian công sức sửa chữa 1.2 Khái niệm kiểm thử tự động Kiểm thử tự động trình thực cách tự động bước testcase Nó sử dụng cơng cụ kiểm thử tự động để rút ngắn thời gian kiểm thử Kiểm thử tự động hỗ trợ kiểm thử viên nhiều tùy vào công cụ nội dung kiểm thử thực tay hay khơng Đối với nhiệm vụ kiểm tra khó mà thực tay yêu cầu chi phí nhân cơng q lớn sử dụng tool hỗ trợ điều cần thiết Trang 10 với công cụ kiểm tra thương mại công cụ mã nguồn mở liệu thường mã hóa cứng test script Có nhiều cách để lưu trữ liệu thử nghiệm cho công cụ kiểm thử phần mềm Như tài liệu XML trở thành chuẩn cho nhiều tổ chức phần mềm sử dụng cho lưu trữ liệu trao đổi liệu Trong Microsoft Visual Studio NET IDE, C# cho phép nhà phát triển thêm tài liệu hướng dẫn XML, tự động sinh tài liệu trợ giúp XML Nó dễ dàng hiệu cho nhà phát triển để cài đặt trường hợp kiểm thử (test case) viết code phương thức với dịng hướng dẫn XML Cơng cụ kiểm thử tự động đọc liệu lưu trữ tài liệu XML Sử dụng phương pháp kiểm thử viên khơng phải lo lắng việc đốn mã code soạn liệu kiểm thử Ứng dụng mà nhóm xây dựng áp dụng bảng tính MS Excel tài liệu XML để phát triển công cụ Một đối tượng MS Excel tổ chức mơ hình phân cấp đối tượng Các đối tượng ứng dụng cao hệ thông phân cấp Nó bao gồm tập hợp bảng tính, biểu đồ, cửa sổ khác Một bảng tính chứa vài bảng nhỏ Một bảng nhỏ gồm nhiều range cell xếp cột hàng Dưới kết chương trình thực lấy tên lớp, phương thức lớp đối số phương thức, tất trình bày MS Excel: Trang 49 Hình 4.1: Kết chạy test script lưu file MS excel Các bảng tính cịn sử dụng để lưu test case phục vụ cho trình thực thi test script sau lưu trữ kết test sau chạy test script 4.4 Phân tích thiết kế hệ thống: 4.4.1.Đặc tả yêu cầu: 4.4.1.1.Yêu cầu chức năng:  Biểu đồ Usecase tổng quát hệ thống: Trang 50 Hình 4.2: Usecase tổng quát  Chức 1(Usecase Tạo Test case): • Mục đích - Sinh Test case tự động dựa vào yếu tố đầu vào ứng dụng test • Tác nhân liên quan - Kiểm thử viên • Điều kiện trước - Sau công cụ test bật, kiểm thử viên có chương trình chạy để kiểm thử • Điều kiện sau - Sau test case xuất ra, tham số phương thức, hàm Kiểm thử viên chỉnh sửa tham số đầu vào để trường hợp kiểm thử phù hợp có lợi Trang 51 • Biểu đồ use-case Hình 4.3: Usecase Tạo Test case • Dịng kiện Hành động tác nhân Kiểm thử viên nạp chương trình Phản ứng hệ thống dẫn thư mục cho phép nạp chương (file assembly) vào cơng cụ trình test vào cơng cụ Hệ thống hiển thị thư mục đường Hệ thống xuất liệu Kiểm thử viên chọn chương trình chương trình test như: lớp, thuộc cần test tính, phương thức, cấu trúc file Excel mặc định tham số đầu vào phương thức có Bảng 4.2: Dòng kiện Usecase Tạo Test case  Chức (Usecase Tạo Test script): • Mục đích - Sinh Test script tự động dựa vào yếu tố đầu vào ứng dụng test test case tạo trước Trang 52 • Tác nhân liên quan - Kiểm thử viên • Điều kiện trước - Sau công cụ test sinh đc test case, kiểm thử viên chỉnh sửa test case chấp nhận tạo test script • Điều kiện sau - Sau test script tạo cơng cụ tự động chạy test script cho kết • Biểu đồ use-case Hình 4.4: Usecase Tạo Test script • Dịng kiện Hành động tác nhân Nhấn vào nút tạo test script Phản ứng hệ thống Hệ thống tự động sinh test script mở test script lên hình Trang 53 Kiểm thử viên chạy (debug) test script Hệ thống thực thi test script xuất kết thực file Excel Bảng 4.3: Dịng kiện Usecase Tạo Test script 4.4.4.2.Yêu cầu phi chức năng: • Yêu cầu hiệu - Ứng dụng thực tạo test case test script nhanh, thời gian phản hồi kết khơng q 3s • Các ràng buộc thiết kế - Ứng dụng phát triển tảng NET framework với công cụ Visual Studio với ngôn ngữ lập trình C# sử dụng ứng dụng MS Excel để lưu trữ liệu test Ứng dụng thiết kế có giao diện Window Form sáng sủa, khoa học, dễ - thao tác làm việc 4.4.2.Phân tích – thiết kế hệ thống: 4.4.2.1 Biểu đồ lớp a Danh sách lớp đối tượng STT Tên lớp Mô tả Test case Trường hợp kiểm thử chức cho ứng dụng Test script Testscript tạo để test ứng dụng Bảng 4.4: Danh sách lớp đối tượng b Chi tiết hóa lớp đối tượng:  Lớp Test case: Trang 54  Danh sách thuộc tính: STT Tên thuộc tính Mơ tả MaTC Mã Test case TenTC Tên Test case Class Tên lớp cần kiểm tra Method Phương thức thuộc lớp Constructor Cấu trúc thuộc lớp Property Thuộc tính lớp GTVao Gía trị đầu vào GTRa Giá trị đầu GTMongcho Giá trị mong chờ test case Bảng 4.5: Danh sách thuộc tính lớp test case  Danh sách phương thức: ST Tên phương thức Mô tả T SinhTestcase Sinh tự động test script Bảng 4.6: Danh sách phương thức lớp test case  Lớp Test script  Danh sách thuộc tính: ST Tên thuộc tính Mơ tả T Trang 55 MaTS Mã Test script TenTS Tên Test script TestCase Test case tương ứng Action Hành động thực Bảng 4.7: Danh sách thuộc tính lớp test script  Danh sách phương thức: ST Tên phương thức Mô tả T SinhTestScript Sinh tự động test script ThucThiTestscript Thực thi test script để tạo kết test Bảng 4.8: Danh sách phương thức lớp test script c Mơ hình hóa lớp đối tượng Trang 56 Hình 4.5: Biểu đồ lớp 4.4.2.2 Biểu đồ  Biểu đồ cho ca sử dụng sinh Test case: Hình 4.6: Biểu đồ sinh test case  Biểu đồ cho ca sử dụng sinh Test script Trang 57 Hình 4.7: Biểu đồ sinh test script 4.4.3.Thiết kế giao diện 4.4.3.1 Thiết kế giao diện cho module kiểm thử chức cho lớp:  Danh sách chức module kiểm thử chức cho lớp: ST Tên chức Tên form Kiểm thử chức AutomatedSoftwareTest Cách chọn từ chương trình T Giao diện Bảng 4.9: Danh sách chức module Trang 58  Chi tiết hóa giao diện module kiểm thử chức lớp  Chức kiểm thử chức • Mục đích: - Kiểm thử mặt chức lớp ứng dụng thực chức hay sai ghi lại kết • Phạm vi: - Kiểm thử mặt chức ứng dụng cần test • Ràng buộc: - Dữ liệu đầu vào: ứng dụng cần test có khả chạy mà không bị lỗi - Dữ liệu đầu ra: kết kiểm tra sau chạy chương trình ghi file Excel gồm đầy đủ thông lớp (Phương thức, thuộc tính, đối số…) kết true/false tương ứng với giá trị yêu cầu test case  Giao diện chương trình: 11 10 Trang 59 Hình 4.8: Giao diện chương trình  Đặc tả giao diện: STT Tên thành phần txtTMnguon txtTMdich txtIDE btnKiemthu btnTaokichban Kiểu Textbox Textbox Textbox Button Button Mô tả Ghi địa thư mục chứa dự án Ghi địa thư mục chứa kết dự án Ghi địa file assembly ứng dụng test Kích vào nút để tạo tự động test case Kích vào để tạo test script tự động btnThoat Button Thốt chương trình chkXML Checkbox Sử dụng kiểm thử với chương trình file chkBangtay Checkbox XML Cho phép kiểm thử tay btnThemDL Button Cho phép kiểm thử nhiều chương trình 10 btnGhiDL Button Ghi đường dẫn chương trình test vào file text để phục vụ test nhiều chương 11 rtfDl Listbox trình Thêm file Excel để kiểm thử Bảng 4.10: Bảng đặc tả giao diện ứng dụng Trang 60 PHẦN III: KẾT LUẬN VÀ KHUYẾN NGHỊ 3.1 Kết đạt Sau thời gian nghiên cứu thực đồ án hướng dẫn trực tiếp thầy Đào Anh Hiển, nhóm chúng em đạt kết sau: • Trình bày đầy đủ, xác định nghĩa kiểm thử phần mềm kiểm thử tự động; trình bày chi tiết kỹ thuật Reflection CodeDom NET • Từ kỹ thuật nghiên cứu trình bày, đưa cách xây dựng ứng dụng kiểm thử tự động dựa vào kỹ thuật trình bày • Áp dụng lý thuyết xây dựng ứng dụng kiểm thử tự động phần mềm mặt chức phần mềm • Kết nghiên cứu tài liệu mang tính khoa học, nguồn tham khảo cho sinh viên nghiên cứu kiểm thử tự động ứng dụng vào xây dựng cơng cụ kiểm thử Trang 61 3.2 Hạn chế Mặc dù nhóm chúng em cố gắng để hoàn thiện đồ án thời gian nghiên cứu thực đồ án có hạn kiến thức chuyên môn chưa cao nên nhóm xây dựng ứng dụng nhỏ với chức hạn chế kiểm thử mặt chức chương trình, chưa mở rộng kiểm thử nhiều nội dung khác 3.3 Hướng phát triển Trong thời gian tới, nhóm chúng em tiếp tục nghiên cứu sâu kiểm thử phần mềm, kiểm thử tự động kỹ thuật NET hỗ trợ tự động để xây dựng hồn thiện ứng dụng 3.4 Đề xuất ý kiến Hiện ngành kiểm thử phần mềm phát triển có vị trí chiến lược phát triển gia công phần mềm Thị trường lao động Việt Nam “khát” kỹ sư kiểm thử phần mềm có chun mơn cao, đáp ứng u cầu cơng việc Vì vậy, việc đào tạo kỹ sư kiểm thử phần mềm khơng có kiến thức kỹ kiểm thử mà cịn có khả tự xây dựng công cụ test hỗ trợ công việc cách chuyên nghiệp Nhóm em xin đề xuất số ý kiến cho khoa Công nghệ thông tin trường Đại học sư phạm kỹ thuật Hưng Yên sau: • Cần có nhiều giảng viên nghiên cứu sâu kiểm thử phần mềm • Khoa nên đưa thêm mơn học kiểm thử phần mềm vào giảng dạy • Khuyến khích giáo viên sinh viên nghiên cứu kiểm thử phần mềm • Khuyến khích giáo viên sinh viên nghiên cứu công cụ hỗ trợ kiểm thử phần mềm Trang 62 TÀI LIỆU THAM KHẢO [1] Effective Software Test Automation: Developing an Automated Software Testing Tool by Kanglin Li and Menqi Wu [2] YinYang’s Programming Blog, http://yinyangit.wordpress.com [3] Forum Cộng đồng C Việt, http://diendan.congdongcviet.com/ [4] http://testervn.com/ [5] http://www.testingvn.com/ Trang 63

Ngày đăng: 30/08/2020, 14:07

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • DANH MỤC CÁC BẢNG

  • DANH MỤC CÁC HÌNH VẼ

  • LỜI CẢM ƠN

  • PHẦN I: MỞ ĐẦU

    • 1.1. Lý do chọn đề tài

    • 1.2. Mục đích nghiên cứu

    • 1.3. Khách thể và đối tượng nghiên cứu

    • 1.4. Nhiệm vụ nghiên cứu

    • 1.5. Phạm vi nghiên cứu

    • 1.6. Phương pháp nghiên cứu

    • 1.7. Ý nghĩa lý luận và thực tiễn của đề tài

  • PHẦN II: NỘI DUNG

  • Chương 1: Giới thiệu tổng quan

    • 1.1. Khái niệm kiểm thử phần mềm:

    • 1.2. Khái niệm kiểm thử tự động

    • 1.3. Mục tiêu của kiểm thử tự động

    • 1.4. Quy trình kiểm thử phần mềm tự động

    • 1.5. Các công cụ kiểm thử tự động trên thị trường

      • 1.5.1. QuickTest Professinal:

      • 1.5.2. DevPartner Studio của công ty Compuware:

      • 1.5.3. Mercury Interactive

      • 1.5.4. Phần mềm Rational từ IBM

      • 1.5.5. Một số công cụ kiểm thử mã nguồn mở:

  • Chương 2: Namespace System.Reflection

    • 2.1. Các khái niệm cơ bản:

      • 2.1.1. Reflection là gì?

      • 2.1.2. Lớp System.Type

      • 2.1.3. Không gian tên System.Reflection

  • Chương 3: Namespace System.CodeDom

    • 3.1. Các khái niệm cơ bản:

      • 3.1.1. CodeDom là gì?

      • 3.1.2. Mô hình và các khái niệm cơ bản được sử dụng trong CodeDom:

    • 3.2. Các lớp trong namespace System.CodeDom

    • 3.3. Cách sử dụng CodeDom để tạo một chương trình c#

  • Chương 4: Xây dựng ứng dụng kiểm thử tự động

    • 4.1. Đề xuất công cụ kiểm thử phần mềm

    • 4.2. Không gian tên của .Net và các lớp phục vụ cho phát triển công cụ

    • 4.3. Lưu trữ dữ liệu trên bảng tính worksheet

    • 4.4. Phân tích thiết kế hệ thống:

      • 4.4.1.Đặc tả yêu cầu:

        • 4.4.1.1.Yêu cầu về chức năng:

        • 4.4.4.2.Yêu cầu phi chức năng:

      • 4.4.2.Phân tích – thiết kế hệ thống:

        • 4.4.2.1. Biểu đồ lớp

        • 4.4.2.2. Biểu đồ tuần tự

      • 4.4.3.Thiết kế giao diện

  • PHẦN III: KẾT LUẬN VÀ KHUYẾN NGHỊ

    • 3.1. Kết quả đạt được

    • 3.2. Hạn chế

    • 3.3. Hướng phát triển

    • 3.4. Đề xuất ý kiến

  • TÀI LIỆU THAM KHẢO

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

  • Đang cập nhật ...

Tài liệu liên quan