测试用例设计

测试用例设计
测试用例设计

软件测试基础:测试用例设计

测试需求收集完毕后,开始测试设计。测试用例是什么?测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题:

测试用例的基本格式

软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。

用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。

测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“ 测试用户登录时输入错误密码时,软件的响应情况” 。

重要级别:定义测试用例的优先级别,可以笼统的分为“ 高” 和“ 低” 两个级别。一般来说,如果软件需求的优先级为“ 高” ,那么针对该需求的测试用例优先级也为“ 高” ;反之亦然,

测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。

操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。

预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。

软件测试用例的设计主要从上述 6 个域考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,可以设计出比较全面、合理的测试用例。具体的测试用例设计方法可以参见相关的测试书籍,白盒测试方法和黑盒测试方法在绝大多数的软件测试书籍中都有详细的介绍,这里不作赘述。

重用同类型项目的测试用例

如果我看得远,那是因为我站在巨人的肩上--牛顿。

一般来说,每个软件公司的项目可以分为固定的几大类。可以按业务类型划分,比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等;可以按软件结构来划分,比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。

参考同类别软件的测试用例,会有很大的借鉴意义。如果,公司中有同类别的软件系统,千万别忘记把相关的测试用例拿来参考。如果,系统非常接近,甚至经过对测试用例简单修改就可以应用到当前被测试的软件。“ 拿来主义” 可以极大的开阔测试用例设计思路,也可以节省大量的测试用例设计时间。

利用已有的软件 Checklist

在上面一个小节中,按照不同的规则划分了不同的软件类型。每种类型的软件都有一定的测试规范,比如, WEB 软件系统在系统测试过程中,会有一系列的范式,比如针对 Cookie 就会有很多测试点。在设计测试用例的时候,不妨到网上去搜索相关的 Checklist ,不过国内外的网站很少有这方面的资料,即便有,也不是特别系统。可以先找一份粗糙的 Checklist ,然后,在设计测试用例的时候不断的去完善它,以作为下次测试用例设计的基础。

加强测试用例的评审

测试用例设计完毕后,最好能够增加评审过程。同行评审是 CMM3 级的一个KPA ,如果因为公司没有通过 CMM3 级,就不开展同行评审是不恰当的。测试用例应该由产品相关的软件测试人员和软件开发人员评审,提交评审意见,然后根据评审意见更新测试用例。如果认真操作这个环节,测试用例中的很多问题都会暴露出来,比如用例设计错误、用例设计遗漏、用例设计冗余、用例设计不充分等等;如果同行评审不充分,那么,在测试执行的过程中,上述本应在评审阶段发现的测试用例相关问题,会给测试执行带来大麻烦,甚至导致测试执行挂起。

定义测试用例的执行顺序

在测试用例执行过程中,你会发现每个测试用例都对测试环境有特殊的要求,或者对测试环境有特殊的影响。因此,定义测试用例的执行顺序,对测试的执行效率影响非常大。比如某些异常测试用例会导致服务器频繁重新启动,服务器的每次重新启动都会消耗大量的时间,导致这部分测试用例执行也消耗很多的时间。那么在编排测试用例执行顺序的时候,应该考虑把这部分测试用例放在最后执行,如果在测试进度很紧张的情况下,如果优先执行这部分消耗时间的异常测试用例,那么在测试执行时间过了大半的时候,测试用例执行的进度依然是缓慢的,这会影响到测试人员的心情,进而导致匆忙地测试后面的测试用例,这样测试用例的漏测、误测就不可避免,严重影响了软件测试效果和进度。因而,合理地定义测试用例的执行顺序是很有必要的。

测试用例执行

测试用例设计完毕后,接下来的工作是测试执行,测试执行中应该注意以下几个问题:

搭建软件测试环境,执行测试用例

测试用例执行过程中,搭建测试环境是第一步。一般来说,软件产品提交测试后,开发人员应该提交一份产品安装指导书,在指导书中详细指明软件产品运行的软硬件环境,比如要求操作系统系统是 Windows 2000 pack4 版本,数据库是 Sql Server 2000 等等,此外,应该给出被测试软件产品的详细安装指导书,包括安装的操作步骤、相关配置文件的配置方法等等。对于复杂的软件产品,尤其是软件项目,如果没有安装指导书作为参考,在搭建测试环境过程中会遇到种种问题。

如果开发人员拒绝提供相关的安装指导书,搭建测试中遇到问题的时候,测试人员可以要求开发人员协助,这时候,一定要把开发人员解决问题的方法记录下来,避免同样的问题再次请教开发人员,这样会招致开发人员的反感,也降低了开发人员对测试人员的认可程度。

测试执行过程应注意的问题

测试环境搭建之后,根据定义的测试用例执行顺序,逐个执行测试用例。在测试执行中需要注意以下几个问题:

全方位的观察测试用例执行结果:测试执行过程中,当测试的实际输出结果与测试用例中的预期输出结果一致的时候,是否可以认为测试用例执行成功了?答案是否定的,即便实际测试结果与测试的预期结果一致,也要查看软件产品的操作日志、系统运行日志和系统资源使用情况,来判断测试用例是否执行成功了。全方位观察软件产品的输出可以发现很多隐蔽的问题。以前,我在测试嵌入式系统软件的时候,执行某测试用例后,测试用例的实际输出与预期输出完全一致,不过在查询 CPU 占用率地时候,发现 CPU 占用率高达 90 %,后来经过分析,软件运行的时候启动了若干个 1ms 的定时器,大量的消耗的 CPU 资源,后来通过把定时器调整到 10ms , CPU 的占用率降为 7 %。如果观察点单一,这个严重消耗资源的问题就无从发现了。

