Bài giảng Bài 3: Kiểm thử phần mềm trong công nghiệp - ThS. Trần Mạnh Thắng cung cấp kiến thức về quy trình kiểm thử phần mềm cơ bản; mô tả mô hình kiểm thử phần mềm TMM; vai trò của các công cụ kiểm thử; mô tả được công cụ kiểm thử tự động; xây dựng ví dụ sử dụng quy trình kiểm thử phần mềm TMM.
BÀI KIỂM THỬ PHẦN MỀM TRONG CÔNG NGHIỆP ThS Trần Mạnh Thắng v1.1013109225 TÌNH HUỐNG DẪN NHẬP • Từ khái niệm kiểm thử phương pháp, kỹ thuật kiểm thử,… trình trước Cơng ty STT có hình dung ban dầu để xây dựng phương án kiểm thử xây dựng sản phẩm phẩm phần mềm; • Tuy nhiên, để áp dụng phương pháp kỹ thuật kiểm thử nói việc thực thi quy trình kiểm thử, mơ cơng cụ lại chưa đề cập; • Chương đề cập đến quy trình, mơ hình công cụ sử dụng để kiểm thử công nghiệp sản xuất phần mềm nói chung cơng ty STT nói riêng v1.1013109225 Quy trình kiểm thử phần mềm diễn nào? Có mơ hình thường sử dụng cơng cụ nào? MỤC TIÊU Trình bày quy trình kiểm thử phần mềm bản; Mơ tả mơ hình kiểm thử phần mềm TMM; Trình bày vai trị công cụ kiểm thử; Mô tả công cụ kiểm thử tự động; Xây dựng ví dụ sử dụng quy trình kiểm thử phần mềm TMM v1.1013109225 NỘI DUNG v1.1013109225 Quy trình kiểm thử phần mềm Mơ hình kiểm thử phần mềm TMM Các cơng cụ kiểm thử QUY TRÌNH KIỂM THỬ PHẦN MỀM CƠ BẢN 1.1 Test case 1.2 Test script 1.3 Lập kế hoạch test 1.4 Thiết kế test 1.5 Đánh giá kết test v1.1013109225 CÔNG VIỆC CỦA MỘT KIỂM THỬ VIÊN • Tham gia phân tích yêu cầu khách hàng; • Lập kế hoạch test; • Xây dựng tiêu chuẩn nghiệm thu; • Xây dựng hướng dẫn test (bản thiết kế test, kịch test); • Thực test; • Hỗ trợ vấn đề liên quan đến test; • Báo cáo tổng hợp kết test; • Lập lưu trữ hồ sơ liên quan đến test; • Thu thập kiểm soát liệu liên quan đến hoạt động test; • Tính tốn phân tích tiêu liên quan đến hoạt động test v1.1013109225 CÁC HOẠT ĐỘNG KIỂM THỬ Bắt đầu Lập kế hoạch Test Thiết kế Test Cài đặt chuẩn bị Test Test tích hợp Test hệ thống Xem xét đánh giá kết test Tổng hợp, báo cáo Kết thúc v1.1013109225 CÁC HOẠT ĐỘNG KIỂM THỬ Initiation (khởi động) Bắt đầu Definition (Xác định yêu cầu) Lập kế hoạch Test Definition Solution Thiết kế Test Xác định yêu cầu Thiết kế kiến trúc Solution (Thiết kế kiến trúc) Construction (Xây dựng) Construction Cài đặt chuẩn bị Test Construction Thử nghiệm Test tích hợp Test hệ thống Coding (lập trình) Testing (thử nghiệm) Xem xét Đánh giá kết test Tổng hợp, báo cáo Kết thúc v1.1013109225 Lập trình Transition (Triển khai) Termination (Kết thúc) 1.1 TEST CASE (TEST CASE DESIGN) • Khái niệm: Test case tình kiểm tra thiết kế để kiểm tra đối tượng xem có thoả mãn yêu cầu đặt hay khơng • Vai trị test case: Tạo ca kiểm thử tốt có khả phát lỗi, sai sót phần mềm cách nhiều nhất; Tạo ca kiểm thử có chi phí rẻ nhất, đồng thời tốn thời gian cơng sức • Các thành phần test case: Mô tả: Đặc tả điều kiện cần có để tiến hành kiểm tra; Nhập: Đặc tả đối tượng hay liệu cần thiết, sử dụng làm đầu vào để thực việc kiểm tra; Kết mong chờ: Kết trả từ đối tượng kiểm tra, chứng tỏ đối tượng đạt yêu cầu v1.1013109225 NỘI DUNG CẦN CÓ KHI THIẾT KẾ TEST CASE Test Case ID: Test Item: Wrote By: (tester name) Documented Date: Test Type: Test Suite#: Product Name: Release and Version No.: Test case description: Operation procedure: Pre-conditions: Post-conditions: Inputs data and/or events: Expected output data and/or events: Required test scripts: v1.1013109225 10 2.2 CẤU TRÚC CỦA MỘT MỨC TRƯỞNG THÀNH CỦA TTM (tiếp theo) • Cơng việc trách nhiệm: Mơ tả rõ công việc cần làm, dự án (trưởng dự án, lập trình viên, kiểm tra viên…) thực cơng việc Nghĩa là, để đạt mục tiêu con, ta cần thực tất công việc đề nghị cho mục tiêu đó; • Sự tham gia nhóm khác nhau: TMM cho có nhóm người quan trọng với cách nhìn quan điểm khác ảnh hưởng đến cơng việc KTPM, người quản lý/quản lý dự án, lập trình viên/kiểm tra viên, khách hàng/người sử dụng Do mơ hình TMM u cầu công việc phải phân trách nhiệm cho nhóm người v1.1013109225 25 2.3 Ý NGHĨA CỦA CÁC MỨC TRƯỞNG THÀNH 05 Mức trưởng thành TMM Mức 5: Tối ưu hóa, phịng ngừa lỗi kiểm sốt chất lượng • Tối ưu hóa quy trình kiểm tra phần mềm; • Kiểm sốt chất lượng; • Phịng ngừa sai sót Mức 4: Quản lý đo lường • Đánh giá chất lượng phần mềm; • Đo lường việc kiểm tra phần mềm; • Chương trình xem xét xun dự án Mức 3: Tích hợp • • • • Kiểm sốt giám sát quy trình kiểm tra; Tích hợp kiểm tra phần mềm; Thiết lập chương trình huấn luyện kỹ thuật; Thiết lập tổ chức kiểm tra phần mềm Mức 2: Định nghĩa • Kỹ thuật phương pháp kiểm tra bản; • Quy trình cho việc lập kế hoạch kiểm tra; • Mục tiêu dị lỗi kiểm tra phần mềm v1.1013109225 Mức 1: Khởi đầu 26 2.3.1 Ý NGHĨA CỦA MỨC TRƯỞNG THÀNH • Mức khởi đầu đa số tổ chức phần mềm; • Khơng có mục tiêu đặt cho mức này; • Quy trình kiểm thử phần mềm hồn tồn hỗn độn; • Kiểm thử phần mềm thực cách khơng dự tính phi thể thức sau code viết xong; khơng có kế hoạch, khơng có quy trình; • Ở mức kiểm thử phần mềm đồng nghĩa với tìm lỗi (debugging) Một lập trình viên viết code, sau tìm lỗi, sửa chữa, dị lỗi… đạt u cầu; • Kiểm tra viên không huấn luyện, tài nguyên cần thiết khơng đầy đủ; • Do có lập trình viên làm thứ, chi phí kiểm tra trước bao gồm chi phí phát triển phần mềm v1.1013109225 27 2.3.2 Ý NGHĨA CỦA MỨC TRƯỞNG THÀNH • Định nghĩa: KTPM quy trình riêng biệt, chặng tồn chu trình PTPM hồn tồn phân biệt với cơng việc dị tìm lỗi (debug); • Mục tiêu kiểm tra nhằm chứng minh PM hệ thống đáp ứng yêu cầu; • KTPM lập kế hoạch chi tiết theo dõi chặt chẽ; • Quy trình kiểm tra sử dụng lặp lại dự án khác nhau; • Kế hoạch kiểm tra thường hoàn thành sau xong giai đoạn viết code; • Kỹ thuật phương pháp kiểm tra thiết lập đưa vào sử dụng; • Các mục tiêu mức bao gồm: Phát triển mục tiêu dò lỗi kiểm tra phần mềm; Quy trình lập kế hoạch kiểm tra; Thể chế hóa kỹ thuật phương pháp kiểm tra v1.1013109225 28 2.3.3 NGHĨA CỦA MỨC TRƯỞNG THÀNH • Một nhóm kiểm tra viên thành lập phận công ty Kiểm tra viên huấn luyện kỹ đặc biệt; • KTPM khơng cịn chặng, mà thực xun suốt tồn chu kỳ PTPM; • Việc sử dụng công cụ kiểm tra tự động bắt đầu tính đến; • Kế hoạch kiểm tra thực sớm nhiều so với mức trưởng thành 2; • Quy trình kiểm tra giám sát, tiến độ hiệu kiểm tra kiểm soát chặt chẽ; • Mục tiêu mức bao gồm: Thiết lập phận KTPM; Thiết lập chương trình huấn luyện kỹ thuật; Tích hợp KTPM vào chu kỳ PTPM; Kiểm sốt giám sát quy trình kiểm tra v1.1013109225 29 2.3.4 Ý NGHĨA CỦA MỨC TRƯỞNG THÀNH • Một chương trình xem xét cấp cơng ty thành lập với mục tiêu loại bỏ sai sót sản phẩm kể sản phẩm trung gian kỹ thuật xem xét ngang hàng (peer review – kỹ thuật phổ biến để phát lỗi sớm sản phẩm sản phẩm trung gian không thi hành yêu cầu khách hàng, thiết kế, mã nguồn, kế hoạch kiểm tra… thực nhóm người làm việc); • Quy trình kiểm tra quy trình định lượng Các số liên quan đến KTPM định nghĩa thu thập nhằm phân tích, khảo sát chất lượng hiệu quy trình kiểm tra; • Mục tiêu mức bao gồm: Thiết lập chương trình xem xét xuyên suốt dự án công ty; Thiết lập chương trình đo lường việc KTPM; Đánh giá chất lượng PM v1.1013109225 30 2.3.5 Ý NGHĨA CỦA MỨC TRƯỞNG THÀNH • Dữ liệu liên quan đến sai sót thu thập (ở mức 4) phân tích để tìm nguyên nhân gốc phát sinh sai sót Căn vào nguyên nhân này, hành động phòng ngừa thiết lập thi hành Các phép thống kê dùng để ước lượng tính tin cậy phần mềm, làm sở cho định liên quan đến xác định mục tiêu độ tin cậy phần mềm Chi phí tính hiệu KTPM giám sát chặt chẽ, công cụ kiểm tra tự động sử dụng rộng rãi; • Mặt khác, mức 5, quy trình KTPM phải cải tiến cách liên tục, nhằm khắc phục yếu quy trình, hướng đến mục tiêu xa hơn; • Mục tiêu mức bao gồm: Sử dụng liệu thu thập để phịng ngừa sai sót; Kiểm sốt chất lượng; Tối ưu hóa quy trình KTPM v1.1013109225 31 CÁC CƠNG CỤ KIỂM THỬ 3.1 Vai trị công cụ kiểm thử; 3.2 Khái quát kiểm thử tự động; 3.3 Công cụ kiểm thử tự động; 3.4 Kiểm thử đơn vị với công cụ jUnit; 3.5 Kiểm thử với công cụ quicktest pro v1.1013109225 32 3.1 VAI TRỊ CỦA CƠNG CỤ KIỂM THỬ • Giảm nhân lực kiểm thử công sức thực kiểm thử; • Giảm thời gian kiểm thử; • Giảm sai sót tăng độ tin cậy; • Giảm nhàm chán; • Rèn luyện kỹ lập trình cho kiểm thử viên; • Giúp thực việc kiểm thử phần mềm cách tự động thường sử dụng khi: Không đủ tài nguyên; Kiểm tra khả vận hành môi trường đặc biệt v1.1013109225 33 3.2 KHÁI QUÁT VỀ KIỂM THỬ TỰ ĐỘNG Các bước thực kiểm thử tự động: • Tạo Test Script; • Chỉnh sửa Test Script; • Chạy Test Script để KTTĐ; • Đánh giá kết v1.1013109225 34 THUẬN LỢI VÀ KHĨ KHĂN CỦA KIỂM THỬ TỰ ĐỘNG • Khơng cần can thiệp kiểm thử viên; • Giảm chi phí thực kiểm thử với số lượng lớn phải lặp lại nhiều lần; • Giả lập tình khó làm thủ cơng; • Mất chi phí để tạo script; • Yêu cầu kiểm thử viên phải có kỹ cao để tạo script KTTĐ; • Khơng áp dụng tìm lỗi phần mềm v1.1013109225 35 3.3 CƠNG CỤ KIỂM THỬ TỰ ĐỘNG • QuickTest Professional (QTP) Mercury; • WinRunner; • Rational Robot; • SkilkTest; • Jtest; • Nunit; • Junit; • Load Runner… v1.1013109225 36 3.4 KIỂM THỬ ĐƠN VỊ VỚI CƠNG CỤ JUNIT • Định nghĩa: jUnit framework đơn giản dùng cho việc tạo kiểm thử đơn vị tự động chạy kiểm thử lặp lặp lại Nó phần họ kiến trúc xUnit cho việc tạo kiểm thử đơn vị jUnit chuẩn thực tế cho kiểm thử đơn vị Java; • JUnit nguồn gốc viết tác giả Erich Gamma Kent Beck; • JUnit tham khảo tại: http://www.junit.org; Java eXtreme Programming Cookbook – Eric M Burkev & Brian M Coyner, O’Reilly; Test Driven Development By Example – Addison Wesleyv v1.1013109225 37 3.5 KIỂM THỬ VỚI CÔNG CỤ QUICK TEST PRO • Quicktest professional (QTP) dùng để kiểm tra chức cho phép thực kiểm tra hồi quy cách tự động • Hỗ trợ sẵn cho loại chương trình thơng dụng như: Ứng dụng windows chuẩn/win32; Ứng dụng web theo chuẩn HTML, XML chạy trog trình duyệt Internet Explorer, Netscape AOL; Visual Basic, ActiveX, Unicode • Một số chương trình phải thêm thành phần bổ xung như: NET, Java, Oracle, … v1.1013109225 38 TĨM LƯỢC CUỐI BÀI • Nắm khái niệm test case test script; • Nắm quy trình kiểm thử phần mềm; • Nắm khái niệm, nguồn gốc xuất xứ mơ hình TMM; • Nắm vai trò kiểm thử tự động, cơng cụ kiểm thử tự động quy trình kiểm thử tự động v1.1013109225 39 ... tả công cụ kiểm thử tự động; Xây dựng ví dụ sử dụng quy trình kiểm thử phần mềm TMM v1.1013109225 NỘI DUNG v1.1013109225 Quy trình kiểm thử phần mềm Mơ hình kiểm thử phần mềm TMM Các công cụ kiểm. .. trình kiểm thử phần mềm diễn nào? Có mơ hình thường sử dụng cơng cụ nào? MỤC TIÊU Trình bày quy trình kiểm thử phần mềm bản; Mơ tả mơ hình kiểm thử phần mềm TMM; Trình bày vai trị cơng cụ kiểm thử; ... quy trình kiểm thử phần mềm • Kết bước lập kế hoạch tài liệu kế hoạch kiểm thử phần mềm bao gồm: Các loại kiểm tra; Chiến lược kiểm tra; Thời gian kiểm tra; Phân định lực lượng kiểm tra