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