Luận Văn Thạc Sĩ: Vai Trò Của Kiểm Thử Tự Động Trong Quy Trình Kiểm Thử Phần Mềm

Khám phá vai trò của kiểm thử tự động trong quy trình kiểm thử phần mềm qua luận văn thạc sĩ VNU UET, nâng cao hiệu quả và chất lượng sản phẩm.

Trường đại học

Trường Đại Học Công Nghệ

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2012

72
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

2. CHƯƠNG 2: QUY TRÌNH KIỂM THỬ PHẦN MỀM

2.1. QUY TRÌNH PHÁT TRIỂN PHẦN MỀM

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

2.3. G PHẦN MỀM TRONG VÕNG

2.4. CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM

2.4.1. Kiểm thử hộp trắng (White-box)

2.4.2. Kiểm thử hộp đen (Black-box)

2.4.3. Kỹ thuật kiểm thử nền tảng đồ thị

2.4.4. Kỹ thuật phỏng đoán lỗi

2.4.5. Kỹ thuật phân tích giá trị đường biên (BVA - Boundary Value Analysis)

2.4.6. Kỹ thuật kiểm thử so sánh

2.4.7. Kỹ thuật kiểm thử chuỗi trực giao

3. CHƯƠNG 3: TỰ ĐỘNG HÓA KIỂM THỬ PHẦN MỀM

3.1. Lý do sử dụng công cụ kiểm thử

3.2. MÔ HÌNH CHUNG CỦA TỰ ĐỘNG HÓA KIỂM THỬ PHẦN MỀM

3.3. CÔNG CỤ KIỂM THỬ TỰ ĐỘNG

3.4. CHUYÊN MÔN HÓA CON NGƯỜI

3.5. CHI PHÍ TRONG KIỂM THỬ TỰ ĐỘNG PHẦN MỀM

3.6. MỘT SỐ HẠN CHẾ TRONG TỰ ĐỘNG HÓA KIỂM THỬ

4. CHƯƠNG 4: TÌM HIỂU CÔNG CỤ TESTCOMPLETE 9

4.1. So với mô hình chung của kiểm thử tự động

4.2. So với công cụ kiểm thử khác

4.6. CÁC BƯỚC TẠO MỘT DỰ ÁN KIỂM THỬ VỚI TESTCOMPLETE 9

4.8. ĐÁNH GIÁ CÔNG CỤ KIỂM THỬ TESTCOMPLETE 9

4.9. NGHIÊN CỨU KỸ THUẬT KIỂM CHỨNG THIẾT KẾ

Tóm tắt

I. Tổng Quan Về Vai Trò Của Kiểm Thử Tự Động Trong Quy Trình Kiểm Thử Phần Mềm

Kiểm thử tự động đã trở thành một phần không thể thiếu trong quy trình kiểm thử phần mềm hiện đại. Nó không chỉ giúp tiết kiệm thời gian mà còn nâng cao độ chính xác trong việc phát hiện lỗi. Việc áp dụng kiểm thử tự động giúp các nhóm phát triển phần mềm có thể tập trung vào việc cải tiến sản phẩm thay vì dành thời gian cho các tác vụ lặp đi lặp lại. Theo nghiên cứu của Đại học Quốc gia Hà Nội, kiểm thử tự động có thể giảm thiểu chi phí và thời gian phát triển phần mềm đáng kể.

1.1. Khái Niệm Kiểm Thử Tự Động Là Gì

Kiểm thử tự động là quá trình sử dụng phần mềm để kiểm tra các ứng dụng mà không cần sự can thiệp của con người. Điều này cho phép thực hiện các kịch bản kiểm thử một cách nhanh chóng và hiệu quả.

1.2. Lợi Ích Của Kiểm Thử Tự Động Trong Phát Triển Phần Mềm

Kiểm thử tự động mang lại nhiều lợi ích như giảm thiểu thời gian kiểm thử, tăng độ chính xác và khả năng tái sử dụng các kịch bản kiểm thử. Điều này giúp cải thiện chất lượng sản phẩm phần mềm và giảm thiểu rủi ro.

II. Những Thách Thức Trong Quy Trình Kiểm Thử Phần Mềm

Mặc dù kiểm thử tự động mang lại nhiều lợi ích, nhưng cũng tồn tại không ít thách thức. Việc lựa chọn công cụ phù hợp, thiết lập môi trường kiểm thử và duy trì các kịch bản kiểm thử là những vấn đề cần được giải quyết. Theo nghiên cứu, nhiều tổ chức gặp khó khăn trong việc tích hợp kiểm thử tự động vào quy trình phát triển phần mềm hiện tại.

