预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共91页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实用软件工程第9章软件测试要求了解 (1)软件测试的发展历史 (2)目前国内外软件测试现状 (3)软件测试分类 (4)软件测试工具 要求理解 (1)软件测试的作用 (2)软件质量定义和相关测试标准 (3)软件测试原则 要求掌握 (1)软件测试的定义 (2)软件测试的目的和目标 (3)软件测试模型 (4)软件测试文档9.1软件测试概论测试对象的“问题”分为哪几种?测试可以提高软件的质量吗?用户需求(需求规格)是测试的基准9.2软件测试理论基础9.2.1什么是软件测试什么是测试(续)2.什么是软件测试请从下面几个角度来思考:9.2.2为什么要进行软件测试2.加强测试是提高质量的有效办法9.2.2软件测试发展历史软件测试发展历史(续)9.2.3软件测试目的和目标软件问题的生命周期9.2.4软件测试原则1.尽早开展测试工作2.完全测试不可能,把握最优测试量3.严防寄生虫现象4.严防杀虫剂现象5.并非所有的软件缺陷都能修复6.难以说清的软件缺陷7.产品说明书不断变化8.软件测试人员不受欢迎9.2.5软件测试模型软件测试V模型X测试模型X测试模型软件测试模型(续)9.2.6软件测试的分类黑盒测试几种黑盒测试技术(1).等价分类法(续)(2).边界值分析法 边界值分析方法是对等价类划分方法的补充。 1).如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据. 2).如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少1,比最大个数多1的数作为测试数据. 3).如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例. 4).如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例. 5).分析规格说明,找出其它可能的边界条件.(3).因果图法 借助因果图,列出输入数据的各种组合与程序对应动作效果之间的阶段联系,构造判定表,由此设计测试用例。 因果图生成测试用例的步骤如下: 1).分析设计规格说明中的原因(输入条件或者输入条件等价类)、效果(输出可能性),对每个原因效果进行编号; 2).找出原因/效果之间的对应关系,画出因果图; 3).将因果图转换为判定表; 4).对判定表中每一列生成测试用例。因果图法(续) 举例:中国象棋中马的走法以中国象棋中马的走法为例子,具体说明:1、如果落点在棋盘外,则不移动棋子; 2、如果落点与起点不构成日字型,则不移动棋子; 3、如果落点处有自己方棋子,则不移动棋子; 4、如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子; 5、如果不属于1-4条,且落点处无棋子,则移动棋子; 6、如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子; 7、如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。(4).错误推测法白盒测试技术白盒测试技术(续)白盒测试技术(续)【例9-3】假设一个程序需要3个整数型的输入数据,计算机的字长为16位,则每个整数可能取值的个数有216。3个输入数据的排列组合数为216×216×216个, 216×216×216≈3×1014 这就是说,这个程序执行的次数达到了3×1014 ,才能做到有穷测试。如果程序每执行1次需要1毫秒,那么也需要运行10000年时间。若将无效的和错误的数据输入也计算在内,则程序的运行时间还要长。一万年太久,谁受得了这种测试! 那么,对于这种程序,到底该怎么测试呢?比较好的办法是以静态代码测试为主,即用“顺序、选择(if-then-else)、循环(do-while或do-until)”3种基本结构,一行一行地分析测试其源程序,因为静态代码测试能发现约60%的错误。与此同时,以白盒子测试为辅,选择几条典型的程序路径进行测试。白盒测试技术(续)灰盒测试通过测试 简单说就是验证软件至少能做什么,而不会考验其能力有多强。把握这个思想,设计通过测试的测试案例时,就是设计最通常的数据,能证明其正确实现了某个功能就可以,不用挖空心思给出破坏性数据。 失败测试 纯粹是为了验证软件在某一条件下,是否会出现异常、停止工作等现象而进行的测试。所以做失败测试时,设计的测试用例叫做失败测试用例,执行失败测试用例的过程,叫做失败测试或者叫做迫使出错测试。进行失败测试的指导思想,是找出软件薄弱环节,蓄意攻击(病毒程序就是比较好的失败测试用例!)。负载/压力测试 一方面,可以通过减少软件需要的资源(内存、磁盘空间、网络资源等),来测试出软件运行的最低配置或最低资源需求;另一方面,可以正常提供软件需要的资源,但是通过不断加重软件要处理的任务,来测试软件在正常配置下能够具有的能力指标。 在软件测试V模型中,按照测试过