对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. AOP+Token防止表单重复提交

    表单重复提交: 由于用户误操作,多次点击表单提交按钮 由于网速等原因造成页面卡顿,用户重复刷新提交页面 避免表单重复提交的方式: 1.页面上的按钮做防重复点击操作 2.在数据库中可以做唯一约束 3.利 ...

  2. 12 Spring JdbcTemplate的使用

    1.项目搭建 <1>数据库表account对应的账户实体类 package domain; import java.io.Serializable; /** * 账户实体类 */ publ ...

  3. DP(动态规划)总结

    前言 动态规划是很重要的一个知识点,大大小小的比赛总会有一两道DP题,足以说明动态规划的重要性. 动态规划主要是思想,并没有固定的模板,那么,怎么判断题目是不是动态规划呢? DP题一般都会满足三个条件 ...

  4. 用外部按钮打开DATETIMEPICKER下拉日期选择窗口

    https://www.cnblogs.com/gaodu2003/archive/2009/08/10/1543115.html 方法一: SendMessage(DateTimePicker1.H ...

  5. git clone一个仓库下的单个文件【记录】

    注意:本方法会下载整个项目,但是,最后出现在本地项目文件下里只有需要的那个文件夹存在.类似先下载,再过滤. 有时候因为需要我们只想gitclone 下仓库的单个或多个文件夹,而不是全部的仓库内容,这样 ...

  6. MySql取消密码强度验证功能

    一.修改MySql配置文件(my.cnf)一般情况下,MySql的配置文件 my.cnf 会在  /etc/ 目录下,如果没有,可以使用以下命令查找位置: find / -name my.cnf 编辑 ...

  7. MVC-08模型

    部分7:添加数据模型. MVC模型 MVC模型包含所有应用程序逻辑(业务逻辑.验证逻辑.数据访问逻辑),除了纯视图和控制器逻辑. 通过MVC,模型可保存并操作应用程序数据. Models文件夹 Mod ...

  8. 关于Shareppoint客户端对象模型和Shareppoint根据内部名称获取字段值的随笔

    实际上,每个SharePoint字段实际上有两个名称,一个是“标题”(Title,有时候也把它叫做“显示名称”),一个是“内部名称”(Internal Name).平时用户在列表视图界面上看到的,都是 ...

  9. Window 使用Nginx 部署 Vue 并把nginx设为windows服务开机自动启动

    1.编译打包Vue项目 在终端输入 npm run build 进行打包编译.等待... 打包完成生成dist文件夹,这就是打包完成的文件. 我们先放着,进行下一步. 2下载Nginx 下载地址: h ...

  10. 传统IDC 部署网站

    选择IDC机房 1.选择云主机. 2.传统IDC a购买服务器 b服务器托管 c装系统 装系统 虚拟机软件 vmware workstation virtualbox hyper-v 下载:r.ami ...