软件测试-白盒测试用例练习题

软件测试-白盒测试用例练习题
软件测试-白盒测试用例练习题

白盒测试用例练习

一、为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。

void DoWork (int x,int y,int z)

{

int k=0,j=0;

if ( (x>3)&&(z<10) )

{ k=x*y-1;

j=sqrt(k); //语句块1

}

if ( (x==4)||(y>5) )

{

j=x*y+10;

} //语句块2

j=j%3; //语句块3

}

由这个流程图可以看出,该程序模块有4条不同的路径:

P1:(a-c-e) P2:(a-c-d)

P3:(a-b-e) P4:(a-b-d)

将里面的判定条件和过程记录如下:

判定条件M={x>3 and z<10}

判定条件N={x=4 or y>5}

1、语句覆盖

2、判定覆盖

也可以让测试用例测试路径P2和P3。相应的两组输入数据如下:

3、条件覆盖

对于M:x>3取真时T1,取假时F1;

z<10取真时T2,取假时F2;

对于N:x=4取真时T3,取假时F3;

y>5取真时T4,取假时F4。

条件:x>3,z<10,x=4,y>5

条件:x<=3,z>=10,x!=4,y<=5

4、判定/条件覆盖

5

条件组合

1)x>3,z<10 2)x>3,z>=10

3) x<=3,z<10 4)x<=3,z>=10

5)x=4,y>5 6)x=4,y<=5

7)x!=4,y>5 8)x!=4,y<=5

6

二、冒泡法排序:

#include<>

main()

{

int i,j,temp;

int a[10];

for(i=0;i<10;i++)

scanf ("%d,",&a[i]);

for(j=0;j<=9;j++) {

for (i=0;i<10-j;i++)

if (a[i]>a[i+1]) {

temp=a[i];

a[i]=a[i+1];

a[i+1]=temp;}

}

for(i=0;i<10;i++)

printf("%5d,",a[i] );

printf("\n");

}

2、程序流程图

3

3白盒测试:语句覆盖

判定覆盖

条件覆盖

路径覆盖

软件测试用例模板

软件测试用例模板

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

功能是否一致。 用例标识LinkWorks_ WorkEvaluate _02 项目 名称 https://www.360docs.net/doc/422714608.html, 开发人员模块 名称 WorkEvaluate 用例作者参考 信息 工作考核系统界面设计 (2005_03_28).vsd 测试类型设计 日期 2006-9- 27 测试 人员 测试方法黑盒测试 日期 用例描述前置条件 编号权 限 ( 并 列 测试项测 试 类 别 描述/输入/操 作 期望结果真 实 结 果 备 注

关系) 000 01 无列 表 页 面 导航栏导 航 测 试 浏览\点击导 航连接 详细正确 导航页面 所在位置 000 02 添加删 除修改 按钮 添加修改删 除按钮是否 可用 不可用 000 03 接受、 汇报按 钮 1)不是自 己负责的 数据未考 核之前能 否接受\汇 报 不能 2)属于自 己负责的 未接受之 前时候是 否可以接 受 能

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

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

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

软件测试用例文档模板(带实例)

软件测试用例模板(带实例) 工程管理系统案例研究项目功能测试用例 编号:Project_MA_Login_1 编号:Project_MA_Interface_3 项目/软件工程管理系统案例研究项目程序版本 1.0.0 功能模块Login 编制人李虎、彭贝贝、唐姣凤用例编号Project_MA_Login_1编制时间 2005-2-22 相关用例Project_MA_Main_1 、Project_MA_Interface_1 、Project_MA_Priority_1 功能特性系统的初始窗体,并进行用户的合法性验证。 测试目的验证是否输入合法的信息,阻止非法登陆,以保证系统的安全特性预置条件数据库中存储了一些用户信息特殊规程说明 (区分大小写) 参考信息需求说明中关于“登录”的说明测试数据用户名= administrators 密码= 1001(数据库表中有相应的信息)操作步骤 操作描述 数据期望结果 实际结果 测试状态(P/F ) 1 选择用户名称,按“提交”按钮。用 户 名 = administrators ,密码为空显示警告信息“帐号 或密码不能为空!” (符合) P 2 选择用户名称,输入错误密码,按 “提交”按钮。用 户 名 为 administrators ,密码=123 显示警告信息 “帐号 或密码不错误!” (符合) P 3 选择用户名称 ,输入密码,按“提交”按钮。 用 户 名 = administrators ,密码 为=1001 进入系统” (符合) P 测试人员 彭贝贝、李绍霞、 唐姣凤 开发人员杨丽娟负责人李虎(手写)

