软件测试-测试用例的设计-黑盒测试方法.pptx
- 文档编号:18812066
- 上传时间:2023-12-01
- 格式:PPTX
- 页数:62
- 大小:1,019.76KB
软件测试-测试用例的设计-黑盒测试方法.pptx
《软件测试-测试用例的设计-黑盒测试方法.pptx》由会员分享,可在线阅读,更多相关《软件测试-测试用例的设计-黑盒测试方法.pptx(62页珍藏版)》请在冰点文库上搜索。
软件测试-测试用例,www.ChinaS,ChinaSoftInternational中软国际,测试用例,www.ChinaS,ChinaSoftInternational中软国际,本章目标及简介,本章首先将讲述测试用例的概念和作用。
然后本章还会介绍设计黑盒测试用例和白盒测试用例的方法和技巧。
本章重点:
熟悉测试用例的概念和作用。
理解黑盒静态测试用例的测试方法。
掌握黑盒动态测试用例的设计方法:
等价类划分,边界值法,错误推断法,因果图法,路径分析法。
理解白盒静态测试用例的测试方法。
掌握白盒动态测试用例的设计方法:
逻辑覆盖法,基本路径测试。
3,如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。
测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。
对一个测试工程师来说,测试用例的设计编写是一项必须掌握的能力,但有效的设计和熟练的编写测试用例却是一个十分复杂的技术,测试用例编写者不仅要掌握软件测试技术和流程,而且要对整个软件不管从业务,还是对软件的设计、程序模块的结构、功能规格说明等都要有透彻的理解。
测试的设计方法不是单独存在的,具体到每个测试项目里都有很多种方法,每种类型都有各自的特点。
测试用例-测试用例的概念和作用,4,什么是测试用例测试用例,英文为TestCase,缩写为TC,指的是在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。
测试用例设计的好坏直接决定了测试的效果和结果。
所以说在软件测试活动中最关键的步骤就是设计有效的测试用例。
测试用例可以针对黑盒测试设计用例,也可以针对白盒测试设计用例.,测试用例-测试用例的概念和作用,5,根据什么编写测试用例呢?
我们编写测试用例的唯一标准就是用户需求,具体的参考资料是需求规格说明书,但需要说明的是,用户需求不是一成不变的,而是在一直变化的,这就需要我们根据不断调整变化的需求,来修改和维护我们已写好的测试用例,这个工作量也很大。
测试用例-测试用例的概念和作用,6,为什么需要测试用例在开始实施测试之前设计好测试用例,避免盲目测试并提高测试效率,减少测试的不完全性;测试用例的使用令软件测试的实施重点突出、目的明确;根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和资源管理与跟踪;减少回归测试的复杂程度,在软件版本更新后只需修正少量的测试用例便可展开测试工作,降低工作强度、缩短项目周期;功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断细化其效率也不断攀升;根据测试用例的操作步骤和执行结果,为分析软件缺陷和程序模块质量提供依据;可以方便地书写软件测试缺陷报告;可以根据测试用例的执行等级,实施不同级别的测试;总结:
软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例。
测试用例-测试用例的概念和作用,7,好的测试用例的特征可以最大程度地找出软件隐藏的缺陷可以最高效率的找出软件缺陷可以最大程度地满足测试覆盖要求既不过分复杂、也不能过分简单使软件缺陷的表现可以清楚的判定测试用例包含期望的正确的结果待查的输出结果或文件必须尽量简单明了不包含重复的测试用例测试用例内容清晰、格式一致、分类组织,测试用例-测试用例的概念和作用,8,测试用例设计的主要影响因素:
需求目标,是功能性的需求目标也是非功能性的需求目标。
功能性测试比较清楚,正确与否一目了然,而非功能性测试,其相对性比较强,需要从不同角度比照。
用户实际使用场景。
从用户的角度来模拟程序的输入,包括用户的操作习惯,使产品更能贴近用户的需求。
软件功能需求规格说明书、产品设计文档。
测试方法对测试用例的设计影响非常大。
测试对象。
客户端软件和服务器端系统、分布式系统和集中式系统等。
软件实现所采用的技术。
测试用例-测试用例的概念和作用,9,设计测试用例的基本原则如下:
利用成熟的测试用例设计方法来指导设计测试用例的针对性测试用例的代表性测试用例的可判定性测试用例的可重现性足够详细、准确和清晰的步骤测试用例必须符合内部的规范的要求,测试用例-测试用例的概念和作用,10,测试用例的4性是指代表性、针对性、可判定性、可重现性:
代表性:
能够代表并覆盖各种合理的和不合理、合法的和不合法的、边界的和越界的以及极限的输入数据、操作等。
针对性:
对程序中的可能存在的错误有针对性地测试可判定性:
测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果可重现性:
对同样的测试用例,系统的执行结果应当是相同的。
测试用例-测试用例的概念和作用,11,测试用例设计的指导思想软件测试需求和测试计划是测试用例的设计基础按照测试用例框架设计和详细设计进行分布式的测试根据测试质量目标,测试周期,测试成本,测试者技能,确定合适的测试用例数量和测试内容的详细程度分析用户实际使用的场景,被测试软件的类型特征和测试方法寻求系统设计、功能设计的弱点,设计测试用例以寻求软件存在的缺陷,而不是简单的复制软件设计规格说明文档既要设计正面的测试用例,也要设计负面的测试用例,测试用例-测试用例的概念和作用,12,测试用例的元素测试用例是对测试场景和操作的描述,所以必须给出测试目标、测试对象、测试环境要求、软件数据和操作步骤,预期结果,概括为5W1H1E。
测试目标:
Why为什么而测?
功能、性能、易用性、可靠性、兼容性、安全性等。
测试对象:
What测什么?
被测试的项目、如对象、菜单、按钮等。
测试环境:
Where在哪里测?
测试用例运行时环境,包括系统配置和设定等要求,也包括操作系统、浏览器、网络环境等。
测试前提:
When什么时候开始测?
测试用例运行的前提或条件限制。
输入数据:
Which哪些数据?
在操作时系统所接受的数据。
操作步骤:
How如何测?
执行软件的先后次序步骤。
预期结果:
判定依据?
执行用例后的判定依据。
测试用例-测试用例的概念和作用,13,测试用例通常包括以下几个组成元素:
测试用例编号测试用例名称测试用例设计者软件版本号测试目的参考信息测试条件测试环境输入数据操作步骤预期结果,测试用例-测试用例的概念和作用,14,测试用例的范例:
登录功能测试用例:
用户名为user,密码为987654,测试用例-测试用例的概念和作用,15,测试用例的分类如下:
接口测试用例路径测试用例功能测试用例容错能力测试用例性能测试用例界面测试用列安全性测试用例压力测试用例可靠性测试用例安装/反安装测试用例,测试用例-测试用例的概念和作用,16,功能测试用例设计步骤,确定测试可用资源,确定测试条件/环境,确定测试条件优先级,确定测试功能点,确定功能点的期望结果,设计测试用例的文字,执行以验证测试用例,修改并完成测试用例,阅读测试参考文档,测试用例入库,测试用例-测试用例的概念和作用,17,功能测试用例设计方法,设计用例模板,确定测试输入数据,测试设计规格说明,软件测试需求,软件需求文档,软件设计规格说明,测试用例框架设计,测试用例详细设计,组织测试用例,软件测试计划,测试用例评审,用例,测试用例-黑盒测试用例的设计,中软国际(天津ETC),ChinaSoftInternational中软国际,现在开始讲述如何测试产品说明书(黑盒静态测试方法),以便在编写软件之前找出缺陷。
产品说明书有时又简称为说明(spec)或产品说明(productspec),是软件开发小组的一个协定。
它对开发的产品进行定义,给出产品的细节,如何做,做什么,不能做什么。
这种协定从简单的口头说明到正式的书面文档有多种形式。
测试用例-黑盒测试用例的设计,中软国际(天津ETC),ChinaSoftInternational中软国际,产品说明书产品说明书通常是利用文字和推拿个描述产品的书面文档。
Windows计算器程序的产品说明书摘录如下:
Edit菜单有两个命令选项:
Copy和Pause。
其选择方式有三种:
指向并单击菜单;使用菜单命令访问键(Alt+E,然后Copy按C,Paste按P);或者使用标准的Windows快捷键,Copy按Ctrl+C,Paste按Ctrl+V。
Copy功能将数字输入框中显示的内容复制到Windows剪贴板中。
Paste功能将剪贴板存储的数值黏贴大数字输入框中。
测试用例-黑盒测试用例的设计,中软国际(天津ETC),ChinaSoftInternational中软国际,测试产品说明书测试软件说明书属于静态黑盒测试。
产品书名书是书面文档,而不是可执行程序,因此是静态的。
它是利用各种资源而获得的数据诸如易用性研究、焦点人群、销售收入等建立的。
不必了解怎样和为什么获取这些信息。
以及获取的具体途径,只需知道他们最终构成了说明书就可以了。
软件测试员可以利用书面文档进行静态黑盒测试。
认真查找其中的缺陷。
测试用例-黑盒测试用例的设计,中软国际(天津ETC),ChinaSoftInternational中软国际,对产品说明书进行高级审查测试产品说明书的第一步不是马上钻进去找缺陷,而是站在一个高度上进行审查。
审查产品说明书是为了找出根本性的问题、疏忽或遗留之处。
也许这更像是研究而不是测试,但是研究的根本是为了更好地了解软件该做什么。
如果能够很好地理解产品说明书后的诸多为什么和怎么做,就可以更好地进行细节检查:
假设自己是客户。
研究现有的标准和规范。
审查和测试类似软件。
测试用例-黑盒测试用例的设计,中软国际(天津ETC),ChinaSoftInternational中软国际,产品说明书的低层次测试技术产品说明书属性检查清单完整。
准确。
精确,不含糊,清晰。
一致。
贴切。
合理。
代码无关。
可测试性。
测试用例-黑盒测试用例的设计,中软国际(天津ETC),ChinaSoftInternational中软国际,产品说明书术语检查清单:
在审查产品说明书时,作为前一个清单的补充,还有一个问题用语检查清单。
总是、每一种、所有、没有、从不。
当然、因此、明显、显然、必然。
某些、有时、常常、通常、惯常、经常、大多、几乎。
等等、诸如此类、以此类推、例如。
良好、迅速、廉价、高效、小、稳定。
处理、进行、拒绝、跳过、排除。
如果那么(没有否则)。
测试用例-黑盒测试用例的设计,中软国际(天津ETC),ChinaSoftInternational中软国际,如果有兴趣了解更高级的审查产品说明书的技术,那么研究一下MichaelFagan的工作。
Fagan先生在IBM公司工作时,率先采用一种称为软件检测的系统方法,详情参见他的个人网站:
。
动态黑盒测试带上眼罩测试软件不深入代码细节测试软件的方法称为动态黑盒测试。
它是动态的,因为程序在运行,同时它是黑盒子,因为测试时不知道程序如何工作,像是带上了眼罩。
测试员输入数据、接受输出、检查结果。
动态黑盒测试常常称为行为测试,因为测试的是软件在使用过程中的实际行为。
有效的动态测试需要关于软件行为的一些定义不必了解软件内发生的事,只需要知道输入和输出。
一般好的需求文档和产品说明书会提供这些细节。
清楚了被测试软件的输入和输出后,接下来要开始定义测试用例(testcase)。
25,测试用例-黑盒测试用例的设计,黑盒测试用例设计方法等价类划分边界值法因果图法错误推断法路径分析法,黑盒测试,26,测试用例-黑盒测试用例的设计,等价类方法等价类划分是指分步骤地把海量(无限)的测试用例集减得很小,但过程同样有效。
等价类:
何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的,如果其中一个的输入不能导致问题发生,那么集合中其它输入条件进行测试也不可能发现错误。
在寻找等价划分时,考虑把软件具有相似输入、相似输出、相似操作的分在一组。
这些组就是等价划分。
27,测试用例-黑盒测试用例的设计,例:
计算两个1100之间整数的和。
如果要进行完全测试,一共要设计多少个测试用例呢?
加数1有1100共计100个取值,加数2也有1100共计100个取值,所以他们之间的组合就有100*100=10000种组合可能,但这只是测试了正常范围内的取值。
如果用户输入的数据不在1100之间呢,穷举测试肯定不可能的。
由此引入了等价类划分思想。
等价类划分为:
有效等价类:
指符合需求规格说明书,输入合理的数据集合无效等价类:
指不符合需求规格说明书,输入不合理的数据集合针对从上面的例子进行等价类划分,28,测试用例-黑盒测试用例的设计,我们将输入域分成了一个有效等价类(1100)和两个无效等价类(100),并为每一个等价类进行编号,然后我们就可以从每一个等价类中选取一个代表性的数据来测试,设计如下表所示的测试用例,29,测试用例-黑盒测试用例的设计,到这里我们的工作似乎结束了,还需要设计其他测试用例吗?
刚刚输入的数据都是整数,如果输入小数,甚至字母怎么办?
这说明刚才的等价类还不完善,我们只考虑了输入数据的范围,没有考虑输入数据的类型(我们认为只输入数据,可是最终用户输入什么都有可能)。
综合考虑输入数据的类型和范围划分等价类,如下图所示:
小数(4),字母(5),特殊字符(6),空格(7),空白(8),30,测试用例-黑盒测试用例的设计,等价类划分的测试用例(扩展),31,测试用例-黑盒测试用例的设计,等价类方法总结等价类划分的步骤先考虑输入数据的数据类型(合法和非法的)再考虑数据范围(合法类型中的合法区间和非法区间)画出示意图,区分等价类为每一个等价类编号从一个等价类中选择一个测试数据构造测试用例,32,测试用例-黑盒测试用例的设计,确定等价类的方法在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
33,测试用例-黑盒测试用例的设计,在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可以确立一个有效等价类和一个无效等价类。
在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。
非法输入值的集合,合法输入值的集合,布尔值,非布尔值,34,测试用例-黑盒测试用例的设计,在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
35,测试用例-黑盒测试用例的设计,淘宝首页手机充值功能如下图所示:
输入的手机号必须满足以下条件:
数字字符必须等于11位必须是以13,14,15和18开头,36,测试用例-黑盒测试用例的设计,1)划分等价类并编号,下表为等价类划分的结果,37,测试用例-黑盒测试用例的设计,2)设计测试用例,以覆盖所有等价类,38,测试用例-黑盒测试用例的设计,39,测试用例-黑盒测试用例的设计,40,测试用例-黑盒测试用例的设计,41,测试用例-黑盒测试用例的设计,42,测试用例-黑盒测试用例的设计,43,测试用例-黑盒测试用例的设计,边界值法对软件最简单的认识就是将其分成两部分:
数据(或其他范围)和程序。
数据包括键盘输入、鼠标单击、磁盘文件和打印输出等。
程序是指可执行的流程、转换、逻辑和运算。
软件测试常用的一个方法是把测试工作按同样的形式划分。
对数据进行软件测试,就是在检查用户输入的信息、返回的结果以及中间计算结果是否正确。
即使最简单的程序要处理的数据量也可能极大,使这些数据得以测试的技巧是,根据一些关键的原则进行等价类的划分,以合理减少测试用例,这些关键的原则是:
边界条件,次边界条件、空值和无效数据。
44,测试用例-黑盒测试用例的设计,程序的很多错误发生在输入或输出范围的边界上,因此针对各种边界情况设置测试用例,可以发现不少程序缺陷。
设计方法:
确定边界情况(输入或输出等价类的边界)选取正好等于、刚刚大于或刚刚小于边界值作为测试数据,45,测试用例-黑盒测试用例的设计,确定边界值的方法如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一、比最大个数多一的数作为测试数据。
如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
46,测试用例-黑盒测试用例的设计,我们还以等价类中讲的例子来讲解边界值的思想。
输入要求是1100之间的整数,因此自然产生了1和100两个边界,我们在设计测试用例的时,要重点考虑这两个边界问题。
47,测试用例-黑盒测试用例的设计,根据边界值方法,测试用例修改如下:
48,测试用例-黑盒测试用例的设计,次边界条件上面讨论的边界条件最容易找到的。
它们在产品说明书中有定义,或者在使用软件的过程中明显。
而有些边界在软件内部,最终用户看不到,但是软件测试员仍有必要进行检查。
这样的边界称为次边界条件。
2的幂。
计算机和软件的基础是二进制数用位(bit)来表示0和1,一个字节(byte)由8位组成,一个字(word)由四个字节组成,等等。
下表列出了常用的2的幂单位及其数值:
49,测试用例-黑盒测试用例的设计,次边界条件ASCII表:
另一种常见的次边界条件是ASCII字符表。
下表是ASCII表的部分清单:
50,测试用例-黑盒测试用例的设计,边界值方法,默认、空白、空值、零值和无另一种看起来很明显的软件缺陷来源是当软件要求输入时比如在文本框不是没有输入正确的信息,而是根本没有输入任何内容,可能单单按了Enter键。
这种情况在产品说明书中常常忽视,程序员也经常遗忘,但是在实际使用中却时有发生。
好的软件会处理这种情况。
它通常将输入内容默认为合法划分中的某个合理值,或者返回错误提示信息。
因为这些值在软件中通常进行不同处理,所以不要把它们与合法情况和非法情况混在一起,而要建立单独的等价划分。
51,非法、错误、不正确和垃圾数据非法、错误、不正确和垃圾数据是很有意思的。
如果软件要求输入数字就输入字母。
如果软件只接受正数就输入负数。
如果软件对日期敏感,就看他在公元3000年是否能正常工作。
假如有“肥胖的手指”,同时按下多个键。
此类测试没有实际的规则,只有设法破坏软件。
要发挥创造力,要走偏门。
在此门中需找乐趣吧。
52,测试用例-黑盒测试用例的设计,作业:
测试微博注册页面“我的手机号”,“创建密码”和“昵称”三个选项:
53,测试用例-黑盒测试用例的设计,作业:
测试微博注册页面“我的手机号”,“创建密码”和“昵称”三个选项:
54,测试用例-黑盒测试用例的设计,因果图法因果图法比较适合输入条件比较多的情况,测试所有的输入条件的排列组合。
所谓的原因就是输入,所谓的结果就是输出。
利用因果图导出测试用例需要经过以下几个步骤:
分析程度规格说明的描述中,哪些是原因,哪些是结果.原因常常是输入条件或输出条件的等价类,而结果是输出条件分析程度规格说明的描述中语义内容,并将其表示成连接各个原因与各个结果的”因果图”标明约束条件。
由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。
把因果图转换成判定表。
为判定表中的每一列表示的情况设计测试用例,55,测试用例-黑盒测试用例的设计,因果图基本图形符号恒等:
若原因出现,则结果出现;若原因不出现,则结果不出现。
非():
若原因出现,则结果不出现;若原因不出现,则结果出现。
或():
若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
与():
若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现。
56,测试用例-黑盒测试用例的设计,因果图的约束符号E(互斥):
表示两个原因不会同时成立,两个中最多有一个可能成立I(包含):
表示三个原因中至少有一个必须成立O(惟一):
表示两个原因中必须有一个,且仅有一个成立R(要求):
表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现M(屏蔽):
两个结果,a为1时,b必须是0,当a为0时,b值不定,57,测试用例-黑盒测试用例的设计,因果图测试用例例如:
有一个处理单价为2.5元的盒装饮料的自动售货机软件。
若投入2.5元硬币,按“可乐”、“啤酒”、或“奶茶”按钮,相应的饮料就送出来。
若投入的是3元硬币,在送出饮料的同时退还5角硬币。
分析这一段说明,我们可列出原因和结果原因(输入):
投入2.5元硬币;投入3元;按“可乐”按钮;按“啤酒”按钮;按“奶茶”按钮。
中间状态:
已投币;已按钮结果(输出):
退还5角硬币;送出“可乐”饮料;送出“啤酒”饮料;送出“奶茶”饮料;,58,测试用例-黑盒测试用例的设计,根据原因和结果,我们可以设计这样一个因果图,59,测试用例-黑盒测试用例的设计,因果图转换为判定表,60,测试用例-黑盒测试用例的设计,根据判定表设计测试用例,61,测试用例-黑盒测试用例的设计,作业:
分析中国象棋中马的走法:
如果落点在棋盘外,则不移动棋子;如果落点与起点不构成日字型,则不移动棋子;如果落点处有自己方棋子,则不移动棋子;如果在落点方向的邻近交叉点有棋子(绊马腿),则不移动棋子;如果不属于1-4条,且落点处无棋子,则移动棋子;如果不属于1-4条,且落点处为对方棋子(非老将),则移动棋子并除去对方棋子;如果不属于1-4条,且落点处为对方老将,则移动棋子,并提示战胜对方,游戏结束。
62,测试用例-黑盒测试用例的设计,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 设计 黑盒 方法