加强测试过程记录:测试执行过程中,一定要加强测试过程记录。如果测试执行步骤与测试用例中描述的有差异,一定要记录下来,作为日后更新测试用例的依据;如果软件产品提供了日志功能,比如有软件运行日志、用户操作日志,一定在每个测试用例执行后记录相关的日志文件,作为测试过程记录,一旦日后发现问题,开发人员可以通过这些测试记录方便的定位问题。而不用测试人员重新搭建测试环境,为开发人员重现问题。

及时确认发现的问题:测试执行过程中,如果确认发现了软件的缺陷,那么可以毫不犹豫的提交问题报告单。如果发现了可疑问题,又无法定位是否为软件缺陷,那么一定要保留现场,然后知会相关开发人员到现场定位问题。如果开发人员在短时间内可以确认是否为软件缺陷,测试人员给予配合;如果开发人员定位问题需要花费很长的时间,测试人员千万不要因此耽误自己宝贵的测试执行时间,可以让开发人员记录重新问题的测试环境配置,然后,回到自己的开发环境上重现问题,继续定位问题。

与开发人员良好的沟通:测试执行过程中,当你提交了问题报告单,可能被开

发人员无情驳回,拒绝修改。这时候,只能对开发人员晓之以理,做到有理、有据,有说服力。首先,要定义软件缺陷的标准原则,这个原则应该是开发人员和测试人员都认可的,如果没有共同认可的原则,那么开发人员与测试人员对问题的争执就不可避免了。此外,测试人员打算说服开发人员之前,考虑是否能够先说服自己,在保证可以说服自己的前提下,再开始与开发人员交流。

及时更新测试用例

测试执行过程中,应该注意及时更新测试用例。往往在测试执行过程中,才发现遗漏了一些测试用例,这时候应该及时的补充;往往也会发现有些测试用例在具体的执行过程中根本无法操作,这时候应该删除这部分用例;也会发现若干个冗余的测试用例完全可以由某一个测试用例替代,那么删除冗余的测试用例。

总之,测试执行的过程中及时地更新测试用例是很好的习惯。不要打算在测试执行结束后,统一更新测试用例,如果这样,往往会遗漏很多本应该更新的测试用例。

提交一份优秀的问题报告单

软件测试提交的问题报告单和测试日报一样,都是软件测试人员的工作输出,是测试人员绩效的集中体现。因此,提交一份优秀的问题报告单是很重要的。软件测试报告单最关键的域就是“ 问题描述” ,这是开发人员重现问题,定位问题的依据。问题描述应该包括以下几部分内容:软件配置、硬件配置、测试用例输入、操作步骤、输出、当时输出设备的相关输出信息和相关的日志等。

软件配置:包括操作系统类型版本和补丁版本、当前被测试软件的版本和补丁版本、相关支撑软件,比如数据库软件的版本和补丁版本等。

硬件配置:计算机的配置情况,主要包括 CPU 、内存和硬盘的相关参数,其它硬件参数根据测试用例的实际情况添加。如果测试中使用网络,那么网络的组网情况,网络的容量、流量等情况。硬件配置情况与被测试产品类型密切相关,需要根据当时的情况,准确翔实的记录硬件配置情况。

测试用例输入 \ 操作步骤 \ 输出:这部分内容可以根据测试用例的描述和测试用例的实际执行情况如实填写。

输出设备的相关输出信息:输出设备包括计算机显示器、打印机、磁带等等输出设备,如果是显示器可以采用抓屏的方式获取当时的截图,其他的输出设备可以采用其它方法获取相关的输出,在问题报告单中提供描述。

日志信息:规范的软件产品都会提供软件的运行日志和用户、管理员的操作日志,测试人员应该把测试用例执行后的软件产品运行日志和操作日志作为附件,提交到问题报告单中。

根据被测试软件产品的不同,需要在“ 问题描述” 中增加相应的描述内容,这需要具体问题具体分析。

测试结果分析

软件测试执行结束后,测试活动还没有结束。测试结果分析是必不可少的重要环节,“ 编筐编篓,全在收口” ,测试结果的分析对下一轮测试工作的开展有很大的借鉴意义。前面的“ 测试准备工作” 中,建议测试人员走读缺陷跟踪库,查阅其他测试人员发现的软件缺陷。测试结束后,也应该分析自己发现的软件缺陷,对发现的缺陷分类,你会发现自己提交的问题只有固定的几个类别;然后,再把一起完成测试执行工作的其他测试人员发现的问题也汇总起来,你会发现,你所提交问题的类别与他们有差异。这很正常,人的思维是有局限性,在测试的过程中,每个测试人员都有自己思考问题的盲区和测试执行的盲区,有效的自我分析和分析其他测试人员,你会发现自己的盲区,有针对性的分析盲区,必定会在下一轮测试用避免盲区。

功能测试用例的设计

功能测试用例的设计 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

一、实验目的 1.用因果图法分析原因结果,并决策表设计测试用例。 2.使用场景法设计测试用例。 二、实验内容 1. 将三角形问题的可能结果扩展为:一般三角形、等腰三角形、等边三角形、直角三角形、等腰直角三角形和非三角形,考虑用因果图法设计测试用例,给出完整步骤。 2. 有一个在线购物的实例,用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用帐号密码登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。使用场景法设计上述问题的测试用例。 三、实验环境 Windows XP系统 四、实验步骤和结果 1. 将三角形问题的可能结果扩展为:一般三角形、等腰三角形、等边三角形、直角三角形、等腰直角三角形和非三角形,用因果图法设计测试用例,给出完整步骤。具体如下: 1)输入的三边分别为a,b,c(斜边) 且a

2. 行在线购买,这时需要使用帐号密码登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。使用场景法设计上述问题的测试用例。

