在 Symbian S60 平台进行单元测试
2010-03-16 17:18:00 来源:WEB开发网可理解性:测试者拥有的信息越多,测试效果越好。一般的文档已经足够了。各组件相互依赖以及内部和外部组件的使用,应该是清晰明了的。基于代码的所有改动都应该是可交流的(改动时使用版本管理系统和可视化文件比较器是比较明智的)。
开发单元测试
开发者是如何知道应创建的测试类型以及何时测试呢?这个问题没有明确的答案。我们要知道的是开发过程中单元测试是最经常被用到的,另外它的目的是在开发初期尽可能地减少bug,从而减少测试量并确保在其在高级测试中的正确性。将软件分割成单元来测试也迫使开发者创建更优化的软件构架,这能有助于查找bug和软件维护。
测试法可分为行为测试和结构化测试。行为测试确保程序的行为符合设计的意图。例如,当网络数据流不适用目标缓冲器时该方法使其成为可能。结构化测试在另一方面确保所有重要的控制路径的传输都被测试过。
实际上,首先创建行为测试其次度量科覆盖是非常有用的。然后在结构分析的基础上添加测试实例直到实现必要的覆盖。
这章我们将详细介绍普遍的测试技术。
● 黑盒测试对白盒测试
黑盒测试是一种通过在测试环境下不需要任何内部知识知识来检查对象的方式。只需检查输入和输出。
这种测试法的不足之处是我们很难确保所有的路径都被测试到。尽管如此,对于那些大型的复杂系统,依然更倾向于使用黑盒测试简化事情的方法。
另一方面白盒测试的目的是要运用尽可能多的内部相关技术知识为对象进行测试。它允许测试者选择能使所有(或最重要的部分)路径都能被测试的测试输入方式。路径可由控制构架和获取数据来构建。代码覆盖工具自动运行来寻找路径并报告它们的测试的进展如何。详细内容可查看Wikipedia [6]。
自从白盒测试反映对象的内部工作组以来,当测试发生改动时,它就需要升级。而黑盒测试只需在方法签名和语义发生变化时才被修改。
● 行为测试技术
一种非常普遍的代码错误是对边界问题进行不适当的操作。边界值分析的观点是指在边界区域进行测试。例如,MIN, MIN-1,MAX, MAX+1。这些值在(当使用)输入和输出函数时都应被检验。
我们不可能创建所有可能的系统会用到的函数输入数据,尽管如此,相似的数据被函数使用时并不改变其执行路径,所以这些数据可被抽象化。等价类分割就是被设计用来把所有的相似输入值划分成类的行为测试。例如,如果函数接受-5到
更多精彩
赞助商链接