欢迎来到天天文库
浏览记录
ID:56966268
大小:1018.50 KB
页数:58页
时间:2020-07-22
《软件测试基础和入门课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件测试基础软件测试的作用软件测试的目的软件缺陷的定义引起软件缺陷的因素软件测试面临的挑战软件测试模型软件测试与开发各阶段的关系软件测试过程软件测试公理软件测试的原则软件测试的对象软件测试的基本知识2软件设计与编码过程是引入缺陷的过程,而软件测试是排除软件缺陷的过程。测试不能保证软件的质量。力图通过测试提高软件的质量如同经常称体重来达到减肥的目的。如果你想减肥,不要买一个新称,而是节食。如果你想提高你软件质量的话,不是更多的测试,而是更好的开发。--------SteveMcConnellinCodeComplete软件测试的作用3基于不同的立场,存
2、在着两种完全不同的测试目的:从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。从软件开发者的角度出发,则希望测试成为验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。软件测试的目的-14“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求,或是确认预期结果与实际结果之间的差别。”测试的目的是检验软件是否满足了要求(IEEE软件工程标准术语)。“程序测试是证明程序中不存在错误的过程”测试是程序的执行过程,目的在于发现错误;一个好的测试用例在于能发现至今未发现的错误;一个成
3、功的测试是发现了至今未发现的错误的测试。软件测试的目的-25软件缺陷的正式定义几个关于缺陷的术语:错误:Error、Mistake缺陷:Defect、Bug故障:Fault失效:Failure基本上所有软件问题都称为缺陷6软件缺陷的正式定义软件未达到产品说明书表明的功能软件出现了产品说明书指明不会出现的错误软件功能超出产品说明书指明范围软件未达到产品说明书虽未指出但应达到的目标软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好7引起软件缺陷的因素交流不够、交流上有误解或者根本不进行交流。在应用应该做什么或不应该做什么的细节(应
4、用的需求)不清晰的情况下进行开发。软件复杂性。图形用户界面(GUI),客户/服务器结构,分布式应用,数据通信,超大型关系型数据库以及庞大的系统规模,使得软件及系统的复杂性呈指数增长,没有现代软件开发经验的人很难理解它。程序设计错误。像所有的人一样,程序员也会出错。8引起软件缺陷的因素需求变化。需求变化的影响是多方面的,客户可能不了解需求变化带来的影响,也可能知道但又不得不那么做需求变化的后果可能是造成系统的重新设计,设计人员的日程的重新安排,已经完成的工作可能要重做或者完全抛弃,对其他项目产生影响,硬件需求可能要因此改变,等等。如果有许多小的改变或者
5、一次大的变化,项目各部分之间已知或未知的依赖性可能会相互影响而导致更多问题的出现,需求改变带来的复杂性可能导致错误,还可能影响工程参与者的积极性。9引起软件缺陷的因素时间压力。软件项目的日程表很难做到准确,很多时候需要预计和猜测。当最终期限迫近和关键时刻到来之际,错误也就跟着来了。开发人员的过分自信。“没问题”“这事情很容易”“几个小时我就能拿出来”太多不切实际的“没问题”,结果只能是引入错误代码文档贫乏。贫乏或者差劲的文档使得代码维护和修改变的异常艰辛,其结果是带来许多错误。事实上,在许多机构并不鼓励其程序员为代码编写文档,也不鼓励程序员将代码写得
6、清晰和容易理解,相反他们认为少写文档可以更快的进行编码,无法理解的代码更易于工作的保密(“写得艰难必定读的痛苦”)。10当前软件测试面临的挑战软件测试认识的误区:软件开发完成后进行软件测试软件发布后如果发现质量问题,那是软件测试人员的错软件测试要求不高,随便找个人都行软件自动测试效率高,将取代软件手工测试软件测试是测试人员的事情,与程序员无关项目进度吃紧时少做些测试,时间富裕时多做测试软件测试是没有前途的工作,只有程序员才是软件高手使用了测试工具,就是进行了有效的测试存在太多的无法测试的东西测试代码可以随意写单元测试和系统测试没有什么区别测试具有免疫
7、性11设计-实现-测试,软件测试是开发后期的一个阶段;实际上,软件测试贯穿整个软件产品生命期。一方面,软件测试也要经历测试计划、测试用例的设计和实现,以及测试运行一系列的阶段,因此,早在软件需求阶段,甚至更早,软件测试的工作就要开始了。另一方面,软件测试越早进行越好,因为BUG越早发现,BUG造成的影响和修改的代价就越小。而且,软件测试并不仅仅针对程序,软件的需求、设计等等也要被测试。对测试工作的误解12测试是“泛型概念”(全程测试)。如果单纯的只将程序设计阶段后的阶段称之为软件测试的话,需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证
8、软件质量。需求缺陷、设计缺陷也是软件缺陷,记住“软件缺陷具有生育能力”。软件测试应该跨越整个软件开发流程。需
此文档下载收益归作者所有