(注:在下面的矩阵中,V(有效)用于表明这个条件必须是 VALID(有效的)才可执行基本流,而 I(无效)用于表明这种条件下将激活所需备选流,“n/a”(不适用)表 对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每一个测

五、实验结果和讨论 成功使用因果图法、场景法设计了测试用例。 六、总结 1.因果图法的定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 2.在事件触发机制中场景法用得最多。在测试一个软件的时候,先确定基本流也就是测试流程中软件功能按照正确的事件流实现的一条正确流程,接着去确定备选流也就是那些出现故障或缺陷的过程,用备选流加以标注。然后可以采用矩阵或决策表来确定和管理测试用例。

黑盒测试用例设计案例

黑盒测试用例设计案例 【例1】假设现有以下的三角形分类程序。该程序的功能是,读入代表三角形边长的3个整数,判定它们能否组成三角形。如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。图9.11显示了该程序的流程图和程序图。为以上的三角形分类程序设计一组测试用例。 【解】 第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:

(1)判断能否组成三角形; (2)识别等边三角形; (3)识别等腰三角形; (4)识别任意三角形。因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。 第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。 等价分类法: 有效等价类 输入3个正整数: (1)3数相等 (2)3数中有2个数相等,比如AB相等 (3)3数中有2个数相等,比如BC相等 (4)3数中有2个数相等,比如AC相等 (5)3数均不相等 (6)2数之和不大于第3数,比如最大数是A

(7)2数之和不大于第3数,比如最大数是B (8)2数之和不大于第3数,比如最大数是C 无效等价类: (9)含有零数据 (10)含有负整数 (11)少于3个整数 (12)含有非整数 (13)含有非数字符 边界值法: (14)2数之和等于第3数 猜错法: (15)输入3个零 (16)输入3个负数 第三步:提出一组初步的测试用例,如下表所示:

第四步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。

系统测试用例设计方法

系统测试用例设计方法 --------------王永安

目录 一、测试用例格式以及写作要点 (3) 二、系统测试用例设计方法 (4) 1、等价类划分法 (5) 2、边界值分析法 (6) 3、判定表法 (7) 4、因果图法 (9) 5、状态迁移图法 (15) 6、流程分析法 (20) 7、正交试验法 (35) 8、错误推测法 (42)

一、测试用例格式以及写作要点 测试用例编号 测试用例编号是由字母和数字组合而成的,用例的编号应该具有唯一性,易识别性。比如可以采用统一的约定,产品编号—ST—系统测试项名—系统测试子项名—编号。这样看到编号就可以知道是做的什么测试,测试的对象是什么。也方便维护。 测试项目 你现在这个测试用例所测的项目名,可以是测试用例所属的大类,被测需求,被测的模块,或者是被测的单元。例如:计算器加法功能。 测试标题 测试标题是对测试用例的简单描述。用概括的语言描述该测试用例的测试点。每个测试用例的标题不能够重复,因为每个测试用例的测试点是不一样的。例如:手机在没有SIM 卡的情况下,拨打119。 重要级别 重要级别分为高中底三等: 高:保证系统基本功能、重要特性、实际使用频率比较高的用例; 中:重要程度介于高和底之间的测试用例; 底:实际使用频率不高、对系统业务功能影响不大的模块或功能的测试用例。 注:一般情况下,重要级别为高的测试用例,一个测试子项里有且尽有一个,大多数都是重要级别为中的测试用例。因为一般我们会进行一个系统测试预测试,如果重要级别为高的太多,则就失去了预测试的实际意义。 预置条件 就是执行当前测试用例的前提条件,如果不满足这些条件,则无法进行测试。 输入 测试用例执行时,需要输入的外部信息。例如某一个文件,数据记录等。

测试用例设计思路举例(参考)

ECShop2.7.2用例设计思路举例 说明 用例设计方法的运用非常灵活,没有绝对的套路可言,以下用例设计思路仅供参考。 操作流程举例 参考文档: ?ECShop_2.7.2_简易操作手册V1.0, ?B2C商城ECShop需求规格说明书_2.7.2V1.0 设计思路: 根据操作手册,理清业务逻辑前后关系,再结合SRS文档确定具体的流程细节和分支流程。可以通过画流程的方式梳理流程(流程分析法),下面是部分主流程的案例: ?正向订单流程_余额付款 1)前台页面浏览商品->加入购物车->结算中心->余额付款 2)后台管理中心订单查询->配货->生成发货单->确认生成发货单->去发货->发货 3)前台页面确认收货END ?正向订单流程_货到付款 1)前台页面浏览商品->加入购物车->结算中心->货到付款 2)后台管理中心订单查询->配货->生成发货单->确认生成发货单->去发货 ?逆向订单流程 1)前台页面确认收货->后台管理中心退货->填写退货信息点确定按钮->确认退货 ?商品添加流程_新商品 1)后台管理中心商品管理->新建商品类型/新建商品分类/新建商品品牌->添加新商品(通用信息,详细描述,其他信息,商品属性,商品相册,关联商品,配件,关联 文章) 考虑完所有流程后,再补充考虑部分异常情况,例如:流程中的先后顺序发生变化,或者跳过某个步骤后,系统能否完成后续流程作业。(有些流程是不可能调换顺序或跳过的) Q:流程分析法在设计测试用例的时候会经过很多页面,操作很多字段,这些页面和字段该如何取值呢? A:流程分析法一般考虑页面或字段的有效取值(一般取等价类中最不容易出错的值),测试过程中不关注页面输入域的各种取值情况,特别是错误取值的情况。目的是为了确保流程是可用的。 Q:流程分析法既然不能证明某个页面或字段没有问题,那用此法有何意义呢,为何不直接考虑验证每个页面和模块的各种有效和无效的取值?

白盒与黑盒测试的测试用例设计(20210110002601)

