🌈赏金任务 - 测试人员如何主导一个大型跨团队项目完美落地?

赏金任务每周更新,请持续关注哦 :love_letter:

题目

  • 模拟面试场景,面试官提问以下问题,你如何回答。
  • 测试人员如何主导一个大型跨团队项目完美落地?

参与方式

  • 本帖下方回复你的答案即可

赏金

  • 100元京东购物卡

活动时间

  • 2023年2月20日 - 2023年2月26日

本周赏金任务汇总:🌈 赏金任务发布 2023-02-20

本问题参与赏金活动,详情点击 :rainbow: 赏金活动上线啦 丨做赏金任务挑战千元奖金 查看活动介绍

1 Like

要在大型跨团队项目中主导测试工作,并帮助项目完美落地,我个人建议:

  • 了解项目目标和团队角色:在项目初期,您需要深入了解项目的目标和关键指标,并了解不同团队成员的角色和职责。这样可以确保您的测试计划与整个项目保持一致,同时为其他团队成员提供有关测试工作的清晰期望。

  • 制定详细的测试计划:您应该为测试工作制定一个详细的计划,其中包括测试类型、范围、进度、关键里程碑和测试资源需求等方面。此外,您还应该为测试团队定义清晰的角色和职责,确保每个人都知道自己在项目中的角色。

  • 与其他团队成员密切合作:测试人员需要与其他团队成员密切合作,以确保测试工作与整个项目保持一致。与产品、开发和运维团队保持沟通和协作,以便及时解决问题和调整测试计划。

  • 采用自动化测试:在大型跨团队项目中,自动化测试可以节省时间和成本,同时提高测试的准确性和可靠性。您可以考虑使用自动化测试工具,例如Selenium,Appium,JUnit等等。

  • 建立有效的测试报告和指标:测试人员需要提供有效的测试报告和指标,以便其他团队成员了解测试结果并追踪问题。这些报告和指标应该是清晰的、可衡量的,并且要及时更新,以便其他团队成员能够及时了解测试结果和问题状态。

  • 不断学习和改进:测试人员需要不断学习和改进测试方法和工具,以便提高测试质量和效率。您可以参加行业会议和培训课程,了解最新的测试趋势和技术,并将这些知识应用到项目中。

1、质量保证的思路

对于螺旋模型而言,最基本的单元就是:

需求分析->概要设计->详细设计->编码->集成->测试->验收->交付

2、如何保证软件质量

如何保证软件质量这个问题很宽泛,应该保证以下几个方面的质量,那么软件的质量将得到保证。

2.1、 需求/设计文档质量

  • 需求描述详尽:无缺漏,无歧义,无重复,没有无法实现的,没有巨大风险
  • 需求指标明确:前提条件明确,数据指标精确
  • 交互简单易懂 :每个按钮点击前是怎样,点击后会有什么变化
  • 提供丰富的辅助文档:Visio流程图,Xmind思维导图,Axure交互原型设计文档等

2.1、 代码质量

  • 优质的框架设计:根据项目的实际情况选择合适的技术栈,底层设计容错性高、健壮性好、可扩展性好,前端兼容性好、性能好
  • 代码走查:开发人员自己或者结对进行代码走查,考虑逻辑是否完备,数据处理是否到位,场景是否缺漏,算法性能是否最优
  • 代码评审:评价代码是否还有改进的空间等
  • 单元测试:开发人员自行编写单元测试,测试函数方法是否满足要求,随着代码版本的迭代,能否保持原来的功能

3、测试质量

3.1、 测试策略

后端测试:接口测试,压力测试,数据库测试,中间件测试,部署测试,安全测试
前端测试:界面测试,前端性能测试,兼容性测试,前端安全性测试

3.2、 测试方法的质量

设计合理的测试方法
测试方法的评审
改进优化测试方法

3.3、 测试用例质量

良好的用例设计方法:等价类划分、因果图、场景分析、正交分析、路径覆盖、逻辑覆盖、语句覆盖
用例评审:保证测试的广度(界面、接口、数据库、日志)和深度(测试要点的精细程度)
测试用例维护:测试过程中补全缺漏的和思路有问题的用例,记录线上故障并添加到测试用例中

3.4、 缺陷质量

缺陷分级:一般四级分类法
缺陷记录:bug管理系统,bug的生命周期理论
缺陷反思:bug评审,开发避免类似错误,测试在设计测试用例的时候考虑类似情景

3.5、 报告输出

重大项目形成每日汇总,汇报进度、项目卡点、风险点及规避方法

4、项目风险规划

4.1、风险识别与规避

项目风险:需求变动,开发环境不能满足,人员缺失,技术自身风险,安全风险
风险预测:根据项目实际情况和自身的软件开发经验,找到薄弱环节和不确定的环节,这些往往都是风险高发处
降低风险: 在可能发生风险的地方做好两手,甚至多手打算

5、流程规范

工作上沟通/协助方式处理恰当
测试、上线流程更加标准化

6、价值体现及总结

当测试人员转变为质量保证人员的时候,他就和开发人员一样,为项目带来直接的价值
质量保证需要全流程的质量管理和控制
上线后需要关注需求价值,以及为公司带来直接或间接的收益情况

一:了解项目流程
二: 关注架构设计方案
关注项目的架构设计,对测试人员有什么帮助?

1、能够提前进行测试工作,更早发现缺陷

这一点和上面建议在技术方案设计和评审时,测试人员也参与进去的目的类似。只不过在架构设计阶段,绝大部分测试人员是不具备“对架构设计评审发现问题”这一能力,但是参与进来了解,也可以逐步提升这方面的思维能力。

2、能够帮助测试人员更全面、更有针对性地进行测试

  • 了解架构设计,能够让测试人员了解到项目各个服务之间的关系,业务交互,数据存储,数据流动等情况,从而能够让测试人员更有针对性地进行测试用例的设计
  • 如果需要进行性能测试,甚至全链路压测,更需要对架构非常熟悉以及开发框架的熟悉。否则如果不清楚整个系统的架构设计,可能设计出的压测方案都有问题,更没办法对压测结果进行分析和问题定位
    三:关注数据库设计
    从哪些方面去熟悉项目的数据库情况: 1. 了解不同数据分别存储在哪些数据库中。因为一些数据量大的项目,往往会根据业务实际情况,来把不同类型的数据存储到不同的数据库中。比如说经常查询的,会存在es/redis/clickhouse等数据库;需要持久保留的数据,会存在mysql之类,等情况
    了解不同服务的数据存在哪个库中,然后每个表都存哪些内容,以及其中字段的意思和关联(可以通过查询数据库设计文档来了解)

了解表之间的关联性,比如说外键

了解数据库设计时的一些测试点(数据库设计规则)
四:关注接口文档

  1. 大部分时候,哪些情况需要去关注接口文档 - 了解项目具体实现时 - 接口测试 - 性能测试
  2. 在阅读接口文档时,需要注意以下几个方面(如果没有,则可以推动改进) - 字段定义:字段类型、长度、是否是必填字段等字段属性的定义 - 字段说明:每个字段是否都有字段的作用说明解释,并且无歧义 - 请求示例:是否有正确和异常的请求内容例子 - 请求规范:入参风格要统一,比如说日期格式如果是yyyy-mm-dd,那么所有接口都要这样 - 响应示例:是否有正确和异常的响应示例 - 响应规范:响应内容是否正确;响应值是否有固定的格式规范,通常响应结构要规范统一,并且失败情况要有字段说明失败原因,以及统一的一套自定义状态码来对应成功或各种失败情况

一、项目立项会
在项目立项会上就这次的项目达成共识以及认识彼此,分工的角色
二、需求评审
需求评审前进行详细的阅读,在需求澄清上就疑惑提出答疑,达成一致意见。在前期尽量发现问题,进行问题前置,减少返工的可能性
三、根据需求进行工期排期
列出详细的开发预估工期、测试工期、uat工期
列出每个关键时间点 例如开发时间、提测sit时间
四、进入开发阶段
开发每天更新开发进度。测试参与设计评审 了解系统的时序图、关键表数据、接口结构、系统间交互方式。在测试评审前,测试内部之间先进行 测试分析的审查,确保的是分析的准确性及其漏测的可能性。
五、提测前一周
提供相关的冒烟测试计划给开发,提高提测的准两。若冒烟计划不达标 则进行打回操作
六、测试阶段
先进行冒烟测试,对于不符合准入标准的功能进行打回操作
每天在项目群里公示测试进度以及缺陷的解决率,以及是否需要帮助,以及遇到阻碍需帮助的事项‘
七、交叉测试
彼此间的进行价差测试
八、项目相关的沟通
(1)建立一个项目全员沟通群,在群里进行沟通问题,尽量减少私聊,减少沟通的成本
(2)建立一个在线的项目进度看板,进行信息的辐射,让项目成员 都能够清晰的认识到项目的进度,以及项目进度是否存在风险
(3)每天进行站会 围绕主题 昨天做了什么、今天计划做什么、我遇到什么困难,以及是否需要协助等,尽量控制在15分钟
九、提高测试效率
(1)利用自动化等工具提交造数、回归效率
(2)翻阅项目知识库 从历史的项目中得出经验 以及对应踩坑的点
十、项目结束
项目结束后对项目质量进行打分。例如开发对产品的需求进行评分 测试对开发进行评分等,主要为了记录此次项目中的好与不好点
进行项目回顾总结会等

1 Like
  1. 制定全面的测试计划:在项目启动之初,测试人员需要制定全面的测试计划,包括测试目标、测试范围、测试资源、测试方法和测试工具等。测试计划需要考虑项目的需求和特点,确保测试的全面性和有效性。
  2. 确定测试策略:测试人员需要与其他团队成员协商确定测试策略,包括测试阶段、测试覆盖、测试环境等。测试策略需要在整个项目周期中不断调整和优化,以确保测试的高效性和质量。
  3. 协调测试资源:测试人员需要协调测试资源,包括测试环境、测试数据和测试工具等。测试资源的协调需要与其他团队紧密合作,确保测试的有效性和及时性。
  4. 保证测试质量:测试人员需要在整个项目周期中保证测试质量,包括测试用例的设计和执行、测试报告的编写和分析等。测试人员需要发现和解决潜在的问题和缺陷,确保软件质量和稳定性。
  5. 推广测试文化:测试人员需要积极推广测试文化,向其他团队成员传达测试的重要性和价值。测试人员需要建立开放和透明的测试文化,鼓励其他团队成员参与测试工作,提高测试的效率和质量。
  6. 建立沟通机制:测试人员需要建立沟通机制,与其他团队成员保持密切联系,及时了解项目进展和问题,确保项目的顺利实施。测试人员需要保持开放和透明的沟通方式,鼓励其他团队成员提出意见和建议。

总之,测试人员在大型跨团队项目中扮演着至关重要的角色。他们需要主导和协调跨团队的测试工作,以确保项目的顺利实施。测试人员需要制定全面的测试计划,确定测试策略,协调测试资源,保证测试质量,推广测试文化,建立沟通机制等。只有全面考虑这些因素,才能让大型跨团队项目完美落地实施。

主导一个跨团队的项目除了本身测试流程之外,更重要的是如何做好一个跨团队的项目管理的问题。 你的回答考虑到了管理层面也考虑到测试工作本身,是个不错的答案