快捷搜索:

如何用软件测试项目启动、规划与需求分析

测试项目的启动、筹划以及测试项目需求阐发每每是很多软件办事型企业的懦弱环节所在。本文环抱该难点问题,重点评论争论了这两个阶段所应进行的项目活动以及相关事情流程。

一、测试项目启动与筹划

一样平常地,项目启动历程组包括两个历程[拜见PMBOK2004版]:即拟订项目章程和拟订项目初步范围阐明书;而项目筹划历程组则会综合项目的资源、范围、光阴、质量、风险、人力、沟通、采购等身分拟订项目计划,该项目计划将用于指示项目的实际履行。

对任一项目而言,有三个文件是异常紧张的。即:项目章程、项目范围阐明书,项目治理计划。这三个文件均孕育发生于项目启动阶段和项目筹划阶段。此中项目章程被觉得是三大年夜文件之首(项目章程、项目范围阐明书,项目治理计划)。一个项目,不论大年夜小,都应该有项目章程。一个范例的项目章程包括如下内容:1)项目名称及背景描述;2)项目经理录用及职责范围界定;3)项目营业需求描述;4)项目提议的缘故原由;5)主要项目相干人及其初步需求;6)产品及预期交付成果描述;7)项目假设和约束前提。项目章程由项目提议人(Sponsor)签发,自签发之日起,项目经理即得到法定权力。项目经理在得到法定权力之后的第一动作是拟订项目初步范围阐明书。为了拟订这份文档,他/她将广泛地网络来自项目提议人的需求,以便在项目计划正式体例之前,与项目提议人在项目范围的理解上杀青同等。项目初步范围阐明书还将在后续项目范围筹划历程中进一步细化,并融入项目客户、履行组织、项目相干人等各方面需求,进而形成完备的项目范围阐明书。项目初步范围阐明书体例完成今后,项目经理将进入项目计划体例阶段。这个阶段将会涉及项目治理方方面面的筹划、计划。对照范例的有项目范围基线、项目资源基线、项目进度计划、项目质量计划、项目风险阐发及应对计划、人力资本计划、项目沟通计划以及项目采购计划。这些计划、筹划颠末权衡、调剂,终极将集成为一个完备的项目治理计划。项目治理计划经过项目提议人、高档治理层审批今后,即可生效。此后,项目经理将召开项目开工会议(Kickoff meeting),发布项目正式开始进入履行阶段。

项目启动阶段的项目章程和项目初步范围阐明书(或SOW),也可以体现在分包或采购条约中。这在软件外包办事型企业中最为常见。平日,伴随条约到达项目经理手中的还有项目建议书(Project Proposal),项目建议书由项目提议人拟订,内容和项目章程中有关产品、可交付成果的描述大年夜致类似,此外,还应包括对项目经理成功完成此项目的一些指示性建议。项目经理根据条约、SOW以及Project Proposal进行综合斟酌,与相关相干人磋商,在项目团队相关专家的赞助下,拟订出相宜的项目治理计划。

上面评论争论的是一样平常项目启动历程组与筹划历程组。详细到测试项目的启动与筹划,事情内容也是类似的。读者同伙请根据所在测试项目的特征做适当调剂。必要交待清楚的是测试项目启动与筹划历程组有可能与其他六个历程组有重叠。比如,筹划历程组有可能在全部项目生命期内都有更新和完善(范例的有滚动波浪式筹划)。

对付整周期软件开拓项目的测试而言,上述历程组的内容会有较大年夜的差异。比如:项目章程将重点关注开拓,而不会过多评论争论测试相关的事情。对付这一类型的软件测试,笔者建议在录用开拓项目经理的同时,由项目经理[适用于项目型或强矩阵组织]或高层经理[适用于弱矩阵或本能机能型组织]指定项目测试经理。测试经理应根据项目章程、项目初步范围阐明书和项目建议书尽早开始软件测试相关筹划和设计(即会先粗略地进行软件测试需求阐发和软件测试设计,今后再进一步细化),并和项目经理沟通、和谐,以将一些紧张的信息及时反应给项目经理,从而使项目计划能较好地支持测试事情的开展。

二、软件测试需求阐发

