`
billgui
  • 浏览: 15326 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

用Ruby进行黑盒回归测试

阅读更多
大家好,先说一下我的情况。我的工作主要是关于网站功能的自动(回归)测试,平时主要是在使用SilkTest(使用vendor提供的4Test语言),六七个人的小组维护着数千个test case。通常是晚上在一批实验室机器上启动自动测试,第二天来分析log,找出可能的bug。

现在,考虑到一些因素,比方,成本、SilkTest自身的可靠性和稳定性(新版本带来了一些新bug)、它的局限性,开源软件的自由扩展的方便性,以及Ruby语言带来的好处,最近也在尝试WATiR和Selenium等开源方案。现在有个问题就是,要维护大量的test case,必然涉及到以下几个因素:
1)Logging,测试需要把步骤记录下来,而不只是走过一个流程就不管了,而且最好保留多次历史纪录;
2)Reporting,一夜下来,测试的结果如何,需要有方便的报表,既有汇总的,也有一个一个test plan的。

以上只是暂时想到的方面。从这些方面来说,我们是不是需要为regression test的需求(可能以Ruby为主)建立一个框架呢?我知道Ruby本身带了unit test的框架,不过那好象还不够,主要不是给大量的regression test准备的。

先说这些,欢迎有兴趣的朋友们讨论讨论。也许,如果合适,我们可以共同来做一个open source的框架,为我们自己,也为所有有这个需求的朋友们提供帮助。

谢谢!
分享到:
评论
10 楼 billgui 2006-12-07  
zhixiaboy428 写道
popup 你用delphi 调用 windows的API 也是一个很不错的
方法, 但是watir本身有一些方法可以调用的,
目前我解决了上传,警告等弹出的问题
但是对下载无从下手,可能是windows安全系统的影响
还有你对reporting的功能 研究怎么样了?
我在杭州,你呢?

嗯,不错,你解决了上传。

下载方面,我也来研究一下,我们也会用得着。

reporting,正开始搞,我想,需要包括:
1)test plan级别的passed/failed信息,存入数据库,可以有web界面的report(summary, detail);
2)log,这个是为了分析那些失败的test case,如何迅速找到出错的script文件和相应行,是否需要相应的IDE配合;
3)log要有历史纪录,后面的不能直接覆盖前面的,这样可以前后对照。

另外,向我们这种有数千个test case需要运行维护的话,一台机器运行是不够的,通常至少有几十台机器一起运行。这样的话,需要一个批处理启动运行的工具,自动把那些test plan分配到各台机器上一起运行。第二天来分析结果。
9 楼 zhixiaboy428 2006-12-07  
billgui 写道
zhixiaboy428 写道
我在用ruby的watir完成了一套测试系统, 覆盖达到90%
但是对watir的reporting 功能感觉不理想,可以说是还没有研究到很
彻底的缘故。 我想能否在这个论坛交流一下, 如何生产比较完美的reporting方案, 而且包括一些windows popup的问题, waitir解决起来还是有点问题
我的邮箱 :daizhixia at gmail dot com
谢谢

所以我也在搞这个,也许我们可以交流一下。甚至搞一套open source的辅助系统,以提高运行与分析的效率。

你说的popup问题,我用Delphi写了个.exe程序来处理,思路是通过Windows API FindWindow和PostMessage,把它们给点掉,每一秒钟检测一次,后台单独运行。当然用什么语言写都无所谓。

另外建议你不要直接把email地址原封不动地放在网页上,容易被地址收集程序收集去,以后会引来垃圾邮件。可以用类似于我引用你的话的里面的写法,只要人看得懂就行。
popup 你用delphi 调用 windows的API 也是一个很不错的
方法, 但是watir本身有一些方法可以调用的,
目前我解决了上传,警告等弹出的问题
但是对下载无从下手,可能是windows安全系统的影响
还有你对reporting的功能 研究怎么样了?
我在杭州,你呢?
8 楼 billgui 2006-12-06  
zhixiaboy428 写道
我在用ruby的watir完成了一套测试系统, 覆盖达到90%
但是对watir的reporting 功能感觉不理想,可以说是还没有研究到很
彻底的缘故。 我想能否在这个论坛交流一下, 如何生产比较完美的reporting方案, 而且包括一些windows popup的问题, waitir解决起来还是有点问题
我的邮箱 :daizhixia at gmail dot com
谢谢

所以我也在搞这个,也许我们可以交流一下。甚至搞一套open source的辅助系统,以提高运行与分析的效率。

你说的popup问题,我用Delphi写了个.exe程序来处理,思路是通过Windows API FindWindow和PostMessage,把它们给点掉,每一秒钟检测一次,后台单独运行。当然用什么语言写都无所谓。

另外建议你不要直接把email地址原封不动地放在网页上,容易被地址收集程序收集去,以后会引来垃圾邮件。可以用类似于我引用你的话的里面的写法,只要人看得懂就行。
7 楼 zhixiaboy428 2006-12-06  
billgui 写道
bluefairy 写道
70%左右

所以分析起来还是有些累,是吧?我们是80%左右,但有时候下去,有时候上去。

而且,其中大部分不是bug引起的,有HTML对象的名称或文字改变的问题、流程轻微变化、server端配置问题、数据问题、SilkTest本身的可靠性问题等等等等一系列问题。
我在用ruby的watir完成了一套测试系统, 覆盖达到90%
但是对watir的reporting 功能感觉不理想,可以说是还没有研究到很
彻底的缘故。 我想能否在这个论坛交流一下, 如何生产比较完美的reporting方案, 而且包括一些windows popup的问题, waitir解决起来还是有点问题
我的邮箱 :daizhixia@gmail.com
谢谢
6 楼 billgui 2006-12-05  
bluefairy 写道
70%左右

所以分析起来还是有些累,是吧?我们是80%左右,但有时候下去,有时候上去。

而且,其中大部分不是bug引起的,有HTML对象的名称或文字改变的问题、流程轻微变化、server端配置问题、数据问题、SilkTest本身的可靠性问题等等等等一系列问题。
5 楼 bluefairy 2006-12-04  
70%左右
4 楼 billgui 2006-12-03  
Selenium on rails我还没用过。我们公司的QA部门也有人在尝试用Selenium,不过目前还没有大规模应用。
3 楼 gigix 2006-12-02  
how about selenium on rails?
2 楼 billgui 2006-12-01  
呵呵,你们是测试Web应用吗?目前一般运行一遍所有的test case之后,成功率一般是多少?80%左右?
1 楼 bluefairy 2006-12-01  
我们回归测试用的是QTP,没有用过SilkTest.使用QTP的脚本是按功能做的,在ST测试后期使用.所有的脚本都用统一的命名规则,一般不会乱.结果也是所有的用例都通过后,再提交的.现在还是在白天跑,晚上还没跑过.呵呵.

相关推荐

    软件测试技术

    - 选择性回归:仅对修改部分进行回归测试,节省资源。 - 全量回归:每次修改后都进行全面测试,确保所有功能正常。 8. 缺陷管理: - 缺陷报告:详尽记录问题,包括复现步骤、影响程度等。 - 缺陷跟踪:监控缺陷...

    软件测试经典面试题大全

    其主要组件包括Selenium WebDriver、Selenium Grid等,能够进行功能测试、回归测试和性能测试。 2. JUnit:JUnit是Java开发者的单元测试框架,用于编写和运行可重复的测试,确保代码的正确性。 3. Appium:Appium...

    自动化测试-APP测试相关资料下载

    6. 回归测试:每次更新代码后,运行自动化测试以确保未引入新的错误。 四、自动化测试工具 1. JUnit:Java语言的单元测试框架,常用于Android应用的单元测试。 2. Selenium:Web自动化测试工具,但通过Appium也...

    百度质量部测试开发工程师面试题整理

    3. QTP:一种自动化测试工具,支持功能测试和回归测试。 4. LoadRunner:性能测试工具,用于测试软件在高负载下的性能。 以上知识点梳理涵盖了从测试基础、测试设计、编程技能、计算机基础到工具使用等多个方面,...

    手机软件测试

    此外,回归测试是确保新功能或修复不会破坏现有功能的过程。持续集成和持续部署(CI/CD)实践也逐渐被引入手机软件测试,通过自动构建、测试和部署来加速迭代周期。 最后,测试报告的编写和缺陷管理也是手机软件...

    软件测试基本方法和基本技术

    4. 回归测试:当代码有修改后,重新运行受影响的测试用例,确保修改没有引入新的错误。 5. 验收测试(用户验收测试):用户或客户参与的测试,确认软件是否符合业务需求和合同规定。 三、基本测试技术 1. 黑盒...

    敏捷开发中的自动化测试实践.pdf

    - **用户界面级别测试框架**(黑盒测试):例如Selenium、Ruby Watir等,这些工具可以模拟用户操作来测试应用程序的UI交互行为。 #### 六、自动化测试调度工具——TOAST TOAST(Toast Open Automation System Test...

    软件测试知识总结

    - **回归测试**:修改代码后,确保原有功能未受影响。 3. **测试模型** - **V模型**:每个开发阶段都有对应的测试阶段,强调测试与开发同步进行。 - **W模型**:测试是贯穿整个软件生命周期的,强调测试活动与...

    软件测试教学视频(共30G)

    Selenium支持多种浏览器和编程语言,如Java、Python、C#等,可以模拟用户在浏览器中的操作,进行功能和回归测试。 3. Appium:针对移动应用的自动化测试框架,支持iOS和Android平台。Appium使用WebDriver协议,允许...

    appium 移动端自动化测试入门

    - **简介**:MonkeyRunner是一种基于Python的自动化测试工具,主要用于Android应用的压力测试和回归测试。它允许用户通过编写脚本来控制Android设备或模拟器。 - **特点**: - 使用Python语言编写测试脚本,简化...

    百度笔试面试

    动态测试的步骤可以分为单元测试、集成测试、系统测试、验收测试和回归测试。 3. **等价类的概念**: - 等价类分为有效等价类和无效等价类。有效等价类是指对程序规格说明有意义的输入数据集合,而无效等价类是指...

    dast_serv

    修复后的代码应经过回归测试,以确认没有引入新的问题。 综上所述,“dast_serv”项目可能是一个用于Web应用安全测试的工具,结合CSS技术优化前端界面,同时提供一个主要的入口点“dast_serv-main”来管理和执行...

Global site tag (gtag.js) - Google Analytics