Hi, 如果有任何想法与我沟通, 请用: lifr_nj 在 msn.com

自动化测试一个比较通用的架构

上一篇 / 下一篇  2009-06-15 17:32:09 / 个人分类:TestAutomation

如果选定了要自动化的目标,--通常来说是一个data-drivencase集合,下一步就是要考虑如何实现的问题。

首先从软件架构来说,自动化测试项目不算复杂,对于大多数情况,一个自动化测试项目的实现由三个主要部分构成

  • 自动化测试框架
  • 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,比如访问DBremote server, etc.


TAG:

 

评分:0

我来说两句

Open Toolbar