- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;;;1945年,发现了第一个BUG,即计算机错误;
1957年前,测试等同于调试;之后,软件测试才开始与调试区别开来,作为一种发现软件缺陷的活动
1979年,Myers在《软件测试艺术》中提出:测试是为发现错误而执行的一个程序或者系统的过程。
1980年,软件测试被正式确认为软件工程的一部分。
1983年,《软件测试完全指南》中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”;1988年,发表在CommunicationsoftheACM上的TheGrowthofSoftwareTesting,介绍系统化的测试和评估流程。
20世纪90年代,测试工具逐步盛行起来,大家认识到测试工具不只是有用的,而是必不可少的。
2002年,《系统的软件测试》中对软件测试做了进一步定义:“测试是为了度量和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程。”;近20年来,随着计算机和软件技术的飞速发展,软件测试技术也取得了很大的突破;总结出一些很好的测试模型,比如V模型、W模型等;在单元测试、自动化测试、负载压力测试以及测试管理等方面涌现了大量优秀的软件测试工具。
近10年来,随着敏捷开发实践应用越来越广泛,持续测试作为敏捷测试的基础,得到了越来越多的应用,其通过与持续集成结合,强调及时反馈质量、测试持续进行,通过各角色之间的协同工作,持续发现缺陷并快速修复。;2018年《计算机科学与技术名词》给出的定义:对软件进行检测和评估,以确定其是否满足所需结果的过程和方法。是帮助识别开发完成(中间版本或最终的版本)的计算机软件整体或部分的正确度、完整度和质量的软件过程,是软件质量保证的重要子域。
简单而言:软件测试是为了发现程序中的错误而执行的过程;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。;1994年,狮子王案例:缺乏配置测试
Intel浮点除法软件缺陷,(419583/3145727)X3145727-4195835
1999年,美国航天局火星登陆,没有开展集成测试;
1991年,爱国者导弹防御系统;
阿丽亚娜5型运载火箭,昂贵的简单复制
产品发布会彩蛋:Windows98蓝??死机
2008年,北京奥运会官方订票网站,压力过大瘫痪
温州动车事故,2011年,红灯变成了绿灯
……;软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。
2018版的《计算机科学技术名词》给出的定义:软件中存在的,不能满足需求或者规约,需要修复或者替换的不足或者不完备的问题。;软件没有实现产品规格说明所要求的功能模块。
软件中出现了产品规格说明指明不应该出现的错误。
软件实现了产品规格说明没有提到的功能模块。
软件没有实现虽然产品规格说明没有明确提及但应该实现的目标。
软件难以理解,不容易使用,运行缓慢,或最终用户会认为不好。;计算器的产品规格说明书定义其应能准确无误地进行加、减、乘、除运算。如果按下键没有反应,是第几种缺陷?若计算结果出错,是第几种缺陷?
产品规格说明书规定不会死机或停止反应,如果随意按键盘导致计算器停止接受输入,是第几种缺陷?
除了加、减、乘、除之外还可以求平方根,这是缺陷不?是第几种缺陷?
没电导致计算不正确,而产品说明书里假定电池一直都是有电的,这是第几类缺陷?
软件测试人员发现按键太小,亮光下看不清屏,这是第几类缺陷?;在软件开发中必定会产生缺陷,缺陷也不可能被全部消除。在开发过程中,对缺陷的管理可以提高缺陷修复的效率,同时也可以防止缺陷的注入。
对缺陷的注入阶段进行分析,可以支持软件开发实践的改进
比如:通过缺陷分析发现,团队在产品策划阶段注入的缺陷比较多,这说明大家对产品的需求理解有问题,则需要改进产品策划工作的方法。
对缺陷产生的原因进行分析,也可以支持软件开发实践的改进
比如:分析发现由于数据库表结构设计的变动产生的缺陷数较多,这就需要我们对项目开发过程中数据库结构调整加强一致性管理。;软件模型或者说业务建模不正确,即对要做什么理解不正确,占比高达60%以上,且难于纠正。
代码编写错误,占比大概20%,比较容易纠正。
软件变更会引入新的缺陷,而不只是变更部分产生缺陷,即个别功能的修改会影响到其他部分。
软件庞大,功能十分复杂;或者与软件对接的第三方软件本身存在问题,也会导致缺陷的产生。
失控的项目管理、紧迫的项目工期、人力资源配备不足、沟通不充分等,这些也会导致大量缺陷的产生,并且导致软件质量的失控。;14;通过开发过程中各种检视来减少缺陷的产生,同时通过持续集成及持续测试,尽早发现代码中的缺陷并修复。
其主要目标是怎么避免把BUG带到系统中,提倡“内建质量”,全员对质
文档评论(0)