什么是软件测试_第1页
什么是软件测试_第2页
什么是软件测试_第3页
什么是软件测试_第4页
什么是软件测试_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件测试相关知识软件测试相关知识 大纲大纲1、什么是软件测试2、软件测试工作内容和流程3、测试方法案例案例千年虫问题千年虫问题l20世纪70 年代,人们所使用的计算机存储空间很小,程序员为了节省存储空间,将存储日期只存储2位,如1974存储为74。工资系统经常依赖于日期的处理,因此他们节省了大量的空间,他们知道在2000年到来时会出现问题,比如银行在计算利息时,用当前的日期(如“2000年1月1日”)减去客户的存款日期(如“1974年1月1日”),如果年利息为3%,那么,每一百元银行应付给客户78的利息。如果与年份存储问题没有得到纠正,其存款年数就变为-74年,客户反而应该付给银行利息了,这显

2、然是不合理的。但他们认为在20多年内程序肯定会更新或升级,而且眼前的任务比计划遥不可及的未来更加重要。为此,全世界付出了数千万美元的代价来更换或升级类似程序以解决千年虫的问题,特别是金融、保险、军事、科学、商务等领域,花费了大量的人力,物力对已有的各种各样的程序进行检查,修改和更新。Intel 奔腾处理器芯片缺陷奔腾处理器芯片缺陷l在pc机的“计算器”中输入以下模式:(4195835/3145727)X 3145727 4195835 l如果答案不为0,就说明计算机使用的是带有浮点除法软件缺陷的老式Intel奔腾处理器。l1994年,美国佛吉利亚州Lynchburg学院的以为博士在用奔腾PC机

3、解决一个除法问题时,发现了这个问题。他将发现的问题放在internet上,引发了一场风暴,成千上万的人发现了同样的问题,以及其他的出错误结果的情形。万幸的是,这种情况很少出现,仅在精度要求很高的数学,科学和工程计算中才会出现。l这个事件引起人们关注的原因并不是这个软件缺陷,而是Intel公司解决问题态度。lIntel公司的测试工程师在芯片发布之前已经发现了这个问题,但管理层认为还没有严重到一定要修正,甚至公开的程度。l当这个软件缺陷被发现时,Intel公司通过新闻发布和公开声明试图弱化问题的严重性。l当压力增大时,Intel承诺可以更换有问题的芯片,单要求用户必须证明自己受到缺陷的影响。l结果

4、舆论哗然,internetshang 充斥着愤怒的客户要求Intel公司解决问题呼声,新闻报道将Intel公司描绘成不诚信者。最后,Intel公司为自己处理软件缺陷的行为道歉并拿出4亿多美元来支付更换芯片的费用。由此可见,一个小小的软件缺陷造成的损失可能有多大。软件测试背景软件测试背景l早期:软件开发过程中,将测试等同于“调试”。目的是纠正软件中已经知道的故障,通常由开发人员自己完成这部分的工作。常常是等到形成代码,产品已经基本完成时,才进行测试。l直到1957年,软件测试区别于调试,成为一种发现软件缺陷的活动。l1972年在北卡罗来纳大学举行了首届软件测试正式会议。l1975年在IEEE上发

5、表了“测试数据选择的原理”的文章,软件测试才被确定为一种研究方向 。l1979年Glen ford Myers的软件测试艺术中,定义“测试是为发现错误而执行的一个程序或者系统的过程”测试过程测试过程发展的里程碑发展的里程碑l软件测试背景,国外软件测试人员与开发人员的比例l微软的开发工程师与测试工程师的比例1 2,国内一般公司是6 1;软件测试概念软件测试概念l软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。 软件测试阶段软件测试阶段l需求测试l单元测试l集成测试l确认测试l系统测试l回归测试l验收测试

6、l需求测试:需求规格说明说,概要设计文档,详细设计文档,是否描述不准确,需求定义模糊等问题;l单元测试:又叫“模块测试”检测程序模块中有无故障存在l集成测试:发生在模块与模块、接口l确认测试:按需求说明书的功能要求l系统测试:在软、硬件、网络环境下l回归测试:重复执行集成和系统测试的测试用例 l验收测试:按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。“树上有十只鸟,开枪打死一只,树上有十只鸟,开枪打死一只,还剩几只?还剩几只?”需求测试单元测试回归测试验收测试集成测试系统测试软件测试流程:软件测试流程:lV模型和W模型软件测试模型软件测试

