- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试策略
李志博
工院一系二教
lizhibo1019@163.com
§1 测试相关的基本概念
§2 测试的方法(黑盒测试和白盒测试)
§3 测试的策略
§4 自动化测试和测试工具
一、软件测试的步骤
所有测试过程都应采用综合测试策略;即先作静态分析,再作动态测试。并事先制订测试计划。测试过程通常可分4步进行:
§3 测试策略和步骤
执
行
测
试
撰
写
测
试
报
告
消
除
软
件
缺
陷
制
定
测
试
计
划
审批
设
计
测
试
用
例
审
批
回归测试
完成
测试
完成
准则
启
动
准
则
软件测试步骤
§3 测试策略和步骤
一、模块测试(Module Testing)
1、测试内容
模块
模块接口测试
局部数据结构测试
重要路径测试
错误处理测试
边界条件测试
I/O 参数值的个数、类型、次序、格式是否正确,I/O文件属性、操作是否正确等。
数据说明是否正确、一致,变量及其初值定义是否正确等。
检查“错误处理程序”本身的错误。
边界条件常包括循环边界,最大最小值、控制流中等于、大于、小于的比较值等。
重要路径通常是指完成模块功能的主要路径,一般是控制结构。
单元测试(unit testing )
§3 测试策略和步骤
2、模块测试步骤
考虑到被测模块与其它模块的联系,因此测试时需要使用两类辅助模块来模拟其他模块。
驱动模块(driver)— 模拟主程序功能,用于向被测模块传递数据,接收、打印从被测模块返回的数据。
桩模块(stub)— 又称为假模块,用于模拟那些由被测模块所调用的下属模块功能。
一般,驱动模块比桩模块容易设计。但都是额外开销。测试方法以白盒法为主。
被测模块
驱动模块
桩模块
桩模块
桩模块
§3 测试策略和步骤
单元测试执行过程
驱动模块(driver)相当于所测模块的主程序。它接收测试数据,把这些数据传送给所测模块,最后再输出实际测试结果。
桩模块(stub)用于代替所测模
块调用的子模块。桩模块可
以做少量的数据操作。
被测模块
接口
局部数据结构
路径
错误处理
边界条件
测试用例
测试结果
桩模块
驱动模块
桩模块
测试环境
模块接口测试
局部数据结构测试
路径测试
错误处理测试
边界测试
§3 测试策略和步骤
二、组装测试(Integration Testing)
1、组装测试的任务
①确定模块组装方案,将经过测试的模块组装为一个完整的系统。组装方案分为渐增式及非渐增式。
②测试方法以黑盒法为主,按照组装方案进行
测试。
也称为联合测试或集成测试,重点测试模块的接口部分,需设计测试过程使用的驱动模块或桩模块。
问题:渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式?
§3 测试策略和步骤
2、渐增式组装测试
渐增式是先进行模块测试,然后将这些模块逐步组装成较大的系统,每连接一个模块进行一次测试。
两种方案:
设计驱动模块或桩模块,对每一个新组装的子
系统进行测试,对发现问题较多的子系统或模
块应该用白盒法作回归测试。
自顶而下增值
自底而上增值
§3 测试策略和步骤
自顶而下增值
M1
M4
M3
M2
M6
M5
程序模块示意图
S5
M1
S1
S1
S1
S2
S2
S2
S3
S3
S3
第一步,测试主控模块M1设计桩模块S1、S2、S3,模拟被M1调用的M2、M3、M4。
M2
M3
M4
第二步,依次用M2、M3、M4替代桩模块S1、S2、S3,每替代一次进行一次测试。
S4
S4
S4
S5
S5
第三步,对由主控模块M1和模块M2、M3、M4构成的子系统进行测试,设计桩模块S4、S5。
M5
M6
第四步,依次用模块M5和M6替代桩模块S4、S5,并同时进行新的测试。组装测试完毕。
§3 测试策略和步骤
自底而上增值
M3
M6
M5
D1
D2
D3
D1
D1
D2
D2
D3
D3
M2
M4
M1
第四步,把已测试的子系统按程序结构连接起来完成程序整体的组装测试。
D4
D4
D4
D5
D5
D5
M1
M4
M3
M2
M6
M5
程序模块示意图
第一步,对最底层的模块M3、M5、M6进行测试,设计驱动模块D1、D2、D3来模拟调用。
第三步,设计驱动模块D4、D5 和D6模拟调用,分别对新子系统进行测试。
第二步,用实际模块M2、M1和M4替换驱动模块D1、D2、D3。
D6
§3 测试策略和步骤
深度优先与宽度优先
无论是自顶而下增值还是自底而上增值,还可选择
深度优先或者宽度优先增值。
举例:按自顶而下增值法,写出下图中分别按照深度优先或者宽度优先增值的模块组装次序。
A
B
C
D
H
G
J
E
F
I
K
L
M
N
文档评论(0)