2.1. Khó Khăn Trong Việc Lựa Chọn Công Cụ Kiểm Thử

Việc lựa chọn công cụ kiểm thử tự động phù hợp với nhu cầu và ngân sách của tổ chức là một thách thức lớn. Nhiều công cụ có tính năng khác nhau, và việc tìm ra công cụ tối ưu có thể tốn nhiều thời gian.

2.2. Vấn Đề Tích Hợp Kiểm Thử Tự Động Vào Quy Trình Hiện Tại

Tích hợp kiểm thử tự động vào quy trình phát triển phần mềm hiện tại có thể gặp khó khăn do sự khác biệt trong quy trình làm việc và văn hóa tổ chức. Điều này đòi hỏi sự thay đổi trong cách thức làm việc của đội ngũ phát triển.

III. Phương Pháp Tối Ưu Hóa Kiểm Thử Tự Động

Để tối ưu hóa quy trình kiểm thử tự động, các tổ chức cần áp dụng các phương pháp và công cụ hiện đại. Việc sử dụng các công cụ kiểm thử tự động như TestComplete có thể giúp cải thiện hiệu quả kiểm thử. Theo nghiên cứu, việc áp dụng các phương pháp kiểm thử hiện đại có thể giúp phát hiện lỗi sớm hơn trong quy trình phát triển.

3.1. Sử Dụng Công Cụ Kiểm Thử Hiện Đại

Công cụ kiểm thử hiện đại như TestComplete giúp tự động hóa quy trình kiểm thử, từ đó giảm thiểu thời gian và chi phí. Công cụ này hỗ trợ nhiều loại kiểm thử khác nhau, từ kiểm thử đơn vị đến kiểm thử hệ thống.

3.2. Thiết Lập Môi Trường Kiểm Thử Tối Ưu

Thiết lập môi trường kiểm thử tối ưu là rất quan trọng để đảm bảo rằng các kịch bản kiểm thử có thể chạy một cách hiệu quả. Điều này bao gồm việc cấu hình phần mềm và phần cứng phù hợp.

IV. Ứng Dụng Thực Tiễn Của Kiểm Thử Tự Động

Kiểm thử tự động đã được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau, từ phát triển phần mềm đến kiểm thử hệ thống. Nhiều tổ chức đã ghi nhận sự cải thiện đáng kể trong chất lượng sản phẩm và giảm thiểu thời gian phát triển. Theo một nghiên cứu gần đây, các tổ chức áp dụng kiểm thử tự động đã giảm được 30% thời gian phát triển phần mềm.

4.1. Kiểm Thử Tự Động Trong Phát Triển Phần Mềm Agile

Trong môi trường phát triển Agile, kiểm thử tự động đóng vai trò quan trọng trong việc đảm bảo chất lượng sản phẩm. Nó cho phép các nhóm phát triển thực hiện kiểm thử liên tục và nhanh chóng.

4.2. Kết Quả Nghiên Cứu Về Kiểm Thử Tự Động

Nghiên cứu cho thấy rằng việc áp dụng kiểm thử tự động không chỉ giúp phát hiện lỗi sớm mà còn cải thiện sự hài lòng của khách hàng. Các sản phẩm phần mềm được kiểm thử tự động thường có chất lượng cao hơn.

V. Kết Luận Về Tương Lai Của Kiểm Thử Tự Động

Tương lai của kiểm thử tự động hứa hẹn sẽ tiếp tục phát triển với sự xuất hiện của các công nghệ mới như trí tuệ nhân tạo và học máy. Những công nghệ này có thể giúp cải thiện khả năng phát hiện lỗi và tối ưu hóa quy trình kiểm thử. Theo dự đoán, kiểm thử tự động sẽ trở thành tiêu chuẩn trong quy trình phát triển phần mềm trong những năm tới.

5.1. Xu Hướng Công Nghệ Trong Kiểm Thử Tự Động

Công nghệ trí tuệ nhân tạo đang dần được áp dụng trong kiểm thử tự động, giúp cải thiện khả năng phát hiện lỗi và tự động hóa quy trình kiểm thử một cách thông minh hơn.

5.2. Tương Lai Của Kiểm Thử Tự Động Trong Ngành Công Nghệ

Kiểm thử tự động sẽ tiếp tục phát triển và trở thành một phần không thể thiếu trong quy trình phát triển phần mềm. Các tổ chức cần chuẩn bị để thích ứng với những thay đổi này.

22/07/2025
Luận văn thạc sĩ vnu uet vai trò của kiểm thử tự động trong quy trình kiểm thử phần mềm

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

