在工程工期时间有限的情况下,怎么解决测试工期和全部测试用例执行时间之间的矛盾呢?

怎么样的设计才能算测试用例

引自:IEEE Standard 610 (1990):

A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.

(IEEE Std 829-1983) Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.

但是,当每一次迭代中,执行全部的测试用例很多时候变成了一个很难的事情。

划分测试用例优先级好处

没有软件系统是完美的,任何系统都有BUGS。但是每一次得迭代都有一个期望,测试工程师需要知道本次迭代的项目关系人的预期,找到对应的目标和风险。

Sue Bartlett在“How to Find the Level of Quality Your Sponsor Wants”一文中描述了如何获取上面说的的目标和风险。文章说在详细的计划、设计或者编码前就明确质量目标,这样会更好的保证交付一个满足预期质量目标的交付物。

Ross Collard指出10%到15%的测试用例发现被测系统的75%到90%的BUGS。

这也是二八原则,二八原则影响了软件测试很多。

怎么划分优先级呢

我相信你肯定也遇见过如下场景,面对成百上千的测试用例,要挑选出一个最小的、最终要的、优先级最高的测试用例集的时候却无法下手。对测试用例进行优先级的定义并不容易,而且优先级的定义在每一次迭代中或者迭代后都有可能修改。因此测试用例的优先级是动态的。

1、 构建验证测试(BVT)

BVT也成为冒烟测试用例集。是每次测试开始allin投入前最希望被运行得以确认的测试用例集。

冒烟测试用例集的规则:如果该用例无法正确执行成功,其他测试用例都没有办法执行。如果满足该条件的测试用例,那么就应该纳入冒烟测试用例集。

2、高优先级

高优先级测试用例集合是按照执行频度和业务功树的根部分支的条件选入的。

高优先级测试用例的规则:BVT中加入最常用的测试用例,用来验证重要或者主干流程的功能稳定、功能正确。测试用例中既包含了正确的数据流也包含了错误的数据流。

3、中优先级

中优先测试用例集合是按照执行频度和业务功树的主要分支的条件选入的。

中优先级测试用例的规则:在新迭代影响域(新功能区域)或者功能更加详尽。测试用例包含了大多数方面的功能,其中除了有正确数据流和错误的数据流,还应该有一些配置方面的测试。

4、低优先级

低优先测试用例集合是按照执行频度和业务功树的根部分支的条件选入的。

低优先级测试用例的规则:这个是最不频繁的测试用例执行的部分。但是低并不是说不执行,不测试。只是在迭代的过程汇总,执行频率比较低,不常常被执行。例如:错误消息,可用性,压力和性能测试等。

开始划分你的测试用例

1、粗狂划分,任意标注

将全部功能的正确性验证(happy path)的测试用例定义为高优先级;

将全部有错误或者有边界值验证的测试用例定义为中优先级;

将其他定义为低优先级(这里面主要是非功能测试用例)

2、Review每一个测试用例,升级或者降级

通过对每一个测试用例以及其优先级的标记的重新review,开了测试的重要性以及执行频度等,按照下面进行降级处理。

将功能验证测试分为两组重要和非重要,将“不太重要”的功能验证测试降级为中等优先级;

将错误和边界测试分为两组重要和非重要。将“重要”错误和边界测试推广到高优先级。

将非功能性测试分为两组重要和非重要。将“重要”非功能性测试推广到中等优先级。

对每组高,中和低优先级测试用例重复划分和升级/降级过程,直到达到优先级之间移动的测试用例数量变为0,终止。

3、 确定BVT

