bai12 too ls-kiemtra-ktrpm@softtesting-nntu

27
Lý thuyết Kim Tra PhnMm GV: Nguyn Ngc Tú Email: [email protected] Bmôn: Kthut Phnmm Bài 12: Các công chtrkim tra phnmm

Upload: an-pham

Post on 18-Dec-2014

262 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

Lý thuyếtKiểm Tra Phần Mềm

GV: Nguyễn Ngọc TúEmail: [email protected]ộ môn: Kỹ thuật Phần mềm

Bài 12: Các công cụ hỗ trợ kiểm tra phần mềm

Page 2: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 2

Nội dung

Các dạng phần mềm hỗ trợ kiểm traSử dụng hiệu quả các công cụChọn lựa công cụ

Page 3: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 3

Các dạng phần mềm

Phân lớpCác công cụ quản lý kiểm traCác công cụ quản lý yêu cầuCác công cụ quản lý lần vếtCác công cụ quản lý cấu hìnhCác công cụ hỗ trợ rà soátCác công cụ hỗ trợ mô hìnhCác công cụ hỗ trợ thiết kếCác công cụ hỗ trợ chuẩn bị dữ liệuCác công cụ thực thi kiểm thửCác công cụ khác

Page 4: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 4

Phân lớp các công cụ kiểm thử

Có thể phân lớp theo hoạt động kiểm thử chínhPhần lớn các phân lớp đều có hai dạng: thương mại vàmiễn phíCác công cụ tự động cho các công việc phải lặp đi lặplại

Hiệu quả hơnCông cụ hỗ trợ giúp gia tăng sự tin cậy của phần mềm

So sánh kết quả, phát sinh tải, …Công cụ xâm nhập,..Một số công cụ giành riêng cho người phát triển

Page 5: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 5

Các công cụ quản lý kiểm tra

Cho phép lần vết các kiểm thử, kết quả kiểm thử, hỏng hóc, … tới cơ sở của kiểm traCho phép ghi nhận kết quả và xuất ra báo cáoGiúp quản lý kiểm tra và quá trình kiểm traCho phép giao tiếp tới các công cụ thực thi kiểmthử, quản lý, lần vết lỗiQuản lý phiên bản hoặc giao tiếp với công cụ quảnlý cấu hình khácPhân tích định lượng (metrics) liên quan tới kiểmthử

Page 6: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 6

Các công cụ quản lý yêu cầu

Lưu trữ thông tin yêu cầuKiểm tra sự đồng nhất và các yêu cầu lỗiCho phép các yêu cầu được lập thứ tự ưutiênCho phép lần vết giữa các yêu cầu, chứcnăng, đặc tính với các mẫu thử.

Page 7: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 7

Các công cụ lần vết

Lưu trữ và quản lý các báo cáo về lỗiPhân lớp và lập ưu tiên cho lỗi thuận tiệnCung cấp luồng công việc trên cơ sở trạngthái bao gồm việc phân việc tới các thànhviênCho phép theo dõi lỗi và trạng thái thực hiệnthông qua quá trình thực hiênPhân tích thống kêTạo các báo cáo, báo biểu

Page 8: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 8

Công cụ quản lý cấu hình

Lưu trữ thông tin về các phiên bản, bản biêndịch (build) của phần mềm và testwareCho phép lần vết giữa testware và phần mềmcả những biến đổi của sản phẩmHỗ trợ phát triển và kiểm thử trên nhiều môitrường HW/SW

Page 9: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 9

Công cụ hỗ trợ Rà soát

Lưu thông tin về quá trình rà soátLưu và truyền thông các ghi chú rà soátBáo cáo khiếm khuyết và mức nỗ lựcQuản lý các tham chiếu luật hoặc danh mục ý kiểm thửHỗ trợ rà soát trực tuyếnLần vết giữa tài liệu và mã nguồn

Page 10: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 10

Công cụ phân tích tĩnh

Sử dụng chính bởi người phát triểnTìm khiếm khuyết trước khi kiểm thử độngTuân theo chuẩn mã hóaPhân tích cấu trúc và sự phụ thuộcHỗ trợ để hiểu rõ mã nguồnTính toán các yếu tố (metrics) từ mã

Page 11: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 11

Các công cụ mô hình hóa vàthiết kế

Sử dụng chính bởi người phát triểnGiúp tạo mô hình hệ thốngXác thực mô hìnhHỗ trợ phát sinh một số TC từ mô hình

Page 12: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 12

Các công cụ thiết kế kiểm thử

Phát sinh thông tin đầu vào hoặc mẫu thử thựcsự từ:

Yêu cầuGUIMô hình thiết kếMã nguồn

Phát sinh kết quả kỳ vọngPhát sinh frameworks, templates, and stubs cho kiểm thử

Page 13: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 13

Các công cụ cho dữ liệu kiểmthử

