软件测试用例分享ppt,软件测试用例(白盒).ppt

软件测试用例(白盒).ppt

实用软件测试培训 测试方法 软件结构测试方法 白盒法考虑的是测试用例对程序内部逻辑的覆盖程度。最彻底的白盒法是覆盖程序中的每一条路径,但是由于程序中一般含有循环,所以路径的数目极大,要执行每一条路径是不可能的,只能希望覆盖的程度尽可能高些。 为了衡量测试的覆盖程度,需要建立一些标准,目前常用的一些覆盖标准从低到高分别是: 语句覆盖。 判定覆盖。 条件覆盖。 判定/条件覆盖。 条件组合覆盖 语句覆盖:就是设计若干个测试用例,运行所测程序,使得每一条可执行语句至少执行一次。 判定覆盖(或称分支覆盖) :执行足够的测试用例,使得程序中的每一个分支至少都通过一次。 条件覆盖”:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。 判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。 条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。 一个程序模块的例子 一个程序模块的例子 4条路径应该满足的逻辑表达式分别为: 设定:M={(A>1)and(B=0)};N={(A=2)or(X/A>1)},”/M”表示M的反,”/N”表示N的反 L1(a→c→e)= M and N = {(A>1)and(B=0)}and {(A=2)or(X/A>1)} L2(a→b→d)=/M and /N = {(A>1)and(B=0)}and {(A=2)or(X/A>1)} L3(a→b→e)=/M and N = {(A>1)and(B=0)}and {(A=2)or(X/A>1)} L4(a→c→d)= M and /N = {(A>1)and(B=0)}and {(A=2)or(X/A>1)} 由符号”and”连接起来的语句是为了遍历这条路径各个输入变量应取值的范围,而由”or”划分了几组可选的取值。 根据上面的逻辑表达式,就可以用来设计测试用例了。 语句覆盖 语句覆盖就是设计若干个测试用例,运行所测程序,使得每一条可执行语句至少执行一次。 结合上面的例子,所有可执行语句就在路径L1上,所以选择路径L1来设计测试用例,就能覆盖所有的可执行语句。 测试用例的设计格式如下: [输入的(A,B,X),输出的(A,B,X)] 为覆盖路径: L1(a→c→e)= M and N。 能够设计的测试用例: [(2,0,4),(2,0,3)],覆盖ace[L1]。 语句覆盖 在程序中执行每一段的语句 if (condition) { DO_SOMETHING; } 把条件 condition 设为真的测试案例,就能全覆盖上面的语句 语句覆盖并不意味着执行每一行的语句 语句覆盖 优点 最简单的结构测试覆盖 易于自动化 易于实现大量的代码覆盖 缺点 语句覆盖所用标准是结构测试里最弱的 仅测试条件语句的一方面 判断覆盖 所谓判断覆盖就是运行所测程序,使得程序中每个判断取“真”的分支和取“假”的分支至少经历一次,判断覆盖又称为分支覆盖。 我们依然结合开始的例子。 如果选择路径L1和L2,可得到如下的测试用例: [(2,0,4),(2,0,3)],覆盖ace[L1] [(1,1,1),(1,1,1)],覆盖abd[L2] 如果选择路径L3和L4,可得到如下的测试用例: [(2,1,1),(2,1,2)],覆盖abe[L3] [(3,0,3),(1,1,1)],覆盖acd[L4] 条件覆盖 一个判定中往往包含了若干个条件,例如程序中,判定 (A>1) AND (B=0)包含了两个条件: A>1以及 B=0,所以可引进一个更强的覆盖标准——“条件覆盖”。 “条件覆盖”的含义是:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。 ??? 程序有四个条件: A>1、 B=0、A=2、X>1 为了达到“条件覆盖”标准,需要执行足够的测试用例使得在a点有: A>1、A≤1、B=0、B≠0 等各种结果出现,以及在b点有: A=2、A≠2、X>1、X≤1 等各种结果出现。 判断-条件覆盖 针对上面的问题引出了另一种覆盖标准——“判定/条件覆盖”,它的含义是:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。 判断-条件覆盖 “判定/条件覆盖”似乎是比较合理的,但事实并非如此,因为大多数计算机不能用一条指令对多个条件作出判定,而必须将源程序中对多个条件的判定分解成几个简单判定,所以较彻底的测试应使每一个简

