当前位置:首页>软件测试解决方案>测试分析设计
测试分析设计

    当前,很多行业性的软件,包括通讯软件、银行软件、电力软件、军工产品的软件,其规模越来越大,软件复杂度越来越高。为了解决复杂软件的质量问题,业界引入了大量的软件工程方法,包括面向对象的方法、UML、敏捷方法等,结合这些软件工程方法,引入了大量的软件需求分析、设计、建模工具,数据库分析、设计建模工具。

    在软件测试领域,很多研发单位在测试分析设计方面很薄弱,甚至是空白。他们软件测试分析设计,是由需求直接分析到测试用例,这样导致测试用例设计是很不完备的。

    为此,上海博为峰软件技术有限公司通过多年的测试积累,将测试分析设计体系化,并将这套思想落实到自主研发的测试平台工具TestPlatform中。下图说明了测试分析设计以及TestPlatForm在测试中的具体作用。

 
 

    TestPlatForm将测试分析和设计的方法引入到本系统,能够很好的支撑测试的辅助分析和设计。提供继承性分析、质量模型分析、功能交互分析、关联图分析、测试特性建模、测试项分解分配等计算机辅助分析方法;提供逐渐细分法、等价类分析法、边界值分析法、因果图分析法、状态迁移分析法、正交表分析法、判定表分析法、流程图分析法、错误猜测分析法等计算机辅助设计方法。

 

    测试分析设计由三个环节的活动组成:测试需求分析、测试方案设计、测试用例设计,这三个活动又可以细分成一些子活动,每个环节活动都有相应工程方法辅助完成。其中测试需求分析活动在测试计划阶段进行,用于确定测试对象(测试项);测试方案设计活动在测试设计阶段完成;测试用例设计活动在测试实现阶段完成。

   测试需求分析由四个子活动组成:需求来源分析、原始测试需求提取、原始测试需求分析、测试特性分析。测试方案设计由三个子活动组成:特性测试需求分析、特性测试设计、测试设计维护。整个测试分析设计过程是通过工程方法串起来,如同流水线一样,客户需求、产品包需求、设计需求、设计规格是这个流水线的原材料,流水线末端就是测试分析设计的产品-测试用例。测试需求分析和测试方案设计是两个不同的阶段,前者输出测试项,后者输出测试子项和测试用例规格,不能简单的说测试方案设计是对测试需求分析输出的一个细化。测试需求分析的原始测试需求分析活动和测试方案设计的特性测试需求分析、特性测试设计活动类似,都是对相关内容做分析输出相应的测试规格,但是这两个测试规格之间差异较大,所运用的工程方法也不一样。

    可以采用的工程方法也相对固定要弄清楚特性下测试项的规格的测试维度,特性测试设计需要针对测试子项规格,以及每个测试子项采取不同的测试策略(从何测试角度、运用何工程方法)。通过运用不同工程方法,用具体的参数值或者组合从不同角度规划测试用例去覆盖该测试子项规格,得到该测试子项下的多个测试用例规格。从上可知,工程方法和子活动是关联的,进行测试分析设计时,制定测试分析设计的策略,选择相应的工程方法。如下图所示:

 
 

    通过上述的测试分析过程,研发单位可以得到如下的收益:

    提高测试用例发现缺陷的有效性、提高有效测试用例的总数、提高测试用例的设计速度。

 
 

    实现测试需求分析、测试项和测试用例设计、 测试执行相分离,使测试分析和测试设计人员专业化,整体上降低测试团队的用人成本;