Luận Văn Thạc Sĩ Về Công Cụ Hỗ Trợ Sinh Ca Kiểm Thử Cặp

Luận văn thạc sĩ kỹ thuật phân tích vnu uet xây dựng công cụ hỗ trợ sinh ca kiểm thử cặp, đá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

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

luận văn thạc sĩ

2016

74
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

1. CHƯƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM

1.1. Khái niệm kiểm thử phần mềm (Software Testing)

1.2. Một số thuật ngữ thường dùng trong kiểm thử phần mềm

1.3. Quy trình kiểm thử phần mềm

1.3.1. Lập kế hoạch kiểm thử (Test plan)

1.3.2. Thiết kế kiểm thử (Test design)

1.3.3. Chuẩn bị dữ liệu (Implement test)

1.3.4. Thực hiện kiểm thử, ghi nhận kết quả và đánh giá kết quả

1.3.5. Tổng hợp và báo cáo

1.4. Các mức kiểm thử phần mềm

1.4.1. Kiểm thử mức đơn vị (Unit Test)

1.4.2. Kiểm thử tích hợp (Integration Test)

1.4.3. Kiểm thử mức hệ thống (System Test)

1.4.4. Kiểm thử chấp nhận (Acceptance Test)

1.4.5. Kiểm thử hồi quy (Regression Test)

1.5. Một số chiến lược kiểm thử

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

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

1.6. Kiểm thử chức năng

1.6.1. Khái niệm kiểm thử chức năng

1.6.2. Phân lớp tương đương (Equivalence class partitioning)

1.6.3. Phân tích giá trị biên (Boundary value analysis)

1.6.4. Bảng quyết định (Decision tables)

1.6.5. Kiểm thử ngẫu nhiên (Random testing)

1.7. Phương pháp phân vùng (Category partition (CPM))

1.8. Kiểm thử tổ hợp (Combination testing)

1.9. Vector kiểm thử (Test vector)

1.10. Kiểm thử tổ hợp

2. CHƯƠNG 2: KIỂM THỬ CẶP ĐÔI DỮ LIỆU (PAIRWISE TESTING)

2.1. Kiểm thử cặp đôi dữ liệu (Pairwise testing)

2.2. Mảng trực giao (Orthogonal array (Lrun(Leverfactors)))

2.3. Thứ tự tham số (In parameter order)

2.4. Công cụ PICT (Pairwise Independent Combinatorial Testing)

2.4.1. File đầu vào của PICT

2.4.2. Cách thức sinh dữ liệu ca kiểm thử của PICT

2.4.3. Ưu điểm của PICT

2.4.4. Cài đặt và sử dụng PICT

2.5. Ứng dụng của pairwise testing

2.6. Đánh giá hiệu quả của kỹ thuật pairwise

3. CHƯƠNG 3: XÂY DỰNG CÔNG CỤ SINH CA KIỂM THỬ TỰ ĐỘNG

3.1. Ý tưởng của bài toán

3.2. Tìm hiểu về công cụ kiểm thử tự động trên nền web Selenium IDE

3.3. Phân tích bài toán

3.3.1. Vấn đề cần giải quyết

3.3.2. Cách thức giải quyết vấn đề

3.3.3. Cách thức sinh ca kiểm thử của công cụ

3.4. Xây dựng công cụ sinh ca kiểm thử tự động

3.5. Kết quả của công cụ

3.6. Môi trường chạy công cụ sinh ca kiểm thử

3.7. Ứng dụng công cụ vào thực tế

3.8. Đánh giá ưu nhược điểm của công cụ

3.9. Tóm tắt kết quả làm được

3.10. Hướng nghiên cứu tiếp theo

DANH MỤC TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về công cụ hỗ trợ sinh ca kiểm thử cặp trong phát triển phần mềm

