软测-为三角形程序开发判定条件覆盖和条件组合覆盖的测试用例

软测-为三角形程序开发判定条件覆盖和条件组合覆盖的测试用例
软测-为三角形程序开发判定条件覆盖和条件组合覆盖的测试用例

1.为三角形程序开发判定/条件覆盖和条件组合覆盖的测试用例。

1)判定/条件覆盖

对于第一个判定a>0&&b>0&&c>0 :

条件a>0 取真值记为T1,取假值记为-T1

条件b>0 取真值记为T2,取假值记为-T2

条件c>0 取真值记为T3,取假值记为-T3

对于第二个判定( a+b>c)&&(a+c>b)&&(b+c>a ):

条件a+b>c 取真值记为T4,取假值记为-T4

条件a+c>b 取真值记为T5,取假值记为-T5

条件b+c>a 取真值记为T6,取假值记为-T6

a<=0 b<=0 c<=0

a+c>b a+b>c b+c>a

12367 -T1、-T2、-T3、T4 、T5 、T6 367

2.对下面的流程图用逻辑覆盖法设计测试用例(至少三种)

1)..语句覆盖:语句覆盖可以保证程序中的每个语句都得到执行。

测试用例输入为:{ x1=3、x2=0} 输出x3=0 ,程序执行的路径是:

2.判定覆盖:

测试用例输入为:{ x1=2、x2=1} 输出x3=0 ,程序执行的路径是:123578;测试用例输入为:{ x1=3、x2=0} 输出x3=0 ,程序执行的路径是:.

3).条件覆盖

对于第一个判定( (x1=3)or(x2>1) ):

条件x1=3 取真值记为T1,取假值记为-T1

条件x2>1 取真值记为T2,取假值记为-T2

对于第二个判定( (x1>2)and(x2=0) ):

条件x1>2 取真值记为T3,取假值记为-T3

条件x2=0 取真值记为T4,取假值记为-T4

测试用例执行路径覆盖条件覆盖分支

x1=3、x2=2 T1、T2、T3、-T4 34

组合测试模型方法

组合测试模型方法 1 基本信息 好的测试都是基于模型的。 由于软件输入空间的无限性,使得测试人员不可能遍历软件的所有输入。其实,遍历软件的所有输入一般也是没有必要的。优秀的测试设计,往往能够从繁多的测试用例中挑选出有效的用例,用尽可能少的测试输入,覆盖尽可能多的软件需求,这离不开合适的测试模型的支持。 所谓测试模型(Test Model),是测试和测试对象的基本特征、基本关系的抽象。它是测试理论家们根据大量的实际测试应用总结出来的,能够代表某一类应用的内在规律,并对应于适合此类应用的一组测试框架性的东西。 2 组合测试模型 一种相对简单,并且应用十分广泛的模型是组合模型,具有如下特点: 1)、输出是由输入变量之间的逻辑关系决定的。 2)、输出结果不依赖于变量的先后顺序。这一特点是我们理解组合模型的关键。 对于符合组合模型的输入而言,测试用例设计时要注意: 1)、考虑输入变量的不同取值以及这些取值之间的不同组合。 2)、从应用系统中抽象出正确的逻辑表达式,不要遗漏任何一种逻辑组合关系。 在组合模型中最常用的两种测试技术分别为正交设计技术和组合覆盖测试技术。 2.1 正交设计技术介绍: 正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。 采用正交设计法设计测试用例主要包括以下步骤: 确定影响因素。这里的影响因素指对软件运行结果有影响的软件运行条件,一般情况下是指软件的输入以及其它软件运行的环境。这些因素可以通过对软件需求规格、软件概要设计、软件详细设计等文档分析而获得。 确定因素的取值范围或集合。因素的取值范围指软件输入的取值范围或集合以及可用的硬件资源。同样,要通过分析软件需求规格等文档获取这些信息。 确定每个因素的水平。根据因素的取值范围或集合,采用等价类划分、边界值分析等软件测试技术,在每个因素的取值范围或集合里挑选出有效等价类、无效等价类、正好等于、刚刚大于或刚刚小于边界值等有代表性的测试点。例如:对于用下拉框进行输入的字段,下拉框的所有取值都构成了该因素的水平集合。 选择正交表。根据确定的因素和水平,选择合适的正交表。如果没有合适的正交表可用或需要的测试用例个数太多,则要对因素和水平进行调整。 设计测试用例。 2.2 组合覆盖测试技术介绍:

