测试模式点滴:清理环境
来源:互联网 发布:网络黄页是什么 编辑:程序博客网 时间:2024/06/06 04:07
准备实践自动化测试的朋友可以看看这本书:XUnit Test Patterns——Refactoring Test Code,及其网站http://xunitpatterns.com/。估计国内还没有译本。书的内容不错,只是倾向于单元测试,还糅合了其它诸如“反测试模式”(文中称为bad smells,大概如同code complete里面描述的bad smells差不多,只是这里从自动化测试代码的角度而言)的内容。我对测试模式比较感兴趣,就采摘一些与大家共享。
上一篇已经就准备环境谈了很多,清理环境就显得轻松一点,但是问题和影响还是会出人意料。
占用有限资源的测试尤其容易出问题。一个接一个的测试用例如果没有恰当的释放占用的资源,就会让后面的某个测试用例失败,而且是随机的一个,这种失败让人摸不着头脑。例如数据库的连接,注册表项,甚至是临时文件忘了删除也是个问题。
跟准备环境一样,清理环境也有类似的测试模式。
l 永久准备
n 道理跟准备环境时一样,把环境重设为一个固定状态。很多时候根本就是准备环境和清理环境的代码是共享的。
l 回滚清理
n 这个跟数据库里面的回滚(rollback)原理是一致的,如果准备环境时执行的步骤之间存在依赖,清理环境时就得顾及这个依赖。
n 你可以理解为反洋葱头清理,如果准备环境时以ABCD…的顺序初始化,清理的时候就以…DCBA的顺序清理。通常洋葱头类的协定是先执行基类的函数,那么反洋葱头类的协定则是最后执行基类的函数。
l 垃圾收集清理
n 运用类似垃圾收集的原理,测试用例执行过程中产生的各种资源占用都会被登记在册,直到清理阶段逐一清除。
n 比如为了调试和诊断产生了不少文件,虽然这些文件是需要保留的,但多个测试用例执行之后它们产生的文件就会相混淆,所以产生的文件需要被归档整理后删除,哪些文件需要这么做呢?可以用垃圾收集方法登记起来,最后统一处理。
不好好做清理环境的后果可以是
l 单个执行测试用例没问题,全部一起执行则无法全部完成。
l 增加、删除测试用例或者改变测试用例的执行顺序则无法全部完成。
l 某些测试用例失败之后其它不该失败的测试用例也失败了。
l 一次全部测试用例执行之后无法再全部执行一次。
l 对于同一个测试用例的集合分散在多台机器上执行时,有些测试机器能全部完成,有些则不行。
调试和诊断这类问题费心费力,而且没有任何价值,因为设计良好的清理环境就可以避免这些问题。
- 测试模式点滴:清理环境
- 测试模式点滴:准备环境
- 测试模式点滴:验证模式
- 测试模式点滴:模仿者模式
- [工作点滴]功能测试环境没效果
- 测试环境清理表数据,要建一个备份数据库
- 测试点滴大搬家
- Python接口测试--点滴
- 设计模式的点滴
- 接口性能测试的点滴
- Android应用安全测试点滴
- 设计模式的点滴认识
- Finalize/Dispose资源清理模式
- spark 环境搭建及几种模式测试
- 我的软件测试生活点滴
- web站点性能测试经验点滴
- Linux下的编程环境知识点滴
- hadoop环境配置操作点滴记录
- H.264标准----概念和定义
- IPv6和域名服务
- 如何理解C和C++的复杂类型声明
- Java反射之调用构造方法and操作数组
- [小说连载]张小庆,在路上(3)-北京,我来了!
- 测试模式点滴:清理环境
- 指针详解
- DB2 reorg表,因表空间不够出现错误
- H.264标准----句法与语义(一)
- 回首2012
- 关于sql 防错转义
- 分层抽样Selecting a Stratified Sample with PROC SURVEYSELECT
- 学习Visual C++编写windows程序。
- BO SDK 中的session