Công cụ hỗ trợ sinh ca kiểm thử cặp là một phần quan trọng trong quy trình phát triển phần mềm. Nó giúp tối ưu hóa quy trình kiểm thử, tiết kiệm thời gian và chi phí. Kiểm thử cặp đôi dữ liệu (Pairwise Testing) là một kỹ thuật hiệu quả, cho phép kiểm tra nhiều trường hợp khác nhau mà không cần phải kiểm thử tất cả các kết hợp có thể. Điều này giúp giảm thiểu số lượng ca kiểm thử cần thiết mà vẫn đảm bảo chất lượng phần mềm.

1.1. Khái niệm về kiểm thử cặp đôi dữ liệu

Kiểm thử cặp đôi dữ liệu là phương pháp kiểm thử nhằm phát hiện lỗi bằng cách kiểm tra tất cả các cặp giá trị đầu vào. Phương pháp này giúp giảm số lượng ca kiểm thử mà vẫn đảm bảo độ bao phủ cao. Việc áp dụng kiểm thử cặp đôi giúp tiết kiệm thời gian và nguồn lực trong quá trình phát triển phần mềm.

1.2. Lợi ích của việc sử dụng công cụ sinh ca kiểm thử cặp

Công cụ sinh ca kiểm thử cặp giúp tự động hóa quá trình tạo ra các ca kiểm thử, từ đó giảm thiểu sai sót do con người. Nó cũng cho phép lập trình viên và tester tập trung vào các vấn đề phức tạp hơn, thay vì phải tạo ra từng ca kiểm thử một cách thủ công.

II. Vấn đề và thách thức trong kiểm thử phần mềm hiện nay

Trong quá trình phát triển phần mềm, việc kiểm thử thường gặp nhiều thách thức. Các vấn đề như thời gian hạn chế, ngân sách thấp và yêu cầu thay đổi liên tục từ khách hàng là những yếu tố gây khó khăn cho quy trình kiểm thử. Đặc biệt, việc đảm bảo chất lượng phần mềm trong khi vẫn phải đáp ứng các yêu cầu về thời gian và chi phí là một thách thức lớn.

2.1. Thách thức về thời gian và ngân sách

Nhiều dự án phần mềm phải đối mặt với áp lực về thời gian và ngân sách. Điều này dẫn đến việc kiểm thử không được thực hiện đầy đủ, gây ra rủi ro cho chất lượng sản phẩm cuối cùng.

2.2. Sự thay đổi yêu cầu từ khách hàng

Yêu cầu từ khách hàng thường thay đổi trong suốt quá trình phát triển. Điều này làm cho việc lập kế hoạch kiểm thử trở nên khó khăn và có thể dẫn đến việc bỏ sót các ca kiểm thử quan trọng.

III. Phương pháp kiểm thử cặp đôi dữ liệu hiệu quả

Để thực hiện kiểm thử cặp đôi dữ liệu hiệu quả, cần áp dụng các phương pháp và công cụ phù hợp. Việc sử dụng mảng trực giao và thứ tự tham số là hai kỹ thuật chính trong kiểm thử cặp. Các công cụ như PICT (Pairwise Independent Combinatorial Testing) cũng rất hữu ích trong việc tự động hóa quá trình này.

3.1. Mảng trực giao trong kiểm thử cặp

Mảng trực giao là một phương pháp giúp tạo ra các ca kiểm thử một cách có hệ thống. Nó cho phép kiểm tra tất cả các cặp giá trị đầu vào mà không cần phải kiểm thử tất cả các kết hợp có thể.

3.2. Sử dụng công cụ PICT để sinh ca kiểm thử

PICT là một công cụ mạnh mẽ giúp tự động hóa quá trình sinh ca kiểm thử cặp. Nó cho phép người dùng nhập các tham số và tự động tạo ra các ca kiểm thử cần thiết, tiết kiệm thời gian và công sức.

IV. Ứng dụng thực tiễn của công cụ sinh ca kiểm thử cặp