ĐẠI HỌC QUỐC 1 GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HUỆ VAI TRÕ CỦA KIỂM THỬ TỰ ĐỘNG TRONG QUY TRÌNH KIỂM THỬ PHẦN MỀM LUẬN VĂN THẠC SĨ Hà Nội - 2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC 2 GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HUỆ VAI TRÕ CỦA KIỂM THỬ TỰ ĐỘNG TRONG QUY TRÌNH KIỂM THỬ PHẦN MỀM LUẬN VĂN THẠC SĨ Ngành CÔNG NGHỆ THÔNG TIN Chuyên ngành CÔNG NGHỆ PHẦN MỀM Mã số 60 48 10 NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Đặng Văn Hưng Hà Nội - 2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3 BẢNG CÁC CHỮ VIẾT TẮT 4 DANH SÁCH CÁC HÌNH VÀ BẢNG BIỂU 5 – 7 1.3 C 8 CHƢƠNG 2 – QUY TRÌNH KIỂM THỬ PHẦN MỀM 9 2.1 QUY TRÌNH PHÁT TRIểN PHầN MềM: 9 2.2 QUY TRÌNH KIểM THử PHầN MềM 9 2.3 G PHầN MềM TRONG VÕNG 11 2.4 CÁC Kỹ THUậT KIểM THử PHầN MềM 12 2.1 Kiểm thử hộp trắng (White-box) 12 14 15 CHƢƠNG 3 –TỰ ĐỘNG HÓA KIỂM THỬ PHẦN MỀM 17 3.2 MÔ HÌNH CHUNG CủA Tự ĐộNG HÓA KIểM THử PHầN MềM 17 3.3 CÔNG Cụ KIểM THử Tự ĐộNG 18 3.1 Lý do sử dụng công cụ kiểm thử 18 3.2 Các bước thực hiện kiểm thử tự động 19 3.3 Công cụ hỗ trợ trong quy trình kiểm thử phần mềm 20 3.4 CHUYÊN MÔN HÓA CON NGƯờI 22 3.5 CHI PHÍ TRONG KIểM THử Tự ĐộNG PHầN MềM 23 3.6 MộT Số HạN CHế TRONG Tự ĐộNG HÓA KIểM THử 23 CHƢƠNG 4 – TÌM HIểU CÔNG Cụ TESTCOMPLETE 9 26 4.6 CÁC BƯớC TạO MộT Dự ÁN KIểM THử VớI TESTCOMPLETE 9 33 4.8 ĐÁNH GIÁ CÔNG Cụ KIểM THử TESTCOMPLETE 9 56 4.1 So với mô hình chung của kiểm thử tự động 56 4.2 So với công cụ kiểm thử khác 57 4.9 NGHIÊN CứU Kỹ THUậT KIểM CHứNG THIếT Kế.3 Ví dụ minh họa: 61 CHƢƠNG – 71 O 72 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 BẢNG CÁC CHỮ VIẾT TẮT Từ viết tắt Ý nghĩa Giải thích tiếng Việt ECG Electrocardiography Điện tim đồ Thiết bị kỹ thuật số hỗ PDA Personal Digital Assistant trợ cá nhân Các hoạt động hàng ADL Activities of Daily Living ngày Tín hiệu thuật toán Signal Algorithm Event SAECA hoạt động điều khiển Condition Action sự kiện Ngôn ngữ mô hình UML Unified Modeling Language hóa LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 DANH SÁCH CÁC HÌNH VÀ BẢNG BIỂU Số Tên hình/bảng biểu trang Hình 2.1 Quy trình kiểm thử phần mềm 10 Hình 2.2 Mô hình chữ V hiển thị thiết kế kiểm thử sớm 12 Hình 3.1 Mô hình chung của tự động hóa kiểm thử 17 Hình 3.2 Công cụ hỗ trợ trong quy trình kiểm thử phần mềm 20 Hình 4.1 Giao diện Project Explorer của TestComplete 29 Hình 4.2 Cửa sổ làm việc chính của TestComplete 30 Hình 4.4 Đối tượng Process trong TestComplete 32 Hình 4.5 Ứng dụng hộp đen trong TestComplete 32 Hình 4.6 Ứng dụng hộp trắng trong TestComplete 33 Hình 4.7 Giao diện Patients Management 34 Hộp thoại Create New Project 35 Hình 4.8 Xác định ứng dụng cần kiểm thử 36 Hình 4.10 Thêm ứng dụng kiểm thử vào dự án 37 Hình 4.11 Thêm tùy chọn Autorun cho ứng dụng kiểm thử 38 Hình 4.12 Thiết lập chế độ hiển thị trực quan kiểm thử 39 Hình 4.13 Chọn ngôn ngữ viết Script 41 Hình 4.14 Hộp thoại ghi kiểm thử Recording Hình 4.15 Chức năng Append to Test trên thanh công cụ của trình soạn thảo 42 Hình 4.16 Thực hiện chạy ứng dụng cần kiểm thử 42 Hình 4.17 Giao diện quản lý bệnh nhân Patients Management 42 Hình 4.18 Hộp thoại chỉnh sửa thông tin bệnh nhân 43 Hình 4.19 Giao diện hiển thị các tùy chọn cho Checkpoint 44 Hình 4.20 Giao diện tạo Property Checkpoint 44 Hình 4.21 Nội dung ca kiểm thử 46 Hình 4.22 Giao diện Test Visualizer 47 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.23 Giao diện Visualizer Frame 47 Hình 4.24 Giao diện hiển thị các thao tác trong ca kiểm thử 48 Hình 4.25 Thao tác đăng nhập hệ thống đang kiểm thử 49 Hình 4.26 Thao tác chỉnh sửa thông tin bệnh nhân 50 Hình 4.27 Tổ chức cấu trúc cây các thao tác trong TestComplete 9 51 Hình 4.28 Giao diện hiển thị chức năng Run Test 52 Hình 4.29 Cửa sổ hiển thị quá trình thực hiện kiểm thử 53 Hình 4.30 Giao diện hiển thị kết quả kiểm thử 54 Hình 4.31 Giao diện Log hiển thị kết quả kiểm thử 55 Hình 4.32 Giao điện hiển thị chi tiết thao tác tạo lỗi 56 Hình 4.33 TestComplete 9 trong mô hình chung của tự động hóa kiểm thử 57 Hình 4.34 Nền tảng kiến trúc của hệ thống 62 Hình 4.35 Tổng quan về hệ thống 62 Hình 4.36 Lược đồ tuần tự trong UML của giao thức thiết kế - SAECA 63 Hình 4.37 Phân tích dữ liệu ECG và chèn thêm thông tin của mẫu 64 Hình 4.38 Sơ đồ xử lý dữ liệu ECG 64 Hình 4.39 Mô hình trạng thái của hệ thống 65 Hình 4.40 Mô hình trạng thái của module lưu trữ dữ liệu 66 Hình 4.41 Ứng dụng mô phỏng trên máy chủ IIS 66 Hình 4.42 Giao diện chạy thử ứng dụng 67 Hình 4.43 Mã nguồn ứng dụng mô phỏng 67 Hình 4.44 Mã nguồn chương trình khách 68 Hình 4.45 Giao diện chương trình khách 68 Hình 4.46 Kết quả mong đợi xây dựng trước 69 Hình 4.47 Kết quả chạy thực tế bằng TestComplete 9 70 Hình 4.48 Kết quả chạy kiểm thử của TestComplete 9 70 LUAN VAN CHAT LUONG download : add luanvanchat@agmail. Các chạy bằng tay. Trong lĩnh vực Kiểm thử tự động hiện có khá nhiều công cụ kiểm thử thương mại nổi tiếng, phổ biến như TestComplete, QuickTest Professional, WinRunner, Rational Robot, SilkTest, JTest,…Trong số đó, Test Complete phiên bản 9 của Automated‟s QA SmartBear khá tốt và mạnh, bao gồm nhiều chức năng điển hình của một công cụ kiểm thử tự động.

