Xây dựng công cụ hỗ trợ sinh ca kiểm thử cặp (TT)

23 624 0
Xây dựng công cụ hỗ trợ sinh ca kiểm thử cặp (TT)

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ TỰ XÂY DỰNG CÔNG CỤ HỖ TRỢ SINH CA KIỂM THỬ CẶP Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60 48 01 03 LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ĐẶNG ĐỨC HẠNH Hà Nội – 2016 MỞ ĐẦU Đặt vấn đề, định hướng nghiên cứu: Trong năm gần đây, thấy ngành công nghệ phần mềm phát triển ngày 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ó chất lượng định Việc phát triển phần mềm tập trung vào khâu thiết kế, lập trình chưa đủ Chúng ta cần tập chung cao vào khâu kiểm thử đặc biệt kiểm thử chức (function) Nhưng kiểm thử để tiết kiệm chi phí, tối ưu nguồn lực mà đảm bảo chất lượng Một giải pháp hợp lý cho vấn đề đặt áp dụng kỹ thuật kiểm thử tối ưu công cụ kiểm thử tự động cho phần mềm Trong thực tế có nhiều công cụ kiểm thử tự động ví dụ selenium IDE, QTP, nhìn trung lại chúng lại gò bó mang nhiều nhược điểm Luận văn thực dựa ý tưởng từ nhu cầu thực tế kiến thức học Cùng với trình làm việc từ đưa cách thực Luận văn chia thành chương, nội dung phân bổ sau: Chương 1: Tổng quan kiểm thử phần mềm Phần nêu hệ thống sở lý thuyết kiểm thử khái niệm kiểm thử, quy trình kiểm thử, mức kiểm thử, chiến lược kiểm thử đặc biệt kỹ thuật kiểm thử chức Chương 2: Kỹ thuật kiểm thử cặp liệu( Pairwise testing) Phần giới thiệu kiểm thử cặp liệu Đây kỹ thuật kiểm thử chức Trong luận văn nghiên cứu kỹ thuật mảng trực giao(OA) thứ tự tham số( IPO) Ngoài phần giới thiệu công cụ sinh liệu kiểm thử theo phương pháp cặp liệu PICT Chương 3: Xây dựng công cụ sinh ca kiểm thử theo kỹ thuật cặp Phần xây dựng công cụ cho phép sinh ca kiểm thử dạng selenium IDE kết hợp kỹ thuật cặp liệu Nó cho phép sinh lúc nhiêu testcase Chương 1: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM Tóm tắt chương 1: Trong chương em trình bầy số vấn đề sau 1.1 Khái niệm kiểm thử phần mềm 2.2 Một số thuật ngữ sử dụng phổ biến kiểm thử Bug, test case, Build, realease version Đặc biệt phần em có nêu mẫu ca kiểm thử mà công cụ em phát triển Đó testcase selenium IDE 1.3 Trình bầy quy trình kiểm thử phần mềm Tại em trình bầy quy trình kiểm thử phần mềm fpt software, nơi em làm việc 1.4 Trình bầy Kiểm tra mức đơn vị lập trình (Unit test) mức kiểm thử phần mềm Các phận đơn lẻ Kiểm tra mức tích hợp đơn vị lập trình (Integration test) Kiểm tra mức hệ thống sau tích hợp (System test) Kiểm tra để chấp nhận sản phẩm (Acceptance test) Các nhóm phận Toàn hệ thống Toàn hệ thống nhìn từ khách hàng 1.5 Các chiến lược kiểm thử phần mềm + Kiểm thử hộp trắng + Kiểm thử hộp đen 1.6 Trình bầy kiểm thử chức Tại có số kỹ thuật em trình bầy phân vùng tương đương( , phân tích giá trị biên, bảng định, kiểm thử ngẫu nhiên, đoán lỗi, CPM Đây nội dung mà em muốn nhấn mạnh nội dung Những kỹ thuật thường xuyên em sử dụng thực tế tronng môi trường làm việc Tuy tìm hiểu giới thiệu nhiều nhiều luận văn em xin tìm hiểu lại hữu ích a Phân lớp tương đương (Equivalence class partioning ) b Phân tích giá trị biên Boundary value analysis c Bảng định Bảng định ( Decision tables d Kiểm thử ngẫu nhiên( Random testing) e Đoán lỗi ( Error guesing) f Category partition (CPM Chương 2: KIỂM THỬ CẶP DỮ LIỆU 2.1 Trình bầy kiểm thử pairwise testing Pairwise testing kỹ thuật kiểm thử thuộc phạm vi kiểm thử chức Mục đích tạo liệu kiểm thử có kích thước nhỏ cover nhiều lỗi Kỹ thuật biết đến gần 20 năm nay, phổ biến gia tăng vòng năm trở thành kỹ thuật thiếu kiểm thử phần mềm Trong chương em tìm hiểu kiểm thử cặp liệu với kỹ thuật mảng trực giao IPO [1] Ngoài em trình bầy công cụ sinh liệu kiểm thử theo kỹ thuật pairwise PICT[4] 2.3 Kiểm thử cặp liệu ( Parirwise testing) Đầu tiên xem xét khái niệm kiểm thử kết hợp tất “allcombination testing” Nó hiểu đơn giản kiểm thử tất kết hợp có giá trị tập biến Chúng ta xét n biến đầu vào : V = {v1, v2, v3, vn-1,vn} Với biến đầu vào ta chọn k giá trị quan tâm Vậy theo “ all combination testing “ ta phải xem xét kn vectors kiểm thử Như số lượng test case lớn Khi mà số lượng biến lớn giá trị nhiều Thay xem xét áp dụng kiểm thử cặp liệu ( pairwise testing) Pairwise hiểu tât kết hợp đôi ( cặp ) có giá trị tập biến đầu vào Mỗi cặp giá trị xuất lần trường hợp kiểm thử Nó trường hợp đặc biệt “ all combination testing” Nó thường gọi “all-pair/two-way testing” Vídụ: Ta xét biến X,Y,Z biến đầu vào hệ thống S X = {true,false} Y = {0;5} Z={Q;R} Theo " all combination testing » , tổng số trường hợp kiểm thử = 2x2x2=8 vector kiểm thử : Testcase ID TC1 TC2 TC3 TC4 Input x True True True True Input y 0 5 Input z Q R Q R TC5 TC6 TC7 TC8 False False False False 0 5 Nhưng với pairwise testing ta cố vector: Testcase ID Input x Input y TC1 True TC2 True TC3 False TC4 False Q R Q R Input z Q R Q R Tích kiệm trường hợp kiểm thử vậy, liệu chúng có hiệu việc cover lỗi không Kiểm thử tất kết hợp có giá trị tập biến đương nhiên tốt Hiệu đưa theo thống kê đưa [5] pairwise phát 70% lỗi Còn four way testing phát 100% lỗi Và đương nhiên all combination cover 100% lỗi Sau nghiên cứu số phương pháp kỹ thuật để phối hợp liệu kiểm thử 2.3.1 Mảng trực giao ( Orthogonal array ( Lrun(Leverfactors))) Phương pháp nghiên cứu nhà thống kê CR.Raoo va sau năm 1940 Genichi Tagumi người sử dụng ý tưởng mảng trực giao thiết kế thí nghiệm quản lý chất lượng toàn diện( total quality management) Vì mà phương pháp biết đến phương pháp Tagumi, sử dụng kỹ thuật thiết kế thử nghiệm lĩnh vực sản xuất cung cấp cách có hiệu quả, hệ thống để tối ưu hóa thiết kế đảm bảo hiệu xuất, chất lượng chi phí Phương pháp sử dụng thành công nhật mỹ, với mục tiêu thiết kế có độ tin cậy cao, chất lượng sản phẩm cao với chi phí thấp ngành công nghiệp điện tử ô tô tiêu dùng Mandl sử dụng khái niệm bảng trức giao việc thiết kế testcase pairwise Ưu điểm phương pháp - Đảm bảo kết hợp tất biến lựa chọn - Tạo testcase hiệu ngắn gọn - Tạo tập testcase có phân bố ( đồng )của tất kết hợp kỹ thuật pairwise - Đơn giản để tạo lỗi so với tạo tay( phương pháp khác) Nhược điểm phương pháp - Không phải sử dụng - Không phải tất đểu áp dụng kỹ thuật Ví dụ kỹ thuật áp dụng biến rời rạc Các bước phương pháp mảng trực giao: Bước 1: Xác định số lớn nhất( max) biến độc lập hệ thống Số gán làm factors input variables  factor Bước 2: Xác định số lớn giá trị biến đầu vào Số gán Levels mảng trực giao Bước 3: Tìm mảng trưc giao phù hợp với số run nhỏ Ta có Lrun(xy) x: Levers, y Factors;( Lrun(Leverfactors)) Trong bảng ta có: Runs: Số lượng rows mảng, số test cases tạo phương pháp OA Factors: Số Cột mảng trực giao Levers: Số lớn values, mang một factor đơn Bước 4: Ánh xạ biến vào factors giá trị vào levers bảng Bước 5: Check for any “left-over” levers in the aray that have not been mapped Choose arbitrary valid value Bước 6: Chuyển đổi run thành testcase Sau bảng giúp cho việc lựa chọn mảng trực giao phù hợp: Hình 2.1 Bảng lựa chọn mảng trực giao tùy theo số lượng lever factors Một số ví dụ chi tiết mảng trực giao: L4(23) Hình 2.2 Mảng trực giao L4(23) Hình 2.3 Mảng trực giao L9 (34) Một số mẫu bảng khác tham khảo : : http://www.york.ac.uk/depts/maths/tables/orthogonal.htm http://www.freequality.org/documents/tools/Tagarray_files/tamatrix.htm Ví dụ: Hãy xem xét trang web, xem số trình duyệt với vài plugin số hệ điều hành, thông qua số kết nối khác sau: Browser Plug in Os Connection Netscape, IE, FF Real player, media player Window, linux,macintosh Lan,PPP, Isps Sau chạy thuật toán ta có mảng trực giao sau đây: Runs Factors Browsers Phug-in Netscape Realplayer OS Window Connection Lan Netscape Readplayer Netscape Mediaplayer IE Readplayer IE Mediaplayer IE Mediaplayer FF Readplayer FF Readplayer FF Mediaplayer Bước 6: tạo testcase từ run Linux Macintosh Linux Macintosh Window Macintosh Window Linux PPP Isdn Isdn Lan PPP PPP Isdn Lan 2.3.2 Thứ tự tham số (In parameter order ) Tai Lei đưa thuật toán gọi IP0, để tạo testsuite cho pairwise testing biến đầu vào Thuật toán: Input: Tham số p1, p2 ,p3 …, pi, , pn với i =1,2,3 n; D(pi) ={v1,v2,v3,v4,…vq} Out put: Một test suite T thỏa mãn coverage pairwise Tóm tắt thuận toán: Hình 2.4 Thuật toán IPO Hình 2.5 Thuật toán Horizontal growth Hình 2.6 Thuật toán vertical Các bước cụ thể thuật toán: Bước 1: Với tham số đầu vào p1 p2 tạo test suite T={(v1,v2)|v1 v2 theo thứ tự giá trị của p1 p2} Bước 2: Nếu i =2, ngừng Còn không với i = 3,4,,, n lặp lại bước bước Bước 3: Cho D(pi) ={v1,v2,v3,v4,…vq} Tạo căp  i ={cặp giá trị pi tất giá trị p1,p2 ,p3 …pi-1} Nếu |T|

Ngày đăng: 14/09/2016, 23:11

Từ khóa liên quan

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

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

Tài liệu liên quan