怎样保证测试的质量

怎样保证测试的质量

1.不同的测试类型的结合,功能,性能,兼容性等,增加测试覆盖面,确保测试质量。

2.熟悉测试需求,测试目标,理解需求,设计测试用例。

3.用例的质量,对被测对象深入分析,功能进行细分,需求覆盖所有测试点,补充异常的测试点,复杂模块进行评审,提高测试点的覆盖面和测试用例的质量。

4.执行的质量,随时跟进测试进度,注意各类环境,各模块之间的交叉、关联,发现潜在问题。

5.缺陷管理,记录bug,跟踪管理缺陷,对遗留缺陷进行分析。

6.版本控制,建立主干分支,版本有问题可以随时恢复。

7.测试评估,对结果进行分析,讨论上线的风险,制定发生问题的解决方案。

一.深入了解需求,根据需求制定测试策略

1.测试范围和计划相比的偏差。

制定测试后,测试执行的进度情况,适当调整测试节奏,保证项目进度.

2.本版本的测试目标。

和产品沟通,了解产品具体实现的目标,并根据测试目标制定测试计划,编写测试用例.

3.需要重点关注的内容。

和产品沟通,确定重点功能,对比较重要的功能制定对应的测试场景,并重点测试.

4.测试用例的选择。

用最少的测试用例,覆盖最广的测试功能点.

5.测试执行顺序。

根据开发交付的可测试产品,制定好测试执行的顺序.

6.接收测试策略。

开发提测后,应该有对应的冒烟测试,如果提测功能没有实现,或者已有功能失效,要打回重新编码.

7.回归测试策略。

建立有效率的回归测试策略,使用适当的自动化测试框架,有效提高测试效率.

8.探索测试策略。

根据产品需求,进行探索性测试,会发现仅执行测试用例更多的bug.

9.自动化测试策略。

把功能界面变动比较小的产品,建立自动化测试框架,包括UI自动化和接口自动化.

二.跟踪测试缺陷,把握产品版本

1.使用缺陷管理工具,跟踪缺陷

使用缺陷管理工具,比如bugfree/禅道等,记录bug,跟踪缺陷,对遗留缺陷进行分析.

2.做好代码的版本控制

代码都有版本管理工具,比如svn/git等,应该把开发环境,测试环境,生产环境分别建立分支。只有把测试通过的代码合并到主线(master),主线上的代码才可以发布到生产环境.

这里最好引入持续集成工具,比如jenkins,如果发布到生产环境的代码出现问题,可以及时回滚到前一版本,保证线上系统正常运行.

三.测试分层

1.代码层

主要是进行白盒测试,对代码进行review,审核.

2.接口层

由于UI层变化比较快,对接口有效进行测试,可以大大提升测试效率.如果短时间不能建立自动化测试框架,可以先使用接口测试工具,进行主要接口的测试.

3.UI层

对于变动比较小,业务流程基本不变动的系统,可以引入UI自动化,进行回归测试和验收测试.

四.压力测试和安全性测试

1.压力测试

选取系统常用的场景,预测并发数量,并模拟高并发测试,根据测试数据,发现系统缺陷.

2.安全测试

探索发现系统可能被黑客或者竞争对手利用的漏洞,测试隐藏风险.

五.质量评估

根据测试出来的问题,整理出文档,告知各个项目管理负责人,确定哪些缺陷必须解决,哪些bug可以下一个版块再解决,讨论上线的风险,制定发生问题的解决方案

六、反应项目质量的指标

需求探测率,需求变更率,需求准时率,静态代码扫描覆盖率,构建成功率,用例评审通过率,提测准时率,提测功能完成比,冒烟测试通过率,每轮Bug数,Bug等级,Bug激活率,Bug每回解决率,Bug有效率,Bug优化率,Bug日清率,环境Bug数,测试Bug贡献率,功能代码覆盖率,Bug反馈有效率,Bug探索率(DDP,O-DDP),千行代码Bug率,项目按时完成率

七、衡量测试质量指标

1、测试需求执行覆盖率应达到100%(业务用例均已执行)

2、测试覆盖率(代码覆盖率)>= 80% ,任务达标 (自动化测试 + 手工测试)

3、兼容覆盖率(设备,系统版本,应用版本)

八、常用的代码覆盖率统计工具

如何评估测试过程的测试情况?

    很多时候完成功能测试后就会发布上线,甚至交叉和回归都没有足够的时间去执行,然后通过线上的补丁对遗漏的问题进行修复。如果可以在发布前了解本次测试过程所覆盖代码执行的比例情况,那么就可以一定程度上反应测试的执行情况和系统的质量情况。

    代码执行覆盖率是一种很好评估测试人员在执行测试过程中,所命中技术编码情况的手段,并可以从侧面评估系统的质量情况。

