首页 > 其他分享 >测试工程师要遵守的用例编写规范

测试工程师要遵守的用例编写规范

时间:2024-12-17 13:58:57浏览次数:4  
标签:需求 工程师 测试人员 用例 测试用例 测试 编写

前言

在软件开发的快速迭代和不断更新的背景下,测试用例规范的重要性愈发凸显。它不仅帮助测试人员明确测试的目标和方法,还确保测试过程的一致性和可重复性。通过遵循统一的规范,我们可以减少人为错误,提高测试覆盖率,从而确保软件的质量。

01什么是测试用例

测试用例是测试过程中操作行为的方法指引,用例让整个测试过程有章可循,高效快捷,不至于有所疏漏;

用例设计的准确性、合理性、覆盖率直接体现测试的效率与质量;

一份合格的测试用例一定要具备逻辑清晰,尽可能覆盖所有功能点,执行快捷的特性等;

测试用例设计是整个测试工作的核心,也是一个优秀测试人员的基本功,注意我这里用的是“设计”而不是简单的“编写”,一份合格的测试用例一定是设计出来的,它需要从各个角度去思考以覆盖到所有可能的测试点,最终尽可能达到系统没有任何缺陷的完美程度。

02用例设计流程

1)测试分析:进行测试用例编写的前提。测试人员根据产品部门提供的PRD、用户故事以及研发部提供的设计文档进行测试需求分析,找出明显的和隐含的需求。有些需求无法从需求文档中获得,可借助概要设计文档或者详细设计文档,或直接从最终的软件产品上获得。

2)测试设计:依据测试分析整理并编写出测试用例大纲,并将测试大纲细化为测试用例。测试用例大纲用脑图的形式进行管理,在时间受限的情况下,测试用例评审对象是脑图,详细测试用例会抽取一些作为附加评审对象。参加的人员应包括测试负责人、项目经理、开发人员及其他相关的测试人员。

3)测试用例完善:测试用例编写完成之后需不断完善,软件产品新增功能或更新需求后,测试用例必须定期修改更新;在测试过程中发现设计测试用例时考虑不周,需要对测试用例进行修改完善;产品上线后客户反馈的软件缺陷,而缺陷又是因测试用例存在漏洞造成,也需要对测试用例进行完善。任何测试用例的新增和更新均需要经过评审流程。

03用例编写规范

3.1 用例编写原则
3.1.1 覆盖所有需求和业务场景
  • 需覆盖软件需求规格说明、核心业务流程

  • 需覆盖正向场景、异常场景

  • 需覆盖核心数据和业务规则的有效&无效等价类、边界条件的校验

3.1.2 可维护性
  • 须使测试用例的分解符合高内聚和低耦合的特征,如按模块划分、按功能和业务流程划分

  • 须使测试用例每个步骤的结构和描述合理,简洁、清晰。

3.2 测试用例的必要元素
3.2.1 用例编号

可以根据软件名称、模块名称和数字组合定义,如CMS系统的登录模块用例,编号可以设置成cms_login_001;

3.2.2 用例优先级

每个测试用例须根据测试设计和执行的进度和质量要求的重要和紧急程度进行设置,在项目执行过程中用例优先级不是一成不变的。

  • P1(占比:10%~20%):冒烟用例、主流程用例、用户最常用功能或者影响用户体验的性能、质量特性等

  • P2(占比:60%~70%):正常场景用例,从测试效率角度,边界区域更容易发现缺陷,测试边界区域的用例优先级相对较高;从修改成本考虑,逻辑方面的缺陷修复比简单功能缺陷修复成本高,逻辑方面的测试用例优先级要相对较高

  • P3(5%~10%):异常场景用例,发布前如果时间限制,不需要回归,不会产生重大不良影响的用例

  • P4(占比:<5%):极度异常场景用例,生僻场景,使用频率比较低

3.2.3 前提条件

用例执行的前置条件,如测试角色权限,修改代码或程序配置等要求。

3.2.4测试数据

执行用例前需要准备的测试数据

3.2.5 操作步骤
  • 每一个测试用例步骤的输入描述必须是一个,或一组明确的、无需进一步说明的测试操作行为

  • 每一个测试用例步骤的期望结果是由此步骤的一个,或一组输入操作产生的,并且必须具有唯一性

  • 每一个测试用例步骤的输入数据必须在执行测试前完成设计,并且必须满足真实的业务数据要求

3.2.6 预期结果

每一个测试用例步骤都有明确的期望结果,用例编写时预期结果不应出现详见需求、页面展示正确之类的笼统描述。