Công cụ sinh ca kiểm thử cặp đã được áp dụng rộng rãi trong nhiều dự án phần mềm. Việc sử dụng công cụ này không chỉ giúp tiết kiệm thời gian mà còn nâng cao chất lượng sản phẩm. Nhiều công ty đã ghi nhận sự cải thiện rõ rệt trong quy trình kiểm thử của họ khi áp dụng các công cụ này.

4.1. Các trường hợp thành công trong ứng dụng

Nhiều công ty đã áp dụng công cụ sinh ca kiểm thử cặp và đạt được kết quả tích cực. Họ đã giảm thiểu số lượng ca kiểm thử cần thiết mà vẫn đảm bảo chất lượng sản phẩm.

4.2. Đánh giá hiệu quả của công cụ

Việc đánh giá hiệu quả của công cụ sinh ca kiểm thử cặp là rất quan trọng. Các chỉ số như thời gian kiểm thử, số lượng lỗi phát hiện và mức độ hài lòng của khách hàng là những yếu tố cần được xem xét.

V. Kết luận và tương lai của công cụ hỗ trợ sinh ca kiểm thử cặp

Công cụ hỗ trợ sinh ca kiểm thử cặp đang ngày càng trở nên quan trọng trong quy trình phát triển phần mềm. Với sự phát triển của công nghệ, các công cụ này sẽ ngày càng được cải tiến, giúp nâng cao hiệu quả và chất lượng kiểm thử. Tương lai của kiểm thử phần mềm sẽ phụ thuộc vào khả năng áp dụng các công cụ tự động hóa và các phương pháp kiểm thử hiện đại.

5.1. Xu hướng phát triển công cụ kiểm thử

Xu hướng hiện nay là phát triển các công cụ kiểm thử tự động hóa, giúp giảm thiểu công sức và thời gian cho các tester. Các công cụ này sẽ ngày càng thông minh và dễ sử dụng hơn.

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 tích hợp các công nghệ mới như trí tuệ nhân tạo và học máy để nâng cao hiệu quả kiểm thử. Điều này sẽ giúp phát hiện lỗi sớm hơn và cải thiện chất lượng sản phẩm.

22/07/2025
Luận văn thạc sĩ vnu uet xây dựng công cụ hỗ trợ sinh ca kiểm thử cặp

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

Đặt vấn đề, định hƣớng nghiên cứu Trong những năm gần đây, chúng ta thấy rằng ngành công nghệ phần mềm phát triển ngày càng vƣợt bậc ở nhiều lĩnh vực.Đặc biệt tính ứng dụng cao bắt buộc cho phần mềm phải có một chất lƣợng nhất định.Việc phát triển phần mềm chỉ tập trung vào khâu thiết kế, lập trình là chƣa đủ.Chúng ta cần tập trung cao vào cả khâu kiểm thử và đặc biệt hơn đó chính là kiểm thử chức năng (function).Nhƣng kiểm thử nhƣ thế nào để có thể tiết kiệm chi phí, tối ƣu nhất nguồn lực mà vẫn đảm bảo chất lƣợng. Một giải pháp hợp lý cho các vấn đề đặt ra ở trên đó là áp dụng các kỹ thuật kiểm thử tối ƣu và các công cụ kiểm thử tự động cho các phần mềm.Trong thực tế đã có rất nhiều công cụ kiểm thử tự động ví dụ nhƣ Selenium IDE, QTP, nhƣng nhìn trung chúng lại khá gò bó và mang nhiều nhƣợc điểm. Luận văn đƣợc thực hiện dựa trên ý tƣởng từ nhu cầu thực tế trong công việc và kiến thức đƣợc học để từ đó đƣa ra cách thực hiện. Luận văn gồm 3 chƣơng có các nội dung nhƣ sau: Chƣơng 1: Tổng quan về kiểm thử phần mềm.