项目/软件工程管理系统案例研究项目程序版本 1.0.0 功能模块Interface编制人李虎、彭贝贝、唐姣凤用例编号Project_MA_Interface_3编制时间2005 – 2– 21 相关用例Project_MA_Interface_1、Project_MA_Interface_2、Project_MA_Priority_1、Project_MA_DBACCESS_1 功能特性维护界面添加操作 测试目的检查维护窗体界面与设计的符合性。 预置条件能够登录进入到系统特殊规程说明(无) 参考信息系统概要设计说明和详细设计说明 测试数据 操作步骤操作描述数据期望结果实际结果测试状态(P/F)1 …………… 2 3 4 5 6 7 8 9 10 11 12 测试人员彭贝贝、李绍霞、 唐姣凤开发人员杨丽娟负责人李虎(手写)

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

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

1、兼容性测试 在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。 测试 目的 配置说明操作系 统 系统 软件 外设应用软件结果 服务器Windo w2000( S) Windo wXp Windo w2000( P) Windo w2003 用例编号TestCase_LinkWorks_W orkEvaluate 项目名称LinkWorks

1.1.

1.2. 疲劳强度测试用例 强度测试也是性能测试是的一种,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。测试目的 测试说明 前提条件连续运行8小时,设置添加 10用户并发 测试需求输入/ 动作 输出/响应是否正常运行 功能1 2小时 4小时 6小时 8小时功能1 2小时 4小时 6小时

8小时 一、功能测试用例 此功能测试用例对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。主要测试技术方法为用户通过GUI (图形用户界面)与应用程序交互,对交互的输出或接受进行分析,以此来核实需求功能与实现功能是否一致。 用例标识LinkWorks_ WorkEvaluate _02 项目 名称 https://www.360docs.net/doc/422714608.html, 开发人员模块 名称 WorkEvaluate 用例参考工作考核系统界面设计

如何设计和执行测试用例

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

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

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

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(图形用户界面)与应用程序交互,对

软件测试之测试用例设计

软件测试之测试用例设计 软件和其他工程产品的测试设计与产品本身的设计一样具有挑战性,然而由于已经讨论过的一些原因,软件工程师经常将测试作为一种事后的措施,开发一些“感觉上正确”但是缺乏完整保证的测试用例。再回头看看测试目标,我们必须设计出最可能发现最多数量的错误、并耗费最少时间和最小代价的测试。 在过去的20年,出现了大量的测试用例设计方法,为开发人员进行测试提供了系统的方法。更重要的是,方法提供了一种有助于确保完全测试的机制,并提供了揭示软件错误的最高可能性。 能够采用以下两种方法之一对任何工程化产品(以及大多数其他东西)进行测试: (1)若了解产品的特定功能,则构造测试,以证实各功能完全可执行,同时在各功能中寻找错误; (2)若了解产品的内部构造,则构造测试,以确保“所有齿轮吻合”,即内部操作依据规约执行,而且所有的内部构件被充分利用。第一种测试方法被称为黑盒测试,第二种则被称为白盒测试。 如果考虑计算机软件,黑盒测试指在软件界面上进行的测试,虽然设计黑盒测试是为了发现错误,它们却被用来证实软件功能的可操作性;证实能很好地接收输入,并正确地产生输出;以及证实对外部信息完整性(例如:数据文件)的保持。黑盒测试检验系统的一些基本特征,很少涉及软件的内部逻辑结构。 软件的白盒测试依赖对程序细节的严密检验,提供运用特定条件和/与循环集的测试用例,对软件的逻辑路径进行测试,在不同的点检验“程序的状态”以判定预期状态或待验证状态与真实状态是否相符。

