对CheckList的执行发起的思考?

(1)功能越来越多,CheckList越补充越多,执行CheckList时间越来越长,如何减少上线的验证时间?
(2)减少上线验证的时间外,如何保证质量?上线后少出现漏测?
(3)用例如何划分,方便后期新人员查看与维护(补充和筛减等)?
(4)用例如何统计,方便根据用例条数评估执行时间?

预期的收益与目标

(1)根据不同的版本执行不同的CheckList用例,减少验证时间
(2)保证所有功能的主流程与功能均包含,避免上线后的遗漏
(3)用例按模块进行划分。模块中在按照功能点进行划分编写用例。方便维护
(4)通过某种方式记录所有模块的用例条数,在用例进行更新后及时同步数据,已数据来判断上线时的工作量。
(5)能尽快的完成上线,且需要保证线上用户的使用质量

解决思路:

将CheckList进行分类,根据不同的分类在不同的情况下分别执行对应的类别。定期性的执行全CheckList用例,保证在之前版本中出现一些细微的改动被遗漏掉的可能性。依此来减少用例的执行时间。又之前的全用例执行4小时缩短到2小时。同时也保证了主功能模块的功能正确性,避免对用户的使用上造成不便引来不好的投诉反馈等。

实现方式:
  CheckList的分类,共三类且共同遵守的原则为:根据功能模块的分配优先级

  CheckList_完整版:

    所有功能模块用例,用例较全,所需执行时间长,可定为3个版本一执行完整版用例等。

  CheckList_精简版:

    包含所有功能模块,用例主要涉及到主功能模块或层级较浅为1到2级的用例。对于重点模块及用户常使用的模块可进行稍微的细化。保证用户在使用时出现功能不可点击、闪退、白屏等问题。用户不常用的模块可进行较粗糙的用例编写。因此不需要太精细,大胆的删除不必要的用例。因为在功能测试时,对于模块的验证一定是细而全面的。所以在CheckList时只是作为再次的走查校验。在小版本更新迭代时,用例执行选择“精简版用例”。依此来缩短执行时间。
  

  ReviewList_线上:

    包含所有功能模块,用例整体性较粗糙。在生产环境用来执行。目的是为了再次确认预发布、测试环境的改动未影响到线上,也再次确保了线上质量的可靠稳定性。一般由于测试环境和预发布环境的某些限制,导致某些功能不能执行,此部分的功能也会遗留到生产环境进行验证。

用例的精简方法:

(1)采用先减后加,放开胆子去删的思路,后面再查缺补漏即可
(2)针对1级用例中与当前版本不符的用例进行降级。确定好它的等级并进行标注。
(3)针对2级用例的筛减,一般来说2级用例是量最大的,1级和3级用例都只占一小部分而已。此部分要做到大胆的删减,原则是只留属于主路径和重要的异常路径,其他全部降为3级

用例的评审:

目的:用例够精简且不会遗漏
具体做法:
(1)主路径:

  打开app,检查每个模块的用例,app中能看到的所有入口必须涵盖在1级用例中。

(2)用户常用场景:

  将用户常用场景按照模块列出来,对照相对应的用例,1,2级用例必须全部涵盖。

(3)运用集体智慧:

  人的经验转换,一起共同测试的同学聚在一起,按照模块一起review用例,觉得哪里有遗漏,按照经验什么地方经常出问题,是否需要增加用例,讨论之后觉得合理的加入。

(4)线上缺陷&线上反馈:

     版本发布后,根据线上缺陷&线上反馈来检查,是否是测试用例遗漏造成的,分析线上缺陷的根因,根据严重等级和用户反馈数来决定是否要添加用例,以及应该添加到哪个阶段最合适。

后期的维护:

(1)线上bug跟进,看是否有bug是因为精简用例而造成的缺失,分析并查缺补漏
(2)根据版本中功能的增加,应用上面的方式进行用例的精简与统计。

总结(实现方式后的收益与目标):

  小版本的发布:
  用例条数:由原来的用例数减少了50%的执行量。
  执行用例时间:在原来的执行时间上至少缩减了50%的时间。

  结合我们多个版本的经验使用,用例筛选与预留做的好,在执行中会获得很大的收益

具体示例做法截图:

  

  

  