预期结果规则:

  • 一个操作步骤对应一个预期结果

  • 预期结果根据软件需求以及最终实现效果输出

  • 预期结果描述要清晰、明确,没有含糊的概念和一般性的描述,如:大概、可能、应该等。

  • 预期结果应详细具体,尽量做到不同的人看这个结果理解一致

  • 相同测试预期结果可以不同重复写,如不同界面插入U盘,提示语验证;建立通话,通话UI描述。

  • 预期结果中提示语、标题、softkey、翻译等大小写、是否有空格、特殊字符符号等都要描述准确

04用例等级定义

BVT:

1.该类用例涉及系统基本功能,用例数量应受到控制,占10-15%的比例。

2.划分依据:该用例执行的失败会导致多处重要功能无法运行,可以认为是发生概率较高而且经常使用的一些功能用例。

3.该级别的测试用例在每一轮版本测试中都必须执行。

高:

1.该类用例涉及系统的重要功能,用例数量较多,占20-30%的比例。

2.划分依据:主要包括一些功能交互相关、各种主要应用场景、使用频率较高的正常功能测试用例。

3.在系统测试版本中基本都需要进行验证,以保证系统所有的重要功能都能够正常实现。

中:

1.该类用例涉及系统的一般功能,用例数量较多,占40-60%的比例。

2.划分依据:使用频率低于高级别的用例。例如:数值或数据的边界情况、特殊字符、字符串超长等。

低:

1.如果没有可以不适用该级别

2.该级别用例一般非常少,占10-15%的比例。

3.划分依据:该类用例对应较生僻的预置条件和数据设置。虽然某些测试用例发现过较严重的错误,但是那些用例的触发条件非常特殊,仍然应该被置入低级别用例中。如界面规范化的测试也可归入低级用例。在实际使用中使用频率非常低、对用户可有可无的功能。

4.在系统测试中有某些正常原因(包括:环境、人力、时间等)经过项目经理同意可以不进行测试。

3.在系统测试的中后期并不一定需要每个版本都进行测试。

05用例编写方法

1)基于需求列测试大纲

熟悉需求是编写测试用例的前提条件,测试人员可以通过参与需求宣讲、阅读需求文档熟悉软件需求。在熟悉需求的过程中,使用思维导图梳理测试大纲,比较清晰、直观地罗列清楚要测试的需求点。

2)使用模板用例编写

可以根据用例模板进行用例编写,也可以用xmind按照用例模板格式定义好层级,进行用例编写,比较直观,且完成后导出excel。

3)用例评审

--组织方式:用例编写完成后测试人员可以发起用例评审,如组织会议评审、邮件评审;测试用例评审的参与人员是:开发、产品、测试人员;

--评审目的:

  • 完善测试的覆盖率,产品参与核对用例是否覆盖软件需求;

  • 开发人员从代码角度给出建议,保证测试的全面性,防止漏测、过渡测试、无效测试等;

  • 确保各角色对需求理解的一致性

4)选择有效的测试用例
4.1冒烟测试用例

用例评审通过后,可以抽取P1级别的功能用例做为冒烟测试用例,冒烟用例是版本转测前由研发同学冒烟自测的执行依据。

4.2有效的回归用例

1.用例按需求模块或业务流程或组件划分清楚,划分方式和研发对齐

  • 根据研发修改的范围,评估影响范围,抽取要回归的用例,做到测试执行的有效性

  • 没有修改的模块或流程,执行优先级降低,时间来不及可以不覆盖(前提是和研发沟通好上线范围和影响)

2.根据测试情况、需求变更情况,及时更新、调整测试用例

  • 已知需求变更,用例对应修改

  • 测试过长中拨测场景发现严重问题,要丰富对应场景的测试用例

  • 用例的优先级,根据不同版本的修改范围和影响,应灵活调整

06用例维护

1)新增测试用例

对新增的功能、在评审过程及测试过程中发现缺少测试用例或者系统出现BUG但是没有与之对应的测试用例,需要按照测试用例的设计标准进行增添,增加测试用例时,需要在相应功能模块的最下方插入新增的测试用例,并在备注栏中加以说明

2)修改测试用例

随着软件项目的进展,测试需求可能会有部分变更,甚至大范围的变更,这个时候我们就会根据需求的变化相应的对测试用例进行维护,修改已经不符合目前需求的内容,并在备注栏中加以说明

3)删除冗余的测试用例

如果存在两个或更多测试用例对一组相同的输入和输入进行测试,则需要对其进行删除,只需留下其中的一个增添新的测试用例