7、模型lV模型:强调软件开发的协作和速度,反映测试活动与分析设计关系,清楚描述了测试阶段和研发过程间各阶段对应关系l局限性:忽视测试活动对需求分析,系统设计等活动的验证和确认功能lW模型:双V模型组成,分别代表测试和开发过程强调测试伴随整个软件开发周期,测试开发同步进行,有利于尽早发现问题,测试不仅是程序,包括需求和设计l优点:有利于及时了解项目难度和测试风险,及早制定应对措施,显著减少总体测试实践,加快项目进度V模型软件测试模型软件测试W模型软件测试模型软件测试软件测试模型软件测试模型lV模型:强调软件开发的协作和速度,反映测试活动与分析设计关系,清楚描述了测试阶段和研发过程间各阶段对应关系l

8、局限性:忽视测试活动对需求分析,系统设计等活动的验证和确认功能lW模型:双V模型组成,分别代表测试和开发过程强调测试伴随整个软件开发周期,测试开发同步进行,有利于尽早发现问题,测试不仅是程序,包括需求和设计l优点:有利于及时了解项目难度和测试风险,及早制定应对措施,显著减少总体测试实践,加快项目进度软件测试范围软件测试范围l功能测试l易用性测试l兼容性测试l负载压力测试l安装卸载测试l安全性测试l接口测试l数据库测试软件测试方法软件测试方法l静态测试l动态测试l黑盒测试l白盒测试l静态测试:主要是查看的方法,包括代码检查、静态结构分析、代码质量度量等 ;如:单元测试。l动态测试:主要是当软件系

9、统在模拟的或真实的环境中执行之前、之中和之后,对软件系统行为的分析:如:人工进行的系统测试,自动化测试黑盒、白盒测试黑盒、白盒测试l黑盒测试:检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,并保持数据库或文件的完整性;l在测试流程中的应用:确认测试、系统测试、验收测试 ;l白盒测试:基于覆盖全部代码、分支、路径、条件,使用程序设计的控制结构导出测试用例 l测试流程中应用:单元测试,集成测试白盒测试帮助测试人员增大代码覆盖率,提高代码质量黑盒测试发现错误类型黑盒测试发现错误类型l功能不对或遗漏l界面错误l数据结构或外部数据库访问错误l性能问题l初始化和终

10、止错误黑盒测试方法黑盒测试方法l等价类划分法:(做计算器程序)时,在两数相加中,1+1,1+2,1+9,1+999l边界值分析法:如果软件接受用户输入1-1000的数字,该如何输入? l错误推测法:列举出程序中所有可能的错误和容易发生错误的特殊情况。l例子:设计一些非法、错误、不正确和垃圾数据进行输入测试是很有意义的。因果图法:投币机的例子: 有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入,若投入1元5角钱硬币,按下“可乐”或“雪碧”,相应的饮料酒送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。l原因:(1)投入1元5角硬币;(2)投入2元硬币 (3)按“可乐”按钮;

11、(4)按“雪碧”按钮l中间状态:(1)已投币; (2)已按钮l结果:(1)退还5角硬币; (2)送出“可乐”饮料 (3)送出“雪碧”饮料。场景法进入审计系统,某用户设定策略,有触发策略的记录,产生报警功能的用例。l基本流:本用例的开始,GNPSJ软件处于准备就绪状态。 验证用户:输入用户名、密码,验证码 添加策略窗口 在添加策略的必填项,都输入正确且完毕 执行策略生效 触发策略,查询到报警 本用例结束时,GNPSJ软件又回到准备就绪状态。l备选流1:不存在该用户l备选流2:用户验证失败l备选流3:添加策略的必填项没有完全输入,出现输入提示l备选流4:策略没有生效l备选流5:策略成功下发,未触发

12、策略,但无报警记录。问题:问题:l有了黑盒测试为什么还要白盒测试?l系统测试和验收测试内容几乎是相同的,为什么还要验收测试?白盒测试发现错误类型白盒测试发现错误类型l检查代码和设计的一致性l代码对标准的遵循和可读性l代码逻辑表达的正确性l代码结构合理性l程序编写与编写标准符合性l程序中不安全、不明确和模糊部分l编程风格白盒测试方法白盒测试方法l代码检查法l逻辑覆盖法l基本路径覆盖法代码检查法代码检查法l代码检查法的方式代码检查法的方式l桌面检查:程序员对源文件代码进行分析、检查并补充相关文档,发现程序中错误的过程l走查:程序员和测试员组成的审查小组通过逻辑运行程序发现问题的过程l代码审查:程序员和测试员组成的审查小组通过阅读、讨论、分析技术对程序进行静态分析的过程逻辑覆盖法逻辑覆盖法l语句覆盖法:选择足够多的测试数据,使得程序中的每个执行语句至少执行一次l判定覆盖法:设计足够多的测试用例,使得程序中每个判定至少获得一次真和假

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论