软件测试三角形问题

辽宁工程技术大学上机实验报告

一?实验步骤 1) 1. 打开c与C++程序糸统平台,编与有关二角形冋题的相关程序。 2. 对程序进行语句覆盖测试。 3. 对程序进行判定覆盖测试。 4. 对程序进行分支条件测试。 5. 对程序进行分支条件组合测试。 6. 进行用例设计。选择分支覆盖测试的方法进行测试。 二?程序分析 1.程序代码 #in clude<> 2) main() 3) { 4) int A,B,C; 实验5) printf(" 请输入三角形的三条边:"); 分析6) sca nf("%d %d %d",&A,&B,&C); 7) if((A>0&&B>0&&C>0)&&( (A+B)>C&&(A+C)>B&&(B+C)>A)) 8) { 9) if(A==B&&A==C) 10) printf(" 该三角形是等边三角形!\n"); 11) else 12) if((A==B&&B!=C)||(B==C&&B!=A)||(A==C&&A!=B)) 13) printf(" 该三角形是等腰三角形!\n"); 14) else 15) printf(" 该三角形是普通三角形!\n"); 16) } 17) else 18) { 19) prin tf("ERROR!\n"); 20) return mai n();

22) } 2. 程序流程图 根据代码绘制程序流程图,各边编号为 a , b , c , d , e , f 。如图1 3. 分析 程序主要是根据三个整数a , b , c ,构成一个三角形判定三角形的类 型为等边三角形、等腰三角形、普通三角形还是构成不了三角形。 要求输入的三个整数都是正数,三边都是大于等于 1,小于等于100, 且a+b>c,a+c>b,b+c>a,才能进行以后的判断。否则输出“ ERROR!,返回 主程序。重新输入三个整数 a , b , c 。然后判断三角形的类型。如果 a=b

软件测试用例实例非常详细汇总

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。测试目的 配置说明操作系统系统软件外设应用软件结果 服务器Window2000(S) WindowXp Window2000(P) Window2003 用例编号TestCase_LinkWorks_WorkEvaluate 项目名称LinkWorks 模块名称WorkEvaluate模块 项目承担部门研发中心-质量管理部 用例作者 完成日期2005-5-27 本文档使用部门质量管理部 评审负责人 审核日期 批准日期 注:本文档由测试组提交,审核由测试组负责人签字,由项目负责人批准。历史版本: 版本/状态作者参与者起止日期备注

