Bài 8 - Phương pháp kiểm thử. Bài giảng cung cấp các kiến thức thuộc bộ môn công nghệ phần mềm như: Khái niệm kiểm thử, phương pháp thử, kỹ thuật thiết kế trường hợp thử, phương pháp thử các môđun... 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 8: Phương pháp kiểm thửPhươngphápKiểmthửphần mềm BMCNPM–KhoaCNTT– HVKTQS 10/2012Outline Kháiniệmkiểmthử Phươngphápthử Kỹthuậtthiếtkếtrườnghợpthử PhươngphápthửcácmôđunKháiniệm Kiểmthửphầnmềmlàhoạtđộngkhảosátthựctiễn sản phẩm hay dịch vụ phần mềm trong đúng môi trườngchúngdựđịnhsẽđượctriểnkhainhằmcung cấpchongườicólợiíchliênquannhữngthôngtinvề chất lượng của sản phẩm hay dịch vụ phần mềm ấy.Mụcđíchcủakiểmthửphầnmềmlàtìmracác lỗihaykhiếmkhuyếtphầnmềmnhằmđảmbảohiệu quả hoạt động tối ưu của phần mềm trong nhiều ngànhkhácnhau.Lýdocầnkiểmthửphầnmềm Mongmuốnthuđượcphầnmềmnhưlàmột phầntửtrongmộthệthốnghoạtđộnglớn. Hạnchếchiphíphảitrảchocácthấtbạidolỗi gâyrasaunày Cókếhoạchtốtchosuốtquátrìnhpháttriển Tầmquantrọng.Kiểmthửchiếm: 40%tổngcôngsứcpháttriển >=30%tổngthờigianpháttriển Vớiphầnmềmảnhhưởngtớisinhmạngchi phícóthểgấptừ3dến4lầntổngchiphíkhác cộnglạiMụctiêukiểmthử 3mụctiêu Kiểmthửlàmộtquátrìnhvậnhànhchươngtrìnhđểtìmralỗi. Thiếtkếcáccakiểmthử.Mộtcakiểmthửtốtlàcakiểmthửcó xácsuấtcaotrongviệctìmramộtlỗichưađượcpháthiện Nghiêncứuthiếtkếcáccakiểmthửthắnglợi.Mộtcakiểmthử thắnglợilàmộtcakiểmthửlàmlộrađượcítnhấtmộtlỗicòn chưađượcpháthiện Mộtcakiểmthửthắnglợilàmlộrakhiếmkhuyết,đồngthời manglạicáclợiíchphụ: chứngtỏrằngcácchứcnăngphầmmềmlàmviệctươngứngvới đặctả, chứngtỏcácyêucầuthựcthilàphùhợp cóthêmcácchỉsốđộtincậyphầnmềmvàcácchỉsốvềchất lượngphầnmềmnóichung Kiểmthửkhôngthểchứngminhđượcviệckhôngcókhiếmkhuyết, nóchỉcóthểchứngminhrằngkhiếmkhuyếtphầnmềmhiệnhữuQuanniệmsai Ngườipháttriểnkhôngthamgiakiểmthử Phầnmềmđượccôngbốmộtcáchrộng rãiđểngườilạkiểmthử Kiểmthửcóthểchứngminhđượcphần mềmkhôngcókhiếmkhuyết Phépkiểmthửthànhcônglàkiểmthử khôngtìmralỗinào ChỉcầnkiểmthửmộtlầnBasicConceptsinTestingTheory Lýthuyếtkiểmthửdựatrêncácnộidung: Pháthiệnkhuyếttậtquaquátrìnhchạychươngtrình Thiếtkếtestcasetừcácnguồnkhácnhau:requirement specification,sourcecode,andinputandoutputdomains ofprograms Lựachọnmộttậpconcáctestcasetừtoànbộinput domain Tìnhhiệuquảtrongchiếnlượclựachọndữliệukiểm thử Testoraclesđượcsửdụngtrongkhitesting Cóđộưutiênđốivớicácdữliệutestcases PhântíchtínhđầyđủcủacáctestcasesFailure,Error,FaultandDefect Failure Afailureissaidtooccurwhenevertheexternalbehaviorofasystem doesnotconformtothatprescribedinthesystemspecification Error Anerrorisastateofthesystem. Anerrorstatecouldleadtoafailureintheabsenceofanycorrective actionbythesystem Fault Afaultistheadjudgedcauseofanerror Defect Itissynonymousoffault Ita.k.a.bugNguyêntắccủaviệchoànthànhkiểmthử Kiểmthửhoànthànhhaykiểmthửđầyđủnghĩalà “Khôngcólỗinàochưađượcpháthiệnvàocuốigiai đoạnkiểmthử” Kiểmthửhoànthànhlàkhókhảthiđốivớiphầnlớn cáchệthống Vùngdữliệuinputscủachươngtrìnhquálớn Validinputs Invalidinputs Thiếtkếcácdữliệukiểmthửhoànthànhlàvấnđềphức tạp KhókhảthivấnđềtạomôitrườngđểchạythửhệthốngAdequacyofTesting Reality: New test cases, in addition to the planned test cases, are designedwhileperformingtesting.LetthetestsetbeT. IfatestsetTdoesnotrevealanymorefaults,wefaceadilemma: Pisfaultfree.OR Tisnotgoodenoughtoreveal(more)faults.Needforevaluatingtheadequacy(i.e.goodness)ofT. Someadhocstoppingcriteria Allocatedtimefortestingisover. Itistimetoreleasetheproduct. Testcasesnomorerevealfaults.Giớihạncủakiểmthử NhậnxétnổitiếngcủaDijkstra Testingcanrevealthepresenceoffaults,butnottheirabsence:Ki ểmthử cóthểpháthiệnlỗi,nhưngkhôngthểđảmbảorằngchươngtrìnhkhôngcó lỗi Dữliệukiểmthửthườngchỉlàmộtphầnrấtnhỏtrongtậpdữliệu input Testingvớitậpdữli ...