[Tommas] 测试用例覆盖率(一)

一、测试用例的切面设计

所谓测试切面设计,其实就是测试用例大项的划分。测试用例划分的经典方法是瀑布模型,也就是从上到下,逐渐细分,大模块包括小模块,小模块包括更小的模块。但仅仅如此是不够的,我们还要从更多的角度切入系统,从不同的角度把系统切分成一块一块的,来进行测试,从而确保测试大项的完整性。

1、功能点切面

这是最常见的切面,通常我们认为页面上的一个按钮就是一个功能点。然后我们可以根据功能的复杂程度,按每个功能;或一个功能点分多页;或多个功能点合成一页来进行用例的撰写。

2、特定切面

除此以外,还有一种特定切面的划分方法,也是用例撰写时经常会用到的。所谓的特定切面,就是忽略掉表面上的功能点,而关注测试对象的某一个面。比如我们的内部管理系统提供了销售录入导入、注册录入导入等功能,从菜单划分上对应了七八个功能点。但这些功能处理后台有个共同的处理项就是授权记录的生成,这时我们就可以把“授权记录生成”单独拿出来做一个测试项,而在其它测试项中涉及这一部分的用例就不必再一一撰写。此外象一些界面共通的操作用例单独写成一页,也是一种特定切面。所以如果说将用例按功能点划分是一种纵向划分法,那么特定切面就是从横向的角度分析所得到的切面。在普通功能点划分上再根据实际情况设计特定切面,可以使我们的用例阅读性、理解性、操作性更强。

3、隐含切面

这类用例是最容易被忽略的。它往往不是明显的某个功能项,可能是功能项后台的隐含处理,也可能是多个功能项之间的关联处理,甚至可能是在某种特定情形下的处理。这都需要测试人员通过对软件的学习了解,来进行挖掘。

(1)、后台功能

常见的如一些定时自动启动的服务;以及某种特定情况下自动执行的操作等。它们在界面上往往是不体现的,但许多在需求设计中还是会提到,也有一些比较细小的功能可能会被忽略,就需要测试人员根据对项目的了解程度来进行挖掘。所以说一个熟悉项目的和一个不熟悉的测试人员,写出来的用例就完全是两个层次的。

(2)、完整业务流程的测试

我们都知道测试用例的设计是从点、线、面三个层次去考虑的。完整的一个功能项是线,其中的某个按钮是点,多个相关功能结合成完整业务流就是面。从实际来看这类用例往往被我们忽略。

事实上目前公司的软件本来都是业务型应用软件,将各种功能从业务流中切割出来单独写用例,肯定也会有涉及到整体流程的情况。若不加以区分,将细节与全局搅在一起,不仅思路混乱,也容易考虑不周。因此在系统测试阶段,建议用例设计要有分有合,针对具体功能的就只围着这个功能转:而在业务流程测试项中,再完全从整体的业务流角度出发去考虑用例,这样不仅不容易产生疏漏,用例阅读与执行也更清楚。

(3)、某种特定情况下的系统运行

这类用例的设计往往与系统实际业务情况密不可分。比如财务软件,通常需要在月尾一天、月头一天、年尾一天、年头一天,对所有相关功能中的日期处理进行测试;又比如WIN
2000环境开发测试的系统,要测试在98、XP、2003等操作系统下是否能运行自如;再有如存在大量动态图片视频等的网页,在普通网速下的展现速度等等。总之就是要尽可能从实际应用的角度出发考虑,来进行测试补充。

(4)、其它相关系统

即指在当前项目中直接使用的其它成果,包括公司自有的系统模块、组件、函数;以及购买或免费得到的一些功能组件。对这些内容需要预先与开发组长等讨论清楚,是否需要测试。若时间紧张或其它原因决定不测的,应在测试计划中说明。若需要测试的,则具体可根据实际情况来设计,可以是通过系统某个功能的测试来涉及,此时就不需要单独划分测试项;若相对比较独立的,也可以通过单独的测试项来对其专门进行测试。

(5)、除功能测试外的其它测试类型

包括可靠性、安全性、恢复性、配置安装测试等等,这些测试类型都是一个单独的测试项。

所谓好的开始是成功的一半,保证测试项划分的完整、合理、正确,会直接影响到本次测试的成效。通常建议该阶段工作要花1-2天的时间来考虑,并要在测试过程中随着对软件的深入了解,不断进行调整补充。可千万不要认为把分析设计中的功能模型图搬搬过来就可以了。

[Tommas] 测试用例覆盖率(一),布布扣,bubuko.com

时间: 2024-08-25 18:03:20

[Tommas] 测试用例覆盖率(一)的相关文章

[Tommas] 测试用例覆盖率(三)

