软件测试基础知识-测试用例

测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个 程序 路径或核实是否满足某个特定需求。
测试用例用到的技术:
(一)白盒技术
白盒测试 是结构测试,所以被测对象基本上是 源程序 ,以 程序 的内部逻辑为基础设计测试用例。
程序内部的 逻辑覆盖 程度,当程序中有循环时,覆盖每条路径是不可能的,要设计使覆盖程度较高的或覆盖最有代表性的路径的测试用例。下面根据图7-1所示的 程序 ,分别讨论几种常用的覆盖技术。
语句覆盖
为了提高发现错误的可能性,在测试时应该执行到 程序 中的每一个语句。 语句覆盖 是指设计足够的测试用例,使被 测试程序 中每个语句至少执行一次。
如图7-1是一个被测试 程序流程图
判定覆盖
判定覆盖 指设计足够的测试用例,使得被测 程序 中每个判定表达式至少获得一次“真”值和“假”值,从而使程序的每一个分支至少都通过一次,因此判定覆盖也称 分支覆盖
条件覆盖
条件覆盖 是指设计足够的测试用例,使得判定 表达式 中每个条件的各种可能的值至少出现一次。
该覆盖标准指设计足够的测试用例,使得判定表达式的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
条件组合覆盖 是比较强的覆盖标准,它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。
路径覆盖
路径覆盖 是指设计足够的测试用例,覆盖被测 程序 中所有可能的路径。
在实际的 逻辑覆盖 测试中,一般以 条件组合覆盖 为主设计测试用例,然后再补充部分用例,以达到 路径覆盖 测试标准。
⒉循环覆盖
⒊基本 路径测试
(二)黑盒技术
⒈等价类划分
⑴划分等价类。
①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个 无效等价类
②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个 无效等价类
③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个 无效等价类
④在规定了输入数据的一组值(假定n个),并且 程序 要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个 无效等价类
⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个 无效等价类 (从不同角度违反规则)。
⑥在确知已划分的等价类中各元素在 程序 处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
⑵确定测试用例。
①为每一个等价类编号。
②设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类。重复这步,直到所有合理等价类被测试用例覆盖。
③设计一个测试用例,使其只覆盖一个不合理等价类。
⒉边界值分析
使用边界值分析方法设计测试用例时一般与等价类划分结合起来。但它不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值的测试数据。
⑴如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。如输入值的范围是[1,100],可取0,1,100,101等值作为测试数据。
⑵如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。如,一个输入文件可包括1--255个记录,则分别设计有1个记录、255个记录,以及0个记录的输入文件的测试用例。
⑶对每个输出条件分别按照以上原则⑴或⑵确定输出值的边界情况。如,一个学生成绩管理系统规定,只能查询95--98级大学生的各科成绩,可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、99级学生成绩的测试用例(不合理输出等价类)。
由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。
⑷如果 程序 的规格说明给出的输入或输出域是个有序集合(如 顺序文件 、线形表、链表等),则应选取集合的第一个元素和最后一个元素作为测试用例。
⒊错误推测
测试程序 时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例,这就是错误推测法。
因果图
等价类划分和边界值方法分析方法都只是孤立地考虑各个输入数据的测试功能,而没有考虑多个输入数据的组合引起的错误。
⒌综合策略
每种方法都能设计出一组有用例子,用这组例子容易发现某种类型的错误,但可能不易发现另一类型的错误。因此在实际测试中,联合使用各种测试方法,形成综合策略,通常先用黑盒法设计基本的测试用例,再用 白盒法 补充一些必要的测试用例。
作用:
⒈指导测试的实施
测试用例主要适用于 集成测试 系统测试 回归测试 。在实施测试时测试用例作为测试的标准,测试人员一定要按照测试用例严格按用例项目和测试步骤逐一实施测试。并对测试情况记录在测试用例管理软件中,以便自动生成测试结果文档。
根据测试用例的测试等级, 集成测试 应测试那些用例, 系统测试 回归测试 又该测试那些用例,在设计测试用例时都已作明确规定,实施测试时测试人员不能随意作变动。
⒉规划测试数据的准备
在我们的实践中测试数据是与测试用例分离的。按照测试用例配套准备一组或若干组测试 原始数据 ,以及标准测试结果。尤其象测试报表之类数据集的正确性,按照测试用例规划准备测试数据是十分必须的。
除正常数据之外,还必须根据 测试用例设计 大量边缘数据和错误数据。
⒊编写测试脚本的"设计规格说明书"
为提高测试效率,软件测试已大力发展自动测试。自动测试的中心任务是编写 测试脚本 。如果说 软件工程 中软件编程必须有设计规格说明书,那么 测试脚本 的设计规格说明书就是测试用例。
⒋评估测试结果的 度量 基准
完成测试实施后需要对测试结果进行评估,并且编制 测试报告 。判断软件测试是否完成、衡量测试质量需要一些量化的结果。例: 测试覆盖 率是多少、测试合格率是多少、重要测试合格率是多少,等等。以前统计基准是软件模块或功能点,显得过于粗糙。采用测试用例作 度量 基准更加准确、有效。
⒌分析 缺陷 的标准
通过收集 缺陷 ,对比测试用例和缺陷 数据库 ,分析确证是漏测还是缺陷复现。漏测反映了测试用例的不完善,应立即补充相应测试用例,最终达到逐步完善 软件质量 。而已有相应测试用例,则反映实施测试或变更处理存在问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值