- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 测试计划服务(CodeArts TestPlan)使用流程
- 开通CodeArts TestPlan服务
- 访问CodeArts TestPlan服务首页
- 配置CodeArts TestPlan测试计划
- 配置CodeArts TestPlan测试版本
-
配置CodeArts TestPlan测试用例
- CodeArts TestPlan生成测试用例方式介绍
- 通过思维导图创建测试用例
- 创建手工测试用例
-
创建接口自动化测试用例
- CodeArts TestPlan接口自动化用例使用流程
- 创建CodeArts TestPlan接口自动化测试用例模板
- 使用自定义URL请求添加CodeArts TestPlan接口脚本
- 使用Postman快速添加CodeArts TestPlan接口脚本
- 使用cURL快速添加CodeArts TestPlan接口脚本
- 使用关键字库快速添加CodeArts TestPlan接口脚本
- 添加CodeArts TestPlan接口脚本的逻辑控制步骤
- 设置CodeArts TestPlan接口脚本的测试用例参数
- 设置CodeArts TestPlan接口脚本的环境参数
- 导入CodeArts TestPlan接口自动化用例测试数据集
-
接口自动化用例内置函数说明
- 在CodeArts TestPlan中调用二元加法运算函数
- 在CodeArts TestPlan中调用二元减法运算函数
- 在CodeArts TestPlan中调用二元乘法运算函数
- 在CodeArts TestPlan中调用二元除法运算函数
- 在CodeArts TestPlan中调用获取当前时间戳函数
- 在CodeArts TestPlan中调用获取指定时间戳函数
- 在CodeArts TestPlan中调用日期转时间戳函数
- 在CodeArts TestPlan中调用时间戳转日期函数
- 在CodeArts TestPlan中调用时间戳加减运算函数
- 在CodeArts TestPlan中调用生成Base64编码函数
- 在CodeArts TestPlan中调用生成SHA512编码函数
- 在CodeArts TestPlan中调用生成SHA256编码函数
- 在CodeArts TestPlan中调用生成MD5哈希值函数
- 在CodeArts TestPlan中调用生成指定范围随机数函数
- 在CodeArts TestPlan中调用生成指定长度随机字符串函数
- 在CodeArts TestPlan中调用指定范围随机生成小数函数
- 在CodeArts TestPlan中调用生成UUID函数
- 在CodeArts TestPlan中调用倒序索引提取数组函数
- 在CodeArts TestPlan中调用倒序索引提取数组元素的值函数
- 在CodeArts TestPlan中调用大写转小写函数
- 在CodeArts TestPlan中调用小写转大写函数
- 在CodeArts TestPlan中调用字符串拼接函数
- 在CodeArts TestPlan中调用多个参数字符串拼接函数
- 在CodeArts TestPlan中调用字符串切割函数
- 在CodeArts TestPlan中调用获取字符串长度函数
-
接口自动化用例系统关键字说明
- 系统关键字概述与一览表
- 在CodeArts TestPlan接口脚本中调用GetIAMToken关键字
- 在CodeArts TestPlan接口脚本中调用OAuth2ForOneAccess关键字
- 在CodeArts TestPlan接口脚本中调用MySQLQuery关键字
- 在CodeArts TestPlan接口脚本中调用MySQLUpdate关键字
- 在CodeArts TestPlan接口脚本中调用MySQLInsert关键字
- 在CodeArts TestPlan接口脚本中调用MySQLDelete关键字
- 在CodeArts TestPlan接口脚本中调用OpenGaussQuery关键字
- 在CodeArts TestPlan接口脚本中调用OpenGaussUpdate关键字
- 在CodeArts TestPlan接口脚本中调用OpenGaussInsert关键字
- 在CodeArts TestPlan接口脚本中调用OpenGaussDelete关键字
- 在CodeArts TestPlan接口脚本中调用PostgreSQLQuery关键字
- 在CodeArts TestPlan接口脚本中调用PostgreSQLUpdate关键字
- 在CodeArts TestPlan接口脚本中调用PostgreSQLInsert关键字
- 在CodeArts TestPlan接口脚本中调用PostgreSQLDelete关键字
- 在CodeArts TestPlan接口脚本中调用MongoDBQuery关键字
- 在CodeArts TestPlan接口脚本中调用MongoDBInsert关键字
- 在CodeArts TestPlan接口脚本中调用MongoDBUpdate关键字
- 在CodeArts TestPlan接口脚本中调用MongoDBDelete关键字
- 在CodeArts TestPlan接口脚本中调用RedisGet关键字
- 在CodeArts TestPlan接口脚本中调用RedisSet关键字
- 在CodeArts TestPlan接口脚本中调用OBSWrite关键字
- 在CodeArts TestPlan接口脚本中调用OBSDelete关键字
- 在CodeArts TestPlan接口脚本中调用OBSQuery关键字
- 在CodeArts TestPlan接口脚本中调用KafkaProducer关键字
- 在CodeArts TestPlan接口脚本中调用KafkaConsumer关键字
- 在CodeArts TestPlan接口脚本中调用TCP关键字
- 在CodeArts TestPlan接口脚本中调用UDP关键字
- 在CodeArts TestPlan接口脚本中调用WSConnect关键字
- 在CodeArts TestPlan接口脚本中调用WSRequest关键字
- 在CodeArts TestPlan接口脚本中调用WSWriteOnly关键字
- 在CodeArts TestPlan接口脚本中调用WSReadOnly关键字
- 在CodeArts TestPlan接口脚本中调用WSDisConnect关键字
- 在CodeArts TestPlan接口脚本中调用MQTTConnect关键字
- 在CodeArts TestPlan接口脚本中调用MQTTDisconnect关键字
- 在CodeArts TestPlan接口脚本中调用MQTTPublish关键字
- 在CodeArts TestPlan接口脚本中调用MQTTSubscribe关键字
- 在CodeArts TestPlan接口脚本中调用DubboClient关键字
- 创建CodeArts TestPlan性能自动化测试用例
- 创建CodeArts TestPlan自定义自动化测试用例
- 通过CodeArts TestPlan测试资产中心模板创建测试用例
- 执行CodeArts TestPlan测试用例
- 管理CodeArts TestPlan测试用例
- 创建与执行CodeArts TestPlan测试套件
- 查看与评估CodeArts TestPlan测试质量
- 在CodeArts TestPlan中使用在线拨测
- 配置CodeArts TestPlan全局配置项
- IPD测试流程与实践
- 测试用例编写规范
- 最佳实践
-
API参考
- 使用前必读
- API概览
- 如何调用API
-
API
- 测试报表管理
- 接口测试套管理
- 环境参数分组管理
- 项目配置
- 测试计划管理
- 自定义测试服务测试套件管理
-
自定义测试服务用例管理
- 批量执行测试用例
- 批量更新测试用例结果
- 通过用例编号获取测试用例详情
- 创建自定义测试服务类型用例
- 批量删除自定义测试服务类型用例
- 获取测试用例详情
- 更新自定义测试服务类型用例
- 查询用例修改历史记录
- 查询用例列表
- 获取资源池列表
- 查询附件列表
- 获取测试报告的模板设置
- 获取租户订单已用资源信息
- 获取异步进度
- 获取项目测试用例自定义字段列表
- 查询限时免费用户免责声明记录
- 获取测试类型列表
- 查询用例详情
- 生成资源URI
- 根据domainId获取加密的testbirdkey
- 查询用户免责声明
- 查询项目字段配置
- 获取目录
- 获取分支列表
- 新增分支
- 获取租户订单信息
- 获取责任人是自己的测试用例
- 查询用例列表
- 版本测试用例变更统计(只统计分支,不统计基线)
- 向迭代中添加资源
- 从迭代中批量移除用例
- 保存单个自定义报表
- 批量删除用例
- 在分支或者测试计划下修改用例
- 在分支或者测试计划下创建用例
- 批量更新用例属性
- 查询用例评论
- 新增用例评论
- 修改用例评论
- 删除用例评论
- 查询测试用例关联的需求或缺陷是否存在于当前测试计划中
- 根据用例查询评审记录
- 下载导出用例文件
- 统计特性用例数量
- 设置用例结果
- 查询自定义过滤器列表
- 新增自定义过滤器
- 查询用例、测试套版本号
- 查询用户自定义配置
- 导出测试用例
- 获取租户订单及免费额度信息
- 查询用例结果
- 获取资源修改历史记录
- 移除用例前判断是否关联需求
- 查询迭代计划下用例URI和迭代下需求关联用例URI信息
- 查询标签
- 查询迭代下的缺陷信息
- 查询用户自定义列展示及顺序配置
- 清空需求动态
- 自定义测试服务接入管理
- 测试服务关联关系
- 拨测任务配置管理
- 拨测告警信息管理
- 拨测仪表盘信息管理
- 拨测套餐状态查询
- 接口测试套餐信息查询
- 测试设计接口管理
- 接口测试管理
- 用例关联关系管理
- 应用示例
- 附录
-
常见问题
- 测试套件中没有用例
- 用户没有操作权限
- 接口自动化测试套件正在执行或正在排队
- 测试套件不存在
- 测试套件中的版本号信息是在什么地方创建维护的?
- 手工测试用例中的附件无法下载
- 测试计划中没有用例
- 将缺陷与测试用例的关系解除后,测试质量看板缺陷没有归零
- 思维导图生成用例后,测试步骤、预期结果存在空的序号
- 新建及更新测试计划时无法添加Task等类型的工作项
- 测试用例无法关联到Task等类型工作项
- 测试报告中的“用例完成率”无法到达100%
- 为何在用例库与测试计划中,同一个测试用例的状态显示不一致?
- 接口自动化用例中前后步骤如何传递变量
- 接口自动化用例中测试步骤检查点如何设置
- 账户已经关闭(免费额度已使用完)
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
缺陷处理流程和注意事项
产品缺陷处理不仅仅是测试提单,开发修复。缺陷问题单应该清晰、全面、可追溯,处理流程包含发现、重现、确认、修复、自验证、回归测试、关闭等环节。
开发、测试的协作问题
产品测试过程中,测试人员会记录缺陷问题单,转给开发人员处理,跟踪问题处理和闭环关闭。缺陷单是开发和测试人员进行信息沟通的一个重要信息载体,开发、测试人员或多或少会遇到过以下问题:
- 开发抱怨测试提交的缺陷描写不细致,比如没有复现步骤、问题所在的软件版本号,导致沟通成本增加。
- 开发在本地开发环境中没有复现缺陷单中提到的问题,直接将缺陷转回给测试。
- 缺陷修复后开发工程师没有通知测试工程师,导致缺陷复查不及时。
- 测试发现问题后,没有扩展对周边相关功能的功能做测试,忽视了潜在的类似问题,开发人员也没有做类似的探索。
- 开发人员对测试人员标记的缺陷的严重级别存在异议。
缺陷处理流程
开发和测试均是软件产品质量的责任人,在产品质量保障方面有着共同的目标和意愿,区别只在于从事的工作活动内容,缺陷处理流程的制定和落地应该本着作二者之间协作的粘合剂和润滑剂的目标,帮助实现互信、高效的协作,而避免作为不作为的借口和矛盾的引火线。以下讲述了一个完整的缺陷处理流程,在实际操作中可以借鉴。
- 发现缺陷
在软件开发和测试中,随着代码和模块的叠加和层层调用,一个底层问题可能会表现出多个表象问题。最初发现的问题,仅仅是一个问题表象,此时不能草率给出问题内容和问题原因的结论,而需要做一番有逻辑的系统性分析。
- 首先,需要发散分析,除了发现的第一个问题表现外,是否还有别的问题表现,这些表现是同时存在的还是有一定的依赖关系、时间先后关系,需要叠加一些更多的测试操作步骤。
例如:在一次测试中,发现使用手机号+验证码无法成功登录某IT系统之后,需要分析使用手机号+密码等其它登录方式、使用手机号+验证码登录“其它”系统,使用APP和浏览器或者其它设备登录、使用其它运营商的手机号是否也会出现问题。
- 其次,猜测问题的原因并验证是否是导致问题的原因。这里要避免把“测试步骤”作为原因,而应该分析测试步骤背后引起的数据变化作为原因,由此分析是否有其它场景会出现类似的问题,层层抽丝剥茧,尽量还原出问题的本质。如果是偶现问题,也需要尽量分析问题原因,请开发人员帮助定位定界问题。
- 最后,整理问题发生条件、操作步骤、问题表现。
- 首先,需要发散分析,除了发现的第一个问题表现外,是否还有别的问题表现,这些表现是同时存在的还是有一定的依赖关系、时间先后关系,需要叠加一些更多的测试操作步骤。
- 重现缺陷
缺陷如果无法重现,开发还是难以定位问题。一般而言,保证缺陷可复现的责任在测试人员,如果问题实在是偶现,难以找到确定性的复现步骤,说明问题根源很深,需要及时寻求开发人员的帮助共同做问题分析。测试人员重现缺陷需要做到:
- 首先,发现缺陷的测试人员,换一些输入数据或者组合、换一个测试环境,可以按照问题发生条件和操作步骤,重新还原出问题。
- 其次,其他人员(如开发)根据缺陷文字和截图描述,可以还原出问题。
- 确认缺陷
测试人员在提交问题单之前,尽量和开发人员做一轮确认,包括:是否是缺陷而不是优化或者新需求,是否是重复问题,缺陷是否可以重现,是否需要补充问题日志等信息,缺陷严重程度定级是否准确,是否阻塞测试工作需要确定解决日期。
开发、测试确认缺陷时间不做限定,可以在发现问题到开发启动问题修复之前的任何时间,鼓励尽早进行信息确认,也不限定是否直接找具体的开发人员做确认工作,也可以把缺陷单提交至模块的负责人做统一确认和反馈。
- 提交问题单
提交的问题单需要清晰、全面、可管理、可追溯。问题单需要有专门的缺陷管理系统,缺陷管理系统最好和需求、开发任务管理系统同源使用同一系统,以便于做统一的管理和规划。缺陷单一般包含问题单级别、类型、问题描述、根因分析、处理意见、测试建议、关联的测试用例、环境信息描述、开发定位所需日志、截图等。
- 修复问题单
开发人员接到问题单后,初步分析工作量安排时间计划。除了修复问题单中描述的问题外,还需要举一反三,进一步测试可能关联的场景,做深入测试,发现可能的深层次问题,并解决。修复问题单后,需要在问题单中介绍问题的根因、发生问题的条件、解决问题的方法。有的缺陷管理系统还可以把问题单和代码提交记录关联,帮助做跟踪统计和追溯。
- 自验证
问题修复后除了在本地开发环境验证没有问题外,还需要创建个人构建、部署至测试环境。测试环境尽量和测试人员使用的环境或者发现问题的环境保持一致,以尽量排除环境差异。在测试环境中进一步测试没有问题之后才算自验证通过。在DevOps工具中,可以通过个人级流水线实现个人构建打包、环境部署的全流程自动化,提高个人构建自验证的效率。
- 提交版本
- 验证修复
测试人员在测试环境部署包含缺陷修复的代码分支,验证是否完整修复问题。如果问题没有修复,或者修复引入了新的问题,需要把问题记录在缺陷单中,转回给开发人员做进一步分析和修复。
- 关闭问题单
在回归测试最终验证问题已经解决,并且没有产生新问题的情况下才能正常关闭。关闭问题单一般只能有三类情况:问题解决正常关闭、非问题关闭、重复问题关闭。可以在问题单中添加一些说明和图片,记录在哪个版本中已经修复解决。
测试计划服务中定制缺陷处理流程
- 确定缺陷状态,例如新建、进行中、已解决、测试中、已拒绝、已关闭,TestPlan缺陷工作项模板已经预置了上述状态,也可以自己扩展添加新状态。
- 设置缺陷状态流转方向,控制缺陷在某个状态下只能向指定的状态流转。
- 设置缺陷预置字段和模板,指导测试和开发人员填写信息。