如何开发有效的可复用测试用例,又如何使用和管理?

简介: 在软件测试过程中,一个成熟的团队一般都有自己的公共测试用例库。公共测试用例库即可复用的测试用例库。今天我们就讨论一下如何开发有效的可复用测试用例,并学会如何使用和管理。

在软件测试过程中,一个成熟的团队一般都有自己的公共测试用例库。公共测试用例库即可复用的测试用例库。今天我们就讨论一下如何开发有效的可复用测试用例,并学会如何使用和管理。

一. 可复用测试用例的开发


测试用例是为了验证最小功能点的一组输入、输出及操作序列的集合。可复用测试用例是指“为了复用目的而设计的测试用例”。复用的意义在于通过可复用测试用例验证功能相同或相近的模块,加快测试用例的设计进度、减少测试人员的负担;也可以帮助产品在设计类似功能时的需求细节补充;还可以与开发人员达成协议,后期在开发类似功能的时候,可以事先有一个既有的标准,提高开发效率和代码质量;


1. 可复用维度分析

为高效使用可复用测试用例,测试用例的复用性可从三个维度分析:

image.png

①时间角度:使用以前软件版本的测试用例作为新版本测试用例的基础,可作为软件维护和回归测试时复用。


②通用角度:以某平台或硬件为基础的软件,测试其平台特性的测试用例可以复用。如测试B/S结构网络应用产品,针对该网络结构数据传输安全的测试用例基本都可以复用。


③应用角度:以某特定领域模型为基础构建的测试用例,在同一领域不同应用系统中的测试过程中可以复用。


2.可复用测试用例的质量特性

为构建高质量的可复用测试用例,需要规定可复用测试用例的本质特征,即对其质量特性进行分析。本文基于ISO9126质量模型和ISO9241标准,并对大量测试用例复用的应用情况进行了分析,认为可复用测试用例的质量模型如图1所示。


image.png


1、独立性:可复用测试用例是独立的,且较好的封装了测试步骤和测试数据。即对于测试需求R1和R2,测试用例集分别为C1和C2, C1和C2的交集为空。

2、可维护性:可复用测试用例不局限于具体的应用,不过分依赖被测软件的需求、设计和环境,能够不经修改或稍加修改即可在某一领域或相似领域进行广泛应用。

3、可用性:指可复用测试用例能够有效发现软件缺陷,且易于理解,方便人们的使用,从用户角度反映了可复用测试用例的质量。


二. 可复用测试用例的使用

image.png

可复用测试用例的使用流程

1、测试用例的匹配:软件测试工程师在开展测试工作时,首先对被测软件的业务逻辑、测试环境、测试需求、测试类型进行分析,然后提取被测项的各功能点,形成被测项目的分析清单,并一一与可复用测试用例库中的已有测试用例项进行检索匹配。

2、测试用例复用:如果在库中检索到与待测项相同或相近的测试用例,则测试工程师提取已有测试用例,并进一步将该测试用例具体化,使之成为针对该项目的具体测试用例。

3、生成可复用测试用例并入库:如果在库中没有检索到与被测项相同或相近的测试用例,则测试工程师设计新测试用例,并按照可复用测试用例的质量特性和设计准则进行抽象和泛化,生成新的可复用测试用例。在项目结束时,统一提交评审并入库,为以后的测试用例复用做好准备。


三.  可复用测试用例的管理


对独立的测试团队来说,要实现测试用例的高效复用,须精心设计、选择、收集大量的测试用例,并对其进行良好地组织和管理。在组织测试用例时,按照该测试用例所属的业务领域、项目等进行多级合理的分类、组织、存储。不同层次的测试用例,实现不同程度的复用。
      为避免库中测试用例繁杂不易使用的情况,应对测试用例库进行有效管理,使得库中的用例具有典型性、代表性。对测试用例库的管理包含如下方面:


1、提取抽象测试用例:提取是指在具体项目系统测试完成后,测试团队选取其中能覆盖系统业务规则、设计完善、有代表性的测试用例,并按照可复用测试用例的质量特性、设计原则等对具体测试用例进行抽象的活动。


2、阶段审查:每月或每季度对可复用测试用例库的维护工作,包括相同或相似测试用例的合并、冗余测试用例的剔除、测试用例库结构的调整等活动。
在上述管理活动都包含测试用例的评审工作,评审团队在评审时,需要对可复用测试用例的正确性、复用特性、设计原则的依从性进行评审,评审通过后才可入库。