第 5 章白盒与黑盒测试的测试用例设计 5.1 覆盖率的概念 覆盖率是用来度量测试完整性的一个手段逻辑覆盖和功能覆盖 覆盖率=(至少被执行一次的item 数)/item 总数 5.2 白盒测试的测试用例设计 5.2.1 逻辑覆盖逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,属白盒测试。为了衡量测试的覆盖程度,需要建立一些作为测试彻底度的定量衡量标准。目前常用的覆盖标准是:语句覆盖;判定覆盖;条件覆盖;判定/ 条件覆盖;条件组合覆盖;路径覆盖 一、语句覆盖语句覆盖就是设计若干个测试用例,运行所测的程序,使得每一可执行语句至少执行一次。 二、判定覆盖判定覆盖就是设计若干个测试用例,使程序中的每个判断至少出现一次“真值”和一次“假值”,即程序中的每个分支都至少执行一次。 三、条件覆盖条件覆盖是指利用若干个测试用例,使被测试的程序中,对应每个判断中每个条件的所有可能情况均至少执行一次。 四、判定/ 条件覆盖 判定/ 条件覆盖就是设计足够多的测试用例,使得程序中每个判断条件的所有可能的结果至少取到一次,又使每次判断的每个分支至少通过一次。 五、条件组合覆盖 解决上述问题的新标准是条件组合覆盖。条件组合覆盖就是设计足够多的测试用例,使得每个判断的所有可能的条件取值组合至少执行一次。 六、逻辑覆盖举例 [例1]试用逻辑覆盖测试法为采用冒泡排序(bubble sorting )法进行数据排序的C 程序设

计测试用例。 本例是一个对k 个整数进行升序排序的C 程序,采用的算法是冒泡排序。基 本步骤是: (1)从数组中取出第2 个元素; (2)如果新取出的元素大于等于其前邻元素,则转向第(4)步; (3)如果新取出的元素小于其前邻元素,则与其前邻元素交换位置; (4)将新元素与新的前邻元素比较,若仍小于新的前邻元素,则重复第(3)步; (5)取下一个元素。如果数组中元素已取完则结束排序,否则转向第(2)步。 下面将给出本例的C程序。图2则是排序部分的流程图。 main() { int a[11],i,j,k,temp; scanf(“%d”,k); printf(“input numbers: n”); for(i=1;i<=k;i++) scanf(“ %d”,&a[i]);

白盒测试用例设计方法

1白盒测试用例设计方法 1.1白盒测试简介 白盒测试又称结构测试、逻辑驱动测试或基于程序的测试,一般多发生在单元测试阶段。白盒测试方法主要包括逻辑覆盖法,基本路径法,程序插装等。 这里重点介绍一下常用的基本路径法,对于逻辑覆盖简单介绍一下覆盖准则。 1.2基本路径法 在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出独立路径集合,从而设计测试用例,设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次。 在介绍基本路径测试方法(又称独立路径测试)之前,先介绍流图符号: 图1 如图1所示,每一个圆,称为流图的节点,代表一个或多个语句,流程图中的处理方框序列和菱形决策框可映射为一个节点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。一条边必须终止于一个节点,即使该节点并不代表任何语句,例如,图2中两个处理方框交汇处是一个节点,边和节点限定的范围称为区域。 图2

任何过程设计表示法都可被翻译成流图,下面显示了一段流程图以及相应的流图。 注意,程序设计中遇到复合条件时(逻辑or, and, nor 等),生成的流图变得更为复杂,如(c)流图所示。此时必须为语句IF a OR b 中的每一个a 和b 创建一个独立的节点。

(c)流图 独立路径是指程序中至少引进一个新的处理语句集合,采用流图的术语,即独立路径必须至少包含一条在定义路径之前不曾用到的边。例如图(b)中所示流图的一个独立路径集合为: 路径1:1-11 路径2:1-2-3-4-5-10-1-11 路径3:1-2-3-6-8-9-10-1-11 路径4:1-2-3-6-7-9-10-1-11 上面定义的路径1,2,3 和4 包含了(b)流图的一个基本集,如果能将测试设计为强迫运行这些路径,那么程序中的每一条语句将至少被执行一次,每一个条件执行时都将分别取true 和false(分支覆盖)。应该注意到基本集并不唯一,实际上,给定的过程设计可派生出任意数量的不同基本集。如何才能知道需要寻找多少条路径呢?可以通过如下三种方法之一来计算独立路径的上界: 1. V=E-N+2,E 是流图中边的数量,N 是流图节点数量。 2. V=P+1,P 是流图中判定节点的数量 3. V=R,R 是流图中区域的数量 例如,(b)流图可以采用上述任意一种算法来计算独立路径的数量 1. V=11 条边-9 个节点+2=4 2. V=3 个判定节点+1=4 3. 流图有4 个区域,所以V=4 由此为了覆盖所有程序语句,必须设计至少4 个测试用例使程序运行于这4 条路径。 在采用基本路径测试方法中,获取测试用例可参考以下方式:

测试用例设计方法

测试用例设计方法 一、等价类划分 等价类划分主要适用于单个输入条件,输入为数值型的情况,如果输入规定了输入区间,可划分出一个有效等价类,两个无效等价类;如果输入只规定了输入范围,可划分出一个有效等价类,一个无效等价类。 二、边界值 边界值方法也是适用于单个输入条件的情况,输入类型可以数值、字符等,要测试的边界包括上点、下点、离点。 三、错误推测法 错误推测法主要是测试设计人员的测试经验相关,测试经验不同,设计出来的测试用例也区别很大。 四、因果图法 因果图方法考虑输入的组合,特别适用于多个输入条件相关有关联又相互约束的情况。 设计步骤: 1)罗列出输入与输出; 2)根据输入与输出画出因果图; 3)标出约束跟限制; 4)把因果图转化成判定表; 5)根据判定表的每一列设计测试用例。 五、判定表驱动法 判定表适合于解决多个逻辑条件的组合。将各种逻辑的组合罗列出来,避免遗漏。不能表达重复的操作。 判定表包括条件桩、条件项、动作桩、动作项。 条件桩:列出所有条件,次序无关; 条件项:列出所对应条件的所有可能情况下的取值,如Y或N; 动作桩:列出可能采取的操作,次序无关; 动作项:列出条件项各种取值情况下采取的操作,如X表示。 设计步骤: 1)确定规则个数,条件及各条件取值的组合; 2)列出条件桩、动作桩; 3)列出条件项;

