标准自动化测试流程.docx
项目级自动化测试流程项目级自动化测试流程V1.0目录1名词解释61.1企业级自动化测试流程61.2主流程61.3一级子流程61.4二级子流程71.5自动化测试需求管理子系统72主流程启动条件82.1启动条件图示82.2启动条件描述83主流程框架104主流程详述114.1SUB_PAUTO_1 :自动化测试小组组建114.1.1目标114.1.2角色114.1.3简要描述114.1.4准入标准114.1.5输入114.1.6输出124.1.7准出标准124.1.8活动图示124.1.9活动内容124.2SUB_PAUTO_2 :自动化测试工作策略确定134.2.1目标134.2.2角色134.2.3简要描述134.2.4准入标准144.2.5输入144.2.6输出144.2.7准出标准144.2.8活动图示154.2.9活动内容154.3SUB_PAUTO_3 :自动化测试需求分析164.3.1目标164.3.2角色164.3.3简要描述164.3.4准入标准174.3.5输入174.3.6输出174.3.7准出标准174.3.8活动图示184.3.9活动内容184.4SUB_PAUTO_4 :自动化测试计划确定194.4.1目标194.4.2角色194.4.3简要描述194.4.4准入标准194.4.5输入194.4.6输出194.4.7准出标准204.4.8活动图示204.4.9活动内容204.5SUB_PAUTO_5 :自动测试业务测试过程设计214.5.1目标214.5.2角色214.5.3简要描述214.5.4准入标准224.5.5输入224.5.6输出224.5.7准出标准224.5.8活动图示234.5.9活动内容234.6SUB_PAUTO_6 :自动测试业务组件设计244.6.1目标244.6.2角色244.6.3简要描述244.6.4准入标准244.6.5输入244.6.6输出254.6.7准出标准254.6.8活动图示254.6.9活动内容254.7SUB_PAUTO_7 :自动化测试实现264.7.1目标264.7.2角色264.7.3简要描述264.7.4准入标准264.7.5输入274.7.6输出274.7.7准出标准274.7.8活动图示284.7.9活动内容294.8SUB_PAUTO_8 :自动化测试运行304.8.1目标304.8.2角色304.8.3简要描述304.8.4准入标准304.8.5输入314.8.6输出314.8.7准出标准314.8.8活动图示314.8.9活动内容324.9SUB_PAUTO_9 :自动化测试分析324.9.1目标324.9.2角色324.9.3简要描述324.9.4准入标准334.9.5输入334.9.6输出334.9.7准出标准334.9.8活动图示344.9.9活动内容344.10SUB_PAUTO_10 :自动化测试缺陷管理354.10.1目标354.10.2角色354.10.3简要描述354.10.4准入标准354.10.5输入354.10.6输出354.10.7准出标准364.10.8活动图示364.10.9活动内容364.11SUB_PAUTO_11 :自动化测试变更管理374.11.1目标374.11.2角色374.11.3简要描述374.11.4准入标准374.11.5输入374.11.6输出374.11.7准出标准384.11.8活动图示384.11.9活动内容38文档信息标题创建日期打印日期文件名存放目录所有者作者修订记录日期 描述作者文档审核/审批此文档需如下审核。 签署过的审批表将作为附件归入PCB的质量控制章节。姓名职务/职称签名签名日期文档分发此文档将分发至如下各人姓名职务/职称1 名词解释1.1 企业级自动化测试流程指的是在企业整体范围内实施自动化测试的工作流程, 包括自动化测试队伍的建设、组织和管理, 自动化测试工具的应用, 自动化测试项目的管理等1.2 主流程指的是项目级自动化测试流程, 即MAIN_PAUTO, 在流程中描述了针对某个应用系统的自动化测试的完整工作流程, 包括组建该应用系统的自动化测试小组、确定自动化测试工作策略、自动化测试需求分析、测试运行计划设计、自动测试过程设计、业务组件设计、自动化测试实现、自动化测试运行、自动化测试分析等主要活动。1.3 一级子流程指的是直接隶属于主流程的子流程, 在流程中描述了每个自动化主要活动的信息, 包括SUB_PAUTO_1,SUB_PAUTO_2,SUB_PAUTO_3,SUB_PAUTO_4,SUB_PAUTO_5,SUB_PAUTO_6,SUB_PAUTO_7,SUB_PAUTO_8,SUB_PAUTO_9,SUB_PAUTO_10,SUB_PAUTO_11。1.4 二级子流程指的是自动化测试实现规程, 即SUB2_PAUTO_1属于SUB_PAUTO_7一级子流程, 在流程中描述了使用专业软件自动化测试工具将自动化测试中的业务测试过程、业务组件进行代码级实现的过程。1.5 自动化测试需求管理子系统测试需求管理子系统用来管理测试需求, 把需求按照各个应用的子系统划分开来, 并且把测试需求分解为一颗树, 每个节点代表一个需求。测试需求管理子系统需要创建需求树、维护需求树, 并且维护需求对应的业务测试过程。测试需求管理子系统的拥有者是“测试需求维护者”。2 主流程启动条件2.1 启动条件图示2.2 启动条件描述1) 从上图可以看出企业级自动化测试流程和项目级自动化测试流程的关系;2) 在项目级自动化测试流程启动之前, 需要先获得系统自动化测试可行性的分析报告;3) 系统自动化测试可行性分析工作在企业级自动化测试流程中进行;4) 在系统自动化测试可行性分析报告中, 应明确该系统是否适合进行自动化测试, 若适合则应达到的自动化率目标是多少, 例如50%。5) 在项目级自动化测试流程启动之前, 还要先获得手工测试现状的分析报告;6) 手工测试现状分析工作在企业级自动化测试流程中进行;7) 在手工测试现状分析报告中, 应明确该系统手工测试的规范程度, 测试需求分析、测试设计和测试案例是否适合于自动化测试的需要。8) 当自动化测试可行性分析报告和手工测试现状分析报告都明确表示该系统适合于进行自动化测试时, 方可启动项目级自动化测试流程。3 主流程框架4 主流程详述4.1 SUB_PAUTO_1 :自动化测试小组组建4.1.1 目标u 初步建立测试小组, 具备自动化测试工作分析和规划的能力4.1.2 角色u 测试管理部4.1.3 简要描述u 最初要明确组长和自动化测试分析师, 获得“可行性分析”结果, 获得“手工测试现状分析”结果, 获得开发方相关信息, 筹备开展自动化测试工作。4.1.4 准入标准u 所属应用系统的“自动化测试可行性分析”工作已经完成, 并且该分析报告确定了所属应用系统适合于进行自动化测试, 同时给出了具体的“自动化率目标”。u 所属应用系统的“手工测试现状分析”工作已经完成, 并且该分析报告确定了所属应用系统的手工测试现状适合于进行自动化测试。并且给出了如何获取测试需求、测试设计、测试案例等信息的方法。4.1.5 输入u xxx系统自动化测试可行性分析报告u 开发方相关信息文档集u 测试方相关信息文档集u xxx系统手工测试现状分析报告4.1.6 输出u xxx系统自动化测试任务接受书4.1.7 准出标准u 明确指定的所属应用系统自动测试小组的组长任命u 明确指定的所属应用系统自动测试小组的自动化测试分析师任命u 组长签署xxx系统自动化测试任务接受书4.1.8 活动图示4.1.9 活动内容u 启动确认:测试管理部已经确认启动xx应用系统自动化测试工作u 组长指定:测试管理部指定某人为xx应用系统自动化测试工作小组的组长u 自动化测试分析师指定:测试管理部指定某人为xx应用系统自动化测试工作小组的测试分析师u 建组会议:成立xx应用系统自动化测试工作小组u 可研资料传递:测试管理部向工作小组提供xx系统自动化测试可行性分析报告、手工测试现状分析报告、开发方相关信息文档集、测试方相关信息文档集。u 可研报告甄别:工作小组研究xxx系统自动化测试可行性分析报告、手工测试现状分析报告和其他资料, 理解其中的自动化测试可行性分析部分的内容, 理解其中的可达到自动化率部分的内容, 若无疑义, 则签署xxx系统自动化测试任务接受书, 表示该工作小组将按照可行性分析报告提供的自动化率目标开展该系统的自动化测试工作。u 正式工作开展:自动化测试工作小组的工作自此正式开始。4.2 SUB_PAUTO_2 :自动化测试工作策略确定4.2.1 目标u 制定xx系统的项目级自动化测试工作策略4.2.2 角色u 自动化测试工作小组组长u 自动化测试分析师4.2.3 简要描述u 初步确定自动化测试的工作周期, 分析自动化测试风险(工具、技术、环境、人员), 编制自动化测试工作策略。4.2.4 准入标准u 自动化测试工作小组已经正式成立, 已经具备明确指定的组长和自动化测试分析师。u 组长已经签署xxx系统自动化测试工作接受书4.2.5 输入u xxx系统自动化测试可行性分析报告u xxx系统手工测试现状分析报告u 开发方相关信息文档集u 测试方相关信息文档集4.2.6 输出u xxx系统自动化测试工作策略4.2.7 准出标准u xxx系统自动化测试工作策略通过了测试管理部的评审4.2.8 活动图示4.2.9 活动内容u 工作周期及阶段确定:组长初步确定工作周期, 并定义自动化测试的阶段, 例如需求分析/设计阶段, 开发实现阶段, 运行阶段, 而运行阶段中要根据所属系统所处软件生命周期的不同阶段来定义自动化测试的运行周期, 例如当前处于所属系统的运营维护阶段(上线之后), 其每3个月进行一次新版本的发布, 则自动化测试亦为每三个月执行一次。或其每周进行一次Build的发布, 则自动化测试亦为每周执行一次。u 分析自动化测试风险:根据所属系统的开发平台、界面特性、测试环境搭建维护的难易程度、测试工具的适用性等方面的分析结果进行自动化测试风险的分析。主要从战略层面进行风险的分析, 不要分析某个具体的自定义控件的可测试性。u 手工测试现状复审:依据手工测试现状分析报告中提供的已有业务测试过程进行业务需求覆盖度的分析, 判断已有业务测试过程是否完整, 若不完整则需要向测试管理部提出反馈:被测系统的手工测试现状尚不符合自动化测试的需求, 请求是否延期并委托手工测试方完善业务测试过程。u 测试方法及工具确定:根据所属系统的特点和当前自动化测试组织的实施能力, 确定自动化测试的方法, 例如业务驱动方法、关键字驱动方法、数据驱动方法;另外要结合现有的软件自动化测试专用工具, 判断采用何种自动化测试管理工具搭建自动化测试的管理平台、运行平台, 或者是新开发一种框架来实现自动化测试。u 编写文档:自动化测试分析师编制自动化测试工作策略u 内部评审:组长组织自动化测试工作小组的内部评审u 外部评审:组长向测试管理部提出申请, 组织测试管理部的外部评审:自动化测试工作策略, 需要开发方、手工测试方、业务方共同参与评审。u 组长将评审通过的自动化测试工作策略纳入配置管理库。4.3 SUB_PAUTO_3 :自动化测试需求分析4.3.1 目标u 自动化测试需求分析4.3.2 角色u 自动化测试分析师4.3.3 简要描述u 按照“自动化率目标”, 依据“业务测试过程可自动化判断标准”对所有业务测试过程进行优先级划分, 编制自动化测试需求分析说明书。4.3.4 准入标准u 获得了经过评审的自动化测试工作策略4.3.5 输入u xx系统自动化测试工作策略u 业务方传递来的xx系统测试需求和测试案例源文档4.3.6 输出u xx系统自动化测试需求分析说明书4.3.7 准出标准u xx系统自动化测试需求分析说明书经过了测试管理部的外部评审4.3.8 活动图示4.3.9 活动内容u 自动化优先级标定:自动化测试分析师获得所有的测试需求及测试案例, 依据“测试需求可自动化判断标准”进行每个测试需求的自动化优先级的标定。使用自动化测试_测试需求优先级计算模版u 确定自动化测试范围:依据测试需求的自动化优先级标定结果, 配合自动化率的目标确定将要对哪些测试需求进行自动化, 从而达到确定自动化测试范围的目的。u 文档编制:自动化测试分析师编制自动化测试需求分析说明书u 内部评审:组长组织测试管理部的内部评审u 外部评审:组长向测试管理部提出申请, 组织测试管理部的外部评审:自动化测试需求分析说明书, 需要开发方、手工测试方、业务方共同参与评审。u 组长将评审通过的自动化测试需求分析说明书纳入配置管理库。u 自动化测试分析师将自动化测试需求分析说明书中规定的所有自动化测试需求纳入自动化测试框架的测试需求管理子系统。4.4 SUB_PAUTO_4 :自动化测试计划确定4.4.1 目标u 制定测试计划4.4.2 角色u 自动化测试工作小组组长4.4.3 简要描述u 依据自动化测试需求分析说明书设计所有业务测试过程的执行顺序、前后关联关系、执行时间、开发计划等, 编制自动化测试计划。4.4.4 准入标准u xx系统自动化测试需求分析说明书经过外部评审4.4.5 输入u xx系统自动化测试工作策略u xx系统自动化测试需求分析说明书4.4.6 输出u xx系统自动化测试计划4.4.7 准出标准u xx系统自动化测试计划经过外部评审4.4.8 活动图示4.4.9 活动内容u 设定测试运行模式:根据自动化测试需求分析说明书中的描述, 针对所有业务测试过程之间的关系, 设计所有业务测试过程的执行顺序、前后关联关系等u 设定测试运行计划:根据自动化测试需求分析说明书中对于自动化测试执行应用的描述, 例如在每次Build, 或者在每次新版本发布时执行自动化测试, 设计自动化测试将来的执行计划u 确定自动化测试缺陷生命周期模式:在自动化测试的运行过程中, 业务组件在验证过程中将会遇到验证失败的情况, 应在计划中定义自动化测试缺陷定义标准、自动化测试缺陷处理方案, 则在自动化测试实现活动中要开发相应的缺陷提交组件供每个业务组件调用, 以在测试发现可能的缺陷时判断是否是真正的缺陷并自动向缺陷管理子系统中提交缺陷报告。u 设定开发计划:根据所有业务测试过程之间的关系以及将来的执行计划, 同时考虑每个业务测试过程的优先级, 确定所有业务测试过程的开发时间计划、开发责任人等u 确定所需开发资源:依据开发计划确定在开发业务测试过程中所需的自动化测试工程师资源、自动化测试工具资源、开发环境资源等u 确定所需运行资源:依据测试运行计划确定在自动化测试运行过程中所需的自动化测试环境资源、自动化测试工具资源等u 编制测试计划:自动化测试分析师编制自动化测试计划, 组长组织测试管理部的内部评审u 组长向测试管理部提出申请, 组织测试管理部的外部评审:自动化测试计划, 需要开发方、手工测试方、业务方共同参与评审。u 外部评审结束后, 若通过则由测试管理部依据自动化测试计划中提出的资源需求提供各种资源。u 组长将评审通过的自动化测试计划纳入配置管理库。4.5 SUB_PAUTO_5 :自动测试业务测试过程设计4.5.1 目标u 设计业务测试过程4.5.2 角色u 自动化测试分析师4.5.3 简要描述u 依据自动化测试计划中的开发时间规划, 针对每一个业务测试过程进行开发设计, 包括从业务测试过程域向业务组件的数据传递方法、业务组件之间的数据传递方法, 编制业务测试过程设计说明书4.5.4 准入标准u 自动化测试计划经过外部评审4.5.5 输入u 自动化测试计划u 自动化测试需求分析说明书u 自动化测试命名规范4.5.6 输出u 测试业务测试过程设计说明书4.5.7 准出标准u 业务测试过程设计说明书经过内部评审4.5.8 活动图示4.5.9 活动内容u 设计执行:自动化测试分析师按照业务测试过程的开发优先级执行设计工作, 在设计业务测试过程时, 要对每个业务测试过程中业务组件的属性进行详细的描述, 包括组件的输入参数、输出参数、命名、验证方法等, 详细描述每个业务测试过程中业务组件之间的数据传递关系, 详细描述每个业务测试过程的运行时所需的测试数据规则u 组长组织相关人员对设计完成的业务测试过程进行内部评审u 组长将评审过的业务测试过程设计说明书纳入配置管理库u 自动化测试分析师将所有的业务测试过程纳入自动化测试框架中的业务测试过程管理子系统4.6 SUB_PAUTO_6 :自动测试业务组件设计4.6.1 目标u 设计业务组件4.6.2 角色u 自动化测试分析师u 软件开发员u 自动化测试小组组长4.6.3 简要描述u 依据业务测试过程设计说明书中要的要求, 针对每一个业务组件进行开发设计, 包括输入/输出参数、执行步骤、验证方法等, 编制业务组件设计说明书。4.6.4 准入标准u 业务测试过程设计说明书经过评审4.6.5 输入u 自动化测试计划u 自动化测试需求分析说明书u 业务测试过程设计说明书u 系统功能点描述模板u 自动化测试命名规范4.6.6 输出u 业务组件设计说明书4.6.7 准出标准u 业务组件设计说明书经过评审4.6.8 活动图示4.6.9 活动内容u 功能点描述需求传递:依据业务测试过程设计说明书中所有业务测试过程涉及的系统功能点要求, 自动化测试分析师编制系统功能点描述清单, 由组长将该文档传递给软件开发方面u 功能点描述:由软件开发员使用系统功能点描述模板对所有系统功能点进行描述, 应包括功能点的属性、功能点的界面元素和功能点的界面操作模式。u 设计执行:自动化测试分析师按照业务测试过程的开发优先级执行组件的设计工作, 设计业务组件时, 要对每个业务组件的属性进行详细的描述, 包括组件的输入参数、输出参数、命名等, 详细描述每个业务组件操作步骤以及预期结果的验证方法u 组长组织相关人员对设计完成的业务组件进行内部评审u 组长将评审过的业务组件设计说明书纳入配置管理库u 自动化测试分析师将所有的业务组件纳入自动化测试框架的业务组件管理子系统4.7 SUB_PAUTO_7 :自动化测试实现4.7.1 目标u 用自动化测试工具实现业务测试过程和业务组件4.7.2 角色u 自动化测试工程师4.7.3 简要描述u 自动化测试工程师依据设计结果开发业务组件和业务测试过程, 并设置必要的运行数据, 供测试运行使用。4.7.4 准入标准u 业务测试过程设计工作结束u 业务组件设计工作结束4.7.5 输入u 业务测试过程设计说明书u 业务组件设计说明书4.7.6 输出u 业务测试过程u 业务组件4.7.7 准出标准u 所有业务测试过程经过自动化测试小组的内部评审u 所有业务组件经过自动化测试小组的内部评审4.7.8 活动图示自动化测试实现规程见下图:4.7.9 活动内容u 自动化测试工程师依据业务组件设计说明书, 使用自动化测试工具实现业务组件u 自动化测试工程师依据业务测试过程设计说明书, 使用自动化测试工具实现业务测试过程u 自动化测试的实现过程参见自动化测试实现规程文档u 自动化测试小组对已经实现的业务测试过程和业务组件进行小组内部评审, 并将业务测试过程纳入自动化测试框架的业务测试过程管理子系统, 将业务组件纳入自动化测试框架的业务组件管理子系统。4.8 SUB_PAUTO_8 :自动化测试运行4.8.1 目标u 运行自动化测试, 实现自动回归测试的目标4.8.2 角色u 自动化测试工程师u 自动化测试分析师u 自动化测试小组组长4.8.3 简要描述u 按照自动化测试计划中的自动化测试运行部分的内容, 按照时间要求执行所有的自动化测试内容, 对xx系统的Build发布、版本升级进行自动回归测试。4.8.4 准入标准u 自动化测试计划中规定的所有业务测试过程和业务组件都已经实现4.8.5 输入u 自动化测试计划u 自动化测试框架业务测试过程管理子系统中的所有业务测试过程u 自动化测试框架业务组件管理子系统中的所有业务组件4.8.6 输出u 自动化测试执行分析报告4.8.7 准出标准u 自动化测试执行分析报告经过内部评审4.8.8 活动图示4.8.9 活动内容u 在每次自动化测试规定的运行时间之前, 自动化测试工程师在自动化测试框架的执行管理子系统中创建相应的测试运行集, 在测试运行集中应包括要运行的业务测试过程, 并为业务测试过程配置运行时的测试数据u 当到达自动化测试规定的运行时间时, 自动化测试工程师按照自动化测试计划中的测试运行规定执行自动化测试u 在所有业务测试过程执行完成后, 自动化测试分析师收集测试结果, 编制自动化测试执行分析报告u 若自动化测试执行过程中提交了缺陷报告, 则自动化测试工程师启动SUB_PAUTO_10:自动化测试缺陷管理子流程, 对软件缺陷进行处理u 组长组织相关人员对自动化测试执行分析报告进行内部评审u 组长将自动化测试执行分析报告纳入配置管理库4.9 SUB_PAUTO_9 :自动化测试分析4.9.1 目标u 分析自动化测试的结果, 总结自动化测试的工作效果4.9.2 角色u 自动化测试分析师u 自动化测试小组组长4.9.3 简要描述u 依据自动化测试过程的测试结果, 分析自动化测试的测试需求覆盖率、自动化测试的效果等, 编制自动化测试分析报告。4.9.4 准入标准u 自动化测试执行分析报告经过评审4.9.5 输入u 自动化测试需求分析说明书u 自动化测试执行分析报告u 自动化测试计划4.9.6 输出u 自动化测试分析报告4.9.7 准出标准u 自动化测试分析报告经过外部评审4.9.8 活动图示4.9.9 活动内容u 自动化测试分析师根据自动化测试需求分析说明书中的业务测试过程的数量, 验证自动化测试执行结果对所有业务测试过程的覆盖率。u 组长根据自动化测试设计开发过程耗费的总成本, 结合自动化测试的运行过程计算当前自动化测试已经达到的投入回报比。u 组长和自动化测试分析师提出建设性的关于自动化测试方法、过程、工具、组织管理等方面的改进意见u 组长组织相关人员对自动化测试分析报告进行内部评审u 组长向测试管理部提交自动化测试分析报告, 经过外部评审后纳入配置管理库。4.10 SUB_PAUTO_10 :自动化测试缺陷管理4.10.1 目标u 追踪和管理自动化测试运行过程中发现的软件缺陷4.10.2 角色u 缺陷管理员(由自动化测试工程师担任)u 自动化测试小组组长4.10.3 简要描述u 自动化测试执行过程中将会发现被测应用系统的缺陷, 这个流程中包括在测试执行时缺陷管理员预处理新缺陷、缺陷管理员追踪和管理正式提交的缺陷等主要活动。4.10.4 准入标准u 自动提交缺陷报告的原则已经通过评审4.10.5 输入u 自动提交缺陷报告的原则定义说明书u 自动化测试的缺陷自动提交组件向缺陷管理系统提交了一个缺陷报告4.10.6 输出u 经过缺陷管理员审核并正式提交的缺陷4.10.7 准出标准u 缺陷管理员正式提交了缺陷4.10.8 活动图示4.10.9 活动内容u 缺陷管理员在每次自动化测试运行结束后, 进入自动化测试框架中的缺陷管理子系统查看当次自动化测试自动提交的所有缺陷u 缺陷管理员依据缺陷的通用标准判断每一个缺陷是否是一个真正的缺陷, 如果是, 则在缺陷管理子系统中将该缺陷转化为正式提交的缺陷。4.11 SUB_PAUTO_11 :自动化测试变更管理4.11.1 目标u 控制自动化测试过程中的变更事件4.11.2 角色u 自动化测试小组组长u 自动化测试分析师u 自动化测试工程师4.11.3 简要描述u 当涉及到被测应用系统的新需求增加或界面/功能变更的情况时, 此流程给出新需求的变更管理过程和界面/功能变更的变更管理过程。u 应包括变更获知、变更处理等主要活动。4.11.4 准入标准u 变更通知书由开发方传递到自动化测试小组u 所有变更已经过开发过程中的审核步骤并开发完毕;u 所有变更已经过手工测试过程的验证。4.11.5 输入u 变更通知书u 开发方的程序新版本u 自动化测试实现变更通知书模板4.11.6 输出u 新开发的业务测试过程和业务组件u 或更新的业务测试过程和业务组件4.11.7 准出标准u 新开发的业务测试过程按照自动化测试主流程的相应标准审核u 更新的自动测试业务组件经过自动化测试小组的内部评审4.11.8 活动图示第39页