论现代软件测试方法资料.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章 绪论 1.1背景 随着计算机所控制对象的复杂程度不断提高和软件功能的不断增强,软件的规模不断增大。为了保证软件的质量和可靠性,应力求在分析、设计等各个开发阶段结束前,对软件进行严格技术评审。但由于人类能力的局限性,审查不能发现所有的错误而且在编码阶段还会引入大量的错误。这些错误和缺陷如果遗留到软件交付投入运行之时,终将会暴露出来。但到那时,不仅改正这些错误的代价更高,而且往往造成很恶劣的后果。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。即软件测试是为了发现错误而执行程序的过程,或是软件测试是根据软件开发各阶段的规格说明和程序内部结构而精心设计的一批测试用例(即输入一些数据而得到其预期的结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 软件测试在软件生命周期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单位测试)。编码与单元测试属于软件生存期中的同一个阶段。在结束这个阶段之后,对软件系统还要进行个各种综合测试,这是软件生存期的另一个阶段,即测试阶段,通常由专门的测试人员承担这项工作。 大量统计资料表明,软件测试的工作量往往占软件开发工作总量的40%以上。实际上,仅就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是我们的最终目的。软件工程的根本目标是开发出高质量的完全符合用户需要的软件。 1.2目的 基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过软件测试暴露出软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。而从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确的实现了用户的要求,确立用户对软件质量的信心。 因为在程序中往往存在着许多意料不到的问题,可能会被疏忽,许多隐藏的错误只有在特定的环境下才可能暴露出来。如果不把着眼点放在尽可能查找错误这样一个基础上,这些隐藏的错误和缺陷就查不出来,则会遗留到运行阶段去。如果站在用户的角度上,就应当把测试活动的目标对准揭露程序中存在的错误。以及在选取测试用例时尤其考虑那些易于引发程序错误的数据。以下规则即为测试的目的: 测试是为了发现程序中的错误而执行程序的过程。 好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。 成功的测试是发现了至今为止尚未发现错误的测试。 第二章 传统软件测试方法及策略 传统软件测试方法的大致分类如下:根据测试过程对具体实现算法细节和系统内部结构的关心情况可将软件测试分为白盒测试、灰盒测试和黑盒测试。根据测试过程中程序的执行状态,可将软件测试分为静态测试和动态测试。根据程序的执行方式,可将软件测试方法分为人工测试和自动化测试。 2.1白盒测试、黑盒测试和灰盒测试 2.1.1白盒测试 白盒测试为软件测试的主要方法之一,也称结构测试、逻辑驱动测试或基于程序本身的测试。测试者需要了解待测试程序代码的内部结构、算法等信息,这是从程序设计者的角度对程序进行的测试。这一方法是把测试对对象看做一个盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,从而发现代码中的问题。 白盒测试的测试方法有代码检查法、逻辑覆盖法、基本路径测试法、静态结构分析法等。其中逻辑覆盖法是主要的测试方法,逻辑覆盖法包括以下几种: 语句覆盖:语句覆盖就是设计若干个测试用例,运行被测试程序,使得每一条可执行语句至少执行一次。 判定覆盖(也称为分支覆盖):设计若干个测试用例,运行被测试程序,使程序中每个判断的取真分支和取假分支至少执行一次。 条件覆盖:设计若干个测试用例,运行被测试程序,使程序中每个判断的每个条件的每个可能取值至少执行一次。 判定/条件覆盖:设计若干个测试用例,运行被测试程序,使程序中每个判断的每个条件的每个可能取值至少执行一次,并且每个可能的判断结果也至少执行一次。 条件组合覆盖:设计若干个测试用例,运行被测试程序,使程序中每个判断的所有可能的条件取值组合至少执行一次。 2.1.2黑盒测试 黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把待测程序看做一个黑盒子,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能正常使用,程序是否能接收输入数据产生正确的输出信息,并且保持外部信息的完整性。黑盒测试是基于用户角度进行的测试。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、判定表驱动法、功能图法等。 边界值分析法:长期的测试经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此,针对各种边界情况设计测试用例,可以测试出更

文档评论(0)

cc880559 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档