51Testing软件测试论坛

标题: 自动化测试项目管理流程 [打印本页]

作者: lsekfe    时间: 2020-12-11 09:53
标题: 自动化测试项目管理流程
  同大多数项目一样,自动化测试项目也需要一个完整的项目管理流程。在项目执行之前要进行充分的评估和计划、项目执行过程中要把控每个节点的质量,执行后要进行复盘和评估;确保项目顺利实施,并达到预期效果。
  一、自动化项目启动
  在项目启动阶段,我们要明确为什么要做自动化,并选择合适的项目进行自动化测试。
  1、为什么要做自动化
  在启动自动化测试之前,我们要明确做自动化的目的,是为了提高测试效率还是因为客户需求,亦或者是为了提高自动化的覆盖率。只有明确了项目目的,才能更好地制定自动化策略,最大程度上满足最初的需求。比如说,我们为了满足客户需求而执行的自动化测试,就要以客户需求为主;而如果我们是为了提高测试效率,我们就要结合项目的实际情况,进行合理的用例选择与设计,以期最大程度上提高测试效率。
  2、选择合适的项目进行自动化
  首先,我们要明确一点,不是所有的项目都适合进行自动化。我们一般会选择项目周期比较长、版本比较稳定的项目进行自动化。因为短期项目的测试脚本无法复用,容易造成脚本和人力的浪费。此外,由于项目初期改动较大,我们会针对较为稳定的版本执行自动化。
  二、自动化项目前准备
  在明确了我们做自动化的目的并选择合适的项目之后,我们就要开始制定自动化策略与方案、进行方案评估。
  1、制定自动化策略
  首先,我们要明确实现的是哪类的自动化,是UI、接口还是unit?这是我们制定自动化方案的基础;其次,我们要确认哪些场景需要实现自动化,在这个阶段,要明确一点,不是所有的功能都适合做自动化,我们要选择基础的、改动较小的功能进行自动化;最后,我们要明确自动化脚本用在项目的哪个阶段,是单模块、集成还是验收阶段。
  2、制定自动化方案
  自动化测试方案包括却不仅限于以下几个方面:
  制定实现方案:包括所选工具和编程语言;所选工具要能够满足测试需求、使用方便且便于集成、有明确的技术支持;
  预估工期:根据项目的紧急情况和资源支持情况,制定一个合理的工期;
  风险分析:可能遇到的风险包括但不仅限于团队成员能力不足、资源无法协调、实现效果不理想等;
  所需资源:包括人力、设备、服务器等;对于团队成员,一个很简单的估算方式,假设我们一共有a条用例需要实现自动化,每人天可以完成b条用例,那么一个人完成所有用例需要c=a/b天;如果我们要在d天内完成,那么就需要d/c个人;
  测试结果展现形式:通过邮件、网站或者其他方式展示测试结果;
  以上所有步骤的基础是,我们要选择合适的人进行自动化方案的制定。
  3、自动化方案评估
  在自动化方案评估环节,我们需要评估该方案所需人力、物力以及资源配置是否合理,以团队当前情况,是否可以满足需求,可以寻求哪些外部支撑;是否有更加经济合理的替代方案等;此外,对于项目风险,可以采取哪些措施等。
  4、建立规范
  在项目进入执行阶段之前,我们要对执行过程中可能遇到的问题进行提前规范;
  工作进度汇报:以何种方式进行进度汇报?定期汇报还是在关键节点处汇报?关键节点包括用例编写完成、框架开发完成、编码完成、试运行完成等;在汇报过程中,把控项目质量;
  自动化测试用例如何选择?是重新编写还是从手工测试用例进行筛选?多人协作的情况下如何进行合并归档?自动化用例评审如何进行?
  在项目执行过程中遇到问题如何解决?比如,系统环境出现问题应该找谁负责;工具使用遇到问题,应该谁来负责?尽量做到有章可循;
  多人合作完成编码的情况下,遵循何种代码规范?
  三、自动化项目执行
  经过以上准备之后,我们进入项目的执行阶段;这个阶段的工作主要包括以下几个方面:
  1、组建自动化团队
  这个过程也可以在项目准备阶段就开始着手进行;当然,如果一个公司有成熟的自动化团队,这个过程就可以变得更加简单;我们要保证这个团队能够具备完成该项目所必须的能力,能够彼此合作;
  2、分配任务
  团队组建完成之后,就要开始分配任务;一个自动化项目的主要任务包括:用例准备、测试框架搭建、测试用例编写与集成、试运行等;
  完成以上步骤之后,我们就进入了实际的执行阶段,在这个阶段,要根据项目规范,认真执行每个步骤,把控项目质量;
  四、自动化项目分析与维护
  自动化结果分析包括以下几个方面:
  1、代码评审
  代码评审的内容主要包括:代码结构设计的合理性、代码的可维护性、代码的可复用性以及可扩展性等;
  2、用例评审
  用例评审的主要内容包括:用例衔接设计的合理性,是否有更优的设计;用例之间的耦合度是否降到了最低;用例是否可以单个执行;用例输入数据设计是否合理;测试用例是否方便维护;软件版本改变时,用例改动的大小;用例断言设置的合理性等;
  3、运行结果评审
  运行结果评审的主要内容包括:代码运行效率、测试用例的准确性、通过率、输出报告的合理性和可读性;
  4、相关文档
  项目相关文档包括:输出代码、方案设计文档、详细设计文档、说明文档、环境部署文档等;
  5、代码维护
  自动化测试代码交付后,是需要持续维护的。那么,需要考虑后续工作如何进行,如何进行代码维护,如何进行用例补充等;
  五、自动化项目实现后分析
  1、建立评估目标
  自动化测试项目常见的评估目标包括:
  测试策略和方案设计的合理性,是否最大的提高了测试效率,实际收益是否达到预期;
  资源配置是否合理,是否有资源分配不足或者过剩的情况;
  自动化的覆盖情况,是否满足预期目标;
  项目使用工具和语言的选择是否合理;
  团队沟通方式是否存在问题;
  项目风险评估是否合理,针对风险的改进措施是否达到预期结果;
  项目成员个人工作复盘;
  2、完成评估
  针对以上评估目标,结合项目的实际情况,完成评估;
  3、完成总结
  通过以上流程,对项目整体安排情况、实现效果、业务进行总结,完成项目积累。
  以上,是我在实际工作中用到的一些项目管理流程,在此进行整理;并不是每个项目都需要这么一个复杂的流程,需要根据项目的实际情况进行选择;但是,只有按照规范的流程走下来,你才知道哪些是适合的,哪些是可以省略的,找到适合自己团队的项目管理流程。如有遗漏,欢迎大家补充完善~





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2