技术部测试规范

简短测试流程:

开发完成 -> 本地自测 -> 测试环境自测 -> 通知测试同事复测 -> 确认无误后上生产 -> 生产环境自测 -> 再次通知测试同事复测
-> 提交产品验收。

当然可以!以下是进一步优化后的测试流程规范,特别强调了开发人员的责任,尤其是在多次发现相同问题时应加强自测,避免给测试人员带来不必要的负担。


1. 开发自测阶段

责任人员:开发人员

  • 本地自测

    • 在完成代码编写后,开发人员需在本地环境中进行全面的功能测试。
    • 使用日志记录工具详细打印关键步骤的日志信息,以便后续排查问题。
    • 确保所有功能按预期工作,且没有明显的错误或异常。
    • 重要提示:如果某个 bug 在多次测试中依然存在,请开发人员务必加强自测,确保问题彻底解决后再提交至测试环境。
  • 提交前检查

    • 自测通过后,开发人员应再次确认代码符合项目编码规范和质量标准。
    • 提交代码到版本控制系统(如 Git)之前,请确保本地测试无误,并附上相关的测试报告或日志文件。

2. 发布至测试环境

责任人员: 开发人员

  • 部署到测试环境

    • 将本地验证通过的代码部署到测试环境。确保测试环境配置与生产环境尽可能接近,以模拟真实运行条件。
  • 测试环境自测

    • 开发人员需在测试环境中重新执行一次完整的功能测试,验证所有功能是否正常运行。
    • 同样需要记录详细的测试日志,以便于后续分析和问题定位。
    • 重要提示:若同一问题在多次测试中反复出现,请开发人员深入分析根本原因并彻底修复,避免将未解决的问题传递给测试团队。

3. 通知测试同事复测

责任人员:开发人员

  • 通知方式
    • 当开发人员确认测试环境中的功能完全正常后,使用微信或云效等工具通知测试同事进行复测。
    • 提供必要的文档支持,包括但不限于功能描述、已知问题列表、测试用例等。

4. 测试同事复测

责任人员:测试团队

  • 测试环境要求
    • 原则上,测试同事只在测试环境或正式环境中进行测试,不直接在开发环境中进行测试。
    • 全面执行预定的测试计划,覆盖所有功能点,确保软件的质量达到上线标准。
    • 重要提示:如果发现开发人员提交的代码中存在多次重复的 bug,测试团队有权退回给开发人员,并要求其加强自测,减少不必要的重复测试工作。

5. 产品经理验收

责任人员:产品经理

  • 验收流程
    • 测试通过后,由产品经理负责最终的验收工作。产品经理应根据需求文档逐一核对产品功能,确保满足业务需求和技术要求。
    • 如发现任何不符合项,应及时反馈给开发团队进行修正。

6. 注意事项

  • 沟通机制

    • 在整个测试过程中,保持良好的沟通至关重要。遇到问题时,及时与相关人员沟通解决,避免延误进度。
    • 如果某个问题在多次测试中仍然存在,请开发人员主动多次自测,找到最佳解决方案,彻底解决这个bug再提交给测试同事测试。
  • 日志记录

    • 每个阶段都应做好详细的日志记录,便于追踪问题根源,提高问题解决效率。
  • 持续改进

    • 定期回顾测试流程,总结经验教训,不断优化测试策略和方法,提升产品质量。
    • 特别强调:为避免给测试人员增加不必要的工作量,请开发人员在每次提交前确保代码已经过充分的自测,并解决了所有已知问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/78506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法每日一题 | 入门-顺序结构-大象喝水

大象喝水 题目描述 一只大象口渴了,要喝 20 升水才能解渴,但现在只有一个深 h 厘米,底面半径为 r 厘米的小圆桶 (h 和 r 都是整数)。问大象至少要喝多少桶水才会解渴。 这里我们近似地取圆周率 π 3.14 \pi3.14 π…

Qt中实现工厂模式

在Qt中实现工厂模式可以通过多种方式,具体选择取决于需求和场景。以下是几种常见的实现方法: 1. 简单工厂模式通过一个工厂类根据参数创建不同对象。cppclass Shape {public: virtual void draw() 0; virtual ~Shape() default;};class Circle : publ…

【前端】ES6一本通_划重点_补充面试题

近两天更新完基本内容,后续长期更新,建议关注收藏点赞。 ES6(ECMAScript 2015)是现代 JavaScript 的基础,在前端面试中非常常见。 本文已汇总的本站笔记 ES6最重要10特性 对象新增 数组新增 异步、生成器 Promise 模块…

初识 iOS 开发中的证书固定

引言 在移动应用安全领域,HTTPS/TLS 是数据传输的第一道防线,但仅依赖系统默认的证书验证仍有被中间人(MITM)攻击的风险。Certificate Pinning(证书固定)通过将客户端信任“钉”在指定的服务器证书或公钥上…

单片机的各个种类及其详细介绍

一、按架构分类的深度解析 1. ARM Cortex-M系列 核心优势: 统一架构:ARM生态完善,工具链(Keil、IAR、GCC)通用。 性能分层:M0(低功耗)、M3(平衡)、M4/M7&am…

5.7/Q1,GBD数据库最新文章解读

