- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6讲软件测试(i)
第17讲 软件测试 理学院3S技术研究所 冯德鸿 教学目的 (1)掌握软件测试的目标、动态测试的黑盒测试法、白盒测试法。 (2)理解软件测试的原则。 (3)掌握软件测试的过程与步骤。 教学重点:软件动态测试的黑盒测试法与白盒测试法。 教学难点:动态测试的黑盒测试法与白盒测试法。 教学方法:讲授为主,辅以自学。 教学参考:《软件工程》王家华 东北大学出版社 软件测试的目标(要求掌握) G.J.Myers对测试目标做了如下归纳: (1)测试是一个程序的执行过程,其目标在于发现错误。 (2)一个好的测试用例能够发现至今尚未察觉的错误。 (3)一个成功的测试则是发现至今尚未察觉的错误的测试。 因此,测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例,利用这些用例执行程序,找出软件中潜在的各种错误和缺陷。 软件测试的原则(要求理解) G.J.Myers提出了以下主要测试原则: (1)程序员或程序设计机构不应测试自己设计的程序。 (2)测试用例设计中 ,不仅要有确定的输入数据,而且要有确定预期输出的详尽数据。 (3)测试用例的设计不仅要有合理的输入数据,还要有不合理的输入数据。 (4)除了检查程序是否作完了它应作的事情之外,还要检查它是否做了不应作的事情。 (5)保留全部测试用例,并作为软件的组成部分之一。 (6)程序中存在错误的概率与在该段程序中已经发现的错误数成比例。 软件测试的方法 总体上说来 ,软件测试的方法有两种:静态测试与动态测试。 1. 静态测试(掌握) 静态测试是指被测试程序不在机器上运行,而是采用人工检测或计算机辅助静态分析的手段对程序进行检测,方法如下: (1) 人工测试 (2) 计算机辅助静态分析 2. 动态测试(掌握) 动态测试指通过运行程序发现错误。一般意义上的测试大多是指动态测试。为使测试发现更多的错误,需要运用一些有效的方法。 测试任何产品,一般有两种方法: 一是测试产品的功能; 二是测试产品内部结构及处理过程。 对软件产品进行动态测试时, 也用这两种方法,分别称为黑盒测试法和白盒测试法。 动态测试的黑盒测试法与白盒测试法(重点) 1. 黑盒法 该方法依据需求说明书,检查程序是否满足功能要求。因此, 黑盒测试又称为功能测试或数据驱动测试。 通过黑盒测试主要发现以下错误: (1) 是否有不正确或遗漏了的功能。 (2) 在接口上,能否正确地接受输入数据, 能否产生正确的输出信息。 (3) 访问外部信息是否有错。 (4) 性能上是否满足要求等。 2. 白盒法 该方法把测试对象看作一个打开的盒子, 测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。 白盒法也不可能进行穷举测试,企图遍历所有的路径, 往往是做不到的。 软件测试的过程(掌握) 软件测试的过程如下图所示: 说明:每个圆圈代表一种复杂的变换。输入有两种类型: 1 软件配置,即要测试的软件。其中包括软件需求规格说明、设计规格说明和源程序代码。 2 测试配置,包括测试计划、测试过程、测试用例以及预期的结果。 软件测试的步骤(掌握) 软件工程范围内的测试,实际上分为四个步骤: Step1:单元测试—相当于分调,即各个模块考察。 Step2:组装测试—相当于联调,主要考察模块间的接口和各个模块之间的联系。 Step3:确认(功能)测试—即黑盒子测试,根据软件功能描述,考察软件功能是否符合要求。 Step4:系统(实例)测试—即把计算机与其他部件联系起来,考察软件是否满足整个系统总的功能和性能要求。 软件测试的步骤图示(掌握) 软件测试技术 测试用例设计 常见的测试用例方法如下: (一)逻辑覆盖:逻辑覆盖又称为白盒子测试,是以程序内部逻辑为基础的测试。它考虑的是程序内部逻辑覆盖的程度。当程序中有循环时,要覆盖程序中的每一条路经是不可能的,所以只希望覆盖的程度尽可能高些。 目前常用的一些逻辑覆盖测试,按照测试的程度不同,有语句覆盖、分支覆盖、条件覆盖、分支/条件覆盖、多重覆盖和循环覆盖。 如下图为某被测试程序的流程图 PROCEDURE (VAR A,B,X:REAL); BEGIN IF(A1)AND(B=0)
原创力文档


文档评论(0)