Bài giảng Công nghệ phần mềm: Chương 5 - Trần Anh Dũng

115 14 0
Bài giảng Công nghệ phần mềm: Chương 5 - Trần Anh Dũng

Đ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

Chương 5 trang bị cho người học những hiểu biết về giai đoạn kiểm chứng phần mềm (software testing). Thông qua chương này người học có thể hiểu được khái niệm kiểm thử phần mềm, hiểu được tại sao phải kiểm thử phần mềm, các nguyên lý trong kiểm thử phần mềm, biết được các mức độ kiểm thử và các kỹ thuật kiểm thử.

Chương Kiểm chứng Phần mềm (Software Testing) GVLT: Trần Anh Dũng Nội dung  Giới thiệu  Khái niệm kiểm thử phần mềm  Tại phải kiểm thử phần mềm  Các nguyên lý kiểm thử phần mềm  Các mức độ kiểm thử  Các kỹ thuật kiểm thử  Kiểm thử hộp đen  Kiểm thử hộp trắng Giới thiệu A person makes an error … that creates a fault (bug, defect) in the software … that can cause a failure in operation Khái niệm kiểm thử phần mềm  Kiểm thử phần mềm trình thực thi phần mềm với mục tiêu tìm lỗi Glen Myers, 1979  Khẳng định chất lượng phần mềm xây dựng Hetzel, 1988 Một số đặc điểm kiểm thử PM  Kiểm thử phần mềm giúp tìm diện lỗi vắng mặt lỗi Dijkstra  Mọi phương pháp dùng để ngăn ngừa tìm lỗi sót lại lỗi khó phát Beizer  Điều xảy việc kiểm thử khơng tìm lỗi phần mềm phát lỗi Tại kiểm thử lại cần thiết?  Nhằm tăng độ tin cậy chất lượng phần mềm  Giảm chi phí q trình phát triển, nâng cấp, bảo trì phần mềm  Ví dụ:   Website cơng ty có nhiều lỗi tả câu chữ Khách hàng lãng tránh cơng ty với lý cơng ty trơng khơng chun nghiệp Một phần mềm tính tốn lượng thuốc trừ sâu dùng cho trồng, lý tính sai số lượng lên gấp 10 lần Nông dân phải bỏ nhiều tiền mua, trồng hư hại, môi trường sống, nguồn nước bị ảnh hưởng,… Lỗi tăng lên nào? Lỗi tăng lên nào?  Chi phí cho việc tìm thấy sửa lỗi tăng dần suốt chu kỳ sống phần mềm Lỗi tìm thấy sớm chi phí để sửa thấp ngược lại Các nguyên lý kiểm thử PM  Lập trình viên khơng nên thực kiểm thử phần mềm mà viết  Cần phải kiểm tra chức mà phần mềm không thực  Tránh việc kiểm thử phần mềm với giả định khơng có lỗi tìm thấy  Test case phải định nghĩa kết đầu rõ ràng  Test case phải lưu trữ thực thi lại có thay đổi xảy hệ thống Vai trò kiểm thử  Vai trị kiểm thử suốt quy trình sống phần mềm    Kiểm thử không tồn độc lập Các hoạt động kiểm thử gắn liền với hoạt động phát triển phần mềm Các mơ hình phát triển phần mềm khác cần cách tiếp cận kiểm thử khác Mối quan hệ chiến lược data-flow test 101 Các công cụ hỗ trợ kiểm thử  Các công cụ hỗ trợ quản lý trình kiểm thử  Các công cụ hỗ trợ thực kỹ thuật kiểm thử  Công cụ kiểm thử hiệu (Performance)  Công cụ kiểm thử chức (Functional)  Công cụ kiểm thử bảo mật (Security)  Công cụ kiểm thử đơn vị (UnitTesting)  … 102 Các công cụ hỗ trợ quản lý quy trình kiểm thử phần mềm (1)  Các đối tượng cần quản lý công cụ kiểm thử PM  Project  User  User Role  Requirement  Release: Phiên project  Test Plan: Kế hoạch test  Test types: Các loại test  Test cases: Các trường hợp test  Teststep: Các bước thực cho test case  Result: Kết thực thi test  Bug: Lỗi  Reports: Các thơng báo tình trạng tiến trình: Tình trạng lỗi, tiến triển công việc: …  Các tài liệu hướng dẫn sử dụng chương trình (Help) 103 Các cơng cụ hỗ trợ quản lý quy trình kiểm thử phần mềm (2)  Các chức cần phải có  Quản lý project  Quản lý User  Phân quyền User  Quản lý requirement theo phiên  Quản lý release  Quản lý thành phần release: build, component,  Quản lý testplan  Quản lý testcase  Cập nhật kết cho test case  Cập nhật tình trạng lỗi  Thống kê lỗi cho release thành phần release  Tự động cập nhật kết kiểm thử 104 Các cơng cụ hỗ trợ quản lý quy trình kiểm thử phần mềm (3) No Name Desc REq Download TestLink Apache, MySQL, PHP 48797 Fitnesse Mac, Wnidows, POSIX 24475 QATraq Windows, BSD, Linux, SunOS/Solaris 21992 Bugzilla Test Runner Bugzilla 2.16.3 or above 17291 rth All 32-bit MS Windows (95/98/NT/2000/XP), All POSIX (Linux/BSD/UNIX-like OSes), IBM AIX 9563 TestMaster Linux, Apache, PostgreSQL 6728 TCW Any (PHP/SQL/Apache) 4488 Tesly OS Independent 3327 qaProjectManager Platform Independent 3133 10 Testitool Apache, PHP, MySQL 701 www.opensourcetestingtools.org 105 Công cụ kiểm thử hiệu  Là dạng kiểm tra tự động nhằm tìm điểm “thắt cổ chai” phần mềm, giúp cho người phát triển có thay đổi thích hợp để tăng khả thực thi, tốc độ xử lý phần mềm  Giúp người kiểm tra xác định thông số ngưỡng phần mềm, đề tiêu chuẩn cho lần kiểm tra sau  Thường áp dụng PM triển khai môi trường nhiều người dùng ( ví dụ: ứng dụng web )  Kết mong đợi việc kiểm thử hiệu phải định nghĩa cách rõ ràng  Ví dụ:  Số kết nối (session) đồng thời mà server phục vụ  Thời gian (bao nhiêu phút/giây) mà trình duyệt nhận kết từ server  … 106 Công cụ kiểm thử hiệu No Name Requirements Download OpenSTA Windows 2000, NT4 and XP 251965 Grinder OS Independent 156458 TPTEST MacOS/Carbon and Win32 108036 Database Opensource Test Suite Linux, POSIX 103484 Sipp Linux/Unix/Win32-Cygwin 102111 WebLOAD 32-bit MS Windows (NT/2000/XP), Linux, Windows Server 2003 39401 OpenWebLoad Linux, DOS 31204 Hammerhead - Web Testing Tool Hammerhead has been used with Linux, Solaris and FreeBSD 24814 Dieseltest Windows 14618 10 DBMonster OS Independent 13710 www.opensourcetestingtools.org 107 Các công cụ hỗ trợ kiểm thử đơn vị  Có nhiều cơng cụ kiểm thử đơn vị viết nhiều ngôn ngữ khác  ADA  C++  HTML  Java  NET  Pert  PHP  SQL  XML  Ruby  … 108 Các công cụ hỗ trợ kiểm thử đơn vị No Name Requirements Download JUnit OS Independent Findbugs JRE (or JDK) 1.4.0 or later 379779 PMD JDK 1.3 or higher 344688 Checkstyle OS Independent 216780 EclEmma Eclipse 209153 Dbunit JUnit 129300 StrutsTestCase for JUnit v1.9.5 OS Independent 106860 Emma Java 59435 MockObjects OS independent 55457 JUnit 54618 10 JUnitEE 2151874 www.opensourcetestingtools.org 109 Các công cụ hỗ trợ kiểm thử đơn vị No Name Requirements Download NUnit Windows NT/2000 1061875 NUnitAsp Windows NT/2000 72724 NUnit Addin for Visual Studio.NET Windows 58588 NUnitForms Windows NT/2000 46880 csUnit csUnit has been tested using the Microsoft NET framework 1.0 Service Pack runtime on an Intel-compatible platform 31483 NCover All 32-bit MS Windows (95/98/NT/2000/XP) 14264 VSNUnit All 32-bit MS Windows (95/98/NT/2000/XP) 8763 dotUnit All 32-bit MS Windows (95/98/NT/2000/XP) 6230 NETUnit OS Independent (Written in an interpreted language) 5558 Microsoft Internet Information Server 5.0 or 5.1 5197 10 ASPUnit www.opensourcetestingtools.org 110 Một sô công cụ hỗ trợ kiểm thử chức No Name Desc Req Download Software Testing Automation Framework (STAF) Windows, Linux, Solaris, AS/400, AIX, HP-UX, Irix 212018 soapui Java 1.5 178985 Linux Test Project Linux 103484 jWebUnit OS Independent 56526 Abbot Java GUI Test Framework TBC 56118 Software Automation Framework Support Jameleon WebInject Marathon Java 1.3 or later 30328 10 Solex Eclipse 2.1 or above 29591 All 32-bit MS Windows (95/98/NT/2000/XP) OS Independent, JDK 1.4 or higher Windows, OS Independent, Linux www.opensourcetestingtools.org 43735 43507 40891 111 Các công cụ kiểm thử thương mại Vendor Tool Name of testing suite or companion tools Compuware TestPartner QACenter Enterprise Edition+ Empirix e-Tester e-TEST suite IBM Rational Functional Tester Test Manager, Manual Tester, Performance Tester Mercury QuickTest Professional Quality Center RadView WebFT TestView Suite Seapine QA Wizard TestTrack Pro Segue SilkTest SilkCentral, SilkPerformer 112 Các công cụ kiểm thử thương mại Technical and nontechnical users Mercury QuickTest Pro Compuware TestPartner Technical users IBM Rational Functional Tester Segue SilkTest RadView WebFT Nontechnical users Empirix e-Tester Seapine QA Wizard 113 Tài liệu tham khảo  Software Testing, A Craftsman’s Approach, Paul C.Jorgensen  Practical Software Testing, EleneBurnstein  Slides: Software Testing ISEB Foundation Certificate Course  Slides: Software Testing, Dr Balla Katalin  Slide: Equivalence Class Testing, Prof Schlingloff & Dr M Roggenbach  Slide: Decision Table Based Testing, Neelam Gupta, The University of Arizona Tucson, Arizona, USA  Object Oriented Testing, Ali Kamandi, Sharif University of Technology 114 ... việc thực thi chương trình 15 Dynamic Testing - Kiểm thử động Dynamic Specification-based Structure-based Experience-based Equivalence Partitioning Basis Path Control-flow Data-flow Error Guessing... thử phần mềm  Kiểm thử phần mềm trình thực thi phần mềm với mục tiêu tìm lỗi Glen Myers, 1979  Khẳng định chất lượng phần mềm xây dựng Hetzel, 1988 Một số đặc điểm kiểm thử PM  Kiểm thử phần. .. white-box hay glass-box địi hỏi hiểu biết cấu trúc phần mềm, nghĩa phần mềm hoạt động 19 Các kỹ thuật kiểm thử hộp trắng  Basis Path Testing  Control-flow/Coverage Testing  Data-flow Testing 20

Ngày đăng: 08/05/2021, 13:26

Từ khóa liên quan

Mục lục

  • Chương 5. Kiểm chứng Phần mềm (Software Testing)

  • Nội dung

  • Giới thiệu

  • Khái niệm kiểm thử phần mềm

  • Một số đặc điểm kiểm thử PM

  • Tại sao kiểm thử lại cần thiết?

  • Lỗi tăng lên khi nào?

  • Slide 8

  • Các nguyên lý trong kiểm thử PM

  • Vai trò kiểm thử

  • Các mức độ kiểm thử (Test levels)

  • Slide 12

  • Slide 13

  • Slide 14

  • Các kỹ thuật kiểm thử

  • Dynamic Testing - Kiểm thử động

  • Các phương pháp kiểm thử (1)

  • Các kỹ thuật kiểm thử hộp đen

  • Các phương pháp kiểm thử (2)

  • Các kỹ thuật kiểm thử hộp trắng

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

Tài liệu liên quan