三.测试数据的设计 每一个测试思路最终都要转化成具体的数据才能来执行.关于测试数据设计的方法也不外乎那几种,就不再赘述了.此处单就一些经常易犯的错误,提出一些注意点,作为用例数据设计时的参考: 1.尽量避免可能出现歧义测试结果的数据:即你设计的数据必须能唯一正确地反映出你所希望测试的结果.比如一组测试数据,有可能得到结果A或结果B,此时单用此数据来测试预期结果为A的用例,那明显就产生了歧义. 2.对于不便具体列示的数据,则必须详细描述其各项特性:有时我们在设计用例时为节约时间,不一定要到具体的一

[Tommas] 测试用例覆盖率(二)

二.详细用例的设计 划分好了测试项,接着就是针对各个测试项,考虑具体的测试用例了.根据测试项的特点,测试用例的设计角度也有所不同.下面我们就来看看通常的功能点测试用例,该从哪些角度出发来进行设计: 1.功能切面表面用例设计 (1).具体功能测试 根据需求分析设计,按页面提供的各个功能项,采用黑盒测试的各种方法,设计用例.比如页面提供了增.删.改.查功能,那么这四个功能是否正确实现就是我要验证的.这是最简单.最基本,同时也是必须的测试用例,通常我们的编码人员自测也就是做到这个程度.^_^ (2).

测试用例质量的评估

测试用例质量的评估,可以考虑下面3个方面的因素: 第一,根据测试用例的形式评估其质量,主要包括: 1)测试用例与需求规格说明中需求条目的可追溯性,例如:我们要求每个需求条目至少有1个测试用例与之对应.目的是为了评估测试的需求覆盖率,以及分析需求发生变更的时候,对测试修改工作的影响程度; 2)测试用例有无明确的期望结果.通常来说,测试用例的每个执行步骤,都应该明确描述期望的结果,以保证测试人员可以与测试实际结果进行比较,并分析是否需要提交缺陷报告,或者修改测试用例. 3)是否满足公司内部定义的测试

测试用例概论

一.什么是功能测试用例 测试用例是为某个特殊目标而编制的一组测试输入.执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求. 通俗的讲:就是把我们测试系统的操作步骤用按照一定的格式用文字描述出来. 测试的目的 我们让它做的它必须会做. 我们不让它做的它必须不会做. 可能你会发现有附加功能的时候,就是客户没有要求,我们加了这样的功能,可能加了这点功能系统看上去会更好.这时怎么办?算问题么? 作为开发人员,中规中矩的做东西最好,如果真的有非常好的功能要加的话,需要和客户沟通,然后写到

高效测试用例组织算法pairwise之Python实现

------------------------------------------本文专为<光荣之路培训 >原创,如有转载请注明出处---------------------------------- 开篇: 测试过程中,对于多参数参数多值的情况进行测试用例组织,之前一直使用[正交分析法]进行用例组织,说白了就是把每个参数的所有值分别和其他参数的值做一个全量组合,用Python脚本实现,就是itertools模块中product方法(又称笛卡尔积法). 正交分析法的优点是测试用例覆盖率100

Jacoco覆盖率工具使用

Jacoco介绍 Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序.很多第三方的工具提供了对Jacoco的集成,如sonar.Jenkins等. 官网地址:http://www.eclemma.org/jacoco/ Java Counters Jacoco包含了多种尺度的覆盖率计数器,包含指令级(Instructions,C0coverage),分支(Branches,

【tool】浅谈功能测试用例模板

[摘要]本文介绍测试用例一般要素,以及如何根据项目特点设计测试用例模板,用以提高测试用例设计效率和实现测试用例执行结果报告的自动化计算,分析测试用例覆盖率. 测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一,设计良好的测试用例模板能提高测试用例的设计质量,便于跟踪测试用例的执行结果,自动生成测试用例覆盖率报告.这几年测试技术和理论有了长足的发展,就功能测试用例设计要素而言,样式上均大同小异,一般都包含主题.前置条件.执行步骤.期望结果等. 测试用例可以用数据库.Word .Excel

Android-jacoco代码覆盖率:单元测试覆盖率+功能测试覆盖率

参考:https://docs.gradle.org/current/dsl/org.gradle.testing.jacoco.tasks.JacocoCoverageVerification.html gradle库下载:https://maven.aliyun.com/mvn/view 案例参考来源:https://www.jianshu.com/p/1a4a81f09526 https://www.jianshu.com/p/1a4a81f09526 其他:https://testerh

浏览器兼容性知识和软件测试计划

一.浏览器兼容性测试介绍 1.定义: 因为不同浏览器对同一代码有不同的解析,造成页面显示效果不统一的情况 2.原因:不同浏览器使用的内核及所支持的HTML等网页语言标准不同及用户客户端环境不同造成显示效果达不到理想效果.eg:网页元素错位.混乱 内核决定了浏览器如何显示网页的内容以及页面的格式信息 常见浏览器有哪些?我们常用的有哪些? IE内核:IE浏览器.傲云浏览器.360浏览器 Webkit内核:谷歌浏览器 safari Gecko内核:火狐浏览器 二.常见浏览器介绍 IE浏览器:使用客户群