4)列出动作项; 5)初始化判定表; 6)规则简化、合并。 实践方法: Step1:确定规则的个数(假如有n个条件,每个条件有两个取值(0,1),固有2的n 次方种规则); Step2:列出所有的条件桩和动作桩; Step3:填入条件项(如Y或N); Step4:填入动作项(X); Step5:简化合并相似规则(整列) 合并原则一般为:1、以相同动作项出发;2、相同的条件项直接合并;3、相反的条件忽略(注:此处为一般情况,需结合业务再次明确其必要性,否则不予合并) 判定表的优点和缺点: 1)优点:它能把复杂的问题按各种情况一一列举出来,简明而易于理解,也可避免遗漏; 2)缺点:不能表达重复执行的动作,例如循环结构。 选择黑盒测试用例设计方法的综合策略 小贝书屋 | 2016-03-16 22:00 具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法等。这些方法都是比较实用的,但在具体工作中要采用什么方法,需要针对项目的特点加以适当的选择。在实际高水平的测试中,往往需要综合使用各种方法以有效的提高测试效率和测试覆盖度。 以下介绍的是各种测试用例设计方法选择的综合策略,供大家参考。 (1)首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法。 (2)在任何情况下,都必须使用边界值分析法。经验表明,用这种方法设计出的测试用例发现程序错误的的能力最强。 (3)可以使用错误推测法追加一些测试用例,这需要依靠测试工程师的智慧和经验。 (4)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。 (5)如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图法和判定表驱动法。(6)对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。 (7)利用功能图法,我们可以通过不同时期条件的有效性设计不同的测试数据。 (8)对于业务流清晰的系统,可以利用场景法贯穿整个测试案例设计过程,在案例中综合使用各种测试方法。

[方案]编写软件测试用例文档的例子

[方案]编写软件测试用例文档的例子TestCase_LinkWorks_WorkEvaluate 用例编号 LinkWorks 项目名称 WorkEvaluate模块模块名称 研发中心-质量管理部项目承担部门 用例作者 2005-5-27 完成日期 质量管理部本文档使用部门 评审负责人 审核日期 批准日期 注:本文档由测试组提交~审核由测试组负责人签字~由项目负责人批准。 历史版本: 版本/状态作者参与者起止日期备注 V1.1 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI(图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。 项目名称用例标识 LinkWorks_ WorkEvaluate_02 MIIP 陈谦模块名称开发人员 WorkEvaluate 参考信息工作考核系统界面设计(2005_03_28).vsd 用例作者

设计日期测试人员高珍珍测试类型 2014-8-25 黑盒测试日期测试方法 用例描述 前置条件 编号权限测试项测试描述/输入/操作期望结果真实备注 (并列类别结果 关系) 无列导航栏导航浏览\点击导航连接详细正确导航页面所 00001 表测试在位置 页添加删除修添加修改删除按钮是否不可用 00002 面改按钮可用 接受、汇报按1) 不是自己负责的数据不能 钮未考核之前能否接受 \汇报 2) 属于自己负责的未接能 受之前时候是否可以 接受 00003 3) 属于自己负责的数据能 接受后但未考核能否 可以汇报 4) 接受后的数据没有汇不能 报但考核了,是否仍 可以汇报 考核审核按这俩按钮是否可用这两按钮为置灰,不 00004 钮可用 二级联动下功能下拉列表选择 1)默认为“本月由我

常见的测试用例设计方法都有哪些

常见的测试用例设计方法都有哪些 常见的测试用例设计方法都有哪些? 请分别以具体的例子来说明这些方 法在测试用例设计工作中的应用。 1. 等价类划分常见的软件测试面试题划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并 合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 2. 边界值分析法边界值分析方法是对等价类划 分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入

输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据. 3. 错误推测法基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0 的情况。输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例. 4. 因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查

测试用例设计练习

一、等价类划分法 例子1: 现在有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月-2049年12月,并规定,日期由6位数字组成,前4位表示年,后2位表示月。 1,根据需求进行分析,找出有哪些输入条件 年份:【1990,2049】 月份:【01,12】 字符长度:6位 字符类型:数字 2,画出等价类 输入条件有效等价类边界值分析无效等价类 年份【1990,2049】(1)上点:1990,2049(12) 离点:1989,2050 内点:2016 <1990 (2)>2049 (3) 月份【01,12】(4)上点:01,12(13) 离点:00,13 内点:11 <01 (5)>12 (6) 字符长度6位(7)上点:6 离点:5,7 内点:6 <6 (8)>6 (9) 字符类型数字(10)非数字(11)3,为每个等价类规定一个唯一编号(如上图) 4,转换成测试用例 转换测试用例的原则: A,设计一个测试用例尽可能多的覆盖多个有效等价类; B,设计一个测试用例必须对应覆盖一个无效等价类。 有效等价类用例: 用例1:201611 (1)(4)(7)(10) 无效等价类用例: 用例2:198911 (2) 用例3:205011 (3) 用例4:201600 (5) 用例5:201613 (6) 用例6:20161 (8) 用例7:2016113 (9) 用例8:20161a/abcedf (11) 根据边界值分析法分析后补充测试用例 用例9:199001 (12) 用例10:204912 (13) 5,转成正式格式用例(用例写作的8大要素) 用例编号D1223232_ST_Search_Date_001 项目搜索功能 标题输入正确的日期格式成功搜索

测试用例设计

举例1、保险费率计算(按照输入域划分等价类的例子): ?某保险公司承担人寿保险,该公司保费计算方式为:保费=投保额*保险率,保险率依点数不同而有别,10点以上(含10点)费率为0.6%,10点以下费率为0.1%?点数的计算是年龄、性别、婚姻、抚养人数所得的点数的总和 ?输入:年龄、性别、婚姻、抚养人数 ?输出:保险率 输入数据说明: 解答: 第一步:输入和输出变量确认 ?输入:年龄、性别、婚姻、抚养人数 ?输出:保险率 ?等价类划分原则:按照输入变量来确认等价类(有效等价类和无效等价类) 第二步:等价类划分