Chƣơng này nêu hệ thống cơ sở lý thuyết về kiểm thử nhƣ khái niệm về kiểm thử, quy trình kiểm thử, các mức kiểm thử, các chiến lƣợc kiểm thử và đặc biệt là các kỹ thuật trong kiểm thử chức năng và kiểm thử tổ hợp. Chƣơng 2: Kỹ thuật kiểm thử cặp đôi dữ liệu (Pairwise testing). Trong chƣơng này, tôi sẽ giới thiệu về kiểm thử cặp dữ liệu.Đây là một kỹ thuật trong kiểm thử chức năng.Trong đó luận văn sẽ nghiên cứu 2 kỹ thuật chính là mảng trực giao (OA) và thứ tự tham số (IPO). Ngoài ra phần này sẽ giới thiệu về công cụ sinh ra bộ dữ liệu kiểm thử theo phƣơng pháp cặp đôi dữ liệu là PICT.

Chƣơng 3: Xây dựng công cụ hỗ trợ sinh ca kiểm thử theo kỹ thuật cặp. Trong chƣơng này, tôi sẽ xây dựng một công cụ cho phép sinh ca kiểm thử dạng Selenium IDE và kết hợp kỹ thuật cặp dữ liệu trong đó.Nó cho phép sinh một lúc nhiêu ca kiểm thử. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2 CHƢƠNG 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Khái niệm kiểm thử phần mềm (Software Testing) Kiểm thử phần mềm là quá trình thực thi một chƣơng trình hay là một đơn vị (Module) của chƣơng trình nhằm đánh giá chất lƣợng của sản phẩm phần mềm. Kiểm thử là một khâu mấu chốt và là bƣớc phát triển cuối cùng để đảm bảo chất lƣợng phần mềm.

Có thể nói đơn giản là kiểm thử là kiểm tra xem phần mềm có chạy đúng thiết kế (design) và đặc tả (specification) của nó hay không. Mục đích của kiểm thử phần mềm là: Tìm lỗi sai (bug), giải quyết bug và đƣa ra những đánh giá, chứng nhận về chất lƣợng phần mềm.2 Một số thuật ngữ thƣờng dùng trong kiểm thử phần mềm Bug: Là một khiếm khuyết trong một thành phần hoặc hệ thống mà nó có thể làm cho thành phần hoặc hệ thống này không thực hiện đúng chức năng yêu cầu của nó, có thể là lỗi giao diện, lỗi chức năng, lỗi nghiệm vụ. Ví dụ nhƣ thông báo sai hoặc định nghĩa dữ liệu không đúng, hoặc là một nghiệm vụ bị sai so với yêu cầu… Các mức độ của bug: Đơn giản (Cosmetic), bình thƣờng (Medium), nguy hiểm (Serious), gây chết hệ thống (Fatal). Testcase: Đƣợc dịch ra trong tiếng việt là ca kiểm thử.

Nó mô tả dữ liệu dầu vào, một số hành động hoặc sự kiện, và một kết quả mong đợi để xác định chức năng của một ứng dụng phần mềm hoạt động đúng hay không. Một testcase có thể có các phần đặc thù khác nhƣ mã, mục đích, điều kiện kiểm tra (conditon), các yêu cầu dữ liệu đầu vào, các bƣớc thực hiện, và các kết quả mong đợi. Có thể nóirằng testcase là một tình huống kiểm tra, đƣợc thiết kế để kiểm tra một đối tƣợng có thỏa mãn yêu cầu đặt ra hay không. Testcase có thể có một số dạng nhƣ bảng 1.

Ví dụ một mẫu testcase: Kiểm thử Stt Điều kiện Bƣớc thực hiện Mong muốn Kết quả viên Ngày test Ghi chú 10 Tại màn hình 1. Click vào tab 4. OK Tunt3 2014/02/26 Versio ternant [Menu] .Display n: 5. Click vào [Data message:[設 option] settings] 定が保存さ =Enable 3.