1.1. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。 测试目的 测试说明 前提条件连续运行8小时,设置添加10用户并发 功能1 2小时 4小时 6小时 8小时 功能1 2小时 4小时 6小时 8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI(图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。

黑盒测试用例设计案例

黑盒测试用例设计案例 【例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个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。

功能测试用例的设计

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

三角形测试(测试用例)

三角形测试用例 题目:输入三个数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形是一般三角形、等腰三角形还是等边三角形时。用等价类划分方法为该程序设计测试用例。 在三角形计算中,要求三角形的三个边长:A B C。 1、当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。 2、若是等腰三角形打印“等腰三角形”,若两个等腰的平方和等于第三边平方和,则打印“等腰直角三角形”。 3、若是等边三角形,则打印:“等边三角形”。 4、画出程序流程图并设计一个测试用例。 分析一下: 1、构成三角形的条件:任意两边之和大于第三边; 2、构成等腰三角形的条件:任意两边相等; 3、构成等腰直角三角形的条件:任意两边相等,而且两条边的平方和等于第三边的平方和; 4、构成等边三角形的条件:三条边都相等。 那么用什么样的设计方法进行测试用例的设计呢? 一、等价类划分:三角形三条边A、B、C的数据类型不同 二、边界值分析:由于三角形的边长可以是正整数或正小数,所以就不对长度进行测试,那么边界值分析就不用了 三、因果图法:三角形的三条边数据输入组合 我们看一下三角形的流程图: 注:改正一个小错误,在判断是否是等腰直角三角形中 A的平方=B的平方+C的平方。由于画图时,网络速度问题,导致真或假的值没有标注。 三角形等价类列表 判定类型有效等价类 无效等价类

一般三角形 ((a>0) Λ(b>0) Λ(c>0))Λ (a<=0 V b<=0 V c<=0) Λ (((a+b)>c) V ((a+c)>b) V ((b+c)>a)) (1) (((a+b)<=c) V ((a+c)<=b) V ((b+c)<=a)) (2) 等腰三角形 (1) Λ (a=b V a=c V b=c)(3) (2) V (a!=b Λ b!=c Λ a!=c) (4) 等边三角形 (1) Λ (a=b=c ) (5) (2) V (a!=b!=c)(6) 根据上表组成的测试用例: 三角形等价类测试用例 ID 输入数据覆盖测试用例输出结果 a b c 1 3 4 5 (1) 一般三角形 2 0 4 5 (2) 非(一般)三角形 3 3 0 5 (2) 4 3 4 0 (2) 5 1 4 5 (2) 6 3 8 5 (2) 7 3 2 1 (2) 8 3 3 5 (3) 等腰三角形 9 3 4 3 10 3 4 4 #include void main () {

软件测试用例参考文件

一、功能测试 1、对话框测试输入进行测试。包括中文字符、英文字符、数字字符、特殊字符、及几种字符的组合。 2、对界面可操作按钮进行测试。包括【新增(N)】【保存(S)】【修改(M)】【查询(A)】【打印(P)】【退出(X)】。同时需要对鼠标右键的菜单进行测试。 3、数据保存测试。将1 和2 进行组合。 4、必要条件控制测试。在做了3 时将必要条件(如:a、编号、姓名不可为空b、编号、姓名不可重复)控制测试联合起来。 二、图形界面测试 1.窗体是否能够基于相关的输入或菜单命令适当的打开 2.窗体是否能够改变大小、移动和滚动 3.窗体的数据是否能够利用鼠标、功能键、方向箭头和键盘操作 4.当窗体被覆盖并重新调用后,窗体是否能够正确再生 5.窗体相关的功能是否可以操作 6.是否显示相关的下拉菜单、工具条、滚动条、对话框、按钮、图标和其他控制,既能正确显示又能调用 7.显示多窗体时,窗体名称是否能够正确表示 8.活动窗体是否能够被反显加亮 9.多用户联机时所有窗体是否能够实时更新 10.鼠标无规则点击时是否会产生无法预料的结果 11.窗体声音及提示是否符合既定编程规则 12.窗体是否能够被关闭 13.窗体控件的大小、对齐方向、颜色、背景等属性的设置值是否和程序设计规约相一致 14.窗体控件布局是否合理、美观 15.窗体控件TAB 顺序是否从左到右,从上到下 16.窗体焦点是否按照编程规范落在既定的控件上 17.窗体画面文字(全、半角、格式、拼写)是否正确 18.鼠标有多个形状时是否能够被窗体识别(如漏斗状时窗体不接受输入)

三、功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下: 1.页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。 2.相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。 3.检查按钮的功能是否正确:如update, cancel, delete, save 等功能是否正确。 4.字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错. 5.字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错. 6.标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确. 7.中文字符处理: 在可以输入中文的系统输入中文,看会否出现乱码或出错. 8.检查带出信息的完整性: 在查看信息和update 信息时,查看所填写的信息是不是全部带出.,带出信息和添加的是否一致 9.信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理. 10.检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理. 11.检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型. 12.检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错. 13.重复提交表单:一条已经成功提交的纪录,back 后再提交,看看系统是否做了处理。 14.检查多次使用back 键的情况: 在有back 的地方,back,回到原来页面,再back,重复多次,看会否出错. 15.search 检查: 在有search 功能的地方输入系统存在和不存在的内容,看search 结果是否正确.如果可以输入多个search 条件,可以同时添加合理和不合理的条件,看系统处理是否

请写出判断三角形的代码设计用例达到测试效果语句覆盖判定覆盖条件组合覆盖基本路径测试法

请写出判断三角形的代码,设计用例达到测试效果 语句覆盖 判定覆盖 条件组合覆盖 #include void main() { int a, b, c; printf("please enter three integer:"); scanf("%d%d%d", &a, &b, &c); if(0c && a+c>b && c+b>a) { if(a==b && b==c && a==c) //这里可以省掉一个判断 { printf("1是等边三角形"); } else { if(a==b || b==c || a==c) { printf("2是等腰三角形"); } else { if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a) { printf("3是直角三角形"); } else { printf("4是一般三角形"); } } } } else { printf("5不能组成三角形"); } } else {

printf("6某些边不满足限制"); } } 1.为三角形程序开发判定/条件覆盖和条件组合覆盖的测试用例。 1)判定/条件覆盖 对于第一个判定a>0&&b>0&&c>0 : 条件a>0 取真值记为T1,取假值记为-T1 条件b>0 取真值记为T2,取假值记为-T2 条件c>0 取真值记为T3,取假值记为-T3 对于第二个判定( a+b>c)&&(a+c>b)&&(b+c>a ): 条件a+b>c 取真值记为T4,取假值记为-T4 条件a+c>b 取真值记为T5,取假值记为-T5 条件b+c>a 取真值记为T6,取假值记为-T6