理论上,软件测试需求是源于软件需求的,而软件需求又是源于用户需求的。然而,有些时刻在阐发软件测试需求时并不存在已经文档化的软件需求规格阐明。在这种环境下,要阐发软件测试需求可能仍旧必要追溯到用户需求(当发生这种环境时,通俗测试工程师会很吃惊地发明自己原本还肩负着需求开拓工程师的部分职责。是的,事实上,资深的软件测试工程师会发明软件测试这个职位险些涉及所有的开拓技能和部分治理技能。)因为后者涉及需求工程的专门常识,本文略过不做细述;这里重点评论争论前者。在一个规范化的软件需求规格阐明中,用户需求是由更高层次的营业需求(体现在项目章程、SOW、项目建议书等文档中)细化而成,它平日描述了用户应用该软件系统会涉及到的不合的履行路径、事情逻辑以及所预期的处置惩罚结果。在UML表示措施中,用户需求平日经由过程Use Case来进行形貌。接下来,用户需求将进一步转化为三类需求项,即功能需求项、机能需求项以及约束性需求项。这三类需求项便是平日意义上的软件需求项。治理这三类需求项的矩阵被称为需求矩阵。

理论上,在测试资本许可并且确有需要的条件下,测试的任务将是验证和确认待开拓的软件及此中心产品满意需求矩阵各个需求项。(留意:为了简化评论争论,这里笔者没有把需求的验证与确认纳入进来,实际上这部分事情也是软件测试事情的紧张组成部分。具体叙述请参阅拙文《试论软件测试学科架构扶植》)然而,险些没有几个公司或开拓团队能够供给这类测试所需的诸多的资本,此时,一种可行的策略是将待测试的软件需求项按照优先关系进行排序,以赞助测试经理决策在既定资本的环境下,应该若何统筹安排测试事情。

软件需求项是测试需求阐发的动身点,这一点在工程实践中并一向对。对付不合阶段的测试(这里主要指单元测试、集成测试、系统测试和验收测试,暂不斟酌验证技巧和需求设计确认),测试需求开拓所涉及的事情内容和措施都邑略有差异。例如,假如是一个验收测试,那么,除了个其余需求必要做进一步明确外,险些可以将测试需求等同于用户需乞降营业需求(因为该类测试因此客户为主体,是以并不必要向下追溯到软件需求);又如,假如是系统测试,除了必要对不具备可测试性的软件需求项进一步开拓外,险些可以对软件需乞降测试需求不做区分。再如,假如是集成测试,测试需求应该从概要设计规格阐明中导出。假如尚不存在概要设计规格阐明,就必要从软件需求规格阐明启程,与软件设计职员协同事情,详细定出构成系统的各个模块、子系统、分系统的功能、机能、约束性前提以及互相接口关系。根据协同事情的结果,开拓出对应的测试需求。着末,假如是单元测试,测试需求应该从具体设计规格阐明中导出。假如项目不存在概要设计规格阐明,就必要从概要设计规格阐明启程,与软件设计职员明确每个模块内部的工具属性与措施以及工具与工具间的通信关系。根据此结果,进一步开拓响应的测试需求。响应地,上一节所说的对软件需求项进行优先关系排序在实践中要变通地舆解为对测试需求项进行优先关系排序。

读者同伙可能会问,对付整周期的开拓项目,以上叙述是否意味着测试需求开拓的依据文档是否要根据测试所处的阶段而赓续调剂呢?是的,笔者觉得这也是完全需要的。我们不能指望软件需求项能够描述清楚集成或单元测试阶段的测试需求。测试需求的开拓老是有赖于响应层次的软件规格阐明书(只有在开拓团队不能供给的环境下才确有需要循着“具体设计规格阐明->概要设计规格阐明->软件需求规格阐明->用户需求规格阐明->项目章程、条约、项目建议书、事情阐明书等”的顺序往前追溯)。平日相关依据文档的可测试性越好,测试需求开拓所必要的事情量越少。

除了对软件需求项、测试需求项做优先关系排序、对不具备可测试性或不确定的需求进一步细化、明确化之外,测试需求开拓阶段的事情还包括阐发各测试需求项之间可能的光阴关系排序。哪些测试需求项应该先测,哪些可以延后,那些是可以并行等等,都必要在测试需求开拓阶段一并阐发清楚。

您可能还会对下面的文章感兴趣: