如何保证测试的覆盖率

如何保证测试的覆盖率

一、首先测试需求分析要全面。

测试需求分析分两步:

1、测试需求的获取

需求的来源:

显式需求:

(1)原始需求说明书

(2)产品规格书

(3)软件需求文档

(4)有无继承性文档

(5)经验库

(6)通用的协议规范

隐式需求:用户的主观感受,市场的主流观点,专业人士的评价分析
2,需求的分析
,产生测试需求文档

将不同的需求来源划分成一个个需求点,针对每一点进行测试分析:

(1)界定测试范围

(2)利用各种测试设计的方法产生测试点

在测试方法方面,可做如下注意:

  其一,分析出口入口。从入口分析,将可能出现的环境,条件,操作等内容分类组合,然后根据各位测试达人的方法进行整合,逐一验证。从出口分析,将可能出现的结果进行统计,根据结果的不同追根溯源,再找到不同的操作以及条件等内容,统计成文档,逐一验证。

  其二,多种测试手法的学习和使用。大家可能更多的关心测试方法,但是具体操作的手法也是需要注意的。毕竟测试方法比较容易找到,各位达人都很熟悉。如果将每个人不同的测试手法总结出来并在自己的测试实施中加以使用,可能会收到意想不到的成果。

在测试流程方面,可作如下注意:

  其一,初期要做好需求分析。将需求逐渐细化到小功能点,针对每个功能点进行测试设计。对于完成的测试设计文档,经过项目相关人员的检查评审,做成所需要的初稿。

  其二,在测试过程中,根据需求变更和具体测试执行过程中遇到的问题完善测试设计文档。

  其三,测试执行结束后,对于出现的问题进行总结。其中包含自己本身发现的问题,也可能会有客户提出的问题。将总结出来的结果融合到测试设计当中去,进一步完善测试设计文档。

  对于一次测试,是不可能有覆盖度全面的测试的。需要多次去总结积累,才会使测试越来越全面。

在测试流思维方面,可作如下注意:

  其一,测试全面不等于全面测试。不同阶段对于软件测试有不同的要求,比如在0.8版本以前,对于不重要的画面问题或是细小的功能问题就不需要关心。但是在验收阶段,这些内容可能更需要注意。

  其二,学无止境,只有不断的去学习不断的去思考,才能使自己测试的能力更强,测试对象的全面性也更完整。

二、  当测试需求分析完成,并且形成文档后,要进行测试需求评审,保证需求的准确性以及完整性。

三、  测试需求完成以后,可以根据测试需求设计测试用例。

要保证测试用例能够全面覆盖测试需求,要包含所有的情况。

测试用例设计上划分为单功能测试用例和测试场景设计,单功能测试覆盖的需求中的功能点,测试场景覆盖需求中的业务逻辑。

在设计测试用例的时候,可以使用多种测试用例设计方法。

  ●首先进行等价类划分,包括输入条件和输出条件的等价类划分,合理设置有效等价类和无效等价类,这是减少工作量和提高测试效率最有效的方法。

  ● 必须使用边界值分析,经验表明,这种方法设计出的用例能发现很多程序错误。

  ● 可以使用错误推测法追加一些测试用例,这需要依靠您的智慧和经验。

  ● 对照程序逻辑检查已设计出的测试用例的逻辑覆盖度,如果没有达到覆盖标准应当再补充足够的测试用例。

  ● 如果程序的功能说明中含有输入条件的组合情况,一开始就可选因果图和判定表驱动法。

  ●对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。

  ●  对于业务流清晰的系统,可以利用场景法贯穿整个测试方案过程,在案例中综合使用各种测试方法。

当测试用例设计完成后,要组织测试用例的评审,这样可以吸取别人的意见,减少遗漏,补全测试用例。

四、  测试用例编写完成后,就是测试执行,

  ● 测试用例执行100%覆盖。

  ●在测试执行过程中,要继续对测试用例补充完善,确保提高测试覆盖率。

五、  在整个测试过程中,需求都是不可能不变的,所以要及时的更新测试需求、测试用例。

六、  要将测试需求、测试用例以及发现的bug关联起来,便于管理和跟踪,同时也便于查看覆盖率。

时间: 2024-10-22 00:58:25

如何保证测试的覆盖率的相关文章

如何保证黑盒测试的覆盖率(转)

1.  首先测试需求分析要全面 测试需求分析分两步: 1,测试需求的获取 需求的来源: 显式需求: (1)原始需求说明书 (2)产品规格书 (3)软件需求文档 (4)有无继承性文档 (5)经验库 (6)通用的协议规范 隐式需求:用户的主观感受,市场的主流观点,专业人士的评价分析 2,需求的分析 ,产生测试需求文档 将不同的需求来源划分成一个个需求点,针对每一点进行测试分析: (1)界定测试范围 (2)利用各种测试设计的方法产生测试点 在测试方法方面,可做如下注意: 其一,分析出口入口.从入口分析

