测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一,设计良好的测试用例模板能提高测试用例的设计质量,便于跟踪测试用例的执行结果,自动生成测试用例覆盖率报告。这几年测试技术和理论有了长足的发展,就功能测试用例设计要素而言,样式上均大同小异,一般都包含主题、前置条件、执行步骤、期望结果等。

测试用例可以用数据库、Word 、Excel 、xml 等格式进行管理,市面亦有成熟的商业软件工具和开源工具等,对于一般中小软件企业,使用文档来管理测试用例是较为方便、经济的途径。 Word 格式的文档可以满足设计需要,但不利于跟踪和自动统计执行结果报告。下面我将介绍自己在多个项目中设计和改进的 Excel 模版,它可以方便地设计测试用例,记录执行结果并自动统计测试用例覆盖率。图-1 为 Excel 模板。具体细目说明如下:

图-1 Excel 模板

测试用例 ID —— 用于唯一标识测试用例号,可根据自身需要定义规则,最好易于跟踪和维护;

测试前置条件 —— 如果有则描述之;

测试用例等级 —— 根据需求重要性区分测试用例等级,测试执行阶段可以根据测试用例等级安排测试任务,分为四级:

•  冒烟测试,即版本确认测试,每个测试版本需通过所有该级测试用例,否则拒绝继续测试;

•  关键路径测试,每个测试版本需执行该级测试用例,若该级测试用例均通过,意味着软件功能趋于稳定;

•  可接受级测试,该级测试用例只要执行一次通过即可,该级测试用例通过意味着可以准备发布了;

•  建议执行的用例,如果有时间,最好执行该级测试用例,但不作为发布的必要条件。

测试用例执行步骤、期望结果;

测试用例执行结果 —— 执行时填写,分为通过、失败、警告、阻塞、忽略。

通过开发 VBA 脚本,可以自动统计每轮测试用例执行结果,如图-2 所示,得到测试用例覆盖率结果报告,用于分析测试结果。 

图-2 测试用例覆盖率分析报告

测试用例状态转换分析

图 -3 显示了一个典型测试用例的生命周期,依据不同类型和规模的项目可以自行定制。

图-3 测试用例生命周期

队列中( In Queue ) -- 测试用例在排队等待中;

进程中( In Progress ) -- 表示测试正在进行,并且可能会持续一段时间,如果一个测试花费的时间少于一天或两天,只需将它显示在处于排队状态;

阻塞( Block ) -- 一些外部条件 — 如缺少部分功能 — 将无法执行测试;

忽略( Skip ) -- 已经决定(或被告知)跳过这个测试用例;

通过( Pass ) -- 终点状态,没问题;

失败( Fail ) -- 测试用例执行出错;

警告( Warn ) -- 结果处于 Pass 和 Fail 之间,错误严重性等级较轻,不影响功能和性能;

关闭( Closed ) -- 以前识别出的错误都已经被修正。

实际项目中,一个测试用例有多个执行步骤,每个步骤可能有不同结果,如步骤 1 通过,步骤 2 失败,步骤 3 被步骤 2 中的失败所阻塞,那么该测试状态如何?单纯指出这个测试用例阻塞或失败都将遗漏重要的信息。因此必须指定双重状态,如 Block/Fail , Block/Warn , Skip/Pass , Skip/Closed 等。然而,如果显示十几个状态,则测试结果可能更难以解释。如何使结果明了又能精确反映实际结果,需要精明选择包括哪些状态。

使用该模板优点:使用维护简便,方便测试任务分配,易于与项目组其他角色交流,结果报告自动生成。

不足之处:测试变更跟踪不方便,每个测试用例的规模不等,所以测试覆盖率结果只是作为参考,结果百分比不能精确反映工作量,需要具体分析项目情况。这个模版没有跟踪统计缺陷,同时考虑是否使用加权评估缺陷严重性,一个测试用例往往对应几个缺陷的统计分析。

结论:在实际项目中,应该根据项目特点和开发流程定义测试用例各项。在精确和简单两个特性相对立时,需要好好权衡。如果您有好的解决方案,我将很乐意知道。