初级测试工程师-测试架构师 学习之路

四. 可复用测试用例的优点和难点


通过大量的工程实践,不难发现测试用例的复用具有以下优点和难点。其优点如下:

  • 提高软件测试的效率
  • 缩短软件测试的周期
  • 提高软件测试的可靠性
  • 降低软件测试的费 用
  • 部分解决测试人员的经验欠缺。
    但是要真正实现测试用例复用的困难也是不可忽视的, 若不能较好地解决以下问题,必将使得软件测试工作事倍功半。其难点如下:
  • 测试用例数据 库的维护问题
  • 测试用例划分的标准
  • 测试用例的版本管理问题
  • 被测软件之间的差异
  • 管理因素、环境因素、人的因素和教育因素等。


相关文章
|
4月前
|
缓存 运维 数据库
【测试人员兼职指南】利用专业技能:如何从测试转向开发赚钱
本文分享了作者作为测试人员如何利用专业技能转向开发来兼职赚钱的经验,包括分析和解决登录页面跳转、避免重复账号注册、用户登录后首页显示用户名以及添加退出功能等问题,并提供了Django项目中使用sqlite3数据库和后台管理的扩展技巧。
133 1
【测试人员兼职指南】利用专业技能:如何从测试转向开发赚钱
|
4月前
|
Java 测试技术 开发者
在软件开发中,测试至关重要,尤以单元测试和集成测试为然
在软件开发中,测试至关重要,尤以单元测试和集成测试为然。单元测试聚焦于Java中的类或方法等最小单元,确保其独立功能正确无误,及早发现问题。集成测试则着眼于模块间的交互,验证整体协作效能。为实现高效测试,需编写可测性强的代码,并选用JUnit等合适框架。同时,合理规划测试场景与利用Spring等工具也必不可少。遵循最佳实践,可提升测试质量,保障Java应用稳健前行。
52 1
|
2月前
|
测试技术 网络安全
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
208 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
|
14天前
|
安全 测试技术 持续交付
云计算时代的软件开发与测试:高效、灵活、可扩展
云计算时代的软件开发与测试:高效、灵活、可扩展
|
2月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
61 2
|
2月前
|
敏捷开发 测试技术
开发模型(瀑布、螺旋、scrum) 和 测试模型(V、W)、增量和迭代、敏捷(思想)及敏捷开发 scrum
文章详细介绍了软件开发过程中的不同开发模型(瀑布、螺旋、Scrum)和测试模型(V模型、W模型),以及增量和迭代的概念,最后阐述了敏捷思想及其在敏捷开发(如Scrum)中的应用。
81 0
开发模型(瀑布、螺旋、scrum) 和 测试模型(V、W)、增量和迭代、敏捷(思想)及敏捷开发 scrum
|
3月前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
79 1
|
3月前
|
测试技术 UED 开发者
软件测试的艺术:从代码审查到用户反馈的全景探索在软件开发的宇宙中,测试是那颗确保星系正常运转的暗物质。它或许不总是站在聚光灯下,但无疑是支撑整个系统稳定性与可靠性的基石。《软件测试的艺术:从代码审查到用户反馈的全景探索》一文,旨在揭开软件测试这一神秘面纱,通过深入浅出的方式,引领读者穿梭于测试的各个环节,从细微处着眼,至宏观视角俯瞰,全方位解析如何打造无懈可击的软件产品。
本文以“软件测试的艺术”为核心,创新性地将技术深度与通俗易懂的语言风格相结合,绘制了一幅从代码审查到用户反馈全过程的测试蓝图。不同于常规摘要的枯燥概述,这里更像是一段旅程的预告片,承诺带领读者经历一场从微观世界到宏观视野的探索之旅,揭示每一个测试环节背后的哲学与实践智慧,让即便是非专业人士也能领略到软件测试的魅力所在,并从中获取实用的启示。
|
4月前
|
测试技术 API
软件测试:Postman 工具的使用。开发及测试均需要掌握的测试工具
这篇文章详细介绍了Postman工具的各个模块功能,包括创建请求、集合、环境、自动化测试等,并解释了如何使用Postman进行GET、POST、PUT和DELETE等常见HTTP请求的测试。
|
4月前
|
运维 Kubernetes 监控