一眼看去,可能认为全面的白盒测试将产生“百分之百正确的程序”,需要我们做的只是定义所有的逻辑路径、开发相应的测试用例,并评估结果,简而言之,详尽地生成用例以测试程序逻辑。不幸的是,穷举测试带来了必然的计算问题,即使是很小的程序,可能的逻辑路径数量也非常大,例如,考虑 100行C语言程序,在一些基本的数据声明之后,程序包含两个嵌套循环,根据输入的条件分别执行1到20次,在内部循环中,需要四个if-then-else结构,该程序中大约有1014条可能路径! 为了正确表达这个数值,我们假设开发了一个有魔力的测试处理器(“有魔力”是因为不存在这样的处理器)进行穷举测试。该处理器能在一毫秒内开发一个测试用例、进行运行并评估结果,如果每天运行24小时,每年运行365天,则需要3170年的时间来测试这个程序。不可否认,这将导致大多数开发进度表的混乱,对大型软件系统不可能进行穷举测试。 然而,白盒测试不应该被抛弃,可选择有限数量的重要逻辑路径进行测试,检测重要数据结构的有效性,可以综合黑盒测试和白盒测试的属性提供一种方法,以验证软件界面,并有选择地保证软件内部工作的正确性。

通用测试用例模板

通用软件测试用例模板

用例说明 一、用例编号:每个用例唯一的标识 二、用例类型:用例的优先级(根据BUG的等级划分、用户使用的主次功能划分、根据流程划分如基本流或备选流)。 三、用例名称:填写用例的名称,如删除对象,添加内容,进行查询等。 四、模块名称:该用例属于哪个主要模块 五、测试环境: 硬件环境: 列出为测试本软件所使用硬件的配置,如: a.处理机的型号、内存容量; b.所要求的外存储器、媒体、记录格式、设备的型号和台数、联机/脱机; c.I/O设备(联机/脱机?); d.数据传输设备和转换设备的型号、台数。 软件环境: 说明为测试本软件所使用的软件,如: a.操作系统的名称、版本号; b.开发工具名称和版本号; c.数据库管理系统的名称和版本号; d.使用什么测试软件 e.其他支持软件。 六、测试目标:明确测试后所要实现的基本功能及结果,简要强调下面所有子功能可实现的功能和方法,使测试人员了解测试的意图。写出预期要达到的最好状态。 七、用户需求:写出测试模块所要达到的基本用户需要或者用户所需要的完整功能描述 八、前置条件: 描述该操作的前提条件。如:前面删除的对象有(废弃的对象、被引用对象、处在流程中的对象等)各种情况,该处可以描述其中一种。。 九、后置条件: 描述该操作的先关后续链接 十、特殊说明:用户或者开发者有特殊需求或注意事项,需添加在此项。 十一、用例的测试过程 1步骤:用例中需要测试进行的步骤,如1。 2测试内容:测试内容, 3测试预期结果:未测试前合理的正确的结果。 4操作描述:如:点击“高级查询”进入高级查询的页面,键入“姓名”。 5测试输入数据:如果此处输入姓名或其中几个字如“欧阳菲菲”或“欧阳”,均可记录。 6测试结果:记录输出的结果。正确或者错误均记录。对于一个测试完整功能点都会有一个对应的期望的正确结果。该结果可能是一个输出的数据值,也可能是一个 显示效果结果 7测试完成后功能描述 测试无误后对该子项功能模块的整体详细描述。

软件测试用例设计规范

软件测试用例设计规范Software Test Case Design Specification

版本历史 版权信息 本文件内容由XX集团信息技术部负责解释 本文件的版权属于XX集团 任何形式的散发都必须先得到XX集团信息技术部的许可 https://www.360docs.net/doc/422714608.html,/

【目录】 1目的 (4) 2范围 (4) 3名词定义 (4) 4工件 (4) 4.1 输入 (4) 4.2 输出 (5) 5规范内容 (5) 5.1 设计原则 (5) 5.1.1可执行性 (5) 5.1.2可维护性 (5) 5.1.3可代表性 (5) 5.1.4可判定性 (6) 5.2 必要元素 (6) 5.2.1用例包和用例对象名命 (6) 5.2.2测试目的 (6) 5.2.3测试优先级 (6) 5.2.4测试环境 (7) 5.2.5前提条件 (7) 5.2.6后置关联 (7) 5.2.7用例状态 (7) 5.3 综合策略 (7) 5.3.1必要的边界值分析 (7) 5.3.2必要的等价类划分 (8) 5.3.3必要的因果图方法 (8) 5.3.4必要的性能测试方法 (8) 5.3.5面向对象设计方法 (8) 5.4 设计活动 (8) 5.4.1分析和建立测试用例包 (8) 5.4.2分解并建立测试用例对象 (10) 5.4.3建立测试用例对象间关系 (11) 5.4.4设计测试用例 (12) 5.4.5测试实施 (14) 5.5 检查点 (17)

1目的 本规范的目的是为了明确软件测试用例的设计原则,活动和方法,提高软件测试用例的可读性、可执行、可维护性、覆盖程度、以及测试的灵活性,使软件测试用例真正能够指导测试的实施和执行,并成为评估测试结果的度量基准。 2范围 本规范适用于春秋信息技术部所有软件开发项目和产品集成测试和系统测试用例的设计。 3名词定义 4工件 4.1 输入

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

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

手机软件系统测试用例设计举例

一、等价类分析法 等价类划分方法针对手机状态大致可以归几个大类: 1. 按键类(等价法):有效输入和无效输入(有效输入指UM和菜单指示;无效输入指测试菜单功能此时没有定义的按键和用户动作); 2. 外部中断类(等价法):常用、不常用及无效 2.1. 常用:来电和来消息(短信、彩信、push消息);掀合盖;侧键;耳机&FM;情景模式;电量不足 2.2. 不常用:充电;闹钟&记事本&关机时间&整点报时提示;Icon&动画显示;Icon &动画刷新;编辑界面&pop显示框输入为空或满;编辑界面&pop显示框状态输入法默认&字符编码默认;失效SIM卡;大容量等SIM卡兼容;排序;号码识别; 2.3. 无效:“资料读取中…”;“复制中…”;“请稍后再试” 3. 存储器类 3.1. 等价法分类:读或写;不读或不写。 3.2. 因果法分类:先SIM卡后手机;先手机后SIM卡;提示用户选择存储器(对比Nokia)。 3.3. 操作分类:读;写;新增;删除;复制(先删除后新增;先新增后删除) 4. 状态类:正确;错误;变更;用户设定变更 举例一,短消息发送功能: 英文:Default 7-bit alphabet (over 160 characters) 合法等价类:0~160 非法等价类::>160 The quick fox jumps over the lazy brown dog 中文:UCS-2 alphabet (over 70 characters)

合法等价类:0~70 非法等价类::>70 诺基亚(英文):Extended default 7-bit alphabet (over 140 Bytes),智慧短信,可以携带黑白图片。 合法等价类:0~140 非法等价类::>140 在写字板里面输入“联通”二字,保存后,再打开,即出现乱码。 举例二,单个通话实例的拨打与挂断 测试用例标识 测试阶段:系统测试 测试项 单个通话实例的拨打与挂断 测试项属性 A 参照规范 重要级别 高 测试原因 手机在待机状态下,确保手机能正常拨出电话 预置条件 1. 正常信号环境 2. IDLE状态 3. 默认原厂参数设定

软件测试案例分析完整版

软件测试案例分析 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

对软件测试理解 软件测试作为软件质量保证的一种重要方法,近些年来, 软件测试越来越受到产业界、教育界和学术界的重视。软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 1软件测试的方法 黑盒测试 在黑盒测试(或称功能测试)中,不考虑程序的内部结构和表现,其目的是确定程序的输入与输出是否与其规格一致,力图发现以下几类错误: 是否有不正确或遗漏了的功能?在接口上,输入能否正确地接受?能否正确地输出结果? 是否有数据结构错误或外部信息(例如数据文件)访问错误?性能上是否能满足要求? 是否有初始化或终止性错误? 黑盒测试的主要缺点是依赖于规格的正确性(实际情况并非如此)和需要采用所有可能的输入作为测试用例才能保证模块的正确性。 白盒测试 在该方法对软件的过程性细节做细致检查,对程序所有逻辑进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。测试用例从程序的逻辑中产生。确定程序逻辑覆盖有几条原则,其中之一是语句覆盖,要求程序中的每条语句至少执行一次。这条原则是必要的,但不充分,因为部分错误并不能检测出来。 从上至下测试 从上至下测试从程序的顶点模块开始,然后逐步对较低级的模块进行测试。为了模仿被测试模块的低级模块,需要哑模块或桩子模块。从上至下测试的主要好处就是排除了系统测试和集成,它可以让人们看见系统的早期版本并证明系统的正确性。它的效果之一可以提高程序员的士气。从上至下测试的主要缺点是需要桩子模块,并