组合测试用例工具讲解

组合测试用例工具介绍 绿光 根据我自己使用的情况,给大家介绍两款组合用例测试工具,pict和allpairs。Pict和allpairs都是基于组合分析的测试用例用具,在测试某些功能时,我们会面对庞大测试用例组合情况,通过pict和allpairs工具可以减少我们的测试用例数,并且可以保持较高的测试覆盖率。 1.PICT 微软开发的工具PICT(Pairwise Independent Combinatorial Testing tool)类似AETG的方法选择候选测试用例,它是基于Pairswise算法程序的工具,可以有效地按照组合原理进行测试用例设计。 1.1 PICT参数文件格式 PICT模型文件,文件中至少包含参数定义。子模型定义及约束定义可选。如下所示:[parameter definitions] 参数定义格式:,…… [sub-model definitions] 子模型定义格式:{ ,… } @ N [constraint definitions] 规则约束:IF THEN 条件语句,此外在条件语句中支持:=、<>、>、>=、<、<=、LIKE、NOT、AND、OR……还可支持同类参数的互相比较。 下面我以川航后台的权限管理为例,简单讲解一下他们的利用。权限模块的例子选取有一定局限性,大家能明白这样子的工具方法就行,在以后的测试中,遇到适合情况能够方便使用。 如图:权限管理页面的页面元素和取值情况。页面共有25个模块功能,每个模块功能有0,1,2三种取值。如果我们要做到权限测试用例的全覆盖。那么我们需要设计3^25 = 847 288 609 443个用例去覆盖组合情况。然而实际中我们根本不可能做到全覆盖,时间和成本都不允许。

三角形问题- 等价类法(实验报告)2011-9-27

一、实验环境 Visual C++ 6.0软件环境 二、实验原理 软件测试是通过运行所开发的软件产品,识别和控制软件缺陷,以验证和确认用户需求已得到满足的过程。 三、给出三角形等价类表和测试用例表? 三角形问题:输入三个整数a、b、c分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形)以及构不成三角形。现在要求输入三个整数a、b、c,必须满足以下条件: 条件1 1≤a≤100 条件4 a≤b+c 条件2 1≤b≤100 条件5 b≤a+c 条件3 1≤c≤100 条件6 c≤a+b

解:(开发程序清单) #include int i = 0; void main(void){ while(i==0) { int a,b,c; cout<<"请输入3个整数:"<>a>>b>>c; if (!(a+b<=c||a+c<=b|| b+c<=a)&&(a>=1&&a<=100)&&(b>=1&&b<=100)&&(c>=1&&c<=100)) { if (a==b && a==c) cout<<"等边三角形"<100) cout<<"a="<100) cout<<"b="<100) cout<<"c="<=b+c) cout<<"不满足a=a+c) cout<<"不满足b=b+a) cout<<"不满足c

c语言单元测试用例全自动生成软件wings介绍

wings是一款用于单元测试测试用例驱动框架自动生成工具,简单来说这款工具主要是全自动生成单元测试驱动代码与测试数据。 下面我们尝试使用wings来完成单元测试框架与测试数据的自动生成。 首先准备好需要测试的C语言工程,本文以大型开源软件Mysql为例。 第一步:打开wings工具,选择被测工程的主要目录。 第二步:点击工程操作中的分析生成,对工程目录下的.c文件进行解析,保存为XML 的格式,生成的文件保存在工程目录下的FunXml与GlobalXml中,分别是函数信息与全局变量的信息,点击驱动文件结构图,即可看到对应文件的函数结构信息。

