没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
什么是软件测试
为了保证软件的质量和可靠性,应力求在分析、设计等各个开发阶段结束前,
对软件进行严格技术评审。但由于人们能力的局限性,审查不能发现所有的错误。
而且在编码阶段还会引进大量的错误。这些错误和缺陷如果遗留到软件交付投入运
行之时,终将会暴露出来。但到那时,不仅改正这些错误的代价更高,而且往往造
成很恶劣的后果。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最
终复审,是软件质量保证的关键步骤。如果给软件测试下定义,可以这样讲:软件
测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段
的规格说明和程序的内部结构而精心设计的一批测试用例(即输入一些数据而得到
其预期的结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它
做必要的测试(称为单元测试)。编码与单元测试属于软件生存期中的同一个阶
段。在结束这个阶段之后,对软件系统还要进行各种终合测试,这是软件生存期的
另一个阶段,即测试阶段,通常由专门的测试人员承担这项工作。
大量统计资料表明,软件测试的工作量往往占软件开发总工作量的 40%以
上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软
件工程其他开发步骤总成本的三倍到五倍。因此,必须高度重视软件测试工作,绝
不要以为写出程序之后软件开发工作就接近完成了,实际上,大约还有同样多的开
发工作量需要完成。仅就测试而言,它的目标是发现软件中的错误,但是,发现错
误并不是我们的最终目的。软件工程的根本目标是开发出高质量的完全符合用户需
要的软件。
返回导航
软件测试的目的
基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍
希望通过软件测试暴露出软件中陷藏的错误和缺陷,以考虑是否可以接受该产品。
而从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,
验证该软件已正确地实现了用户的要求,确立用户对软件质量的信心。
因为在程序中往往存在着许多预料不到的问题,可能会被疏漏,许多隐藏的错
误只有在特定的环境下才可能暴露出来。如果不把着眼点放在尽可能查找错误这样
一个基础上,这些隐藏的错误和缺陷就查不出来,会遗留到运行阶段中去。如果站
在用户的角度替他们设想,就应当把测试活动的目标对准揭露程序中存在的错误。
在选取测试用例时,考虑那些易于发现程序错误的数据。
下面这些规则也可以看作是测试的目的或定义:
1. 测试是为了发现程序中的错误而执行程序的过程;
2. 好的测试方案是极可能发现迄今为止尚未发现的错误的
测试方案;
3. 成功的测试是发现了至今为止尚未发现的错误的测试。
从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序
的过程”。这和某些人通常想象的“测试是为了表明程序是正确的”,“成功的测试是
没有发现错误的测试”等等是完全相反的。正确认识测试的目标是十分重要的,测
试目标决定了测试方案的设计。如果为了表明程序是正确的而进行测试,就会设计
一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力
求设计出最能暴露错误的测试方案。
由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己
进行测试是不恰当的。因此,在综合测试阶段通常由其他人员组成测试小组来完成
测试工作。此外,应该认识到测试决不能证明程序是正确的。即使经过了最严格的
测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的
错误,不能证明程序中没有错误。
返回导航
术语、名词定义
1. 黑盒测试
黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考
虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用
关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只
检查程序功能是否能正常使用,程序是否能接收输入数据产生正
确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试是基于用户角度进行的测试。
2. 白盒测试
软件测试的主要方法之一,也称结构测试、逻辑驱动测试或
基于程序本身的测试。测试者需要了解待测试程序代码的内部结
构、算法等信息,这是从程序设计者的角度对程序进行的测试。
它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质
量,发现代码中隐藏的问题。
3. 灰盒测试
可以理解为静态的白盒测试或动态的黑盒测试,灰盒就是界
于黑白之间, 对软件内部有所了解, 但不见得到了如指掌的程度,
却可以结合这些了解做些比黑盒多点的测试。
4. 文档测试
文档测试涵盖面很大,在软件的各个版本中均有所使用。随
着软件版本的变化,文档测试的测试内容也有所变化。在需求分
析以及原型架构阶段,文档测试主要目标是: Sitemap、动作
分解列表、数据库 ER 图、UML 用例图、流程图、需求文档等文
档。
文档测试主要检查文档的正确性、完整性和可理解性。正确
性是指不要把软件的功能和操作写错,也不允许文档内容前后矛
盾。完整性是指文档不可以漏掉关键性内容。可理解性是指在文
档中描述的语言要简明易懂,不能让别的开发人员拿到文档时看
不懂文档的内容。
5. 命名规范测试
命名规范测试用于测试项目中的文件命名、代码以及版本号
等书写是否符合规范。文件命名规范以及版本号命名规范可以参
看第四部分里软件命名规范的详细信息;各种语言的命名规范可
以参考语言自身的规范,如 NoahWeb 的可以参考
http://docs.noahweb.net 附录中的《NoahWeb 各类资源命
名规范》。
6. 需求完整性测试
需求完整性测试主要存在于需求探索阶段,在需求尚未完全
明确之前对已收集到的需求做出整理性的、检查遗漏性的测试,
确认需求是否明确。另外,需求完整性测试也承担着一部分澄清
需求的任务。
7. 链接完整性测试
在原型架构阶段,链接完整性的测试是非常有必要的。该项
测试任务主要是检查假页面中各种链接是否完整,是否指向目标
位置,属于检查性的测试。
8. 页面完整性测试
页面完整性测试主要存在于集成测试阶段以及其后续其它阶
段中,测试页面是否完整,页面质量是否达标,属于检查性测
试。
9. UI 合理性测试
UI 合理性测试也就是人机交互界面的合理性,UI 合理性测
试的内容很多,具体测试内容如下:
o 提示、菜单、帮助的格式是否一致;
o 提示、菜单、帮助中的术语是否一致;
o 各个控件之间的对齐方式是否一致;
o 输入界面和输出界面在外观、布局、交互方式上是否一
致;
o 功能类似的相关界面在外观、布局、交互方式上是否一
致;
o 同一层次的文字在同一种提示场合(一般情况、特殊字
体、警告等)在文字大小、字体、颜色、对齐方式方面
是否一致,字体大小 是否与界面的大小比例协调;
o 多个连续界面依次出现的情况下,界面的外观、操作方
式是否一致;
o 系统是否拒绝客户的错误输入并做出提示;
o 系统是否在用户完成操作时给出操作成功的提示;
o 用户界面是否存在空白空间,没有空白空间的界面是杂
乱无章的,易用性差;
o 各个控件的间隔是否一致,垂直和水平方向上是否对
齐;
o 是否允许动作的可逆性,返回原有操做;
10. 数据和数据库完整性测试
因为在开发阶段开发人员随时都有可能根据需要来修改数据
库,所以对数据和数据库完整性测试在软件项目的任何阶段也是
非常必要的。该项测试内容主要是以数据库表为单位,检查数据
库表以及表中各字段命名是否符合命名规范,表中字段是否完
整,数据库表中的字段描述是否正确包括字段的类型、长度、是
否为空,数据库表中的关系、索引、主键、约束是否正确。
11. 功能测试
功能测试在软件项目的任何阶段中都是重要的。实现功能,
满足客户需求是软件本身最大的使命。功能测试在任何阶段下基
本上都作为测试工作的第一项出现。该项测试任务主要为了测试
已实现的功能是否满足需求,是否正确,是否有价值以及是否完
整。在黑盒和白盒测试状态下,该测试均会被使用。
功能测试中测试人员往往会忽略掉一些细节问题,比如:一
个功能的实现必须要经过 6 步操作才能完成,而且需要加入 20
条信息才能看得出测试结果,有的测试人员为了节省时间虽然做
完了 6 步操作,但是没有加入足量的信息,,使得测试不全面,正
是因为这样而导致一些隐藏的 BUG 没有被测试出来。所以说在
剩余18页未读,继续阅读
资源评论
- 芳_172017-03-01只是一些基础名词解释
hljjxsjdx
- 粉丝: 0
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功