软件测试用例模板(精品)

软件测试用例模板(精品) XX系统 测试用例 XX系统-测试用例 目录 第一章任务概 述 ..................................................................... ........................................................................ . (2) 1.1. 目 标 ..................................................................... ........................................................................ .. (2) 1.2. ............................................................... ................................................................2 需求与设计概述 1.3. 运行环境...................................................................... .. (2) 1.4. 测试环境...................................................................... .. (2)

1.5. 条件与限 制 ..................................................................... . (2) 1.6. 参考资料...................................................................... .. (2) 第二章测试内容说 明 ..................................................................... . (3) 2.1. 测试方案...................................................................... .. (3) 2.2. 需要测试内容说明...................................................................... .. (3) 2.3. 测试准备工作...................................................................... ..............................................................3 第三章 功能测试用例设 计 ..................................................................... . (4) 3.1. 公用测试用例...................................................................... .. (4)

软件测试用例设计案例

软件测试用例设计案例 等价类型划分法等价类划分是一种典型的黑盒测试方法用这一方法设计测试用例完全不考虑程序的内部结构只根据对程序的需求和说明即需求规格说明书。 由于穷举测试工作量太大以至于无法实际完成促使我们在大量的可能数据中选取其中的一部分作为测试用例。 例如在不了解等价分配技术的前提下我们做计算器程序的加法测试时测试了11121314之后还有必须测试15和16吗能否放心的认为它们时正确的我们感觉15和16与前面的1112都是类似的简单加法。 等价类划分法是把程序的输入域划分成若干部分然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值也就是说如果某一类中的一个例子发现了错误这一等价类中的其他例子也能发现同样的错误反之如果某一类中的一个例子没有发现错误则这一类中的其他例子也不会查出错误。使用这一方法设计测试用例首先必须在分析需求规格说明的基础上划分等价类列出等价类表。 1.划分等价类和列出等价类表。 等价类是指某个输入域的子集合。在该子集合中各个输入数据对于揭露程序中的错误都是等效的。并合理地假定测试某等价类的代表值就等于对这一类其他值的测试。 因此可以把全部输入数据合理划分为若干等价类在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分有两种不同的情况有效等价类和无效等价类。 有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 无效等价类与有效等价类的定义恰巧相反。 设计测试用例时要同时考虑这两种等价类。因为软件不仅要能接收合理的数据也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。 下面给出6条确定等价类的原则①在输入条件规定了取值范围或值的个数的情况下则可以确立一个有效等价类和两个无效等价类。 ②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下可以确立一个有效等价类和一个无效等价类。 ③在输入条件是一个布尔量的情况下可确定一个有效等价类和一个无效等价类。 ④在规定了输入数据的一组值假定n个并且程序要对每一个输入值分别处理的情况下可确立n个有效等价类和一个无效等价类。 软件工程规范、实践与案例分析2⑤在规定了输入数据必须遵守的规则的情况下可确立一个有效等价类符合规则和若干个无效等价类从不同角度违反规则。 ⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下则应再将该等价类进一步地划分为更小的等价类。 在确立了等价类之后建立等价类表列出所有划分出的等价类如表5-1。 表5-1等价类表示例输入条件有效等价类无效等价类............. 2.确定 测试用例根据已列出的等价类表按以下步骤确定测试用例①为每个等价类规定一个唯一的编号②设计一个新的测试用例使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步最后使得所有有效等价类均被测试用例所覆盖③设计一个新的测试用例使其只

浅谈软件测试用例设计的六大误区

