Bài 7: Thẩm định và xác minh phần mềm. Bài giảng bao gồm các kiến thức liên quan đến công nghệ phần mềm như: Khái niệm V&V, mục đích của V&V, cách thức tiến hành, xác minh tĩnh và động, các loại thử nghiệm, quy trình Debug, ứng dụng của phân tích tĩnh... Nội dung rất bổ ích đối với các bạn học chuyên ngành. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Bộ môn Công nghệ phần mềm - Bài 7: Thẩm định và xác minh phần mềm ThẩmđịnhvàXácminhphầnmềm:VerificationandValidation BMCNPM–KhoaCNTT– HVKTQS 10/2012Outline KháiniệmV&V LậpkếhoạchchoV&V Điềutraphầnmềm Phântíchtựđộng PhươngpháphìnhthứcKháiniệmV&V Verification–Xácminh: Arewebuildingtheproductright Thesoftwareshouldconformtoits specification Validation–Thẩmđịnh: Arewebuildingtherightproduct Thesoftwareshoulddowhattheuser reallyrequiresKháiniệmV&V(giảithích) Thẩm định phần mềm: Là xem phần mềm cho kết quả đúng hay không và có thỏa mãn yêu cầu củangườisửdụnghaykhông. Xácminhphầnmềm: Làxemsảnphẩmcóđúng làsảnphẩmđượcyêucầukhôngvàchươngtrình cóđúngvớiđặctảkhông. Thẩm định và xác minh phần mềm là 2 quá trình liên tục, xuyên suốt từ lúc phân tích các yêu cầu của khách hàng cho đến khi giao sản phẩm, với mụcđích: Xem hệ thống có đáp ứng yêu cầu của khách hàng không,pháthiệnlỗicủaphầnmềm.MụcđíchcủaV&V Tạosựtựtinvềphầnmềmsẽđạt đượcmụctiêuđềra. Điềunàykhôngcónghĩalàsẽtạora phầnmềmkhôngcólỗichútnào. Kiểusửdụngphầnmềmsẽquyếtđịnh mứcđộtựtincầnthiết:V&Vconfidence Dependsonsystem’spurpose,user expectationsandmarketingenvironment Softwarefunction Thelevelofconfidencedependsonhowcriticalthe softwareistoanorganisation. Userexpectations Usersmayhavelowexpectationsofcertainkindsof software. Marketingenvironment Gettingaproducttomarketearlymaybemore importantthanfindingdefectsintheprogram.Cáchthứctiếnhành Để thẩm định và xác minh phần mềm người ta phải thử nghiệm (kiểm thử) haythanhtra. Haicáchthứcnàythườngcóliênhệvới nhau Xácminhtĩnhvàđộng Thanh tra phần mềm. Liên quan đến việc phân tích hệ thống trong trạng thái tĩnh (không chạy) để phát hiệncácvấnđề(Xácminhtĩnh) Cóthểsửdụngcáccôngcụphântíchtàiliệuvàphântích mãnguồnđểhỗtrợ Kiểm thử phần mềm. Liên quan đến việc cho chạy vàquansáthànhvicủaphầnmềm(Xácminhđộng). Hệthốngđượcchochạycùngvớidữliệukiểmthửvàhành vicủanósẽđượcquansát Software inspectionsRequirements High-level v Formal Detailed Programspecification design specification design Program Prototype testingCácloạithửnghiệm Cácloạithửnghiệm: 1.Thửthốngkê:chonhiềubộdữliệukhácnhau đểchạythửvàtínhtầnsuấtxuấthiệnthấtbại> kiểmtratínhđúngđắn(validationthẩmđịnh) 2.Thửkhuyếttật:Chonhữngbộdữliệuthậtđặc biệtđểchạythử=>phảilựachọnđượcnhữngbộ dữliệuthậtđặcbiệt.Phépthửđượccoilàthành côngnhấtnếuphơiđượcnhiềukhuyếttậtnhất. 3.Thửgiớihạntải(áplực):Nếuphầnmềmcógiới hạntải,tathửbằngcáchtăngdầntảichođếnkhi khôngchịuđược.=KiểmtrađộtincậyV&VvàDebug Kiểm thử khuyết tật và gỡ rối là những tiến trình riêngbiệt. Thẩm định và xác minh liên quan đến việc xem xét sựtồntạicủacáckhuyếttậttrongchươngtrình. Gỡrốiliênquanđếnviệcxácđịnhvịtrívàsửachữa nhữnglỗiđãtìmthấy. Debugging liên quan đến việc xây dựng một giả thuyết về hành vi của chương trình và kiểm tra giả thuyếtđóđểtìmralỗi.QuytrìnhDebugLậpkếhoạchchoV&V Một kế hoạch cẩn thận là cần thiết để nhận được hiệuquảcaonhấttrongkiểmthửvàthanhtra Việc lập kế hoạch cần được tiến hành sớm trong tiếntrìnhpháttriểnphầnmềm Kế hoạch nên xác định rõ sự cân bằng giữa xác minhtĩnhvàđộng Kế hoạch kiểm thử nên chỉ ra các chuẩn cần sử dụng cho tiến trình kiểm thử thay vì mô tả các dữ liệutestLậpkếhoạchchoV&V:MôhìnhVKếhoạchkiểmthửThanhtraphầnmềm Liênquanđếnviệckiểmtramãnguồnđểtìmracácvấnđềbất thườngvàkhuyếttật Khôngyêucầuchạyphầnmềmtrướcvàkhithanhtra Có thể tiến hành thanh tra mọi đối tượng cấu hình của phần mềm(cácbảnđặctảyêucầu, ...