上图可以查看所有.c文件的驱动函数,以及函数所对应的参数信息与全局变量的信息。 第三步:点击功能操作驱动生成,完成项目的驱动框架自动生成,驱动文件保存在wings_projects下的Driver文件夹下。点击驱动文件,即可看到对应.c文件的驱动生成代码。 点击单个函数,可以高亮定位到函数所在位置,并且双击函数参数,可以定位到每个参数的赋值单元,查看每个参数的具体驱动赋值代码。 第四步:点击值功能操作的值生成按钮,则对应生成测试数据。

界面上显示为单个函数的测试数据,可依据需要修改测试次数,重新生成测试数据文件,也可依据需要修改特定的测试数据。 第五步:将驱动文件加载到所在工程目录,与源文件一起编译,即可运行。 如果想查看对应的函数信息与全局变量信息,则右键对应打开对应的Parameter Struture Description(函数信息结构体)与Global Parameter Struture Description(全局变量结构图)。 Parameter Struture Description(函数信息结构体):显示函数的名称,参数个数,参数类型以及复杂类型的展开形式。 Global Parameter Struture Description(全局变量结构图):显示全局变量的结构信息。 使用过程中注意事项: (1)编译源文件过程中,需要手动注释调源文件中的main函数,wings将自动生成调用驱动函数的主函数。 (2)遇到特殊类型的赋值或者系统变量的驱动构造,可自行添加模板赋值方式,添加之后,再次生成驱动文件即可。 例如:遇到FILEL类型的赋值,可在模板中添加对应的赋值方式。

教学项目:判断三角形类型程序的测试

教学项目:判断三角形类型程序的测试 需求:(程序的规格说明要求) 有一个程序,用来判断一个三角形的类型。输入三个整数a、b和c分别作为三角形的三条边的边长,通过程序来判断由这三条边构成的三角形类型是等边三角形、等腰三角形、一般三角形还是非三角形(不能构成一个三角形)。用决策表法对该程序进行测试。 分析:等价类划分法和边界值分析方法的局限性 等价类划分法和边界值分析方法比较适合输入变量或输入条件相互独立的情况,但是当输入变量或输入条件相互依赖、相互制约的时候,采用等价类划分法和边界值分析方法是难以描述的,测试效果也很难保障。 在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题。 分析:什么是决策表? 1、决策表也称判定表,是分析和表达多逻辑条件下执行不同操作的情况的工具。 2、决策表能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏,设计出完整的测试用例集合。 在所有的黑盒测试方法中,基于决策表(也称判定表)的测试是最为严格、最具有逻辑性的测试方法。 知识点:采用决策表法设计测试用例的步骤: (1)列出所有的条件桩和动作桩。 (2)确定规则的个数。 有n个条件(每个条件取真、假值的情况)的决策表有2n个规则。 (3)填入条件项。 (4)填入动作项,得到初始决策表。 (5)简化决策表,合并相似规则(相同动作)。 如果两条或多条规则的动作项相同,条件项只有一项不同,则可以将该项合并,合并后的条件项用符号“-”表示,说明执行的动作与该条件的取值无关,称为无关条件。 (6)根据决策表设计测试用例。 一条规则一个测试用例,排除掉不可能的规则。 解答: (1)列出所有的条件桩和动作桩。 条件桩—列出问题的所有条件。(通常认为列出的条件的先后次序无关紧要) 动作桩—列出问题规定的可能采取的操作。(这些操作的排列顺序没有约束) 运用决策表设计测试用例时,可将条件理解为输入,将动作理解为输出。 分析:这一步是关键,如何得到三角问题的“条件桩”和“行动桩” ? 我们可以通过分析三角问题的处理过程得到: 当判断出a=b=c时,程序输出“等边三角形”。 当判断出a=b或b=c或a=c时,程序输出“等腰三角形”。 当a!=b且b!= c且c!=a时,程序输出“一般三角形” 可以看出程序的输出由a,b,c之间是否相等的关系决定,即a=b?, a=c?, b=c?,这样我们可以把a=b?, a=c?, b=c?当作条件桩,把程序的输出当作动作桩。

精选软件测试笔试题目及答案