软件测试   软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作的结果。所谓受控制的条件应该包括正常条件和非正常条件。应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”。      软件质量   高质量的软件是适当的、无错误的,能在预算内按时交货,满足需求/或期望,并且是可维护的。所以,质量是一个主观的术语。它取决于谁是客户以及客户对项目计划的影响。      软件质量保障   软件质量保障涉及到整个软件开发过程,包括监视和改善过程、确保任何经过认可的标准和步骤都被遵循、并且保证问题被发现和被处理。从本质上说,软件质量保障是“预防”。         白盒测试   白盒测试又称结构测试、逻辑驱动测试或基于程序本身的测试,这一方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际状态是否与预期的状态一致。白盒测试不关心应用程序的功能要求,而是对软件的过程性细节做细致的检查,它主要用于单元测试、集成测试。         黑盒测试      黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,这一方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。通过黑盒测试可以知道应用程序是否符合用户的预期要求,主要适用于集成测试、系统测试、验收测试等。      功能测试         功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误。测试内容可以包括:正常功能、异常功能、边界测试、界面测试、接口测试、安全测试 、错误处理测试等;         性能测试      性能测试是要检查系统是否满足在需求说明书中规定的性能,如响应时间、处理精度等,性能测试常常需要与强度测试、压力测试、容量测试结合起来进行。         4强度测试   强度测试是要检查在系统运行环境不正常到发生故障的情况下,系统可以运行到何种程度的测试。      压力测试   压力测试是在一种反常数量、频率或资源的方式下执行系统,如把输入数据的量提高一个数量级来测试输入功能会如何响应。      容量测试   容量测试是要检验系统的能力最高能达到什么程度,如对于操作系统,让它的作业队列 ‘满员’,即在系统的全部资源达到‘满负荷’的情形下,测试系统的承受能力。         兼容性测试   这类测试主要想验证软件产品在不同版本之间的兼容性。有两类基本的兼容性测试:向下兼容和交错兼容。向下兼容测试是测试软件新版本保留它早期版本的功能的情况;交错兼容测试是要验证共同存在的两个相关但不同的产品之间的兼容性。         可靠性测试   如果系统需求说明书中有可靠性的要求,则需要进行可靠性测试,通常使用以下几个指标来度量系统的可靠性:平均失效间隔时间是否超过规定时限;因故障而停机的时间在一年中应不超过多少时间。      测试   是由一个用户在开发环境下进行的测试。目的是评价软件产品的功能、局域化、可使用性、可靠性、性能和支持,尤其注重产品的界面和特色。         b 测试   是由软件的多个用户在一个或多个用户的实际环境下进行的测试。目的是评价软件产品的功能、局域化、可使用性、可靠性、性能和支持,尤其注重产品的支持性, 包括文档、客户培训、和支持产品生产能力。         单元测试   最小范围的测试,针对特定的函数和代码模块进行测试。因为需要了解程序的设计和代码的细节才能进行,所以部件测试一般是由程序员,而不是由测试人员来做,也许需要开发测试驱动模块或测试工具。         集成测试   对应用软件的各个部件进行组合测试,来检查各功能模块在一起工作是否正常。“部件”可以是代码模块、独立的应用程序、也可以是网络中的客户/服务器应用软件。         系统测试   系统测试主要是为验证软件系统是否满足所规定的各个方面的需求而进行的,以黑盒测试方法为主。系统测试尽量在模拟环境中,或在单独的测试环境中进行,条件不具备时,也可以在软件软件系统运行环境中进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值