1、PHP代码覆盖率统计工具PHPCodeCoverage(PCC)

    PHPCodeCoverage(PCC)是一个基于xdebug检测php代码覆盖的工具,它能够应用于黑盒功能测试,接口测试,单元测试等任何php代码环境,通过监听代码被执行的路径覆盖,展示代码覆盖的结果。

使用代码覆盖工具可以辅助我们检查测试过程中,哪些代码条件逻辑是一次都没有被执行过,从而补充遗漏的测试用例和场景。

PCC开源项目位置:https://github.com/cj58/PHPCodeCoverage 。

参考文献:http://t.csdn.cn/xMEss

2、php代码覆盖工具-phpunit-支持生成覆盖率报告

版本信息:

php 7.3.12

xdebug 2.8.0

phpunit 7.1.0

composer  2.0.8

1.安装php环境:教你使用Wampserver(超级详细) - 简书

2.安装xdebug

下载xdebug,windows上安装xdebug需要下载的是dll组件,下载时注意php版本,我的php版本是7.3.12

下载地址: Xdebug: Downloads,也可点击直接下载php_xdebug-2.8.0-7.3-vc15-x86_64.dll

php和phpunit对应关系:

3、Python代码覆盖率统计工具coverage

    coverage.py是一个用来统计python程序代码覆盖率的工具。它使用起来非常简单,并且支持最终生成界面友好的html报告。在最新版本中,还提供了分支覆盖的功能。

官方网站:

http://nedbatchelder.com/code/coverage/

安装:

pip install coverage1

官方文档http://coverage.readthedocs.org/en/latest/

官方提供2种统计结果方式:

1、Coverage 命令行 

2、Coverage API

参考文献:http://t.csdn.cn/MP0Ki

4、Java代码执行覆盖统计工具 Jacoco

Jacoco可以嵌入到Ant、Maven中,也可以使用Java Agent技术监控任意Java程序,也可以使用Java Api来定制功能。Jacoco会监控JVM中的调用,生成监控结果(默认保存在jacoco.exec文件中),然后分析此结果,配合源代码生成覆盖率报告。需要注意的是:监控和分析这两步,必须使用相同的Class文件,否则由于Class不同,而无法定位到具体的方法,导致覆盖率均为0%。

参考文献:http://t.csdn.cn/jrHJ3

5、Lua代码执行覆盖统计工具

代码覆盖率可以做到行覆盖率,函数覆盖率和分支覆盖率。通过Lua语言debug库的sethook方法可以设置以行或以函数来监控代码的执行行为。debug.sethook ([thread,] hook, mask [, count]):

可以通过官方文档获得更好的介绍,这里通过设置回调函数和监控的方式,然后在监控的回调函数里面记录当前执行的文件及执行的行数、以及函数记录。最后在停止hook的时候将上面记录数据输出到文本文件,这样就可以知道本次测试在运行过程中所有代码执行的情况记录。

Lua监控代码执行情况的项目仓库

https://github.com/memolp/LuaCodeCoverage

参考文献:https://www.cnblogs.com/jeffxun/p/15616570.html

6、Go代码执行覆盖统计工具test coverage

Go 1.2 的发布引入了一个 test coverage 的新工具, 它采用了一种不寻常的方式来生成覆盖率统计数据, 这种方法建立在 Godoc 的技术的基础上。

查看结果

保存收集的统计信息的文件

上面的例子的测试覆盖率很差。 为了探索具体为什么, 需要 go test 写一个 coverage profile , 这是一个保存收集的统计信息的文件, 以便能详细地研究覆盖的细节。 这很容易做: 使用 -coverprofile 标志来指定输出的文件:

注: -coverprofile 标志自动设置 -cover 来启用覆盖率分析。

测试与以前一样运行, 但结果保存在文件中。 要研究它们, 需要运行 test coverage tool。 一开始, 可以要求 覆盖率 按函数分解, 虽然在当前情况下没有太多意义, 因为只有一个函数:


查看的更有趣的方式是获取覆盖率信息注释的源代码 的 HTML 展示。 该显示由 -html 标志调用:

运行此命令时, 浏览器将弹出窗口, 已覆盖 (绿色), 未覆盖(红色) 和 未埋点(灰色)。 下面是一个屏幕截图:


有了这个信息页, 问题变得很明显: 上面忽略了几个 case 的测试! 可以准确地看出具体是哪一个, 这样可以轻松地提高的测试覆盖率。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容