a t i m e a 第三步:设计测试用例 1、设计测试用例,尽可能的覆盖尚未覆盖的有效等价类。 (1)(8)(10)(12) (2)(9)(11)(13) (3)(8)(10)(14) 2、设计测试用例,使得每一个新设计的测试用例只包含一个无效等价类,其他的选择有效等价类。 (4)(8)(10)(12) (5)(9)(11)(13) (6)(8)(10)(14) (7)(8)(10)(14) (1)(8)(10)(15) (2)(9)(11)(16) (3)(8)(10)(16) 说明:在设计无效部分的测试用例的时候,有效等价类部分,可以任意选择。 思考:若使用边界值法可以增加哪些用例?是否可以用判定表方法设计测试用例? 举例2(因果图法设计测试用例):某电力公司有A 、B 、C 、D 四类收费标准,其规定如下图所示,使用因果图法设计测试用例: 用电类别用电额度用电期间收费类型<100度/月—— A 类居民用电 >=100度/月B 类<10000度/月非高峰期B 类>=10000度/月非高峰期C 类<10000度/月高峰期C 类动力用电 >=10000度/月 高峰期D 类

软件测试用例实例(非常详细)

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。测试目的 配置说明操作系统系统软件外设应用软件结果 服务器Window2000(S) WindowXp Window2000(P) Window2003 用例编号TestCase_LinkWorks_WorkEvaluate 项目名称LinkWorks 模块名称WorkEvaluate模块 项目承担部门研发中心-质量管理部 用例作者 完成日期2005-5-27 本文档使用部门质量管理部 评审负责人 审核日期 批准日期 注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准。历史版本: 版本/状态作者参与者起止日期备注 V1.1 1.1. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。 测试目的

测试说明 前提条件连续运行8小时,设置添加10用户并发 测试需求输入/动作输出/响应是否正常运行 功能1 2小时 4小时 6小时 8小时 功能1 2小时 4小时 6小时 8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务 规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则 的实施是否恰当。主要测试技术方法为用户通过GUI(图形用户界面)与应用程序交互,对 交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。 用例标识LinkWorks_ WorkEvaluate_02 项目名称https://www.360docs.net/doc/8c14875773.html, 开发人员模块名称WorkEvaluate 用例作者参考信息工作考核系统界面设计(2005_03_28).vsd 测试类型设计日期2006-9-27 测试人员 测试方法黑盒测试日期 用例描述 前置条件 编号权限 (并列 关系)测试项测试 类别 描述/输入/操作期望结果真实 结果 备注 00001 无列 表 页 面 导航栏导航 测试 浏览\点击导航连接详细正确导航页面所 在位置 00002 添加删除修 改按钮 添加修改删除按钮是否 可用 不可用 00003 接受、汇报按 钮 1)不是自己负责的数据 未考核之前能否接受 \汇报 不能 2)属于自己负责的未接 受之前时候是否可以 接受 能

测试用例的设计步骤

系统测试之功能测试:测试用例的设计步骤 ——从登陆开始说起 一个完整的software testing life cycle包括诸多内容,本文仅从测试用例的编写开始,聊聊测试用例编写的一般步骤,以使编写的测试用例最大程度上满足完备的要求,而又不产生重复而冗余的负担。 测试用例的来源是产品需求,如果足够幸运,我们应当有一份不错的可依赖的Use Case文档,但大部分情况下,Use Case恐怕是不存在,能有一份不错的PRD文档和原型设计图已经是不错的待遇了,如果可能的话,最好还能够有HLD文档,这些已经足够我们开始写详细的测试用例文档(我相信在这之前无法产出详细的测试用例文档①)。也许LLD文档产生之后或者产品的第一个版本发布之后,我们会不断的更新已有的测试用例,但那将是不断的迭代过程,暂不做讨论。 首先让我们先从理论上了解测试用例编写的一般步骤②: 1、确定测试套件(Test Suite):测试套件是功能上的划分,是相似测试场景的组合,而非技术划分。如果技术设计中各模块耦合度较高(强烈推荐解耦,哪怕复制粘贴代码),可能功能上不相干的模块由于代码重用的原因会在bug fix时互相引致错误,实际上回归测试即是为了避免这种情况。但是我们在做功能测试划分模块时,还是要从用户的角度出发,按照用户场景划分测试的“模块”。值得庆幸的是,相似或相关的功能总是倾向于在同一组页面出现,按钮和输入框、选择菜单等内容并不是随机组合的一堆零件。 2、针对每一个测试套件,确定一个或多个基本流程(basic flow)和可选流程(alternative flow),即测试场景(Test Scenario):可以借助scenario matrix来清晰地对可能出现的场景进行排列组合。值得注意的是,一方面Use Case或PRD文档中的描述很有可能并没有完整的写尽所有的场景,测试人员尽可能地挖掘测试场景,既有可能是出于测试本身的需要,也可能是基于开发团队的工作;另一方面,在复杂系统中,测试场景不可能覆盖所有可能的场景,这便需要测试人员采用一定的测试策略③,对SUT (System under Testing)进行“足够(adequate)”的测试,而不是完全的测试。 3、针对每一个测试场景,确定一到多个测试用例(Test Case):仍然可以借助matrix来清晰地规划测试用例,每一个测试用例都有其对应的预置条件④、输入和期望结果。测试用例分为Positive Test Ca se和Negative Test Case两种,分别用来测试产品是否完成应当完成的工作和不执行不应当完成的操作。更详尽地说,测试用例一般包括以下列column:用例编号/测试场景/用例描述/需求对应/用例分类(Positi ve/Negative)/用例类型/用例级别/是否自动化/预置条件/测试步骤/测试数据/预期结果/实际结果/备注/ 4、增加测试数据(Test Data)完成测试用例:测试数据是测试用例中很重要的内容,一个用例可能对应多套测试数据,测试工程师根据某种测试技术⑤,将尽可能的设计较少的测试数据完成“足够”的测试。 任何规范、流程都是为了让工作更加可靠,对于项目工程,天外飞仙灵机一动应当放在合适的位置,而不应当成为规范和流程的反例存在⑥。 现在让我们开始从登陆(PC端网页,如果是PC客户端比如QQ或手机客户端则又不同)开始说起。 不打开任何网站的登陆框,想象一下登陆框的样子。 然后对照一下本文最后的附图,一个优秀的登陆框除了基本的用户名/密码输入框、登陆按钮之外、(不考虑注册、找回密码、第三方登陆、登陆版本、帮助),包含的内容有:输入框文字提示/免登陆选项/输入

