一、研发迭代测试阶段
1、需要有整个研发流程,从产品设计、架构设计、测试用例设计的流程要清晰规范,大家遵守规范进行迭代
2、当前迭代属于什么迭代,敏捷还是瀑布,如果是瀑布,可以参考华为的IPD流程,如果是敏捷,需要制定敏捷的迭代流程。什么时候产品设计落地、什么时候架构、研发方案、会签落地、测试用例、测试时间、准入条件等要规定好
3、测试的准入和准出。在不同时间段,有不同的测试要求,研发的迭代准入、测试的准出、上线前的评审等
4、测试用例设计与管理,测试用例的设计规范和要求、比如用例在等级中的占比分别是多少,用例中都包含哪些类型的用例,比如功能、性能、易用、异常等用例,还要有占比。测试用例的整体用什么工具进行管理,比如使用Metersphere的免费版可以进行管理
5、测试用例的评审:评审的要求和规范,最后是产品、架构、研发、设计、测试等大家一致认可的用例
6、测试的验证周期要bug验伤会议:测试之前需要评审当前的用例,需要投入的人力、测试工作量评审、整个项目的风险等,在集成测试阶段,需要每天进行bug验伤,如果有风险及时知会,确保整个流程能够正常运转,不影响上线
7、上线测试计划的输出:测试需要输出测试计划,确认整个验证流程,是按照测试计划进行执行的
8、测试阶段的划分:测试分为几个测试阶段,每个测试阶段覆盖的验证内容有一定的差异性,目前大致可以分为冒烟测试、迭代用例测试、集成测试、预发测试、生产验证。每个测试阶段覆盖的用例是不一致的,根据实际情况进行覆盖。需要覆盖的内容主要有:功能测试、性能测试、安全测试、客户验收测试等
9、自动化测试覆盖:需要有相关的自动化进行辅助,使用接口还是UI自动化,根据自己的业务维度进行推进,目前主流的UI自动化主要有seliniumbase palywright,接口自动化主要有pytest unitest进行覆盖,逐步减少人工覆盖,增加自动化覆盖,减少人力投入
10、规范和要求:自动化规范和要求、性能需要有各种规范和要求,准入准出要求等
11、上线之后复盘:确认整个迭代验证,确认验证的问题、风险、及后续的改进。并跟进落地,流程上那些不满足要求的,需要及时更新及改进。复盘中缺陷分析的指标和维度,比如缺陷密度
二:客户交付验证流程
针对大客户与小客户,有不同的交付验证流程方案
1、大客户,针对大客户,有一些与客户紧密相关的模块,以及客户需要相关的性能指标、sow准出、UAT验收等,需要与客户进行经沟通
1.1、迭代测试的内容,需要在大客户环境上进行基本冒烟测试
1.2、需要确认大客户环境,当前迭代测试的性能是否满足要求,是否需要针对大客户搭建对应的性能测试环境
1.3、大客户的验收时间点,需要提交的sow要求
1.4、UAT怎么给客户进行演示,确实交付正常
1.5、客户上线及时拉起及运维,客户问题的运营跟进
1.6、发版之后,大客户环境需要覆盖那些验证、测试范围、是否验证客户的租户、客户数据的准确性
1.7、针对大客户在发版之后,进行定期复盘,确认生产问题,及时改进
2、小客户:小客户依赖整个版本交付的节奏,在验证范围上基本覆盖完全,不需要做更多的性能及安全验证
2.1、小客户覆盖,使用迭代中的大版本进行覆盖,如果有差异性,需要再发版的配置中进行覆盖差异性,这个地方就设计专属云还是公有云了
2.2、客户验证的范围及测试用例、这块需要有发版前的内部环境进行覆盖,也就是客户预发环境,进行那些类型的基本验证。是否可以使用自动化进行覆盖,生产交付时需要覆盖的范围、生产验证的时间要求、验证之后,需要通知相关人员进行下一步工作,这些交付验证是否可以使用自动化覆盖,根据公司不同,可能验证的流程和范围不同
2.3、定期复盘:客户环境验证完成之后,根据发版的节奏,进行复盘,看上线验证那些有缺失,同时反哺到迭代测试,那些需要进一步的优化,整体保障流程。
三、组织的发展和建设
1、人员的梯度建设,确认每个验证模块都要有备份,有主力部队。确认核心业务不能因为部分人员的离职,而影响整个项目的交付
2、人员的培养:不要因为人员成长之后,会离职。一定要让他进行成长,二期快速成长,如果公司的薪资待遇与成长之路相匹配,这个就属于蒸蒸日上的。即使他会离职,也在成长的过程中给公司做了更多的共享
3、积极主动:在问题处理、组织拉通、协作推进的过程中,一定要培养人员的积极主动。这样整个组织就属于盘活状态,有问题也能第一时间发现,建议大家看看高效人士的7个习惯,对大家还是很有帮助的
4、创新 积极引入新的测试思想和方法,让整个组织有新的内容,比如引入chartGPT看是否可以提升测试的效率,用例的设计效率、自动化的覆盖范围和内容。最终创新都是为了提升效率、减少生产风险
5、培训,每个人对其他业务不了解,那就通过培训,让所有人都有其他领域的认知,当他的认知提升的时候,对测试内容和认知也就进一步的加深,那么产品的测试力度就会有提升。质量也会有提升
6、定期沟通及团建:人是有感情的,要经常进行关心,让组织有温暖,有家庭的感觉,对于领导肯定是以目标为导向的,以任务为结果,不能只看结果,一定在和谐中进行推进。
其他的陆续补充哈:
测试部门管理者在测试部门中扮演着关键的角色,他们的工作不仅仅局限于技术层面,还包括团队管理、项目协调、质量保障和战略规划等多个方面。
测试管理者的主要管理内容可以从以下几个方面进行概括:
1. 测试团队
-
人员招聘、培训和评估。
-
团队建设和维护团队士气。
-
分配和管理团队成员的测试任务。
-
人员职业发展规划
2. 测试流程
-
制定和维护测试方法论。
-
测试计划的创建、审查和执行。
-
测试用例和测试场景的设计、审查和维护。
-
确保测试活动的有效性和效率。
3. 测试工具
-
选择和维护适合项目的测试工具和框架。
-
管理自动化测试脚本的开发和维护。
-
持续集成和持续部署的测试环境管理。
4. 质量保证
-
设置和监控质量标准。
-
确保测试覆盖率和测试深度。
-
报告软件缺陷并跟踪缺陷的修复进度。
-
质量控制和质量改进活动。
5. 沟通协调
-
与项目管理者、开发团队和其他相关团队协调沟通。
-
向利益相关者汇报测试进度和结果。
-
解决跨部门沟通所带来的问题。
6. 风险管理
-
识别项目风险和测试风险。
-
制定风险应对策略和预案。
-
及时做出决策以缓解或消除这些风险。
7. 资源规划
-
制定测试时间表和里程碑。
-
管理测试资源,包括人力、设备和环境。
-
负责测试预算的管理和控制。
8. 流程把控
-
跟踪测试进度和测试结果。
-
分析测试指标和性能数据。
-
调整测试计划以应对项目变化。
9. 技术支持
-
对于测试工具、技术、框架和流程提供专业建议。
-
帮助优化测试策略,包括自动化测试、性能测试和安全性测试等方面。
-
协助解决测试过程中的技术问题,提高测试效率和效果。
-
确保测试团队接触和理解最新的测试技术和行业趋势。
-
组织和进行技术培训,提升团队的技能水平。
10. 知识管理
-
创建和维护一个集中的知识管理系统,方便存储和检索测试相关的文档、案例和经验。
-
制定文档标准和模板,确保知识的一致性和可读性。
-
促进团队内部的知识共享,包括定期的技术交流和经验复盘。
-
定期审核和更新知识库内容,确保其准确性和时效性。
-
建立激励机制,鼓励团队成员贡献和分享他们的知识和经验。
11. 持续改进
-
组织测试复盘和回顾会议。
-
从实践中提炼出最佳实践和改进点。
-
适应和采纳新技术和方法。