Tại màn hình [Data れました。/S .[Call settings] etting was recording .Tại saved.] option] [レポート保存日数] .Đăng ký =Enable chọn value =3 thành công .Tại [保存日数] chọn value =3 4. Click button [ OK] để đăng ký Bảng 1.1Mẫu ca kiểm thử trong thực tế. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3 Ví dụ testcase tự động với công cụ là Selenium IDE: Testcase1 open / type id=email tunthcm@gmail.com type id=pass minhanh2929 clickAndWait id=u_0_w Bảng 1.2Ca kiểm thử tự động Selenium IDE dạng bảng <html><head> <link rel="selenium.base" href="https://www.com/" /> <title>New Test</title> </head> <body><table cellpadding="1" cellspacing="1" border="1"> <thead> <tr><td rowspan="1" colspan="3">New Test</td></tr> </thead><tbody> <tr> <td>open</td> <td></td> <td></td> </tr> <tr> <td>type</td> <td>id=email</td> <td>tunthcm@gmail.com</td> </tr> <tr> <td>type</td> <td>id=pass</td> <td>minhanh2929</td> </tr><tr> <td>clickAndWait</td> <td>id=u_0_m</td> <td></td> </tr> </tbody></table> </body> </html> Bảng 1.3Ca kiểm thử tự động Selenium IDE dạng mã nguồn html LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 OK/NG/NA: OK/NG là những kết quả của testcase, còn NA là không thể thực hiện đƣợc. Build và Release Version:Build và Release Version đều đƣợc dùng để chỉ một phiên bản của phần mềm.

Tuy nhiên, ý nghĩa và trƣờng hợp sử dụng thì khác nhau. Build: Thƣờng đƣợc dùng để chỉ 1 version phần mềm trong quá trình phát triển tại dự án. Các bản build liên tiếp nhau thƣờng có một khác biệt nhỏ. Nó có thể giải quyết thêm một bug, thay đổi một yêu cầu nhỏ.

Release Version: Đƣợc dùng để chỉ một bản build. Tuy nhiên, bản build này sẽ đƣợc gởi đến cho khách hàng kiểm thử chấp nhận. Những thay đổi giữa các Release Version liên tiếp nhau thƣờng là khá lớn. Phải có nhiều build đƣợc viết và kiểm thử tại nhóm dự án thì mới có một Release Version.

Fix bug: Là quá trình giải quyết một bug, đƣợc thực hiện bởi lập trình viên. Việc đầu tiên của fix bug là tìm hiểu đƣa ra đƣợc nguyên nhân gây lỗi, rồi đến xác định lỗi và thực hiện vá lỗi. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.3 Quy trình kiểm thử phần mềm Đây là quy trình kiểm thử phần mềm đƣợc áp dụng nhiều công ty hiện nay trong đó có fpt software.1Quy trình kiểm thử phần mềm LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6 Sau đây chúng ta sẽ đi mô tả các bƣớc quan trọng trong quy trình này: 1.1 Lập kế hoạch kiểm thử (Test plan) a. Mục đích: Xác định nguồn nhân lực tham gia, lập lịch biểu, phạm vikiểm thử, chiến lƣợc kiểm thử, quy trình và công cụ sử dụng b.

