Hi, 如果有任何想法与我沟通, 请用: lifr_nj 在 msn.com
自动化测试一个比较通用的架构
上一篇 /
下一篇 2009-06-15 17:32:09
/ 个人分类:TestAutomation
如果选定了要自动化的目标,--通常来说是一个data-driven的case集合,下一步就是要考虑如何实现的问题。
首先从软件架构来说,自动化测试项目不算复杂,对于大多数情况,一个自动化测试项目的实现由三个主要部分构成
- 自动化测试框架
- TA testcase
- Library
自动化测试框架
测试框架提供了testcase的管理,测试任务的管理,测试报告的生成等内容。取决于自动化测试项目的大小,可以从提供最简单的testcase管理和运行的小框架,到基于数据库,包含内容丰富的报表的大框架。
可以看到,测试框架提供的功能和具体的testcase无关。所以,寻找/提供一个通用的测试框架是可能的,用这个框架来管理某一个产品所有的自动化测试用例。
Test Automation TestCase
自动化测试用例(TA testcase)包含了实现测试逻辑的代码。
在实现测试用例的时候,有一个技巧。那就是自动化测试用例的抽象层次和datadriven
testcase的抽象层次保持一致。首先试图用关键词加相应的数据来描述一个testcase,然后在testcase里提供一个能够解释这些关键词和数据的“解释器”。
在实现测试用例的时候,我个人的经验是要尽量维持testcase这一层的代码比较“薄”。最好只有描述了测试逻辑本身的代码,减少访问实际的底层设施的代码。这样的好处
1)是提高了底层代码的通用性,
2)是在测试逻辑不变的情况下,访问GUI的代码在未来变化的可能性比较大,把访问GUI的代码放在Library层,可以维持testcase代码的稳定性
Library
library提供了访问测试产品本身,或者其他一些基础设施的API,比如访问DB,remote server, etc.
收藏
举报
TAG: