- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试理基础教程
软件测试基础教程
一、软件测试基础知识
测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。生产软件的最终目的是为了满足客户需求,我们以客户需求作为评判软件质量的标准,认为软件缺陷( Software Bug )的具体含义包括下面几个因素:1)软件未达到客户需求的功能和性能;2)软件超出客户需求的范围;3)软件出现客户需求不能容忍的错误;4)软件的使用未能符合客户的习惯和工作环境。考虑到设计等方面的因素,我们还可以认为软件缺陷还可以包括软件设计不符合规范,未能在特定的条件(资金、范围等)达到最佳等。可惜的是,我们中的很多人更倾向于把软件缺陷看成运行时出现问题上来,认为软件测试仅限于程序提交之后。
测试也具有一些本身的特点:1)测试是不完全的(测试不完全)。2)测试具有免疫性(软件缺陷免疫性)。3)测试是 “ 泛型概念 ” (全程测试)。4)80-20 原则。5)为效益而测试。6)缺陷的必然性。7)软件测试必须有预期结果。
测试的分类:从测试方法的角度可以分为手工测试和自动化测试。手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。
从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。
从测试原理上分为:白盒测试、黑盒测试和灰盒测试。
白盒测试:有时称为玻璃盒测试,是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
白盒测试方法主要有逻辑覆盖和路径测试。
黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。
在实际的测试过程中,都要用到测试用例,所谓的测试用例就是为达到最佳的测试效果或者高效的揭露隐藏的错误而精心设计的少量测试数据。我们不可能进行穷举测试,为了节省时间和资源,提高测试效率,必须要从数量极大的可用测试数据中精心挑选出具有代表性或者特殊性的测试数据进行测试。一个好的测试用例是在于能发现至今没有发现的错误。
黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测法等。
等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的、常用的黑盒测试用例设计方法.划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能.无效等价类:与有效等价类的定义恰巧相反.设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性.
怎样划分等价类:1)如果输入条件规定了取值的范围或者值的个数,则可以确定一个有效等价类和两个无效等价类。2)如果一个输入条件说明了一个“必须成立”的情况,则可以划分一个有效等价类和一个无效等价类。3)如果输入条件规定了输入数据的一组可能的值,并且程序事用不同的方式处理每一种值,则可以
文档评论(0)