CheckList 如何梳理可减少上线的验证时间(总结篇)

对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%的时间。

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

 

具体示例做法截图:

  

  

  

 

转载于:https://www.cnblogs.com/syw20170419/p/11234678.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PrimeFaces 5.0 DataTable列切换器

我有机会与PrimeFaces 5.0 DataTable一起工作,并且增强功能很棒。 今天,我只想展示其中的一项新功能……DataTable列切换器。 此功能使您可以通过复选框列表选择显示哪些列。 要使用列切换器,只需添加一个commandButton即可将列选择的选择列…

[恢]hdu 2016

2011-12-14 04:21:57 地址:http://acm.hdu.edu.cn/showproblem.php?pid2016 题意:中文。 mark:wa了2次,a^b^a^b这种交换只能用在a和b不同的时候,否则清零。没考虑第一个元素就是最小值的情况。 代码: # in…

CSS3总结(干货)

1、css3中好用的选择器   :target       //突出显示活动的HTML锚 ::after / ::before{content:" ";}  //content必须有,若无内容,用空格占位 2、文字 a.导入字体: font-face b.文字阴影:text-shadow ps:相…

关于Java泛型和擦除

“编译期间擦除泛型”是常识&#xff08;好吧&#xff0c;类型参数和实参实际上就是被擦除的&#xff09;。 这是由于“类型擦除”而发生的。 但这是错误的&#xff0c;正如许多开发人员所假设的那样&#xff0c;删除了<..>符号内指定的所有内容。 请参见下面的代码&…

关于软件测试学习心得

软件测试是软件开发过程中最重要环节&#xff0c;在进行测试之前需要写测试计划&#xff0c;测试计划需要哪几个部分呢&#xff1f;在郁莲老师的课上教导如何做测试计划。 目录 1 引言 1.1 编写目的 1.2 项目背景和产品简介 1.3 专业术语 2 测试目标 3. 测试范围 3.1 功能性测试…

使用JGit API探索Git内部

您是否想过提交及​​其内容如何存储在Git中&#xff1f; 好吧&#xff0c;我有&#xff0c;在上一个下雨的周末&#xff0c;我有一些空闲时间&#xff0c;所以我做了一些研究。 因为我对Java的感觉比对Bash的感觉要多&#xff0c;所以我使用了JGit和一些学习测试来探索提交的…

介绍 Spring 3.1 M1 中的缓存功能

介绍 Spring 3.1 M1 中的缓存功能- 中文版 (转) Spring 3.1 提供了对已有的 Spring 应用增加缓存的支持&#xff0c;这个特性对应用本身来说是透明的&#xff0c;通过缓存抽象层&#xff0c;使得对已有代码的影响降低到最小。 该缓存机制针对于 Java 的方法&#xff0c;通过给定…

Html5 布局方式

在Html5之前&#xff0c;统一采用的是Div css的方式进行布局&#xff0c;但是却和开发人员的命名方式&#xff0c;喜好有关。在新的Html5中&#xff0c;布局却显得更加人性化&#xff0c;更易理解了。如增加了Header&#xff0c;Footer&#xff0c;Section&#xff0c;Aside标签…

PrimeFaces Mobile入门

介绍 如果您已经开发了利用PrimeFaces的应用程序&#xff0c;或者打算开发可在台式机和移动设备上使用的Web应用程序&#xff0c;请考虑将PrimeFaces Mobile用于您的移动实施。 这篇博客文章将介绍一些基础知识&#xff0c;以帮助您开始为现有的PrimeFaces应用程序开发移动界面…

Netty中的策略者模式

策略者模式的特点 在设计类的继承体系时,我们会刻意的把公共的部分都提取到基类中 比如先设计Person类,把人类都具有的行为放到这个Person,特有的行为设计成抽象方法,让子类具体去实现, 这样后续无论我们再去构造学生,还是构造老师,大家都继承Person,就达到了代码复用的目的 但…

attachEvent和addEventListener

attachEvent和addEventListener在前端开发过程中经常性的使用&#xff0c;他们都可以用来绑定脚本事件&#xff0c;取代在html中写 obj.οnclickmethod。相同点&#xff1a; 它们都是DOM对象的方法&#xff0c;可以实现一种事件绑定多个事件处理函数。 obj document.getElemen…

java多线程总结一:线程的两种创建方式及优劣比较

1、通过实现Runnable接口线程创建 (1).定义一个类实现Runnable接口&#xff0c;重写接口中的run()方法。在run()方法中加入具体的任务代码或处理逻辑。 (2).创建Runnable接口实现类的对象。 (3).创建一个Thread类的对象&#xff0c;需要封装前面Runnable接口实现类的对象。&…

如果删除github上项目的文件

1. 你要有前面一章的开发平台和github插件&#xff0c;下面就是基于前面来做的。 如何删掉你github上的文件呢&#xff1f;想必你的电脑有一个下载的git工具了&#xff0c;如果还是没有的话&#xff0c;请用npm下载一个git。这是我已经下载好的。 2. 然后打开这个git&#xff…

在WildFly和OpenShift上的WebSocket聊天

聊天是解释WebSocket的最典型示例之一。 它是一个相当常用的界面&#xff0c;可以很容易地解释WebSocket的基本概念。 当然&#xff0c;Java EE 7 WebSocket也有一个&#xff0c; 在这里可用 &#xff01; 您可以使用以下步骤在WildFly上轻松运行它&#xff1a; curl -O http:…

recv, recvfrom, recvmsg

recv,recvfrom,recvmsg函数用于从套接字接收信息。 ssize_t recv (int s, void *buf, size_t len, int flags);ssize_t recvfrom (int s, void * restrict buf, size_t len, int flags, struct sockaddr * restrict from, socklen_t * restrict fromlen);ssize_t recvmsg (int…

[解决]电信彩信网关开发错误-SOAP_VERSIONMISMATCH

上一个文章&#xff1a;[求救]电信彩信网关开发错误&#xff0d;SOAP_VERSIONMISMATCH 说的问题<messageId>SVC0001</messageId> <text>SOAP_VERSIONMISMATCH</text> 已经解决&#xff0c;主要是查看了网上的一个同学的帖子&#xff0c;非常感谢。再来…

Ubuntu20.04纯命令配置PCL(点云库)

Ubuntu20.04纯命令配置PCL&#xff08;点云库&#xff09; 最近在学习点云库&#xff08;PCL&#xff09;的使用&#xff0c;第一步就是在自己的电脑安装配置PCL。 首先&#xff0c;对于ubuntu 16.04以上版本&#xff0c;可以直接使用命令进行安装&#xff0c;新建好一个文件夹…

css html应用实例1:滑动门技术的简单实现

关于滑动门&#xff0c;现在的页面中好多地方都会用到滑动门&#xff0c;一般用作于导航背景&#xff0c;它的官方解释如下&#xff1a; 滑动门&#xff1a;根据文本自适应大小&#xff0c;根据背景的层叠性制作&#xff0c;并允许他们在彼此之上进行滑动&#xff0c;以创造出…

魔戒1

转载于:https://www.cnblogs.com/moonlightpeng/p/11240880.html

得到python默认的帮助文档

python的help文档很好&#xff0c;就是有时候help一下给出好几页来&#xff0c;甚至有些帮助根本就看不到了(我想应该有其他方法可以解决&#xff0c;只是我不想去查了)&#xff0c;因为这个可以通过一个很简单的python脚本搞定。这里举例为证&#xff0c;比如我想得到Tkinter的…