CheckList 如何梳理可减少上线的验证时间(总结篇)的更多相关文章

  1. js前端验证时间大小

    replace(/\-/g, "\/")是根据验证表达式把日期转化成长日期格式 function checkStartTimeAndEndTime(startTime, endTi ...

  2. php读取excel时间42930转化为时间然后正则验证时间是否通过

    excel时间 function exceltimtetophp($days,$time=false) { if(is_numeric($days)) { //凯撒日计数,要把我们运用的从1970年开 ...

  3. jquery验证时间

    http://blog.csdn.net/guguojin/article/details/7045908 验证时间的正则表达式集合 //日期格式yyyy  PatternsDict.date_y= ...

  4. 关于WEB Service&WCF&WebApi实现身份验证之WCF篇(2)

    因前段时间工作变动(换了新工作)及工作较忙暂时中断了该系列文章,今天难得有点空闲时间,就继续总结WCF身份验证的其它方法.前面总结了三种方法(详见:关于WEB Service&WCF& ...

  5. Thinkphp 中的自动验证 上一篇有例子

    说明,只要定义了Model,在任何地方调用,都会进行验证.很方便. 必须是D方法,才会有效.M方法不会触发自动验证. 说明:这里没练习静态自动验证:如果用到静态验证首先自定义一个控制器,再在Model ...

  6. 关于WEB Service&WCF&WebApi实现身份验证之WebApi篇

    之前先后总结并发表了关于WEB Service.WCF身份验证相关文章,如下: 关于WEB Service&WCF&WebApi实现身份验证之WEB Service篇. 关于WEB S ...

  7. (转)[jQuery]使用jQuery.Validate进行客户端验证(初级篇)——不使用微软验证控件的理由

    以前在做项目的时候就有个很大心病,就是微软的验证控件,虽然微软的验证控件可以帮我们完成大部分的验证,验证也很可靠上手也很容易,但是我就是觉得不爽,主要理由有以下几点: 1.拖控件太麻烦,这个是微软控件 ...

  8. 通过扩展改善ASP.NET MVC的验证机制[实现篇]

    原文:通过扩展改善ASP.NET MVC的验证机制[实现篇] 在<使用篇>中我们谈到扩展的验证编程方式,并且演示了本解决方案的三大特性:消息提供机制的分离.多语言的支持和多验证规则的支持, ...

  9. 通过扩展改善ASP.NET MVC的验证机制[使用篇]

    原文:通过扩展改善ASP.NET MVC的验证机制[使用篇] ASP.NET MVC提供一种基于元数据的验证方式是我们可以将相应的验证特性应用到作为Model实体的类型或者属性/字段上,但是这依然具有 ...

随机推荐

  1. 启动3ds Max报 d3dx9_43.dll丢失 解决方法

    d3dx9_43.dll文件与Microsoft DirectX关联.负责启动基于Windows的游戏和高级图形程序. 在360安全卫士上搜索了 DirectX 下载了这个修复工具 运行应用 点击修复 ...

  2. MySQL权限管理常用命令

    1.进入mysql命令行. (1)SSH连接:mysql -u root -p输入root密码 (2)Navicat for MySQL中:右击连接,选择“命令列界面..” 2.mysql环境操作 ( ...

  3. MySQL必知必会2

    使用数据处理函数 函数 与其他大多数计算机语言一样,SQL支持利用函数来处理数据.函数一般是在数据上执行的,他给数据的转换和处理提供了方便,在前一章中用来去掉尾空格的RTrim()就是一个函数的例子 ...

  4. Springboot+Quartz+MySql整合页面版

    目的: springboot整合Quartz 连接mysql整合出页面版 springboot整合Quartz 新建一个springboot项目来 导入pom依赖 <?xml version=& ...

  5. go 缓冲IO

    package main import ( "bufio" "fmt" "os" "strings" ) func ma ...

  6. 递归在JavaScript中的应用实例

    递归 适用的必要条件:①过程的描述中包含它自身②有明确的结束递归的条件. 主要思路:在每一次调用自己时,使用相同的解决问题的方法,但调用的参数每次不同(有规律的变化),使用一个终止处理(结束递归)的条 ...

  7. Abp session和Cookie

    问道 面向Abp 在面向服务的时候,Session 干嘛用? 先把Session 的作用说了,但是在微服务环境下给忽略了,相当于忽略了核心. Session 只是个功能.就是根据Cookie 的Ses ...

  8. Linux环境下安装SVN

    最近在研究svn的代码如何迁移到GitLab,因此借助本文,重新来回顾温习下svn的安装使用. 一.SVN的安装 svn的安装很简单,在互联网的环境,直接执行以下命令行即可. yum install ...

  9. pip install scrapy 报错

    最近在研究Python,安装scrapy过程中报错如下图: 尝试找了一下解决方式:下载已经编译好的.whl安装包 步骤如下: 1.下载与Python版本和系统版本相匹配的Twisted包,网址:htt ...

  10. 【OO学习】OO第三单元作业总结

    [OO学习]OO第三单元作业总结 第三单元,我们学习了JML语言,用来进行形式化设计.本单元包括三次作业,通过给定的JML来实行了一个对路径的管理系统,最后完成了一个地铁系统,来管理不同的线路,求得关 ...