在IT行业,软件质量问题日益成为软件企业生存与发展的核心,软件测试作为保障软件质量的有效手段日益得到认可。软件测试作用例设计是软件测试的重要一环,然而很多测试人员(尤其是刚从事测试工作的新人)对测试用例设计的作用和方法还存在认识误区,本文旨在对这些认识误区进行简单剖析。 误区一、好的用例是能发现未知BUG的用例: 首先必须说明,这句话其实是很有道理的,然而很多测试人员都曲解了这句话的原意。他们把测试用例看作孤立的个例,盲目追求设计“难于发现的缺陷”的用例,忘记了测试的目标是尽可能发现程序中存在的缺陷。 软件测试用例是为了有效发现软件缺陷而编写的包含测试目的、测试步骤、期望测试结果的特定集合,对它的评价也只能对测试用例的集合来进行,测试本身是一种验证加确认(validation &verification)的活动,测试需要保证程序做了它应该做的事情,且没有做它不该做的事情。 测试用例的好坏应以是否完整有效覆盖需求为依据,我们不应针对单个的测试用例去评判其好坏,而应对某次测试的用例集合总体作评价。 误区二、测试用例应该详尽,使得未接触系统的人也能进行测试: 测试用例描述的详细程度困扰着许多测试人员。描述简单的用例不利于用例的传递,而描述复杂的用例的设计和维护需要耗费大量的时间。然而很多测试主管或者测试工程师本身,强调测试用例“越详细越好”,全然不顾实际的测试资源不足的事实,一定要写出“没有接触过系统的人员也能进行测试”的用例。 这种做法无疑会耗费了很多的时间和资源,从而极大的压缩测试实施的时间和人力,没有足够的测试执行时间,就无法发现更多的软件缺陷,测试质量也就无从谈起。 测试活动应需要结合自身的资源(测试人员对系统熟悉程度、测试工程师数量、测试时间等)和项目的需求来进行综合考量,以实现质量、时间和成本的最佳平衡。我们建议给测试设计安排30%-40%左右的测试时间,测试工程师可以根据项目的具体情况确定测试用例的颗粒度,在测试用例的评审阶段由相关人员对其把关即可。 误区三、测试用例设计是一劳永逸的事情; 很多测试人员(尤其是对测试技术不太了解的主管)认为设计测试用例是一次性投入,片面追求测试用例设计一步到位,导致设计的测试用例与需求和设计不同步的情况在实际开发过程屡屡出现。 这种认识造成的危害性在于使得设计的测试用例缺乏实用性,误报很多不是软件缺陷的BUG,误导测试用例执行人员,同时也浪费了开发人员的解决BUG的精力和时间。 几乎所有软件项目的开发过程都处于不断变化(随着需求的变更)过程中。设计软件测试

测试用例设计练习

一、等价类划分法 例子1: 现在有一个档案管理系统,容许用户通过输入年月对档案文件进行检索,系统对查询条件年月的输入限定为1990年1月-2049年12月,并规定,日期由6位数字组成,前4位表示年,后2位表示月。 1,根据需求进行分析,找出有哪些输入条件 年份:【1990,2049】 月份:【01,12】 字符长度:6位 字符类型:数字 2,画出等价类

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大要素)

例子2:(学生练习-参考例子) 万年历查询软件,要求用户输入以年月日表示的日期,然后系统会换算出该日期的农历表示法及相关黄历信息。假设日期限定在1990年1月1日~2049年12月31日,并规定

日期由8位数字字符组成,前4位表示年,中间2位表示月,最后2位表示日期。其中4,6,9,11月只有30天,平年的2月份只有28天,闰年的2月份有29天。 备注:闰年指能被4或400整除,且不能被100整除的年份,如:2008,2016 1,根据需求进行分析,找出有哪些输入条件 年份:【1990,2049】 月份:【01,12】 字符长度:8位 字符类型:数字 日期: 4,6,9,11月:【01,30】 1,3,5,7,8,10,12月:【01,31】 平年的2月份:【01,28】 闰年的2月份:【01,29】 2,画出等价类

软件测试用例报告模板

测试用例报告

目录 1、概述 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 3 2、测试策略-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 3 2.1 功能测试------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 4 2.2、界面测试 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 7

软件测试实验(设计测试用例)