Bƣớc thực hiện:  Xác định các yêu cầu (requirement) cho việc kiêm thử gồm:  Nghiên cứu tài liệu yêu cầu (requirements) của khách hàng, tiêu chí chấp nhận, tài liệu đặc tả, tài liệu thiết kế (design) và những ràng buộc của khác hàng đối với sản phẩm.  Xác định xem là những cái gì sẽ đƣợc kiểm thử, hay chính xác là phạm vikiểm thử, ví dụ nhƣ kiểm thử ở giai đoạn nào, các kiểu kiểm thử, các module phải kiểm thử.  Xác định phạm vikiểm thử (Hạn chế của công việc, effort, lịch trình công việc, thời gian kiểm thử hồi quy).  Xem xét và thống nhất các yêu cầu cho việc kiểm thử.

 Đánh giá rủi ro và mức độ ƣu tiên  Đánh giá rủi ro đối với vấn đề liên quan  Xác định và thiết lập mức độ ƣu tiên cho các các chức năng cơ bản dựa trên mức độ nghiêm trọng của vấn đề, mong muốn của ngƣời dùng, mức độ quan trọng, tần xuất sử dụng đối với từng chức năng.  Xây dựng chiến lƣợc kiểm thử:  Phƣơng pháp kiểm thử, giai đoạn 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 thuận).  Tiêu chí chấp thuận, và đánh giá việc kiểm thử. Tiêu chí này dựa trên một số tài liêu nhƣ thiết kế, báo cáo kiểm thử…  Xem xét các trƣờng hợp đặc biệt, nguồn nhân lực và điều kiện cơ sở vật chất để thực hiện kiểm thử.

 Xác định nguồn nhân lực và môi trƣờng bao gồm:  Con ngƣời: Số lƣợng và năng lực, kinh nghiệm.  Môi trƣờng kiểm thử: Bao gồm phần cứng và phần mềm.  Công cụ sử dụng.  Tất cả các loại dữ liệu kiểm thử(test data).

 Xác định lịch trình kiểm thử.  Dự đoán đƣợc thời gian cho kiểm thử (effort test).  Tạo lịch trình kiểm thử và những mốc (milestones) quan trọng.  Tạo kế hoạch kiểm thử.

 Xem xét và thống nhất lập kế hoạch kiểm thử. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2 Thiết kế kiểm thử(Test design) a. Mục đích Thiết kế cho việc kiểm thử. Bƣớc thực hiện:  Nghiên cứu tài liệu đặc tả, tài liệu kế hoạch.

 Xác định Pass/Fail cho các trƣờng hợp trong tài liệu thiết kế kiểm thử…  Xác định môi trƣờng cho mỗi chức năng.  Liệt kê điểm cần kiểm thử, kịch bản kiểm thử(test viewpoint, test suile)mỗi chức năng dựa trên tài liệu yêu câu., quy trình kinh doanh, những hiểu biết và các câu hỏi, trả lời giữa các thành viên trong dự án và khách hàng.  Xem lạitài liệu thiết kế, các điểm cần thực hiện (TestDesign/Test viewpoint), đánh giá độ bao phủ (coverage) của thiết kế kiểm thử.  Chấp thuận và hoàn thành thiết kế kiểm thử.3 Chuẩn bị dữ liệu(Implement test) a.

Mục đích: Chuẩn bị cho việc test b. Bƣớc thực hiện  Tạo ca kiểm thử:  Phân tích quy trình doanh nghiệp (business process).  Phân tích sơ đồ use case, tài liệu thiết kế, tài liệu yêu cầu, tài liệu đặc tả, kế hoạch kiểm thử.  Xác định ca kiểm thử: Điều kiện, bƣớc (kịch bản), kết quả mong muốn.

 Xác định dữ liêu kiểm thử.  Xác định cấu trúc thủ tục kiểm thử  Phân tích ca kiểm thử.  Xác định thủ tục  Cấu trúc thủ tục kiểm thử: Xác định mỗi quan hệ và trình tự thực hiện của thủ tục kiểm thử, điều kiện bắt đầu và kết thúc, mối quan hệ của thủ tục kiểm thửvà ca kiểm thử.  Xác định thủ tục: Hƣớng dẫn cách thực hiện, giá trị dữ liệu nhập vào, kết quả mong đợi.

Tạo test script cho việc thực hiện ca kiểm thử.  Chuẩn bị dữ liệu kiểm thử gồm cả dữ liệu cũ và mới.  Chuẩn bị môi trƣờng bao gồm cơ sở vật chất, thiết bị, công cụ và các điều kiện yêu cầu khác.  Xem xét lại ca kiểm thử và kiểm tra lại các công cụ.

 Xem xét lại môi trƣờng kiểm thử, các điều kiện tiền đề và dữ liệu. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.

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