如何设计和执行测试用例

如何设计和执行测试用 例 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

如何设计和执行测试用例测试需求收集完毕后,开始测试设计。 测试用例是什么测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题: 测试用例的基本格式: 软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。 用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。 测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。 重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高” ;反之亦然, 测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。

操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。 预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。 软件测试用例的设计主要从上述 6 个域考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,可以设计出比较全面、合理的测试用例。具体的测试用例设计方法可以参见相关的测试书籍,白盒测试方法和黑盒测试方法在绝大多数的软件测试书籍中都有详细的介绍。 一般来说,每个软件公司的项目可以分为固定的几大类。可以按业务类型划分,比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等;可以按软件结构来划分,比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。参考同类别软件的测试用例,会有很大的借鉴意义。如果,公司中有同类别的软件系统,千万别忘记把相关的测试用例拿来参考。如果,系统非常接近,甚至经过对测试用例简单修改就可以应用到当前被测试的软件。“拿来主义”可以极大的开阔测试用例设计思路,也可以节省大量的测试用例设计时间。 加强测试用例的评审: 测试用例设计完毕后,最好能够增加评审过程。 同行评审是 CMM3 级的一个 KPA ,如果因为公司没有通过 CMM3 级,就不开展同行评审是不恰当的。测试用例应该由产品相关的软件测试人员和软件开发人员评审,提交评审意见,然后根据评审意见更新测试用

web前台测试用例设计

web前台测试用例 转自WEB前台测试用例- 竹林深处- ITeye技术网 站https://www.360docs.net/doc/8c14875773.html,/zjCiKnY 1.1 文本框、按钮等控件测试 1.1.1 文本框的测试 如何对文本框进行测试 a,输入正常的字母或数字。 b,输入已存在的文件的名称; c,输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入256个字符,检查程序能否正确处理; d,输入默认值,空白,空格; e,若只允许输入字母,尝试输入数字;反之;尝试输入字母; f,利用复制,粘贴等操作强制输入程序不允许的输入数据; g,输入特殊字符集,例如,NUL及\n等; h,输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示; i,输入不符合格式的数据,检查程序是否正常校验,如,程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示 在测试过程中所用到的测试方法: 1,输入非法数据; 2,输入默认值; 3,输入特殊字符集; 4,输入使缓冲区溢出的数据; 5,输入相同的文件名; 命令按钮控件的测试 测试方法: a,点击按钮正确响应操作。如,单击确定,正确执行操作;单击取消,退出窗口;b,对非法的输入或操作给出足够的提示说明,如,输入月工作天数为32时,单击”确定“后系统应提示:天数不能大于31; c,对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会; 测试方法: a,一组单选按钮不能同时选中,只能选中一个。 b,逐一执行每个单选按钮的功能。分别选择了“男”“女”后,保存到数据库的数据应该相应的分别为“男”“女”; c,一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空; 测试方法: a,直接输入数字或用上下箭头控制,如,在“数目”中直接输入10,或者单

测试用例八大设计方法和实例

测试用例设计方法 1等价类划分 1.1 理论知识 等价类划分是一种典型的黑盒测试方法。这一方法完全不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭示程序中的错误都是等效的。 等价类合理地假设:某个等价类的代表值,与该等价类的其他值,对于测试来说是等价的。 因此,可以把全部的输入数据划分成若干的等价类,在每一个等价类中取一个数据来进行测试。这样就能以较少的具有代表性的数据进行测试,而取得较好的测试效果。 等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 分类: 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能. 无效等价类:与有效等价类的定义恰巧相反. 设计测试用例时,要同时考虑这两种等价类.因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性. 2)划分等价类的方法: 下面给出六条确定等价类的原则: ①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效

如何设计和执行测试用例

如何设计和执行测试用例测试需求收集完毕后,开始测试设计。 测试用例是什么?测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。设计测试用例需要考虑以下问题: 测试用例的基本格式: 软件测试用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果,下面逐一介绍。 用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。 测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。 重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高” ;反之亦然, 测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。 操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用

例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。 预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。 软件测试用例的设计主要从上述 6 个域考虑,结合相应的软件需求文档,在掌握一定测试用例设计方法的基础上,可以设计出比较全面、合理的测试用例。具体的测试用例设计方法可以参见相关的测试书籍,白盒测试方法和黑盒测试方法在绝大多数的软件测试书籍中都有详细的介绍。 一般来说,每个软件公司的项目可以分为固定的几大类。可以按业务类型划分,比如 ERP 软件、产品数据管理软件、通信软件、地理信息系统软件等等;可以按软件结构来划分,比如 B/S 架构的软件、 C/S 架构的软件、嵌入式软件等等。参考同类别软件的测试用例,会有很大的借鉴意义。如果,公司中有同类别的软件系统,千万别忘记把相关的测试用例拿来参考。如果,系统非常接近,甚至经过对测试用例简单修改就可以应用到当前被测试的软件。“拿来主义”可以极大的开阔测试用例设计思路,也可以节省大量的测试用例设计时间。 加强测试用例的评审: 测试用例设计完毕后,最好能够增加评审过程。 同行评审是 CMM3 级的一个 KPA ,如果因为公司没有通过 CMM3 级,就不开展同行评审是不恰当的。测试用例应该由产品相关的软件测试人员和软件开发人员评审,提交评审意见,然后根据评审意见更新测试用例。如果认真操作这个环节,测试用例中的很多问题都会暴露出来,比如用例设计错