工作总结--如何定位web系统前后台的bug,以及bug分析/测试感想

对于web项目前台和后台bug定位分析:一. 系统整体了解 懒企鹅营销服务平台用的架构:web前端: Bootstrap 3.0 组件丰富,兼容性好,界面美观 Server端: jsp+Servlet+json 公司技术力量储备丰富,技术成熟,有很多成熟的模块可以直接使用 数据库: mySql 免费,相对成熟 前台: 涉及到jstl,jsp,js,css,html方面比较多后台:servlet,jms,ejb, 还有很多框架,struts,hibernate,spring,ibatis等,我们用

我的单元测试之总结

单元测试 版权声明:本文为博主原创文章,未经博主允许不得转载. 以下关于单元测试的总结,是基于目前工作的内容进行的汇总,包括了单元测试的定义,单元测试assertion语句,单元测试的框架以及实践中的注意事项等.其中[***]为解释说明.在此推荐几本有关单元测试的书籍供参考.<单元测试的艺术><单元测试之道junit(Java版)><单元测试之道Nunit(C#版)>. Overview 一个UT当中,包括了准备数据,释放资源,执行要验证的那段逻辑代码,以及结果的验证等

推荐五款优秀的PHP代码重构工具

在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码.软件重构需要借助工具完成,而重构工具能够修改代码同时修改所有引用该代码的地方.本文收集了五款出色的PHP代码重构工具,以帮助你完善更加优秀的项目. 1. Rephactor Rephactor是一款命令行重构工具,这是一款自动化工具,允许开发者以一种简洁的方式在不同的代码库中修改源码. 主要功能: 保证重构的可逆性—— 一旦发现问题,代码是可逆的,可以回溯到前一个版本. 查找替换功能—— 普通查找替换,方法重命名,类重

如何定位web前后台的BUG

最近超级没状态,心身俱疲,等待发版本的空闲时间,整理下最近看过的一些资料...... 一.对系统整体的了解 Server端:jsp+Servlet+json 数据库:sql.MySQL.oracle等 前台: 涉及到 jstl,jsp,js,css,htm等方面 后台:servlet,jms,ejb, 还有很多框架,struts,hibernate,spring,ibatis Jsp:分不清前后台的,因为这里涉及到一个运行时刻的问题,它们的运行时刻是不同. 用户发出请求后,服务器解析用户请求,转

转:如何提高测试用例设计的测试覆盖率

说到测试用例的设计,我想每个有过测试经历的测试工程师都会认为很简单,不就是:按需求或概要设计,得到软件功能划分图,然后据此按每个功能,采用等价类划分.临界值.因果图等方法来设计用例就行了. 但事实上撇开测试数据的设计不谈,仅就测试项来说,我们发现,对同一个项目,有经验的测试人员,在写用例或测试时总会有更多的测试考虑点,从而发现更多的问题:而有些测试人员测试用例的撰写却只有那么三板斧,表面看好象已经把页面所有信息的测试都考虑到了,实际上却还是遗漏了大量测试覆盖点,导致其测试出来的程序总是比较脆弱.

利用EMMA监测测试覆盖率

http://www.ibm.com/developerworks/cn/opensource/os-cn-emma/index.html 引言 EMMA 是一个开源.面向 Java 程序测试覆盖率收集和报告工具.它通过对编译后的 Java 字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示. EMMA 所使用的字节码插装不仅保证 EMMA 不会给源代码带来“脏代码”,还确保 EMMA 摆脱了源代码的束缚,这一特点使 EMMA 应用于功能测试成为了可能

测试用例设计——如何提高测试覆盖率

前言 说到测试用例的设计,我想每个有过测试经历的测试工程师都会认为很简单,不就是:按需求或概要设计,得到软件功能划分图,然后据此按每个功能,采用等价类划分.临界值.因果图等方法来设计用例就行了. 但事实上撇开测试数据的设计不谈,仅就测试项来说,我们发现,对同一个项目,有经验的测试人员,在写用例或测试时总会有更多的测试考虑点,从而发现更多 的问题:而有些测试人员测试用例的撰写却只有那么三板斧,表面看好象已经把页面所有信息的测试都考虑到了,实际上却还是遗漏了大量测试覆盖点,导致其测试 出来的程序总是

测试覆盖率知多少

测试覆盖率一般常来衡量测试的完整性和充分性.从广义角度来讲,分为面向项目的需求覆盖率和面向技术的代码覆盖率. 需求覆盖率: 需求覆盖率是指测试对需求的覆盖程度,通常的做法是将每一条分解后的软件需求和对应的测试建立一对多的映射关系,最终目标是保证测试可以覆盖每个需求,以保证软件产品的质量. 我们通常采用 ALM,Doors 和 TestLink 等需求管理工具来建立需求和测试的对应关系,并以此计算测试覆盖率. 互联网测试项目,通常将软件需求转换为测试需求,然后基于测试需求再设计测试点.因此人们口中