Thao tác hoặc tạo CSDL, tập tin, dữ liệu choviệc thực thi kiểm thửTạo khối lượng lớn các dữ liệu hữu íchChứng thực dữ liệu kiểm thử tùy thuộc vào cácluật cụ thểPhân tích dữ liệu theo tần suất các điềukiện,…

Page 14: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 14

Các công cụ thực thi kiểm thử

Chạy mẫu thửgửi dữ liệu đầu vào qua đoạn script tự động và so sánh kết quả với kỳ vọng

Bao gồm bộ so sánhTạo ra các ghi nhận có thể phân tíchThực hiện với GUI, API, CLI

Page 15: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 15

Frameworks, Simulators chokiểm thử

Phần thay thế cho thiết bị phần cứng rắc rối có khảnăng gây lỗiKiểm thử đơn vị dễ dàng hơn bởi việc phát sinh vàhỗ trợ bởi drivers, stubs, objects thay thế cho phầnhoạt động của hệ thốngCung cấp các FW thực thi ở lớp giữa

Page 16: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 16

Bộ so sánh kiểm thử

Kiểm tra tập tin, csdl, kết quả kiểm thử so vớikỳ vọng

Page 17: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 17

Công cụ đánh giá bao phủ

Sử dụng chính bởi người phát triểnĐánh giá tỷ lệ % kiểu cấu trúc của mã đã đượcxét

Phát biểuNhánh / quyết địnhĐối tượngGọi hàm

Kiểm tra triệt để tới mức nào tập kiểm thử đãthực thi

Page 18: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 18

Công cụ bảo mật

Kiểm tra virus máy tínhMô phỏng các loại tấn công khác nhauMô phỏng các điều kiện bảo mật khác nhau

Page 19: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 19

Thực thi, giám sát và phân tíchđộng

Kiểm tra phụ thuộc thời gian và dò bộ nhớTheo dõi và báo cáo hệ thống đã hoạt độngra sao dưới điều kiện mô phỏngPhát sinh các điều kiện tải khác nhau choứng dụng, csdl, mạng, máy chủ, …

Page 20: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 20

Các công cụ khác

Một số công cụ tập trung vào một ứng dụng cụthể

Kiểm tra thực thi WebCông cụ phân tích tĩnh cho từng ngôn ngữCông cụ kiểm tra bảo mật

Miền ứng dụng đặc biệtembedded systems

Các công cụ gỡ rối

Page 21: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 21

Hiệu quả sử dụng công cụ

Những tác độngKhác biệt về kỹ thuật viết kịch bản kiểm thửLợi ích và rủi ro

Page 22: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 22

Cơ hội và rủi ro

Cơ hội:Giảm công việc dưthừaGia tăng sự đồngnhất và tính lặpĐánh giá mục tiêuĐơn giản hóa lập báocáo

Rủi ro:Các kỳ vọng về phầnmềm phi thực tếKhông xác định đượcthời gian thực hiện, kiển thử, bảo trì, …Sử dụng công cụ chocác kiểm thử khôngphù hợp

Page 23: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 23

Kiểm thử tự động

Trong phát triển phần mềm , thông thường

Quy trình yêu cầu một lượng đángkể về thời gian, kỹ năng và tiền bạc

Theo thói quen, thường chỉ sửdụng phần mềm thực thi kiểmthử hơn là so sánh kết quả

Tự động hóa có thể phân tích biêndịch và gia tăng số lỗi tìm thấy

tự động hóa thông minh các công việc kiểm thử …

Page 24: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 24

Kiểm thử thủ công và tự động

Các kiểm thử phù hợp chokiểm thử thủ công

Operations , maintenanceConfiguration , compatibilityError handling , recoveryLocalizationUsability Cài đặtTài liệu

Kiểm thử bất kỳ hoặc kếthợp

Chức năngUse cases (user scenarios)Giao diệnXử lý ngày tháng

Các kiểm thử phù hợp chokiểm thử tự động

Hồi quy, xác nhậnNgẫu nhiên (Monkey , random)Load, volume, capacityPerformance , reliabilityBiên dịch chuẩnwhite-box, API-based unit, component, integration Static complexity and code analysis

Page 25: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 25

Chú ý khi sử dụng công cụ

Chiến lược không rõ ràngKỳ vọng không thực tếThiếu ký kết sử dụng, cungcấp để kiểm thửChất lượng huấn luyệnkhông tương xứng, nghèonànĐối tượng cho tự động hóasaiChọn sai công cụTính khả dụng của công cụChọn sai nhà cung cấp

Hệ thống dễ bị sụp đổThực hiện quá nhiều, quásớmKhông xác định về thời gianvà tài nguyên cần thiếtMôi trường kiểm thử đơnnhất hoặc không tương xứngCách tiếp cận đúng nhưngsai thời điểmChi phí quá mức

Rick Craig , Stefan Jaskiel’s Systematic Software Testing, Chapter 6

Page 26: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 26

Đọc thêm

[5]. Chapter 15

Page 27: Bai12 too ls-kiemtra-ktrpm@softtesting-nntu

NNTu Software Testing S2008 27

Q/A