Nó có thể thực thi kiểm thử ở nhiều mức: Kiểm thử đơn vị, tích hợp, hệ thống và chấp nhận. Đây là một trong những loại công cụ phổ biến nhất đang được sử dụng hiện nay. Việc thực hiện kiểm chứng thiết kế trong quá trình tạo ra sản phẩm phần mềm đặc biệt là những phần mềm phức tạp sẽ giúp làm tăng hiệu quả kinh tế nhờ việc phát hiện lỗi sớm – ngay từ bước thiết kế phần mềm sẽ rút ngắn thời gian và chi phí hoàn thành sản phẩm, đảm bảo tính tin cậy, an toàn của hệ thống được làm ra. Tuy nhiên, thiết kế thường không ở dạng chương trình có thể cài đăt và chạy được.

Một câu hỏi đặt ra ở đây là liệu có thể áp dụng công cụ kiểm thử vào kiểm chứng thiết kế không? Trả lời cho câu hỏi này luận văn có trình bày cách tiếp cận dùng công cụ kiểm thử vào việc kiểm thử thiết kế mà cụ thể ở đây là công cụ kiểm thử TestComplete 9. Dùng kỹ thuật trừu tượng hóa, biến đổi thiết kế thành mô hình có thể tiến hành để kiểm thử bằng công cụ kiểm thử nhằm phát hiện lỗi ở giai đoạn sớm hơn.2 Luận văn tập trung nghiên cứu về sự tự động hóa trong kiểm thử phần mềm gồm khái niệm, lợi ích và cách thức thực hiện tự động hóa, chỉ ra một số công cụ kiểm thử phần mềm và tập trung vào việc tìm hiểu công cụ kiểm thử TestComplete 9 – công cụ đang được sử dụng khá phổ biến hiện nay. Ngoài ra, luận văn có trình bày một phương pháp sử dụng công cụ kiểm thử TestComplete trong kiểm chứng thiết kế phần mềm. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.3 Phần còn lại của luận văn có cấu trúc như sau: Chương 2: Quy trình kiểm thử phần mềm.

