當(dāng)前位置首頁 > 計算機 > 軟件測試/評測
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

軟件測試相關(guān)度量

文檔格式:PPT| 66 頁|大小 1.12MB|積分 14.9|2024-12-09 發(fā)布|文檔ID:253240429
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 66
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • 單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,第五級,,*,*,,Software Metrics,Lecture 10,,Software Test Metrics,,清 華 大 學(xué) 軟 件 學(xué) 院,,,2004年5月11日,1,COCOMO,where,a,,,b,,,c,and,d,depend on the,development mode,.,Organic mode,,Semi-detached mode,,Embedded mode,Basic model,,,Intermediate model,,Advanced model,2,,COCOMO: Basic,The Basic COCOMO,Mode,a,b,Organic,2.4,1.05,Semi-detached,3.0,1.12,Embedded,3.6,1.20,development time cannot be predicted at this stage.,3,,COCOMO: Intermediate,The Intermediate COCOMO:,Mode,c,d,Organic,2.5,0.38,Semi-detached,2.5,0.35,Embedded,2.5,0.32,Mode,a,b,Organic,3.2,1.05,Semi-detached,3.0,1.12,Embedded,2.8,1.20,4,,COCOMO II,Application Composition,,E = OP / PROD,,,Early Design model,,,E = 2.45 × KLOC × EAF,,Post-Architecture model,5,,Putnam’s SLIM,6,,Test Concepts,,Estimating Number of Test Case &,Allocating Test Times,,Test Coverage Metrics,,Remaining Defects Metrics,Contents,7,,Section 1,,Test Concepts,8,,防不勝防的軟件錯誤 ——,,,例1:1963年, 美國, 飛往火星的火箭爆炸, 損失$ 10,million.,,原因:,FORTRAN,循環(huán),DO 5 I = 1, 3,,誤寫為,DO 5 I =,,1,.,3,,軟件測試是保證軟件質(zhì)量的關(guān)鍵步驟,是對軟件規(guī)格說明、設(shè)計和編碼的最后復(fù)審,其工件量約占總工作量,40%,以上(對于人命關(guān)天的情況,測試相當(dāng)于其它部分總成本的,3 — 5倍,),Roles of Software Testing,9,,What is software testing,,“ Testing is the process of,,executing a program with the,,intent of finding errors.”,,,Glen Myers,,10,,Software Testing Objectives,Needing,minimum effort and time,,Showing that software functions,work according to specification,It cannot show absence of errors or defects. It can only show that errors are present,Uncovering,different cases,of errors,11,,1:5-10,Mainframes,,i.e.,1 tester for every 5 to 10 developers,,2:3,,Microsoft, 1992,,2:1,,Lotus (for 1-2-3 Windows),,1:2,,Average of 4 major companies,1992 Microsoft, Borland, WordPerfect, Novell,Tester-to-developer ratios,12,,What is a test case?,A set of test,inputs,, execution conditions, and,expected results,developed for a particular objective,13,,A test is made up of (many) test cases,,A test procedure is the detailed instructions for setting up, starting, monitoring and restarting a given test case. a,.,k.a,test plan,,a test case may be used in more than one test procedure,,a test case may include many subtests,What is a test?,14,,Test,test case,test case,test case,subtest,subtest,subtest,subtest,What is a test?,(cont.),15,,Testing Methodology,White-box,SELECTED,INPUTS,RESULTANT,OUTPUTS,INTERNAL,BEHAVIOR,DESIRED,OUTPUT,SOFTWARE,DESIGN,Black-box,SELECTED,INPUTS,RESULTANT,OUTPUTS,DESIRED,OUTPUT,16,,Objective:,Cover,the software structure,Structural (White-Box) Test Criteria,Criteria based on,,control flow,,data flow,,Metric: percentage of coverage achieved,,Adequacy based on metric requirements for criteria,17,,Graph representation of control flow and,,data flow relationships,Flow Graphs,Control Flow,,The partial order of statement execution, as defined by the semantics of the language,,Data Flow,,The flow of values from definitions of a variable to its uses,18,,Statement Coverage,,Branch Coverage,,Condition Coverage,,Basis Path Coverage,,All-Edges Coverage,,All-Paths Coverage,White-Box Test,19,,1,,2,,3,,4,,5,,6,,7,,8,,9,,10,,11,,12,,13,,14,,15,function,P,return,INTEGER,is,,begin,,X, Y: INTEGER;,,READ(X); READ(Y);,,while,(X > 10),loop,,X := X – 10;,,exit when,X = 10;,,end loop,;,,if,(Y < 20,and then,X,mod,2 = 0),then,,Y := Y + 20;,,else,,Y := Y – 20;,,end if,;,,return,2*X + Y;,,end,P;,A Sample Program to Test,20,,2,3,4,5,6,9′,10,12,14,T,T,F,F,9,,T,F,7,T,F,9,a,9,b,P’s Control Flow Graph (CFG),21,,2,3,4,5,6,10,12,14,T,F,9,T,F,7,T,F,At least 2 test cases needed,(X = 20, Y = 10),,,,,(X = 20, Y = 30),,,,All-Statements Coverage of P,22,,minimum level coverage using structural testing,,may be impossible to achieve 100% statement coverage,,code only executed in exceptional or dangerous circumstances,,code that is unreachable,Statement Testing: weaknesses,23,,2,3,4,5,6,10,12,14,T,F,9,T,F,7,T,F,At least 2 test cases needed,(X = 20, Y = 10),,,,,(X = 15, Y = 30),,,All-Branches Coverage of P,24,,Branch Testing,:,weaknesses,Branch testing is one level up from statement testing in degree of coverage,,same problem in achieving 100% coverage,25,,2,3,4,5,6,9,b,10,12,14,T,T,F,F,9,a,T,F,7,T,F,At least 3 test cases needed,,(X = 20, Y = 20),,,5T,7T,9a,F,,9bT,,(X = 15, Y = 10),,,5T,7,F,,9aT,9b,F,,(X = 9, Y = 10),,,5,F,,7,F,,9aT,9b,F,Condition Coverage of P,X > 10,,X = 10,,Y < 20,,X mod 2=0,26,,Condition Coverage,Generate test data such that all conditions in a decision take on both outcomes (if possible) at least once,,May not achieve branch coverage:,,consider,while (x 20 ),,x = 0,causes first true, second false,,x = 34,causes first false, second true,27,,2,3,4,5,6,10,12,14,T,F,9,T,F,7,T,F,Basic-paths Coverage of P,cyclomatic complexity:,V(G) = e - n + 2,28,,2,3,4,5,6,10,12,14,T,F,9,T,F,7,T,F,4 test cases needed,(X = 10, Y = 10),,,(X = 10, Y = 20),,(X = 20, Y = 10),,(X = 15, Y = 10),,Basic-paths Coverage of P,,,,,,,,29,,Basis path testing,:,Strengths/weaknesses,Basis set is easy to compute,,the technique is readily applicable to both structured and unstructured programs,,Drawback,: the basis set is not unique; there will be obvious paths omitted,,Drawback,: the number of paths in the basis set can greatly exceed the number necessary to achieve branch coverage,30,,2,3,4,5,6,9,b,10,12,14,T,T,F,F,9,a,T,F,7,T,F,At least 3 test cases needed,(X = 20, Y = 10),,,,(X = 5, Y = 30),,,,(X = 21, Y = 10),,,All-Edges Coverage of P,31,,2,3,4,5,6,9b,10,12,14,T,T,F,F,9a,T,F,7,T,F,Infinitely many test cases needed,(X = 5, Y = 10),,(X = 15, Y = 10),,(X = 25, Y = 10),,…,All-Paths Coverage of P,32,,All-Paths testing,Generate test data to exercise all distinct paths in a program!,,a path that makes,i,iterations through a loop is distinct from a path that makes,i+1,iterations through the loop, even if the same nodes are visited in both iterations.,,Thus, there are an,infinite number,of paths in the string processing program!,33,,All-Paths testing,(cont.),包含的不同執(zhí)行路徑數(shù)達,5,20,條,對每一條路徑進行測試需要1毫秒,假定一年工作,365,×,24,小時,要想把所有路徑測試完,需3170年,34,,2,3,4,5,6,9,b,10,12,14,T,F,9,a,T,F,Y,X,X,Y,Y,X,X,Y,Y,X,X,X,T,F,7,T,F,X,X,P’s Control and Data Flow Graph,35,,How many test cases are needed?,2,3,4,5,6,9,b,10,12,14,T,F,9,a,T,F,Y,X,X,Y,Y,X,X,Y,Y,X,X,X,T,F,7,T,F,X,X,All-Uses Coverage of P,36,,all-statements,all-edges,boundary-interior,,loop testing,min-max,,loop testing,all-paths,all-,defs,all-uses,all-DU-paths,all-p-uses,all-c-uses,C1,C2,subsumes,Structural,Subsumption,Hierarchy,all-branches,37,,Black Box Test,Equivalence Class,,Boundary Analysis,,…,38,,Testing Levels,Testing occurs throughout lifecycle,,Unit,,Integration,,System,,Acceptance,,Regression,39,,Overall Approach,Unit testing (module),,,Integration testing,,,System testing,,,Acceptance testing,White / Black box,,,Black box,,,Black box - requirements,,Black box - performance,40,,Section 2,,,Estimating Number of Test Case & Allocating Test Times,,41,,Estimate No. of Test Cases,,Time,,(available time,?,available staff)/,,(average time to prepare a test case),,How many test cases do we need?,,Cost,,,(available budget) /,,(average preparation cost per test case),,Select the minimum number of the two,42,,Example,Development budget:,$4 million,,,%10,of which spent on preparing test cases,,Each test case costs,$250,or,4 hours,,The duration of project is set to be,25 weeks,(of 40 hours each) and,5 staffs,for test cases,,How many test cases should be prepared?,,,From cost,N1 = (4,000,000,?,0.1) / 250 = 1,600,,,From time,N2 = (25,?,40,?,5) / 4 = 1,250,,,,,,,,N = min (N1 , N2),, therefore,,N = 1,250,43,,Allocating Test Time,How to allocate test time among,,system components,(e.g., acquired components, developed components),,test type,(e.g., unit test, integrated test, system test) and,44,,Test Time: Systems /1,Allocate less than 10% of the remaining time to certification test of acquired components,,Allocate time to the developed components based on their significance,OS, System software,Developed,,components,Acquired,,components,Interface to other systems,45,,Test Time: Systems /2,Example:,,Total test time: 340 h,,,,,,,,Test case proportion:,,Associated system components: 64.7%,,Operating system component: 23.5%,Interface to other systems,,(40 h),Acquired,,components,,(20 h),Developed,,components,,(200 h),OS, System software,,(80 h),Associated,,System,,Components,,220 h,46,,Test Case Invocation,In what order the system should be tested?,,Recommended sequence of system test:,,Acquired components (certification test only),,Developed product,,Other systems, OS, etc. (load test only),47,,Section 3,,Test Coverage Metrics,48,,Test Coverage Metrics /1,Coverage of what?,,Statement coverage,,Branch coverage,,Component/Module coverage,,Specification coverage,,GUI coverage,,…,49,,Test Coverage /1,Statement coverage (,CV,s,),,Portion of the statements tested by at least one test case.,50,,Test Coverage /2,Branch coverage (,CV,b,),,Portion of the branches in the program tested by at least one test case.,,51,,Test Coverage /3,Component coverage (,CV,cm,),,Portion of the components in the software covered and tested by at least one test case,52,,Test Coverage /4,GUI coverage (,CV,GUI,),,Portion of the GUI elements (e.g., menus, buttons, multiple selections, text fields, etc.) in the software covered and tested by at least one test case.,53,,Test Pass, Failure & Pending Rate/1,Test Pass Rate (,R,tp,),,Portion of the test cases that were executed successfully (i.e., produced expected output).,54,,Test Pass, Failure & Pending Rate/2,Test Failure Rate (,R,tf,),,Portion of the test cases that were not executed successfully (i.e., produced different output than expected).,55,,Test Pass, Failure & Pending Rate/3,Test Pending Rate (,R,tpend,),,Portion of the test cases that were pending (i.e.,,couldn,’t be executed or correctness of the output,couldn,’t be verified).,56,,Section 4,,Remaining Defects Metrics,57,,Remaining Defects Metrics /1,The idea is to inject (seed) some faults in the program and calculate the remaining bugs based on detecting the seeded faults [Mills 1972],Assuming that the probability of detecting the seeded and non-seeded faults are the same,58,,Seeded,,Detected,Seeded,,Undetected,Remaining,,Detected,Remaining,,Undetected,Total,,,Seeded,Total Remaining,Remaining Defects Metrics /2,59,,Remaining Defects Metrics /3,N,s,is already known;,,n,d,,and,n,s,are measured for a certain period of time,60,,Example,Assume that,61,,Comparative Remaining Defects/1,Two testing teams will be assigned to test the same product,62,,Example,63,,Summary,Estimating Number of Test Case?,Test Coverage Metrics,,Remaining Defects Metrics,64,,Further reading,,1. Software testing,Homework,65,,Thanks for your time and attention!,66,,。

    點擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關(guān)注青少年成長健康無煙為成長護航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強不息.pptx
    XX學(xué)校班主任培訓(xùn)用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠離亞健康.pptx
    兒童成長手冊時光里的童真印記.pptx
    幼兒園夏季傳染病預(yù)防指南預(yù)見夏天健康童行夏季傳染病預(yù)防科普.pptx
    高中生心理健康教育主題班會快樂學(xué)習(xí)高效學(xué)習(xí)正視壓力學(xué)會減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓(xùn)遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護職防同行.pptx
    XX幼兒園防災(zāi)減災(zāi)安全教育臨災(zāi)不亂安全童行學(xué)會保護自己.pptx
    在2025年縣教育工作大會暨高考備考工作推進會上的講話發(fā)言材料.docx
    在2025年縣全面從嚴治黨和黨風(fēng)廉政會議上的講話發(fā)言材料.docx
    在2025年全市慶祝“五一”暨勞動模范表彰大會上的講話發(fā)言材料多篇.docx
    2025年稅務(wù)局青年代表在五四青年座談會上的發(fā)言材料3篇.docx
    在2025年市委全體會議上的主持講話發(fā)言材料.docx
    2025年黨風(fēng)廉政建設(shè)工作要點材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓(xùn)班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會議上的講話發(fā)言材料.docx
    賣家[上傳人]:wuyoumei
    資質(zhì):實名認證