Chương này đề cập đến kiểm thử tự động trong kiểm tra phần mềm. Nội dung chính trong chương này gồm có: Khái niệm về kiểm thử tự động, mục đích, phân loại kiểm thử tự động, quy trình kiểm thử tự động, giới thiệu công cụ kiểm thử tự động. Mời tham khảo.
Kiểm định phần mềm KIỂM THỬ TỰ ĐỘNG 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn I Kiểm thử tự động Khái niệm kiểm thử tự động Mục đích Phân loại kiểm thử tự động Quy trình kiểm thử tự động Giới thiệu công cụ KTTĐ 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn Khái niệm kiểm thử tự động Kiểm thử tự động phần mềm là: Quá trình xử lý cách tự động bước thực test case Kiểm thử tự động công cụ nhằm rút ngắn thời gian kiểm thử 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn Mục đích 2.1 Tại phải kiểm thử tự động? Giảm bớt công thời gian sức thực Tăng độ tin Giảm nhàm chán Giảm chi phí cho tổng q trình kiểm thử 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 2.2 Khi kiểm thử tự động + Không đủ tài nguyên: Khi số lượng TestCase nhiều mà KTV khơng thể hồn tất thời gian cụ thể + Kiểm tra hồi quy: Nâng cấp phần mềm Kiểm tra lại tính chạy tốt tính sửa Khó khả thi mặt thời gian VD: Trình duyệt: IE, Netscape, Opera, Fire Fox, Google Chrome + Kiểm tra khả vận hành phần mềm môi trường đặc biệt: VD -Đo tốc độ trung bình xử lý yêu cầu Web server -Thiết lập tình 1000 yêu cầu đồng thời gửi đến Web Server -Xác định số yêu cầu tối đa xử lý Web Server -Xác định cấu hình máy thấp mà PM 08/05/21 hoạt động tốt Kiểm định phần mềm - ĐH Sài Gòn Phân loại kiểm thử tự động - Vì kiểm thử phần mềm thường chiếm tới 40% tất nổ lực dành cho dự án xây dựng phần mềm, nên cơng cụ làm giảm thời gian kiểm thử có giá trị Các nhà nghiên cứu người thực hành phát triển số hệ công cụ kiểm thử tự động: 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 3.1 Cơng cụ kiểm thử tự động mã trình Bộ phân tích tĩnh: phân tích cấu trúc định dạng chương trình Bộ kiểm mã: xem phần mềm có phù hợp với chuẩn mã tối thiểu chưa? Bộ xử lý khai báo: xem khai báo ứng xử chương trình có phù hợp với việc thực chương trình thực tế hay khơng? 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 3.2 Công cụ kiểm thử tự động liệu Bộ sinh tập tin kiểm thử : cho giá trị tiền xác định, tập tin đầu vào điển hình cho chương trình chịu kiểm thử Bộ sinh liệu thử: giúp lựa chọn liệu để chương trình xử lý theo theo cách đặc biệt? Bộ xác minh kết : đưa báo cáo giá trị trung bình kết cho chuyên gia bảo đảm chất lượng PM 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 3.3 Cơng cụ kiểm thử tự động cài đặt Các trợ giúp cho trình kiểm thử: Hỗ trợ việc xử lý phép kiểm thử cách làm gần không khó khăn để: Thiết lập chương trình ứng viên mơi trường kiểm thử Chạy chương trình với liệu đầu vào Mô cho hành vi module phụ Bộ so sánh đầu ra: Cơng cụ giúp ta so sánh tập đầu từ chương trình với tập đầu khác để xác định khác biệt chúng 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 3.3 Cơng cụ kiểm thử tự động cài đặt Hệ tiến hành ký hiệu: Dùng đầu vào đại số, thay giá trị liệu số, đầu đại số so sánh với kết mong chờ Mô môi trường: Công cụ hệ thống dựa máy tính giúp người kiểm thử mơ hình hố mơi trường bên ngồi phần mềm thời gian thực mơ điều kiện vận hành thực cách động Bộ phân tích dịng liệu: Cơng cụ theo dõi dấu vết luồng liệu qua hệ thống 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 10 Quy trình kiểm thử tự động 4.1 Khái quát quy trình: Cho thấy: Kiểm thử tự động (KTTĐ) giống phát triển dự án Mối tương quan Kiểm thử tự động với toàn 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn chu trình Kiểm thử phần mềm 11 4.2 Các bước trình KTTĐ Xây dựng yêu cầu: Thu thập đặc tả yêu cầu xây dựng Test Case, lựa chọn phần cần KTTĐ Phân tích, thiết kế: Xây dựng mơ hình phát triển KTTĐ Phát triển TestScript: Tạo TestScript > Chỉnh sửa TestScript > Chạy TestScript > Test Report Đánh giá kết quả: Thông qua Test Report 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 12 4.3 Thuận lợi khó khăn: Khó khăn Thuận lợi • KTPM khơng cần can • Mất chi phí tạo thiệp KTV • Giảm chi phí thực kiểm tra số lượng lớn test case test case lặp lại nhiều lần • Giả lập tình khó thực tay 08/05/21 script để thực KTTĐ • Tốn chi phí dành cho bảo trì script • Địi hỏi KTV phải có kỹ tạo script KTTĐ • Khơng áp dụng việc tìm lỗi PM Kiểm định phần mềm - ĐH Sài Gịn 13 Giới thiệu cơng cụ KTTĐ Trong lĩnh vực KTTĐ có nhiều Test Tool thương mại tiếng, phổ biến QuickTest Professional, WinRunner, Rational Robot, SilkTest, JTest, Giới thiệu: + QuickTest Professional (QTP): Để kiểm tra chức (Functional Test) thực kiểm tra hồi quy (Regression Test) cách tự động + LoadRunner (LR):Kiểm tra Hiệu phần mềm (Performance test) 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 14 Giới thiệu cơng cụ KTTĐ 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 15 5.1 QuickTest Pro: (HP vừa mua lại) - QTP giúp KTPM theo hướng chức nhiều loại phần mềm khác Tuy nhiên Mercury hỗ trợ số loại chương trình: + Ứng dụng Windows chuẩn/Win32 + Ứng dụng web theo chuẩn HTML, XML chạy trình duyệt Internet Explorer, Netscape , Firefox, AOL + Visual Basic + ActiveX + QTP hỗ trợ Unicode (UTF-8, UTF-16) 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 16 5.1.1 Loại phần mềm hỗ trợ: Một số loại chương trình khác địi hỏi phải cài đặt thêm thành phần bổ sung QTP thực kiểm tra được: - Net - Java - Oracle - People Sof - SAP - Siebel - Teminal Emulators 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 17 5.1.2 Đặc điểm - Dễ sử dụng bảo trì, tạo Test Script nhanh Cung cấp liệu kiểm tra rõ ràng dễ hiểu - Để kiểm tra phiên sau ứng dụng cần cập nhật lại Object Repository, mà không cần thay đổi Test Script - Thực kiểm thử nhiều trình duyệt tốt phần mềm khác - Recovery Scenarios xử lý kiện lỗi khơng đốn trước làm Script bị dừng chạy 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 18 5.1.2 Đặc điểm - Có khả hiểu Test Script WinRunner… - Có thể xây dựng chia sẻ thư viện hàm nhóm KTV - Kiểm tra tài nguyên cần thiết trước kiểm tra tự động - Hỗ trợ khả kéo thả - Hỗ trợ Unicode - Hỗ trợ nhiều môi trường 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 19 5.1.2 Đặc điểm 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 20 5.1.3 Các thành phần quan trọng QTP + Action + Data Table + Object Repository (OR) + Checkpoint 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 21 5.1.4 Ngơn ngữ sử dụng viết Script - QTP hỗ trợ việc sử dụng cấu trúc lớp hàm để quản lý Test Case Class NameClass -Public sub Run() End sub Constructor Private Sub Class_Initialize End sub Constructor Private Sub Class_Terminate End sub -End class - Sử dụng RegisterUserFunc để đăng ký hàm với QTP, tạo thư viện hàm để sử dụng lại dự án khác 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 22 5.1.5 Ví dụ - Vấn đề: Thực Test cho cửa sổ Login phần mềm “Đặt vé máy bay” (Flight Reservation) có sử dụng test tự động - Giải quyết: + Từ đặc tả yêu cầu xây dựng Test Case + Chọn Test Case cần kiểm thử tự động + Thực tạo Test Script + Chạy Script + Đưa Test Report 08/05/21 Kiểm định phần mềm - ĐH Sài Gịn 23 5.1.5 Ví dụ 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 24 ... (UTF-8, UTF- 16) 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 16 5.1.1 Loại phần mềm hỗ trợ: Một số loại chương trình khác địi hỏi phải cài đặt thêm thành phần bổ sung QTP thực kiểm tra được: - Net -. .. QTP thực kiểm tra được: - Net - Java - Oracle - People Sof - SAP - Siebel - Teminal Emulators 08/05/21 Kiểm định phần mềm - ĐH Sài Gòn 17 5.1.2 Đặc điểm - Dễ sử dụng bảo trì, tạo Test Script... định phần mềm - ĐH Sài Gòn 18 5.1.2 Đặc điểm - Có khả hiểu Test Script WinRunner… - Có thể xây dựng chia sẻ thư viện hàm nhóm KTV - Kiểm tra tài nguyên cần thiết trước kiểm tra tự động - Hỗ trợ khả