4)归档过时的测试用例

因为需求的改变等原因可能会使一个基线测试用例不再适合被测系统,那么这些测试用例就会过时,需要对这些测试用例进行及时的归档。当前测试用例状态会被更改为Obsolete并且移动到归档测试用例目录下。

标签:需求,工程师,测试人员,用例,测试用例,测试,编写
From: https://blog.csdn.net/m0_60889254/article/details/144510331

相关文章

  • 测试工程师必须要掌握的linux命令大全
    前言在软件测试领域,尤其是在进行服务器端或嵌入式系统测试时,对Linux命令的掌握是软件测试工程师的一项基本技能。Linux作为一个开源、灵活且强大的操作系统,广泛应用于各种服务器环境和嵌入式设备中。以下是一些软件测试工程师在日常工作中必须知道和掌握的Linux命令。1、显......
  • OpenAI发布12月11日ChatGPT宕机故障报告:集群出现死循环把工程师挡在门外
    12月11日OpenAIChatGPT和Sora等服务出现长达4小时10分钟的宕机,此次宕机只是个小更改导致的,而且这个小更改仅在部署3分钟后就被发现出现问题,按理说这么快发现问题应该是很容易解决的。不过OpenAI也出现了和某些公司相同的错误:服务挂了后把工程师也给锁门外......
  • Python 闭包:常见用例和示例
     在Python中,闭包通常是定义在另一个函数内部的函数。这个内部函数抓取在其作用域外定义的对象,并将它们与内部函数对象本身关联起来。由此产生的组合称为闭包。 闭包是函数式编程语言的一个常见特性。在Python中,闭包非常有用,因为它支持创建基于函数的装饰器,而装饰器是一种......
  • 在 Windows 下编写 Linux 脚本,传至 Linux 中执行时,会遇到 not found 错误
    在Windows下建立脚本#!/bin/bashechohello传至Linux下执行脚本./test.sh执行出错-bash:./test.sh:Permissiondenied问题原因:未对文件添加可执行权限添加权限chmod+xtest.sh再次执行脚本./test.sh执行出错-bash:./test.sh:/bin/bash^M:badinterpreter:......
  • 做运维工程师辛苦吗?
    你要知道做那一块的运维网络运维(确保网络稳定安全)应用运维(应用软件进程监控、服务和端口相应情况、故障处理等)系统运维(操作系统监控恢复等)、桌面和外围设备运维(计算机终端、外围输入输出设备等的维护)、基础环境运维(比如机房环境、电力系统、消防等)、主机和存储设备......
  • 你认为优秀的前端工程师要具体哪些素质?
    优秀的前端工程师需要具备多方面的素质,以下是一些关键的素质:扎实的技术基础:熟练掌握HTML、CSS和JavaScript等前端开发的基础语言和技术。了解并能应用前端框架和库,如React、Vue.js、Angular等。对Web标准、浏览器兼容性有深入的了解。持续学习能力:前端技术更新迅速,优......
  • ChatGPT生成测试用例的最佳实践(二)
           这种测试用例还不够直观,能不能让其以表格的形式显示呢?笔者输入“请以表格形式展示,谢谢。”提示词,ChatGPT输出的部分内容如图3-3所示。 图3-3 ChatGPT输出的部分内容      以下为ChatGPT生成的关于百度关键字搜索的测试用例集(以表格形式组织)。ChatG......
  • 分布式锁代码编写问题分析
     先给大家一段代码示例:@AutowiredRedissonredisson;@GetMapping("/modifyInfo/{id}")publicResultmodifyInfo(@PathVariableStringid){StringlockKey=RedisLockConstant.ERP_CLUE_LOCK+id;RLockrLock=redisson.getLo......
  • 从开发转到安全渗透工程师,是我做的最对的决定
    开发是我不想重复的路早几年都流行学计算机,传言就业薪资高,就选了软件开发专业。在学校也不算混子吧,该学的java、python、前端操作系统都学了,不过大学的基础大家都懂,大学期间贪玩,老师在上面讲课,我们在下面组团打王者,专业知识没学会多少,王者已经是荣耀王者了;只会基础内容,而......
  • 大数据初级工程师职业能力要求
    1.大数据开发要求1.1具备开展大数据应用开发环境安装与部署的能力能够安装主流操作系统;操作系统基础知识及常用操作命令。1.2具备数据采集与清洗的能力能够安装部署并运行主流大数据平台;使用数据采集工具对多源异构数据进行采集;数据清洗工具对数据进行抽取......