实验一、设计测试用例 目标 1、掌握如何编写测试用例 2、掌握如何填写测试报告 实验内容 分析以下程序,掌握在白盒测试中的测试用例的设计方法,包括语句覆盖,分支覆盖,条件覆盖和路径覆盖。 阅读下面的一段程序 void Test1(int X,int Y,int Z) 1 { 2 int k=0,j=0; 3 if((X>3)&&(Z<10)) 4 { 5 k=X*Y-1; 6 j=sqrt(k); 7 } 8 if((X==4)||(Y>5)) 9 j=X*Y+10; 10 j=j%3; 11 }// Test1 根据所给定的程序,该程序的可能路径如下: 路径1:1→2→3→5→6→8→9→10→11 路径2:1→2→3→8→10→11 路径3:1→2→3→8→9→10→11 路径4:1→2→3→5→6→8→10→11 编程实现: (1)设计测试用例,实现分支判定覆盖,使得每个判定中的真假值至少执行一次,并在判定路径中插入一条显示输出语句(printf/cout),输出路径标号。 输入格式:输入(X,Y,Z): 输出格式:输出(k,j):k= j= 路径ID: 例如:输入(X,Y,Z): 2,5,5 ↙(回车) 输出(k,j):k=0 j=0 路径ID:路径2:1→2→3→8→10→11 (2)设计测试用例,实现路径覆盖,使得每个可能路径至少执行一次。 输入格式:输入(X,Y,Z):

输出格式:输出(k,j):k= j= 路径ID: 例如:输入(X,Y,Z): 4,5,5 ↙(回车) 输出(k,j):k=19 j=0 路径ID:路径1:1→2→3→5→6→8→9→10→11 (3)设计测试用例,实现语句覆盖,并在每条语句后插入一条显示输出语句(printf/cout),输出语句标号。 输入格式:输入(X,Y,Z): 输出格式:输出(k,j):k= j= 路径ID: 例如:输入(X,Y,Z): 4,5,5 ↙(回车) 输出(k,j):k=19 j=0 路径ID:路径1:1→2→3→5→6→8→9→10→11 (4)设计测试用例,实现条件覆盖,使得每个判定中的每个条件至少执行一次。 输入格式:输入(X,Y,Z): 输出格式:输出(k,j):k= j= 路径ID: 例如:输入(X,Y,Z): 2,5,15 ↙(回车) 输出(k,j):k=0 j=0 路径ID:路径2:1→2→3→8→10→11 实验设备 装有c语言运行环境的计算机。 实验步骤 步骤一:根据实验要求,设计如下可执行程序: #include"stdio.h" #include"math.h" void Test1(int X,int Y,int Z) { //1 int n=0; int cout[11]={0,0,0,0,0,0,0,0,0,0,0}; cout[n++]=1; int k=0,j=0; //2 cout[n++]=2; cout[n++]=3; if((X>3)&&(Z<10)) //3 { //4 //cout[n++]=4; k=X*Y-1; //5 cout[n++]=5;

测试用例实例—常见功能测试点

笔者在网上看到了一篇文章,个人认为此文对于“软件常用功能测试点”总结的很好,特此摘录下来和大家一起分享。 1. 登陆、添加、删除、查询模块是我们经常遇到的,这些模块的测试点该如何考虑 1)登陆 ①用户名和密码都符合要求(格式上的要求) ②用户名和密码都不符合要求(格式上的要求) ③用户名符合要求,密码不符合要求(格式上的要求) ④密码符合要求,用户名不符合要求(格式上的要求) ⑤用户名或密码为空 ⑥中不存在的用户名,不存在的密码 ⑦数据库中存在的用户名,错误的密码 ⑧数据库中不存在的用户名,存在的密码 ⑨输入的数据前存在空格 ⑩输入正确的用户名密码以后按[enter]是否能登陆 ------------------------------------------------------------------------------------------------------ 2) 添加 ①要添加的数据项均合理,检查数据库中是否添加了相应的数据 ②留出一个必填数据为空

③按照边界值等价类设计测试用例的原则设计其他输入项的测试用例 ④不符合要求的地方要有错误提示 ⑤是否支持table键 ⑥按enter是否能保存 ⑦若提示不能保存,也要察看数据库里是否多了一条数据 ------------------------------------------------------------------------------------------------------ 3) 删除 ①删除一个数据库中存在的数据,然后查看数据库中是否删除 ②删除一个数据库中并不存在的数据,看是否有错误提示,并且数据库中没有数据被删除 ③输入一个格式错误的数据,看是否有错误提示,并且数据库中没有数据被删除。 ④输入的正确数据前加空格,看是否能正确删除数据 ⑤什么也不输入 ⑥是否支持table键 ⑦是否支持enter键 ------------------------------------------------------------------------------------------------------ 4)查询 精确查询:

相关文档
最新文档