典型测试用例案例讲解

案例一:三角形判断功能测试 输入三条边,判断能否组成三角形,能组成三角形,继续判断能组成等腰三角形?等边三角形?还是直角三角形? 案例二:用户修改个人信息 要求:电话:11位长数字串 密码:18位以内的字符串(包含18位长) 用户登陆后可以修改个人信息,包含:电话号码、密码。 点击“修改用户信息”控件,系统显示所有用户个人信息: 其中用户名和工号不可修改,不能进行输入。密码分旧密码、新密码、验证新密码, 若需修改密码,系统验证旧密码正确,两个新密码相同,则更新密码,旧密码即失效,其他修改项也生效,并提示“用户信息修改成功”; 若旧密码不正确(旧密码是否正确),则提示“用户密码错”,系统将不修改个人信息;若两个新密码不同(两个新密码是否相同),则提示“新密码与验证新密码不同”,系统将不修改个人信息。 若只修改密码外其他信息(是否修改密码),则不需输入两个新密码,系统只验证旧密码正确,就成功更改个人信息,并提示“用户信息修改成功”;如果系统验证旧密码输入不正确,则提示“用户密码错”。

案例三:读书选择 1、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容让你糊涂的话,回到本章重读 2、如果觉得疲倦并且对书的内容感兴趣,同时书中的内容不让你糊涂,继续读下去 3、如果觉得疲倦并且对书中的内容不感兴趣,同时书中的内容不让你糊涂,停止阅读,请休息 4、如果觉得疲倦并且对书的内容不感兴趣,并且书中的内容让你糊涂,请停止阅读,休息 5、不疲倦,对书的内容感兴趣,书中的内容不糊涂,继续读下去 6、不疲倦,不感兴趣,书中内容不糊涂,跳到下一章去读 7、不疲倦、不感兴趣、且糊涂跳到下一章去读 8、不疲倦、感兴趣,且糊涂回到本章重读 案例四:PPT打印功能测试 PowerPoint软件打印功能描述如下: 打印范围分:全部、当前幻灯片、给定范围共三种情况; 打印内容分:幻灯片、讲义、备注页、大纲视图共四种方式; 打印颜色/灰度分: 颜色、灰度、黑白共三种设置; 打印效果分:幻灯片加框和幻灯片不加框两种方式。 请利用如下正交表设计用例。 下面正交表共四个因子,其中每个因子三状态:

测试用例的设计与如何编写测试用例

测试用例的设计与如何编写测试用例 常见的开发模型: V模型、瀑布模型、敏捷开发模型、W模型 软件生命周期: 1、问题的定义及规划 2、需求分析 3、软件设计(明确怎么做!) 4、软件编码 5、软件测试 6、运行维护 测试生命周期: 单元测试:一般是开发完成时 集成测试:单元测试之后,单元之间接口是否正确,数据是否正常传递。比如说注册和充值两个功能是否能够连通。 系统测试:根据测试用例,进行完整的系统测试 验收测试:用户对软件进行验收 软件测试阶段: 单元、集成、系统、验收(正式验收、Alpha测试,Beta测试) 软测方法: 白盒测试、黑盒测试、灰盒测试 软测类型: 功能、界面、安全、兼容性、易用性、性能、压力、负载、恢复测试等 其他测试分类:冒烟测试、回归测试、探索性测试 常用的开发的模型:V模型

V模型 软件测试的分类

软测分类 什么是黑盒测试? 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。不考虑内部结构,在程序接口进行测试。 Alpha、Beta测试的区别? Alpha测试:前期的用户测试,公司内部在模拟实际操作环境下进行的一种验收测试。 Beta测试:后期的用户测试,此时已经通过内部测试,即将真实发布,是软件的在一个或者多个用户的实际使用环境下进行的测试 冒烟测试和回归测试区别? 冒烟测试:在新版本出来的时候,将软件的全部功能过一遍,功能可以正常进行不会影响测试进度,这个版本就可以真正测试了 回归测试:对以前版本中发现的bug在新的版本中验证是否存在且是否引发新的bug 软测用例的设计方法 1、边界值: 选取等于、刚刚大于、刚刚小于边界的值作为测试数据 基本思想是在最小值、略高于最小值、正常值、略低于最大值和最大值等处取值 2、等价类划分: 等价类划分就是把程序的输入域划分成若干部分,然后从每部分选取少量的具有代表性的数据作为测试用例。 无效等价类:不合理的、无意义的输入数据结婚,验证程序处理意外数据的能力 有效等价类:有意义的输入数据的集合,检验程序是否实现了规格说明总的功能和性能 等价类划分方法:按区间划分、数值划分、数值集合划分、限制条件和规则划分 3、错误推算法: 进行错误的操作,验证程序是否对出错的场景和情况有些应对能力,来选择测试用例数据 4、因果法/判定表法: 将判定表的每一列作为依据,设计测试用例。检查输入条件的各种组合情况 5、场景法: 通过描述的业务流程,设计用例来列出不同业务场景,作为测试用例的测试数据 基本流:主要是功能的正常操作流程 分支流:需要程序做非法判断处理的 *测试用例方法的选择*(划重点) 1、进行等价类划分,主要是输入条件的划分,这是提高测试效率最有效的方法 在任何情况下都必须使用边界值分析法,这种方法设计出测试用例发现程序错误的能力最强 2、用错误推测法追加测试用例

相关文档
最新文档