浅谈功能测试用例模板设计相关推荐

  1. 浅谈Hybrid技术的设计与实现【转】

    https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术 ...

  2. 浅谈Hybrid技术的设计与实现第二弹

    前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹--落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...

  3. 浅谈飞控的软件设计(across写的)

    关注across很久了,最近发现了它得CSDN,发现了这篇文章,感觉不错,转载保存. 摘自:https://blog.csdn.net/hz770495569/article/details/8657 ...

  4. 漫谈程序员(十八)浅谈谷歌用户体验设计准则

    #漫谈程序员(十八)浅谈谷歌用户体验设计准则 ##谷歌的愿景   Google用户体验团队致力于创建有用的(useful).快速的(fast).简单的(simple).有吸引力的(engaging). ...

  5. (转)浅谈Hybrid技术的设计与实现

    转载地址:https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hyb ...

  6. php 如何设计索引_Mysql学习浅谈mysql的索引设计原则以及常见索引的区别

    <Mysql学习浅谈mysql的索引设计原则以及常见索引的区别>要点: 本文介绍了Mysql学习浅谈mysql的索引设计原则以及常见索引的区别,希望对您有用.如果有疑问,可以联系我们. 索 ...

  7. 微型计算机在机械设计中的应用,浅谈计算机技术在机械设计制造及自动化中的应用.docx...

    浅谈计算机技术在机械设计制造及自动化中的应用 当前科学技术与机械制造与自动化技术相互融合,将多种学科中的复合型技术加以整合,形成综合性的机械设计制造自动化学科.作为机械制造的核心内容,自动化在人们的生 ...

  8. 浅谈网站的logo设计

    浅谈网站的logo设计 当今是信息高速发达的时代,互联网实现了世界范围的网络间的互联和信息共享,并已全面介入人类生活的方方面面,带动着人类社会的飞速发展,发挥着重要的作用. 随着PC和网络的普及,上网 ...

  9. 浅谈秒杀系统架构设计

    秒杀是电子商务网站常见的一种营销手段. 原则 不要整个系统宕机. 即使系统故障,也不要将错误数据展示出来. 尽量保持公平公正. 实现效果 秒杀开始前,抢购按钮为活动未开始. 秒杀开始时,抢购按钮可以点 ...

最新文章

  1. python建模仿真报告_Python|数学建模|排队论仿真
  2. 如何将h5网页改成微信网页
  3. 移动优先的响应式布局
  4. mount 需要同时设置 noatime 和 nodiratime 吗?
  5. arch_version(12) of input model should be 11!
  6. Thrift 对象序列化、反序列化-字节数组分析
  7. 信息系统开发与利用 领域分析部分@wangshushu
  8. 泰坦尼克号数据挖掘项目实战——Task6 模型调优
  9. SEO快速建站,八部曲
  10. 软考真题答案-2021年5月系统集成项目管理工程师上午题
  11. 怎样和控制欲很强的家人相处-不受他人影响
  12. 浅谈网络营销推广策略-方式方法利用
  13. 《桃花庵歌》——唐伯虎
  14. 一、LCD12864(带字库的)使用教程:
  15. PINN深度学习求解微分方程系列一:求解框架
  16. 第六十七章 方法关键字 - Language
  17. JavaScript中的ReferenceError和TypeError两种错误的区别
  18. h3c linux驱动 wn612_-新华三集团-H3C
  19. noi2016旷野大作战
  20. HDMI之InfoFrame

热门文章

  1. 2008年07月30日-奥运会第一次彩排
  2. android mvp简单的例子,Android MVP 模式的简单实现
  3. 图雅的婚事 真实的残酷
  4. 脊髓损伤会引起哪些并发症
  5. 基于逻辑回归/决策树/随机森林/多层感知分类器/xgboost/朴素贝叶斯分类的资讯多分类性能对比
  6. OIS几个重要的类的使用
  7. PowerDesigner连接oracle、PDMReader导出数据库字典
  8. 莫兰指数中关于显著性P值的问题
  9. 一些实用的生活小常识。
  10. Windows 2003 服务器目录安全权限设置