将高优先级测试分为两组,分别为致命和严重(如果出现bug就是致命bug,那么这条测试用例也设定为致命。将致命的测试用例归并到BVT优先级。

相对统计的优先级分布BVT 10-15%,高20-30%,中等40-60%和低10-15%。

参考

http://thinktesting.com/articles/rapid-test-case-prioritization/http://thinktesting.com/articles/regression-testing-strategic-and-risk-driven-can-you-afford-not-to/http://thinktesting.com/articles/write-a-test-strategy-what-choices-do-i-have/http://thinktesting.com/articles/risk-mitigation-and-scarcity/

and or not 优先级_快速划分测试用例优先级相关推荐

  1. 测试用例优先级划分_全面的质量保障体系之测试用例分级

    在<全面的质量保障体系之发现缺陷>中提到测试用例分级的应用,以最少的测试用例实现覆盖更多的测试场景,以提高测试的精准度.测试用例分级是每个公司都在做的事情,但如何精细化的做好测试用例分级, ...

  2. 测试用例优先级划分_测试用例的重要级别如何划分?

    测试用例的优先级别 优先级一般都是和缺陷的严重程度对应的. 一般可以把优先级分为三种: 高(Highs):保证功能性是稳定的,是按照需求的正常使用和实现点进行用例设计的,重要的错误和边界测试的测试用例 ...

  3. 测试用例优先级与三轮测试的结合

    测试用例优先级与三轮测试的结合 发布时间: 2009-7-10 15:01    作者: meizhu    来源: Taobao QA Team 字体:  小  中  大  | 上一篇 下一篇 | ...

  4. Excel如何快速划分等级或成绩评级

    今天跟大家分享一下Excel如何快速划分等级或成绩评级 1.如下图是某班级成绩表,现在我们想要按照评分标准对各位学生考试成绩划分等级. 2.首先我们点击E2单元格 3.然后点击[公式向导](Excel ...

  5. [机器学习]三行代码快速划分交叉训练中训练集和验证集

    使用numpy.random.choice()和set()快速划分交叉训练数据集 之前在划分训练集和验证集时,都是手工随机生成index,很笨. 学到的新方法如下: import numpy as n ...

  6. AV1基于机器学习的变换块快速划分

    AV1基于机器学习的变换块快速划分 在上一篇文章<AV1基于机器学习的快速变换模式选择>中讲解了AV1如何使用机器学习技术为每个变换块选择合适的变换模式,本节将讲解AV1如何利用机器学习技 ...

  7. C#:实现快速划分/快速分割算法(附完整源码)

    C#:实现快速划分/快速分割算法 int QuickPartition(int[] array, int left, int right, bool isAscend = true) {

  8. C语言运算符优先级 之 快速记忆

    C语言运算符优先级 之 快速记忆 先摘录谭浩强<C程序设计>对运算符优先级的两点说明: 1. 同一优先级的运算符,运算次序由结合方向来决定. 例如: a) * 与 / 具有相同的优先级别, ...

  9. 语言求余和乘除优先级_愉快地学Java语言:第二章基本程序设计 第2讲

    导读 本文适合Java入门,不太适合Java中高级软件工程师. 本文以<Java程序设计基础篇>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述. 本篇文章只是这个系列中的一篇, ...

最新文章

  1. [Python]网络爬虫(三):异常的处理和HTTP状态码的分类
  2. 【牛客 - 330C】Applese 走迷宫(bfs)
  3. 运维实战案例之“Too many open files”错误与解决方法
  4. Mininet的内部实现原理简介
  5. 公司有内部推荐的名额
  6. 单片机 c语言百位加上小数点,51单片机水温控制LCD显示加VB上位机温度曲线绘制...
  7. Outlook2016中如何实现自动密送
  8. `Shell`高级编程 Day02 —— Shell脚本初步入门
  9. java 自然常数e中出现的连续的第一个10个数字组成的质数_自然常数-常数e的来历e在很多数学公式中出现的频率比较高今天做导数题时看到 爱问知识人...
  10. matlab shapley函数,合作博弈shapley值讲解.ppt
  11. pdm导出rtf文档
  12. wps如何只让他显示3级标题_怎么设置一二三级标题
  13. word压缩图片怎么弄_Word文档怎么压缩图片?Word图片压缩的方法介绍
  14. Android广告图片轮播控件
  15. 基于XMPP协议的Android即时通信系(http://blog.csdn.net/lnb333666/article/details/7471292)...
  16. 基于Android的车位共享系统的设计
  17. iOS开发—音视频入门学习必看
  18. 利用动态渲染页面对京东笔记本电脑信息爬取
  19. PHP工程师必备知识整理
  20. 计算机控制面板里没有家长控制,win7 家长控制不让上网的方法是什么_win7如何设置家长控制图文教程...

热门文章

  1. java有什么压力_编程语言的心智负担!你学编程得有多大的压力快来测试一下...
  2. mysql安装包下载密码_MySQL解压包的安装与下载的图文教程
  3. PHP 函数调用跟踪
  4. O_RDWR, O_CREAT等open函数标志位在哪里定义?
  5. Ubuntu出现没有正确安装GNOME电源管理器的默认配置
  6. Visual Studio 2005 移植 (札记之一)
  7. 微信小程序tabBar导航栏页和其他页执行onLoad与onShow时机;tabBar页获取不到参数问题;navigateTo跳转无效问题;onShow执行两次问题;
  8. Linux 串口编程三 使用termios与API进行串口程序开发
  9. [react] react父子组件如何通信?
  10. React开发(206):react代码分割之context的api