功能安全实践 | 软件测试CTM方法实践步骤01(分类树方法前期实践与等价类划分)

上一篇文章分类树测试方法CTM介绍 | 概要介绍了CTM的概要,本文将介绍CTM的执行步骤,首先CTM方法执行的前提是被测目标的功能说明,这是CTM的起点,有了被测目标的说明,就可以进入下述的实施过程。

1,功能定义

第一步是基于被测目标的功能定义,来描述被测目标的预期行为。例如“当开关拉起的时候,EPB执行夹紧操作,当按下开关的时候,EPB执行释放操作”。软件是用来满足需求的,即用来解决问题的,说白了就是输入数据根据一个算法(比如函数)转化为输出数据。

2,识别测试内容

第二步分析功能说明,也就是说你需要分析出功能说明中与测试相关的内容。所谓与测试相关的内容就是那类在测试过程中,可以通过内容变化来影响被测目标行为的内容。换句话来说,就是那些可以在测试过程中,可以改变不同值的内容。比如,某个函数的形参(可以通过不同的输入得出不同的返回值)。当识别出测试内容后,将这些内容分开然后画树状图,如下图所示。通过树状图可以将问题分解并且简化,这也是CTM方法的一个重要优势。
功能安全实践 | 软件测试CTM方法实践步骤01(分类树方法前期实践与等价类划分)
3,被测内容的分类

当所有被测内容都被识别出来之后,就需要考虑被测内容的赋值。可以根据等价类划分方法,将测试中等价的数据归为一类。测试中所谓的等价是指这一类中的某个值可以引起失效并报错,这个类中的其他任意一个值都会引起相同的失效并且报同样的错。换句话说,在等价的数据中,无论选择哪一个值来进行测试,产生的影响相同与所选数值无关。所以,你可以选任何一个值进行测试,甚至对于这个等价类所有用例用相同的值也可以。这些都不会影响测试用例的价值。但是,这都是以等价类正确划分为前提的,也就是的CTM使用者。

4,等价类优化

上文中的等价类可以进行进一步的细分,也就是所谓的等价类优化。因为在等价类优化的过程中可以在大的类中进一步分出相对独立的类别以及层次,这样可以不断降低同一类中的复杂度,同时记录了从大到小的逐层分类关系。不仅可以保证结果的追溯性,还可以帮助我们在等价类过于细分的情况下进行还原(还原到上一层次的类)

下期预告:

功能安全实践 | CTM方法实践步骤02
介绍CTM中包含的边界值方法与等价类方法的示例