精选软件测试笔试题目及答案 软件测试去面试的时候都会做哪些题目呢?下面是收集的精选软件测试笔试题目及答案,欢迎大家阅读。 1、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容? (1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失; (2)一个模块的功能是否会对另一个模块的功能产生不利的影响; (3)各个子功能组合起来,能否达到预期要求的父功能; (4)全局数据结构是否有问题; (5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。 2、简述集成测试与系统测试关系?

(1)集成测试的主要依据概要设计说明书,系统测试的主要依据是需求设计说明书; (2)集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以及相关外设的测试。 3、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包括哪些? 用户手册 安装和设置指导 联机帮助 指南、向导 样例、示例和模板 授权/注册登记表 最终用户许可协议

4、软件系统中除用户文档之外,文档测试还应该关注哪些文档? 开发文档 软件需求说明书 数据库设计说明书 概要设计说明书 详细设计说明书 可行性研究报告 管理文档 项目开发计划 测试计划 测试报告

开发进度月报 开发总结报告 5、简述软件系统中用户文档的测试要点? (1)读者群。文档面向的读者定位要明确。对于初级用户、中 级用户以及高级用户应该有不同的定位 (2)术语。文档中用到的术语要适用与定位的读者群,用法一致,标准定义与业界规范相吻合。 (3)正确性。测试中需检查所有信息是否真实正确,查找由于 过期产品说明书和销售人员夸大事实而导致的错误。检查所有的 目录、索引和章节引用是否已更新,尝试链接是否准确,产品支 持电话、地址和邮政编码是否正确。 (4)完整性。对照软件界面检查是否有重要的分支没有描述到,甚至是否有整个大模块没有描述到。 (5)一致性。按照文档描述的操作执行后,检查软件返回的结 果是否与文档描述的相同。 (6)易用性。对关键步骤以粗体或背景色给用户以提示,合理

软件测试用例分析 习题完美整合版

场景分析法 一、以答题业务为例: 1.答对题目增加题目积分,积分达到设定值时奖励一个礼包; 2.取题规则为随机不重复; 3.答错题目后答新题. 开始答题 是否存在 有效题目 提供题目及备选答案 答案是否 正确 增加题目积分 积分大于或等于设定值?给予无有效题目提示 结束奖励一个礼包

1.确定基本流与备选流 基本流: 步骤1. 开始答题 步骤2. 判断是否存在有效题目,存在有效题目,处理:提供题目及备选答案 步骤3. 用户答题并答对题目,增加用户相应积分。 步骤4. 判断积分是否达到设定值,达到,获取一个礼包,流程结束。 备选流1: 不存在有效题目 基本流步骤2时,题库不存在未答题目,处理:给予无有效题目提示,流程结束。备选流2: 答错题目 基本流步骤3时,答错题目,处理:提示用户答错题目,回到基本流步骤2 备选流3:答题后积分达不到设定值 基本流步骤4时,答对题后积分仍达不到设定值,处理:回到基本流步骤2 2.确定以下用例场景: 3.通过从确定执行用例场景所需的数据元素入手构建矩阵

4.设计数据,把数据填入上面的用例表中 二、下图所示是ATM例子的流程示意图。

2.场景设计:下表所示是生成的场景。 3.用例设计

4.测试用例表

三、用户进入一个在线购物网站进行购物,选购物品后,进行在线购买,这时需要使用账号登录,登录成功后,进行付钱交易,交易成功后,生成订购单,完成整个购物过程。 第一步:确定基本流和备选流 基本流:登录在线网站→选择物品→登录账号→付款→生成订单; 备选流1:账户不存在; 备选流2:账户密码错误; 备选流3:用户账户余额不足; 备选流4:用户账户没钱。 第二步:根据基本流和备选流确定场景 场景1成功购物:备选流; 场景2账号不存在:基本流,备选流1; 场景3账号密码错误:基本流,备选流2; 场景4账户余额不足:基本流,备选流3; 场景5账户没钱:基本流,备选流4。 第三步:对每一个场景生成相应的测试用例 测试用例 ID 场景/条件账号密码 用户账 号余额 预期结果 1 场景1:成功购物V V V 成功购物 2 场景2:账号不存在 1 n/a n/a 提示账号不存在 3 场景3:账号密码错误 (账号正确,密码错误)V 1 n/a 提示账号密码错误,返 回基本流步骤3 4 场景4:用户账号余额不 足V V 1 提示用户账号余额不 足,请充值 5 场景5:用户账号没钱V V 1 提示用户账号没有钱, 请充值 第四步:设计测试数据 测试用例ID 场景/条件账号密码 用户账 号余额 预期结果 1 场景1:成功购物Test 123456 800 成功购物,账号余额减少 100元 2 场景2:账号不存在aa n/a n/a 提示账号不存在 3 场景3:账号密码错误 (账号正确,密码错误)Test 111111 n/a 提示账号密码错误,返回 基本流步骤3 4 场景4:用户账号余额不 足Test 123456 50 提示用户账号余额不足, 请充值 5 场景5:用户账号没钱Test 12345 6 0 提示用户账号没有钱,请 充值

软件测试案例三角形白盒测试

一、核心程序代码 /** 判断三角形的类*/ public class TriangleTestMethod { /** 判断三角形的种类。参数a, b, c 分别为三角形的三边, * 返回的参数值为0 ,表示非三角形; * 为 1 ,表示普通三角形; * 为 2 ,表示等腰三角形; * 为 3 ,表示等边三角形。 */ public static int comfirm( int a, int b, int c) { if ((a + b > c) && (b + c > a) && (a + c > b)) { if ((a == b) && (b ==c)) // 判断为等边三角形 return 3; if ((a == b) || (b == c) || (a == c)) // return 2; else // 判断为普通三角形return 1; } else { // 为非三角形 return 0; } } } // 判断为三角形判断为等腰三角形

、程序流程图 三、测试用例

F6, F7, T8 Case28 a=4, b=3, c=3 2 T1, T2, T3, F4, T5, F6, T7, F8 2 Case29 a=3, b=4, c=5 1 T1, T2, T3, F4, F5, F6, F7, F8 1 Case30 a=3, b=4, c=3 2 T1, T2, T3, F4, F5, F6, F7, T8 2 备注 其他条件组合,无法到达结束 四、程序控制流图 -> a B a == b E F b == c Return 3 Ffet urn 2 Ret ur n 1 K 输入 期望输出 覆盖对象 测试结果 Case31 a=1,b=6,c=7 0 A->D 0 Case32 a=7, b=6, c=1 0 A->B->D 0 Case33 a=1,b=7,c=6 0 A->B->C->D D Return 0 G b == c Ret ur n 2 H 斗 J a == C

三角形问题的等价类测试用例

四种可能出现的输出:非三角形、不等边三角形、等腰三角形和等边三角形 可以使用这些输出标识如下所示的输出(值域)等价类: R1={〈a,b,c〉:有三条边a、b和c的等边三角形} R2={〈a,b,c〉:有三条边a、b和c的等腰三角形} R3={〈a,b,c〉:有三条边a、b和c的不等边三角形} R4={〈a,b,c〉:三条边a、b和c不构成三角形} 四个弱一般等价类测试用例是: 测试用例 a b c 预期输出 WN1 5 5 5 等边三角形 WN2 2 2 3 等腰三角形 WN3 3 4 5 不等边三角形 WN4 4 1 2 非三角形 由于变量a、b和c没有有效区间,则强一般等价类测试用例与弱一般等价类测试用例相同。 考虑a、b和c的无效值产生的以下额外弱健壮等价类测试用例: 测试用例 a b c 预期输出 WR1 -1 5 5 a取值不在所允许的取值值域内 WR2 5 -1 5 b取值不在所允许的取值值域内 WR3 5 5 -1 c取值不在所允许的取值值域内 WR4 201 5 5 a取值不在所允许的取值值域内 WR5 5 201 5 b取值不在所允许的取值值域内 WR6 5 5 201 c取值不在所允许的取值值域内

以下是额外强健壮性等价类测试用例三维立方的一个“角”: 测试用例 a b c 预期输出 SR1 -1 5 5 a取值不在所允许的取值值域内 SR2 5 -1 5 b取值不在所允许的取值值域内 SR3 5 5 -1 c取值不在所允许的取值值域内 SR4 -1 -1 5 a、b取值不在所允许的取值值域内SR5 5 -1 -1 b、c取值不在所允许的取值值域内SR6 -1 5 -1 a、c取值不在所允许的取值值域内SR7 -1 -1 -1 a、b、c取值不在所允许的取值值域内

软件测试-学生管理系统软件测试用例

学生管理系统软件测试用例

测试用例 测试用例 软件测试是软件开发时期的最后一个阶段,也是软件质量和可靠性保证中至关重要的一个环节。软件测试的基本任务是通过在计算机上执行程序,暴露出程序潜在的错误,以便进行纠错,从而保证程序的可靠运行,降低软件的风险。 测试用例: 所谓测试用例,就是意发现错误为目的而精心设计的一组测试数据。测试一个程序,需要数量足够的一组测试用例,用数据词典的表示方法表示,可以写成:测试用例={输入数据+输出数据}这个是式子还表明,每一个完整的测试用例不仅包含有被测程序的输入数据,而且还包括用这组数据执行被测数据之后的预期的输出结果。每次测试,都要把实测的结果与期望结果做比较,若不相符,就表明程序可能存在错误。 白盒测试就是根据源代码进行测试的,用白盒测试涉及测试用例,有两种测试用例,有两种常用技术:逻辑覆盖法测试用例,基本路径法测试用例。 黑盒测试就是根据被测程序功能来进行测试,所以也称为功能测试。用黑盒法涉及测试用例,有四种常用技术;等价分类法,边界值分析法,决策表法、错误推测法和因果图法。 整个测试基于需求文档,看是否能满足需求文档中所有需求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,适用于对系统的功能进行测试。 黑盒测试 黑盒测试概念: 被称为功能测试或数据驱动测试。在测试时,把被测程序视为一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下进行。 采用黑盒测试的目的主要是在已知软件产品所应具有的功能的基础上,进行:(1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要求是否满足。 (2)检测人机交互是否错误,检测数据结构或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性。 (3)检测程序初始化和终止方面的错误。

测试一个三角形的用例怎么写

测试一个三角形的用例怎么写? 浏览次数:1450次悬赏分:0|解决时间:2011-2-23 10:50 |提问者:军小晴 面试的时候,面试官问我:“测试一个三角形的用例怎么写?”,我当时晕了,回答了几个特殊情况,感觉他不太满意,具体的该怎么回答呢? 最佳答案 一、等价类划分:三角形三条边A、B、C的数据类型不同 二、边界值分析:由于三角形的边长可以是正整数或正小数,所以就不对长度进行测试,那么边界值分析就不用了 三、因果图法:三角形的三条边数据输入组合 我们看一下三角形的流程图: 我们再分析一下三角形的等价类: 有效等价类: 输入3个正整数或正小数: 1、两数之和大于第三数,如A0) (1) (B>0) (2) (C>0) (3) (A+B>C) (4) (B+C>A) (5) (C+A>B) (6) (A<=0) (7) (B<=0) (8) (C<=0) (9) (A+B<=C) (10) (B+C<=A) (11) (C+A<=B) (12) 是否是等腰三角形

(A=B) (13) (B=C) (14) (C=A) (15) (A!=B)and(B!=C)and(C!=A) (16) 是否是等腰直角三角形: (A=B)and(A^2+B^2=C^2) (17) (B=C)and(B^2+C^2=A^2) (18) (C=A)and(C^2+A^2=B^2) (19) 是否是等边三角形: (A=B)and(B=C)and(C=A) (20) (A!=B) (21) (B!=C) (22) (C!=A) (23) 三角形测试用例: 序号[A,B,C] 覆盖等价类输出 1 [3,4,5] (1)(2)(3)(4)(5)(6) 是三角形 2 [0,1,2] (7) 非三角形 3 [1,0,2] (8) 非三角形 4 [1,2,0] (9) 非三角形 5 [1,2,3] (10) 非三角形 6 [1,3,2] (11) 非三角形 7 [3,1,2] (12) 非三角形 8 [3,3,4] (1)(2)(3)(4)(5)(6)(13) 等腰三角形 9 [3,4,4] (1)(2)(3)(4)(5)(6)(14) 等腰三角形 10 [3,4,3] (1)(2)(3)(4)(5)(6)(15) 等腰三角形 11 [2√2,2√2,4] (1)(2)(3)(4)(5)(6)(17) 等腰直角三角形 12 [4,2√2,2√2] (1)(2)(3)(4)(5)(6)(18) 等腰直角三角形 13 [2√2,4,2√2] (1)(2)(3)(4)(5)(6)(19) 等腰直角三角形 14 [3,4,5] (1)(2)(3)(4)(5)(6)(16)(20)(22)(23)(24) 是三角形 15 [3,3,3] (1)(2)(3)(4)(5)(6)(16)(21) 等边三角形 16 [,,,] 无效等价类错误提示 17 [-3,4,5] 无效等价类错误提示 18 [a,3,@] 无效等价类错误提示 19 [3,4] 无效等价类错误提示