软件测试与软件质量朱蔚恒.ppt
《软件测试与软件质量朱蔚恒.ppt》由会员分享,可在线阅读,更多相关《软件测试与软件质量朱蔚恒.ppt(78页珍藏版)》请在三一办公上搜索。
1、软件测试与软件质量,朱蔚恒 09.秋,第一章:测试概述,第一章:测试概述,1.1 软件测试1.2 测试用例1.3 文氏图理解测试1.4 功能性测试与结构性测试1.5 测试级别与过程,1.1.1一些著名的软件错误,迪斯尼狮子王 9495Intel 奔腾浮点除法缺陷 1994美国航天局火星极地登陆者 1999爱国者导弹防御系统 1991千年虫 1974危险的预见 19942004,近年的比较出名的软件错误,In February of 2009 users of a major search engine site were prevented from clicking through to s
2、ites listed in search results for part of a day A large health insurance company was reportedly banned by regulators from selling certain types of insurance policies in January of 2009 due to ongoing computer system problems that resulted in denial of coverage for needed medications and mistaken ove
3、rcharging or cancelation of benefits A news report in January 2009 indicated that a major IT and management consulting company was still battling years of problems in implementing its own internal accounting systems,including a 2005 implementation that reportedly was attempted without adequate testi
4、ng.In August of 2008 it was reported that more than 600 U.S.airline flights were significantly delayed due to a software glitch in the U.S.FAA air traffic control system.The problem was claimed to be a packet switch that failed due to a database mismatch,and occurred in the part of the system that h
5、andles required flight plans.,1.1.2软件缺陷是什么,软件未实现产品说明书要求的功能软件出现了产品说明书指明不应该出现的错误软件出现了产品说明书未提到的功能软件未实现产品说明书虽未明确提及但应该实现的目标软件难以理解、不易使用、运行缓慢或者从测试人员的角度看最终用户会认为不好,为什么会出现软件缺陷,沟通软件的复杂性编程错误需求变更时间压力Egos(自私的,自我的)没有文档软件工具自身的错误,软件缺陷的产生原因,软件缺陷的积累和放大效应,软件缺陷的积累和放大效应,软件缺陷的修复费用,Financial Implications of Improved Testin
6、g,NIST estimates that billions of dollars could be saved each year if improvements were made to the testing process.*NIST Report:The Economic Impact of Inadequate Infrastructure for Software Testing,2002.,Estimated Cost of Inadequate Testing,*NIST Report:The Economic Impact of Inadequate Infrastruct
7、ure for Software Testing,2002.,软件测试的意义,软件错误可以避免吗?在软件开发的一系列阶段和步骤中,出现错误的时机很多:软件需求的描述可能有错和不完善;软件的设计可能有错;软件的编码可能有错;为了发现软件缺陷,软件测试必不可少。,软件测试的意义(续),其开销在软件开发过程总成本中占很大比例。据Boehm的统计,这个数值可达30%50%。是保障软件质量和可靠性的重要手段。是软件质量度量的重要依据。,1.1.3基本定义,错误(error),缺陷(fault),bug,defect失效(failure)事故(incident)测试(test)测试用例(test case
8、),FailureA failure is said to occur whenever the external behavior does not conform to system spec.ErrorAn error is a state of the system which,in the absence of any corrective action,could lead to a failure.FaultAn adjudged cause of an error.,Fault,Error,Failure,It is there in the program,Program s
9、tate,Observed,fault,bug,error,defect,error/fault/bug:something wrong in softwarefailure:manifestation of an error(observable in software behaviour)something wrong in software behaviour(deviates from requirements),错误与缺陷分类,缺陷分类的方法:以出现相应错误的开发阶段来划分;以相应失效产生的后果来划分;以解决难度来划分;以不解决会产生的风险来划分;,根据严重程度分类的缺陷,1.轻微
10、词语拼写错误2.中等 误导或重复信息3.使人不悦 被截断的名称4.影响使用 有些交易没有处理5.严重 丢失交易6.非常严重 不正确的交易处理7.极为严重 经常出现“非常严重”的错误8.无法忍受 数据库破坏9.灾难性 系统停机10.容易传染 扩展到其它系统的系统停机,软件测试定义(I),“The process of devising a set of inputs to a given piece of software that will cause the software to exercise some portion of its code.The developer of the
11、software can then check that the results produced by the software are in accord with his or her expectations.”,软件测试定义(II),“Software testing is a process used to identify the correctness,completeness and quality of developed computer software.Actually,testing can never establish the correctness of co
12、mputer software,as this can only be done by formal verification(and only when there is no mistake in the formal verification process).It can only find defects,not prove that there are none.”,软件测试定义(III),*是为了发现错误而执行程序的过程。GJMyers 广义上讲,在软件开发过程中的所有评审、确认、检验等活动都是软件测试。*是使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规
13、定的需求或是弄清预期结果与实际结果之间的差别。(IEEE),Beizer:1st law:(Pesticide paradox)Every method you use to prevent or find bugs leaves a residue of subtler bugs,for which other methods are needed2nd law:Software complexity grows to the limits of our ability to manage it,1.1.4 软件生命周期,需求分析设计(System and Object)实施测试Testin
14、g phase集成Integration phase维护Maintenance phaseRetirement,Software Lifecycle Activities,SystemDesign,ObjectDesign,Implemen-tation,Testing,RequirementsElicitation,Analysis,.and their models,A Testing Cycle,Although testing varies between organizations,there is a cycle to testing:Requirements Analysis:T
15、esting should begin in the requirements phase of the software life cycle(SDLC).Design Analysis:During the design phase,testers work with developers in determining what aspects of a design are testable and under what parameter those testers work.Test Planning:Test Strategy,Test Plan(s),Test Bed creat
16、ion.Test Development:Test Procedures,Test Scenarios,Test Cases,Test Scripts to use in testing software.Test Execution:Testers execute the software based on the plans and tests and report any errors found to the development team.Test Reporting:Once testing is completed,testers generate metrics and ma
17、ke final reports on their test effort and whether or not the software tested is ready for release.Retesting the Defects,Concept map of the testing process,一个测试生命周期,设计,编码,缺陷隔离,缺陷分类,测试,需求规格说明,缺陷解决,错误,错误,错误,错误,修复,缺陷,缺陷,缺陷,事故,一些测试的目标,尽可能多的找出软件的缺陷尽早找出重要的错误对潜在的质量风险评估.对潜在的项目风险建议.对潜在的质量建议.验证是否符合某一指定的标准.评估各阶
18、段产品的一致性(requirements,design,or product claims).,软件测试的对象,需求分析概要设计详细设计编码上述各个阶段的文档的测试,而不仅仅是源程序的测试。,测试调试,发现错误,测 试,调 试,确定错误性质、位置并修改,测试与调试是一个交叉循环的过程,测试调试(续),测试是一种检验;调试是推理过程。测试的结果常常表明一个程序员的失败;调试则是程序员证明其正确。测试经常由非程序设计者完成;调试必须有程序员完成。大多数测试在不了解设计细节的条件下完成;而调试必须了解程序的细节。测试可以并应该计划、设计和制定工作日程表;调试的规程和持续的时间不受约束。在能做什么和不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 质量 朱蔚恒

链接地址:https://www.31ppt.com/p-6063652.html