文章题目:Global, regional, and national burden and trends of rheumatoid arthritis among the elderly population: an analysis based on the 2021 Global Burden of Disease study DOI:10.3389/fimmu.2025.1547763 中文标题:全球、区域…

从微服务到AI服务:Nacos 3.0如何重构下一代动态治理体系?

在现代微服务架构的浪潮中,Nacos早已成为开发者手中的“瑞士军刀”。作为阿里巴巴开源的核心中间件,它通过动态服务发现、统一配置管理和服务治理能力,为云原生应用提供了坚实的基石。从初创公司到全球500强企业,Nacos凭借其开箱即…

Unity与Unreal Engine(UE)的深度解析及高级用法

以下是Unity与Unreal Engine(UE)的深度解析及高级用法对比,结合技术特性、行业应用与未来发展进行综合阐述: 一、核心差异与适用场景对比 1. 技术架构与编程模式 Unity 语言与脚本:主要使用C#,语法简洁且易于学习,适合快速原型开发和中小型项目。支持可视化脚本工具(如…

李沐动手深度学习(pycharm中运行笔记)——05.线性代数

05.线性代数(与课程对应) 1、导入torch import torch2、 标量由只有一个元素的张量表示 x torch.tensor([3.0]) y torch.tensor([2.0]) print("x y:", x y, "\nx * y:", x * y, "\nx / y:", x / y, "\nx ** y…

Python3与Dubbo3.1通讯解决方案(dubbo-python)

【文章非VIP可读,如果发现阅读限制为系统自动修改阅读权限,请留言我改回】 概述 最近AI项目需要java与python通讯,两边都是比较新的版本。因此需要双方进行通讯,在这里记录一下所采用的方案和关键点。 JAVA调用Python python通…

使用 DBeaver 将数据从 PostgreSQL 导出到 SQLite

使用 DBeaver 将数据从 PostgreSQL 导出到 SQLite,可按以下步骤进行: 1、连接到 PostgreSQL 数据库:打开 DBeaver,点击 “新建连接”,选择 “PostgreSQL”,输入数据库的地址、端口、用户名和密码等信息&am…

介词:连接名词与句子其他成分的桥梁

文章目录 1. with伴随1.表示“跟人或物”的伴随2.“行为”和“状态”的伴随2. of所属关系1. 人或物的所属关系2. 比较抽象的所属关系3. in1. 在......中,在......范围里2. 在某一段时间4. on1. 表示地点:在......上2. 表示时间:在某一天3. 关于某个主题5. at1. at + 具体时间…

FastApi快速实践

文章目录 一、主要功能:二、安装 FastAPI 和 Uvicorn(运行服务器)三、示例代码:四、运行服务器:1. 方式一:2. 方式二: 五、访问接口六、如果需要跨域(CORS)七、总结 下面…

深度学习中保存最优模型的实践与探索:以食物图像分类为例

深度学习中保存最优模型的实践与探索:以食物图像分类为例 在深度学习的模型训练过程中,训练一个性能良好的模型往往需要耗费大量的时间和计算资源。而保存最优模型不仅可以避免重复训练,还能方便后续使用和部署。本文将结合食物图像分类的代…

护理岗位技能比赛主持稿串词

男:尊敬的各位老师 女:亲爱的各位同学 合:大家下午好。 男:在这鸟语花香,诗意盎然的季节里 女:在这阳光灿烂,激情似火的日子里 合:我们欢聚一堂,共同庆祝五一二国际护士节…

【翻译、转载】MCP 核心架构

核心架构 了解 MCP 如何连接客户端、服务器和 LLM 模型上下文协议 (MCP) 构建在一个灵活、可扩展的架构之上,能够实现 LLM 应用程序与集成之间的无缝通信。本文档涵盖了核心的架构组件和概念。 概述 MCP 遵循客户端-服务器 (client-server) 架构,其中…

Python 数据智能实战 (11):LLM如何解决模型可解释性

写在前面 —— 不只知其然,更要知其所以然:借助 LLM,揭开复杂模型决策的神秘面纱 在前面的篇章中,我们学习了如何利用 LLM 赋能用户分群、购物篮分析、流失预测以及个性化内容生成。我们看到了 LLM 在理解数据、生成特征、提升模型效果和自动化内容方面的巨大潜力。 然而…

Linux:进程优先级及环境

一:孤儿进程 在Linux系统中,当一个进程创建了子进程后,如果父进程执行完毕或者提前退出而子进程还在运行,那么子进程就会成为孤儿进程。子进程就会被systemd(系统)进程收养,其pid为1 myproces…

Java大厂面试:Java技术栈中的核心知识点

Java技术栈中的核心知识点 第一轮提问:基础概念与原理 技术总监:郑薪苦,你对JVM内存模型了解多少?能简单说说吗?郑薪苦:嗯……我记得JVM有堆、栈、方法区这些区域,堆是存放对象的地方&#xf…

CF1000E We Need More Bosses

CF1000E We Need More Bosses 题目描述 题目大意: 给定一个 n n n 个点 m m m 条边的无向图,保证图连通。找到两个点 s , t s,t s,t,使得 s s s到 t t t必须经过的边最多(一条边无论走哪条路线都经过ta,这条边就是…