对软件测试的认识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
---------------------------------------------------------------最新资料推荐------------------------------------------------------
对软件测试的认识
对软件测试的认识赵兴丽(重庆市北碚区西南大学计算机与信息科学学院,重庆北碚 400715)摘要:
本文首先就其软件测试的内容、测试原则、测试方法的分类等做了简要的概述。
然后针对软件中的白盒测试、黑盒测试做了详细论述,分析了灰盒测试的必要性,并对处于黑盒与白盒测试之间的灰盒测试做了较细的分析。
最后对这三种软件测试方法做了对比并总结了自己的一点小小的心得体会。
关键字:
黑盒测试白盒测试灰盒测试测试原则测试方法分类Abstract :
Firstly, the contents of its software testing, test principles, testing methods for classification, a brief overview. Then the white-box testing for software, black box testing are elaborated to analyze the necessity of gray box testing, and in the black box and white box testing gray box testing between the smaller of the analysis done. Finally, do these three software testing methods are compared and summarized their little feelings and experiences. Keywords:
1/ 14
black box testing white box testing gray box testing method for testing the principles of classification 1.软件测试的概述随着人类社会的进步, 经济的发展,各种领域计算机的普及, 计算机软件也遍布了各种场合, 为人们的生活, 工作,学习, 休闲等提供了前所未有的方便。
因此, 当一个软件从雏形到真正的在一台计算机上运行的时候, 谁也不能保证计算机软件能一步到位的满足人们的需求。
所以产生了软件测试, 软件测试在计算机领域占据着不可替代的角色[1] , 是软件开发过程的重要组成部分,它是用来确认一个程序是否能够满足开发之前用户提出的一些要求。
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。
软件测试是为了发现软件中的错误而执行程序的过程。
在软件生存期中软件测试横跨两个阶段:
一般编写完一个模块后就要对它进行测试,这一阶段称单元测试。
编码和单元测试属于软件生存期中的同一个阶段。
在结束这个阶段后对软件系统还要进行各种综合测试,这是软件生存期的另一个独立阶段,又称测试阶段。
软件测试贯穿于整个软件生命周期中,软件测试并不仅局限于程序测试。
需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明及
---------------------------------------------------------------最新资料推荐------------------------------------------------------ 源程序,都是软件测试的对象。
Grenford J.Myers 就软件测试目的提出了以下观点:测试是一个程序的执行过程,其目的在于寻找错误;一个好的测试用例在于能发现到目前为止还没有发现的错误;一个成功的测试是发现了至今未发现的错误的测试。
测试目的不仅为了发现软件漏洞与错误,而且还对软件质量进行度量和评估,以提高软件的质量。
测试以评价系统性能或者程序属性为目标的活动,能够为软件质量的度量与评估的提供依据。
经过分析错误,找到了错误产生的原因,发现当前开发工作所采用的软件的缺陷,以便对软件过程改进。
通过对测试结果的分析整理,还可以修正软件开发规则,并为软件可靠性分析提供参考依据。
2.软件测试的内容及原则 2.1 软件测试的内容软件测试的内容就是说如果拿到一个完整的软件后,接下来要对软件作怎样的处理,包括对软件的验证和确认。
验证和确认都是软件产品在发布前必须要进行的测试活动,二者的区别是测试环境和测试目的不同。
2.1.1 验证(verification) 验证(verification)就是保证该软件正确地实现了一些特定功能, 即保证软件做了人们所期望软件能够实现的功能。
3/ 14
主要包括以下几个方面:
1.确定软件生存周期中的一个给定阶段的产品是否达到前一阶段确立的需求过程;
2.程序正确性的形式证明, 即采用形式理论证明程序符号设计规定的过程;
3.审查、测试、检查、审计等各类活动, 或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
[5][8] 验证是指已经实现的软件产品是按照它的需求做的,是符合需求说明书的。
验证测试是指测试人员在模拟用户环境的测试环境下,对软件进行测试,验证已经实现的软件产品或产品组件是否实现了需求中所描述的所有需求项。
2.1.2 确认(validation) 确认(validation)是要做一系列的活动和过程, 目的是为了证实软件在一个给定的外部环境中的逻辑正确性。
从而能够保证软件以正确的方式来做了某一个事件。
包括以下一两个方面::
[5][8] 1.静态确认, 程序不在计算机上实际执行, 通过人工分析来证实软件是正确的; 2.动态确认, 通过执行程序做分析, 测试程序的动态行为, 从而证实软件是否存在问题。
确认是指已经实现的软件产品或产品组件在用户环境下,实现了用户的需要,是符合用户需要的。
确认测试是指测试人员在真实的用户环境下,软件产品或产品组