软件测试十诫
八周的软件测试技术课结束了,经过八周的学习对软件测试技术有了一定的了解。总结一下发现其实自己学到的也只有那么一点。测试的意义和作用之类的就不多赘述了。
- 软件测试的工作流程是了解需求,设计测试,实现测试用例,运行测试,总结分析。
- 软件测试在不同的软件开发流程中都起重要作用。比如在V字开发模型中,验收测试、系统测试、集成测试的设计工作可以在需求分析、概要设计和详细设计阶段就可以展开;在XP模型中,除了必不可少的单元测试以外,每天都要进行大量的集成测试,回归测试。可以说,软件测试伴随整个软件开发的过程。
- 软件测试分为正向测试和逆向测试。一般来说,都是对输入空间划分。设计测试的过程就是对输入空间的划分。
- 在软件测试实践中,除了根据功能或者程序结构设计测试并生成测试用例以外,还会用到在开发过程中用到的defeat list,这是对积累的经验的利用。
- 设计测试的方法可以分为面向功能的测试和面向结构的测试,主要目的都是覆盖,对功能的覆盖,对结构的覆盖(比如对图的覆盖),测试设计得好坏的衡量标准的衡量就是靠覆盖程度来度量。
- 面向功能的测试对输入空间的划分一般有三种方法,很平衡。等价类划分,边界值,因果图,决策表。等价类很直观,有效类无效类划分很清晰;边界值法很机械,但是管用,就是测试用例实现工作量大;决策表严格,实现测试用例工作量小,但是设计的时候工作量太大。氪不改命,玄不救非。问题复杂程度就摆在那里,设计简单必然实现复杂。
- 等价类划分实现测试用例的时候,一次最好只包涵一个无效类,这样容易定位错误。当然,等价类的划分也是个问题。前面的总结里就有例子。(详见输入空间划分一篇)
- 边界值没什么好说的,简单粗暴,没什么技术难度。
- 决策表识别条件桩和动作桩就是个问题,识别条件桩和动作桩不是简单的在说明书中找“如果……就……”,在一般问题中这样很好用。但是在更为一般的问题里,可能需要对问题的条件和动作做恰当的分解。具体的例子在前面的总结中也提到过。(详见决策表例子一篇)
- 以上三种方法都不是孤立的,而是相辅相成的。
- 对面向功能的测试设计,较多的依赖经验,需要老道的测试经验和问题相关的领域专家的协助。对测试工程师的要求较高。
- 反过来,面向结构的测试对测试工程师的要求就不是那么高了,为什么?因为这一部分的理论性较强,每一步做起来都是有章可循,都有相应的理论支撑 ,所以对经验的依赖较小。
(未完待续,啰啰嗦嗦说了这么多,然而却没有什么有用的东西)
八周的软件测试技术课结束了,经过八周的学习对软件测试技术有了一定的了解。总结一下发现其实自己学到的也只有那么一点。测试的意义和作用之类的就不多赘述了。
- 软件测试的工作流程是了解需求,设计测试,实现测试用例,运行测试,总结分析。
- 软件测试在不同的软件开发流程中都起重要作用。比如在V字开发模型中,验收测试、系统测试、集成测试的设计工作可以在需求分析、概要设计和详细设计阶段就可以展开;在XP模型中,除了必不可少的单元测试以外,每天都要进行大量的集成测试,回归测试。可以说,软件测试伴随整个软件开发的过程。
- 软件测试分为正向测试和逆向测试。一般来说,都是对输入空间划分。设计测试的过程就是对输入空间的划分。
- 在软件测试实践中,除了根据功能或者程序结构设计测试并生成测试用例以外,还会用到在开发过程中用到的defeat list,这是对积累的经验的利用。
- 设计测试的方法可以分为面向功能的测试和面向结构的测试,主要目的都是覆盖,对功能的覆盖,对结构的覆盖(比如对图的覆盖),测试设计得好坏的衡量标准的衡量就是靠覆盖程度来度量。
- 面向功能的测试对输入空间的划分一般有三种方法,很平衡。等价类划分,边界值,因果图,决策表。等价类很直观,有效类无效类划分很清晰;边界值法很机械,但是管用,就是测试用例实现工作量大;决策表严格,实现测试用例工作量小,但是设计的时候工作量太大。氪不改命,玄不救非。问题复杂程度就摆在那里,设计简单必然实现复杂。
- 等价类划分实现测试用例的时候,一次最好只包涵一个无效类,这样容易定位错误。当然,等价类的划分也是个问题。前面的总结里就有例子。(详见输入空间划分一篇)
- 边界值没什么好说的,简单粗暴,没什么技术难度。
- 决策表识别条件桩和动作桩就是个问题,识别条件桩和动作桩不是简单的在说明书中找“如果……就……”,在一般问题中这样很好用。但是在更为一般的问题里,可能需要对问题的条件和动作做恰当的分解。具体的例子在前面的总结中也提到过。(详见决策表例子一篇)
- 以上三种方法都不是孤立的,而是相辅相成的。
- 对面向功能的测试设计,较多的依赖经验,需要老道的测试经验和问题相关的领域专家的协助。对测试工程师的要求较高。
- 反过来,面向结构的测试对测试工程师的要求就不是那么高了,为什么?因为这一部分的理论性较强,每一步做起来都是有章可循,都有相应的理论支撑 ,所以对经验的依赖较小。
(未完待续,啰啰嗦嗦说了这么多,然而却没有什么有用的东西)
时间: 2025-01-15 06:20:12