软件测试浅悟妄语2
对软件的"测"
上文提到,静者为测。让我们想想软件都在什么时候是"静"的。
我们看一个自然的流程:Build下载à下载完成à安装à安装完成à开启à使用à关闭à卸载。哪些是静?哪些是动?让我们一一剖析。
下载 : 全部属性处在动态而不可测中。
2.完成: 静态。此时可测量软件的大小、Hash验证码等。
3.安装: 全部属性处在动态而不可测中。
4.完成: 静态。此时可测量软件各文件大小,目录,COM注册情况,注册表情况等属性。
5.开启: 动态。全部属性处在动态而不可测中。
6.使用: 半动态。哈!怎么是半动态呢?因为这时候软件已经从硬盘Load进内存了,在内存中是相对静态的。你可以观察内存占用是否稳定、有否泄漏。这就叫"静中有动,动中有静",这才是咱们中国人的哲学。
7.关闭: 静态。检查运行后的生成物(如聊天记录、Log文件、temp文档)是应该存在还是被删除。
8.卸载: 静态。检查有没有遗留物,硬盘、注册表,都找找看。
看,这样理顺下来,是不是写Case就轻松多了?如果要是按照Test Plan的架构来写Case,这些Case应该分布在至少是"内存检验""注册表检验""安装测试""文件完整性测试"……等等分支里。总之,在软件处在相对静态的时候,你能深入想出软件的多少属性,那么就能写多少Case。进而,你能想出多少直接和间接影响软件这些属性的环境因素,就又有多少Case出现……然而,我们的思考能力是有限的,我们几乎不可能把软件的所有属性都想到,我们也不可能把所有可能影响软件静态属性的环境因素都找出来--即使是使用各种静态测试工具,比如内存跟踪工具等--也不可以完全做到。因此,有了我开篇的妄语。
对软件的"试"
上文说过,"试"是动态的。对软件的动态测试比较复杂,一是要时刻提醒自己要识别一些相对静止的属性,把对它们的观测提出来,二是动态测试要分析的东西也比较多--但并不是没有章法。
软件动态测试之"道",只有两个字,那就是--宇宙。
古往今来谓之"宇",它强调一个时序关系。我们在动态测试的时候,特别要注意软件操作的时序,因为每一步的操作都在直接和间接地影响着后面的操作。
上下四方谓之"宙",它强调一个空间关系。如果我们把软件看作一个系统,那么"宙"就是这个系统的环境。
举个简单例子,我们观察上面的测试流程中的第3步"安装"
* 它的"宇"就是前两步和后几步,如果"宇"中的第2步出了问题--下载的时候文件出了问题,那么安装肯定要失败的。
* 它的"宙"中有一项是硬盘空间,如果硬盘空间不足,那么安装也是要失败的。
所以,我们在做软件的动态测试时,要把测试中的"宇"和"宙"想周全。
那么,怎样才能把"宇"和"宙"想周全呢?
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>