【工作经历:阿里巴巴搜索技术研发中心QA ,百度新产品测试部QA】 【领域:测试分析,自动化测试,性能测试,安全测试 】 【个人定位:高级测试工程师+培训师+领域产品专家】

发布新日志

  • ATF框架的使用

    2010-01-03 02:13:52

    使用平台,分为三个角色。
    平台维护者,自动化测试用例的编写者,与自动化平台的使用者。
    平台维护者负责整个平台的流程设计与规划。
    测试用例开发者编写TC的控制流,使用atf的整体框架。
    平台使用者直接使用自己构造的数据去执行。

    使用流程是与开发流程是顺序相反的,需求从使用者身上获取,然后逐层向下反馈。

    举个例子。
    平台维护者的工作实现server的自动化,包括系统的启动,创建索引,查询等流程的自动化。
    测试用例开发者,借助平台,实现自己的逻辑定制,比如启动系统,然后发送数据进行查询,然后使用断言去判断预期结果。
    平台使用者直接构造测试数据。

    如下是一个简单的例子。


    平台维护者实现

    class Blend
    def start
    ....
    end

    def search
    ....
    end
    end


    测试用例开发者实现

    class Blend_Test
    def test_query(data={})
    ...
    blend.start
    ...
    blend.search
    ...
    assert_equal ...
    end
    end



    测试用例的使用者



    tc "x1"
    step "Blend.test_search"
    data "query","query1"
    data "expect","expect1"


    tc "x2"
    step "Blend.test_search"
    data "query","query2"
    data "expect","expect2"




  • ATF的TC管理系统设想

    2009-10-17 15:19:23

    目前正在推进ATF第一阶段的需求整理。

    整理出来的需求远超我们的预期,我们的初步计划是开发一套后台测试的框架。由测试人员写代码去完成测试。
    结果需求提的则是让测试人员完全不接触代码,在web或者excel中直接写行为描述。

    这个曾经也是我的设想。但是没有想到需求来的这么迫切。而且是测试人员提出的。
    这样就无疑增加了我们的开发难度,之前我并没有把UI设计囊括进去。

    为了缩短开发周期,我决定采用迭代式的开发形式。先采用一个基本的模型开发,然后逐渐完善。
    采用MVC的结构,前期注重建模,后期再进行控制器与视图的设计。

    最近两天的工作

    1、TC管理系统的设计。这是个难点。想做到完美不可能。暂时借鉴下流行框架。今天关注的关键词TDD,BDD,Rspec,元编程。
    http://www.ibm.com/developerworks/web/library/wa-rspec/
    http://www.ibm.com/developerworks/cn/java/j-lo-rubytesting/
    http://www.javaeye.com/news/10347-coulda-ruby-test
    研究设计什么样的TC管理框架

    2、参考下iauto与pwatir的框架


    最后的两种思路

    1、采用ROR,让用户登录web系统进行TC管理。web系统设计是男滴,UI设计与美化,数据管理与存储是难题。也许还要多个mysql累赘。
    2、采用EXCEL与目录管理的结构,简单管理TC。EXCEL的话,可以采用DSL或者pwatir的方式去重新定义解析。这样对于用户就更简单些。此处可以做到比pwatir还优秀。

    初步采用第二种,以后扩展的话,再使用第一种。




Open Toolbar