- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试的定义和目的
1, 什么是软件测试
a) IEEE定义为:使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是 否满足规定的需求或是弄清预期结果与实际结果之间的差别。
b) G.J.Myers认为:
1)程序测试是为了发现错误而执行程序的过程;
2)好的测试方案是 极可能发现迄今为止尚未发现的错误的测试方案;
3)成功的测试是发现了至今为止尚未发现的错误测试。
(注:1)软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一;2)运行软件测试可以人工方式也可以借助于工具,3)进行软件测试可以运行软件也可以不运行软件;4)软件测试的目的不仅仅是为了发现错误。)
2, 软件测试的目的
人们对软件测试的目的的认识也经历了一个过程:
20世纪60年代 20世纪70年代中期 20世纪90年代
证明 检测 预防
表明软件能够工作 发现错误 管理质量
软件生命周期
计划
需求分析
设计
编码
测试
运行和维护
软件中引入缺陷的原因
软件缺陷:
既指静态存在于软件工作产品(文档,代码)中的错误,也指软件运行时由于这些错误被激发引起的和软件产品预期属性的偏离现象。
Bug :
代码中的缺陷。有时也被广泛指因软件产品内部的缺陷引起的软件产品最终运行时和预期属性的偏离。
(注:软件错误、软件缺陷、Bug在实际工作中可以认为是一样。)
常见的引入缺陷的原因
1) 开发过程缺乏有效的沟通,或者没有进行沟通
2) 软件复杂度越来越高
3) 编程中产生的错误
4) 需求不断变更
5) 项目进度的压力
6) 不重视开发文档
7) 软件开发工具本身隐藏的问题
8) 。。。。。。。。。。。。。。。。。。。。。。
缺陷类型
1) 遗漏:规定的或者预期的需求未体现在产品中(可能未将规格说明全面实现,也可能需 求分析阶段就遗漏了需求)
2) 错误:未将规格说明正确实现(可能设计错误、也可能编码错误)
3) 额外的实现:规格说明并未规定的需求被纳入了产品,得到实现。 (也可以用下面五种类型表示:
a) 产品未达到产品说明书中要求实现的功能
b) 产品出现了产品说明书中没有的功能
c) 产品没有实现产品说明书中虽未指明但要求实现的功能
d) 产品出现了说明书中明确规定不出现的功能
e) 测试人员或用户认为产品不应使用)
测试过程
测试阶段划分
单元测试(Unit Testing)
针对软件基本组成单元(软件设计的最小单位)来进行正确性检验的测试工作。(检测软件模块对《详细设计说明书(LLD)的符合度》)。
集成测试(Integration Testing)
在单元测试的基础上,将所有模块按照概要设计组装成为子系统或系统,验证组装后功能以及模块间接口是否正确的测试工作。(检测软件模块对《概要设计说明书(HLD)的符合度》)
系统测试(System Testing)
将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的测试工作。(通过与《需求规格说明书(SRS)》作比较,发现软件与系统需求定义不符合或之矛盾的地方)
单元、集成、系统测试的比较
测试方法不同
单元测试属于白盒测试范畴
集成测试属于灰盒测试范畴
系统测试属于黑盒测试范畴
考察范围不同
单元测试主要测试单元内部的数据结构、逻辑结构、异常处理等
集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能
系统测试主要测试整个系统相对于需求的符合度
评估基准不同
单元测试主要是逻辑覆盖率
集成测试主要是接口覆盖率
系统测试主要是测试用例对需求规格的覆盖率
回归测试(Regression Testing)
目的:验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能。 (注:回归测试可以发生在任何一个阶段)
回归测试策略
1) 完全重复测试 重新执行所有在前期测试阶段建立的测试用例,来确认问题修改的正确性和修改的扩散局部影响性。
2) 选择性重复测试 即有选择地重新执行部分在前期测试阶段建立的测试用例,来测试被修改的程序
a) 覆盖修改法 即针对被修改的部分,选取或重新构造测试用例验证没有错误再次发生的用例选
文档评论(0)