Chương này trình bày về mô hình phát triển phần mềm và quy trình kiểm thử trong các mô hình phát triển phần mềm Chương 3: Các kỹ thuật kiểm thử phần mềm. Chương này trình bày sơ qua về hai kỹ thuật kiểm thử: Hộp đen (Black box), Hộp trắng (White box) và việc lựa chọn kiểu kiểm thử cho hệ thống phần mềm. Chương 4: Tự động hóa trong kiểm thử phần mềm. Chương này trình bày về khái niệm, mô hình chung của tự động hóa kiểm thử, lợi ích và cách thức thực hiện tự động hóa trong kiểm thử phần mềm.

Giới thiệu một số công cụ kiểm thử tự động và đi sâu vào việc tìm hiểu công cụ kiểm thử TestComplete 9. Trình bày phương pháp sử dụng công cụ kiểm thử này trong kiểm chứng thiết kế. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 9 Chƣơng 2 – QUY TRÌNH KIỂM THỬ PHẦN MỀM quy trình phát triển phần mềm là điều quan trọng. Nếu chỉ viết nh ), bạn sẽ thấy các phương thức bạn sử dụng sẽ khác nhiều so với những gì các công ty lớn sử dụng để phát triển phần mềm.

Để tạo ra một sản phẩm phần mềm lớn có thể bao gồm hàng chục, hàng trăm, thậ làm việc chặt chẽ.Chi tiết về những việc họ làm, cách thức họ tương tác, và cách thức họ quyết định là những thành phần trong quy trình phát triển phần mềm.1 Quy trình phát triển phần mềm: .2 Quy trình kiểm thử phần mềm Quy trình kiểm thử gồm các hoạt động sau: − Kế hoạch kiểm thử (test planning) − Thiết kế kiểm thử (test design) − Triển khai kiểm thử (test implementation) − Thực thi kiểm thử (test execution) − Đánh giá kiểm thử (test evaluation) Quy trình kiểm thử được mô tả trong hình vẽ dưới đây: LUAN VAN CHAT LUONG download : add luanvanchat@agmail.1: Quy trình kiểm thử phần mềm Mỗi hoạt động đều có một sự chuyển giao riêng từ khâu này đến khâu khác. Cuối cùng, các báo cáo lỗi và tài liệu sẽ cho kết quả. Đội triển khai sẽ sử dụng các tài liệu này để xác định nguyên nhân gây ra lỗi và sửa chữa chúng. Sau khi kế hoạch kiểm thử được xây dựng, dựa trên đầu vào cụ thể (ngân sách, nguồn lực, thời gian), bước tiếp theo là phân tích các yêu cầu và xác định mục tiêu kiểm thử cho đội kiểm thử.

Pha thiết kế kiểm thử chủ yếu tập trung vào xác định và thiết kế các thủ tục kiểm thử. Ở bước này một quyết định sẽ được làm là xác định những gì cần kiểm thử bằng tay và những gì sẽ được kiểm thử tự động. Các ca kiểm thử và các thủ tục kiểm thử là kết quả của pha triển khai kiểm thử. Các kịch bản kiểm thử (Test scripts) được viết bằng các ngôn ngữ lập trình xác định như Visual Basic, Java hoặc C++.

Ở pha này, một số kịch bản kiểm thử có thể được sử dụng lại từ các kiểm thử trước đó. Thực thi kiểm thử có các kế hoạch và thủ tục kiểm thử như là đầu vào. Sau khi thực thi các kiểm thử, kết quả kiểm thử được đánh giá bằng một Oracle.

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