Logo软件测试-测试用例中软国际本章首先将讲述测试用例的概念和作用。然后本章还会介绍设计黑盒测试用例和白盒测试用例的方法和技巧。本章重点:熟悉测试用例的概念和作用。理解黑盒静态测试用例的测试方法。掌握黑盒动态测试用例的设计方法:等价类划分,边界值法,错误推断法,因果图法,路径分析法。理解白盒静态测试用例的测试方法。掌握白盒动态测试用例的设计方法:逻辑覆盖法,基本路径测试。Logo3如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。对一个测试工程师来说,测试用例的设计编写是一项必须掌握的能力,但有效的设计和熟练的编写测试用例却是一个十分复杂的技术,测试用例编写者不仅要掌握软件测试技术和流程,而且要对整个软件不管从业务,还是对软件的设计、程序模块的结构、功能规格说明等都要有透彻的理解。测试的设计方法不是单独存在的,具体到每个测试项目里都有很多种方法,每种类型都有各自的特点。测试用例-测试用例的概念和作用Logo4什么是测试用例测试用例,英文为TestCase,缩写为TC,指的是在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。测试用例设计的好坏直接决定了测试的效果和结果。所以说在软件测试活动中最关键的步骤就是设计有效的测试用例。测试用例可以针对黑盒测试设计用例,也可以针对白盒测试设计用例.测试用例-测试用例的概念和作用Logo5根据什么编写测试用例呢?我们编写测试用例的唯一标准就是用户需求,具体的参考资料是《需求规格说明书》,但需要说明的是,用户需求不是一成不变的,而是在一直变化的,这就需要我们根据不断调整变化的需求,来修改和维护我们已写好的测试用例,这个工作量也很大。测试用例-测试用例的概念和作用Logo6为什么需要测试用例–在开始实施测试之前设计好测试用例,避免盲目测试并提高测试效率,减少测试的不完全性;–测试用例的使用令软件测试的实施重点突出、目的明确;–根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和资源管理与跟踪;–减少回归测试的复杂程度,在软件版本更新后只需修正少量的测试用例便可展开测试工作,降低工作强度、缩短项目周期;–功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断细化其效率也不断攀升;–根据测试用例的操作步骤和执行结果,为分析软件缺陷和程序模块质量提供依据;可以方便地书写软件测试缺陷报告;–可以根据测试用例的执行等级,实施不同级别的测试;总结:软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例。测试用例-测试用例的概念和作用Logo7好的测试用例的特征•可以最大程度地找出软件隐藏的缺陷•可以最高效率的找出软件缺陷•可以最大程度地满足测试覆盖要求•既不过分复杂、也不能过分简单•使软件缺陷的表现可以清楚的判定–测试用例包含期望的正确的结果–待查的输出结果或文件必须尽量简单明了•不包含重复的测试用例•测试用例内容清晰、格式一致、分类组织测试用例-测试用例的概念和作用Logo8测试用例设计的主要影响因素:•需求目标,是功能性的需求目标也是非功能性的需求目标。功能性测试比较清楚,正确与否一目了然,而非功能性测试,其相对性比较强,需要从不同角度比照。•用户实际使用场景。从用户的角度来模拟程序的输入,包括用户的操作习惯,使产品更能贴近用户的需求。•软件功能需求规格说明书、产品设计文档。•测试方法对测试用例的设计影响非常大。•测试对象。客户端软件和服务器端系统、分布式系统和集中式系统等。•软件实现所采用的技术。测试用例-测试用例的概念和作用Logo9设计测试用例的基本原则如下:•利用成熟的测试用例设计方法来指导设计•测试用例的针对性•测试用例的代表性•测试用例的可判定性•测试用例的可重现性•足够详细、准确和清晰的步骤•测试用例必须符合内部的规范的要求测试用例-测试用例的概念和作用Logo10测试用例的4性是指代表性、针对性、可判定性、可重现性:•代表性:能够代表并覆盖各种合理的和不合理、合法的和不合法的、边界的和越界的以及极限的输入数据、操作等。•针对性:对程序中的可能存在的错误有针对性地测试•可判定性:测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果•可重现性:对同样的测试用例,系统的执行结果应当是相同的。测试用例-测试用例的概念和作用Logo11测试用例设计的指导思想软件测试需求和测试计划是测试用例的设计基础按照测试用例框架设计和详细设计进行分布式的测试根据测试质量目标,测试周期,测试成本,测试者技能,确定合适的测试用例数量和测试内容的详细程度分析用户实际使用的场景,被测试软件的类型特征和测试方法寻求系统设计、功能设计的弱点,设计测试用例以寻求软件存在的缺陷,而不是简单的复制软件设计规格说明文档既要设计正面的测试用例,也要设计负面的测试用例测试用例-测试用例的概念和作用Logo12测试用例的元素测试用例是对测试场景和操作的描述,所以必须给出测试目标、测试对象、测试环境要求、软件数据和操作步骤,预期结果,概括为5W1H1E。•测试目标:Why—为什么而测?功能、性能、易用性、可靠性、兼容性、安全性等。•测试对象:What—测什么?被测试的项目、如对象、菜单、按钮等。•测试环境:Where—在哪里测?测试用例运行时环境,包括系统配置和设定等要求,也包括操作系统、浏览器、网络环境等。•测试前提:When—什么时候开始测?测试用例运行的前提或条件限制。•输入数据:Which—哪些数据?在操作时系统所接受的数据。•操作步骤:How—如何测?执行软件的先后次序步骤。•预期结果:—判定依据?执行用例后的判定依据。测试用例-测试用例的概念和作用Logo13测试用例通常包括以下几个组成元素:测试用例编号★测试用例名称测试用例设计者软件版本号测试目的参考信息测试条件测试环境输入数据★操作步骤★预期结果★测试用例-测试用例的概念和作用Logo14ID类型测试步骤输入数据期望的结果001登录输入用户、密码,点击“登录”用户名:user密码:987654提示登录成功002登录输入用户、密码,点击“登录”用户名:test密码:987654提示用户名错误,请重新输入003登录输入用户、密码,点击“登录”用户名:user密码:123456提示密码错误,请重新输入004登录输入用户、密码,点击“登录”用户名:密码:123456提示用户名不能为空,请输入用户名005登录输入用户、密码,点击“登录”用户名:user密码:提示密码不能为空,请输入密码006登录输入用户、密码,点击“登录”用户名:※#—密码:123456提示用户名错误,请重新输入测试用例的范例:登录功能测试用例:用户名为user,密码为987654测试用例-测试用例的概念和作用Logo15•测试用例的分类如下:•接口测试用例•路径测试用例•功能测试用例•容错能力测试用例•性能测试用例•界面测试用列•安全性测试用例•压力测试用例•可靠性测试用例•安装/反安装测试用例测试用例-测试用例的概念和作用Logo16功能测试用例设计步骤确定测试可用资源确定测试条件/环境确定测试条件优先级确定测试功能点确定功能点的期望结果设计测试用例的文字执行以验证测试用例修改并完成测试用例阅读测试参考文档测试用例入库测试用例-测试用例的概念和作用Logo17功能测试用例设计方法设计用例模板确定测试输入数据测试设计规格说明软件测试需求软件需求文档软件设计规格说明测试用例框架设计测试用例详细设计组织测试用例软件测试计划测试用例评审用例Logo测试用例-黑盒测试用例的设计中软国际(天津ETC)ChinaSoftInternational中软国际现在开始讲述如何测试产品说明书(黑盒静态测试方法),以便在编写软件之前找出缺陷。产品说明书有时又简称为说明(spec)或产品说明(productspec),是软件开发小组的一个协定。它对开发的产品进行定义,给出产品的细节,如何做,做什么,不能做什么。这种协定从简单的口头说明到正式的书面文档有多种形式。Logo测试用例-黑盒测试用例的设计中软国际(天津ETC)ChinaSoftInternational中软国际产品说明书产品说明书通常是利用文字和推拿个描述产品的书面文档。Windows计算器程序的产品说明书摘录如下:Edit菜单有两个命令选项:Copy和Pause。其选择方式有三种:指向并单击菜单;使用菜单命令访问键(Alt+E,然后Copy按C,Paste按P);或者使用标准的Windows快捷键,Copy按Ctrl+C,Paste按Ctrl+V。Copy功能将数字输入框中显示的内容复制到Windows剪贴板中。Paste功能将剪贴板存储的数值黏贴大数字输入框中。Logo测试用例-黑盒测试用例的设计中软国际(天津ETC)ChinaSoftInternational中软国际测试产品说明书测试软件说明书属于静态黑盒测试。产品书名书是书面文档,而不是可执行程序,因此是静态的。它是利用各种资源而获得的数据——诸如易用性研究、焦点人群、销售收入等建立的。不必了解怎样和为什么获取这些信息。以及获取的具体途径,只需知道他们最终构成了说明书就可以了。软件测试员可以利用书面文档进行静态黑盒测试。认真查找其中的缺陷。Logo测试用例-黑盒测试用例的设计中软国际(天津ETC)ChinaSoftInternational中软国际对产品说明书进行高级审查测试产品说明书的第一步不是马上钻进去找缺陷,而是站在一个高度上进行审查。审查产品说明书是为了找出根本性的问题、疏忽或遗留之处。也许这更像是研究而不是测试,但是研究的根本是为了更好地了解软件该做什么。如果能够很好地理解产品说明书后的诸多为什么和怎么做,就可以更好地进行细节检查:假设自己是客户。研究现有的标准和规范。审查和测试类似软件。Logo测试用例-黑盒测试用例的设计中软国际(天津ETC)ChinaSoftInternational中软国际产品说明书的低层次测试技术产品说明书属性检查清单完整。准确。精确,不含糊,清晰。一致。贴切。合理。代码无关。可测试性。Logo测试用例-黑盒测试用例的设计中软国际(天津ETC)ChinaSoftInternational中软国际产品说明书术语检查清单:在审查产品说明书时,作为前一个清单的补充,还有一个问题用语检查清单。总是、每一种、所有、没有、从不。当然、因此、明显、显然、必然。某些、有时、常常、通常、惯常、经常、大多、几乎。等等、诸如此类、以此类推、例如。良好、迅速、廉价、高效、小、稳定。处理、进行、拒绝、跳过、排除。如果……那么……(没有否则)。Logo测试用例-黑盒测试用例的设计中软国际(天津ETC)ChinaSoftInternational中软国际如果有兴趣了解更高级的审查产品说明书的技术,那么研究一下MichaelFagan的工作。Fagan先生在IBM公司工作时,率先采用一种称为软件检测的系统方法,详情参见他的个人网站:。Logo动态黑盒测试——带上眼罩测试软件不深入代码细节测试软件的方法称为动态黑盒测试。它是动态的,因为程序在运行,同时它是黑盒子,因为测试时不知道程序如何工作,像是带上了眼罩。测试员输入数据、接受输出、检查结果。动态黑盒测试常常称为行为测试,因为测试的是软件在使用过程中的实际行为。有效的动态测试需要关于软件行为的一些定义——不必了解软件内发生的事,只需要知道输入和输出。一般好的需求文档和产品说明书会提供这些细节。清楚了被测试软件的输入和输出后,接