51Testing软件测试论坛

标题: 【你来问我来答第41期】:自动化是一种态度(QTP)!(已结束) [打印本页]

作者: lsekfe    时间: 2013-12-2 10:36
标题: 【你来问我来答第41期】:自动化是一种态度(QTP)!(已结束)
[attach]88255[/attach]

论坛ID:黑羽祭

真实姓名: 陈永达

现任公司:上海亚势软件

现任职位:系统测试工程师

工作经验:
多次帮助测试组从无到有建立QTP自动化,做过多个QTP自动化项目,针对项目写过多个轻量级框架。
现外派至某知名企业电子商务部门从事SAP测试与QTP自动化测试项目
经验总结:单枪匹马,自学成才


自动化是一种态度
初学QTP时,会不知从何入手么?
想学QTP不知道怎么练手怎么办?
在QTP的使用中遇到了什么问题?
欢迎提问,我将竭尽所能为您解答,对解答有异议,欢迎直言讨论。

[attach]88241[/attach]

各位会员可以在12月11日前以回帖的方式向客座专家提问。

(请大家围绕本期客座专家的擅长领域进行提问、探讨)

客座专家将在12月11日—12月31日为大家集中解答。

机会难得,欢迎大家踊跃提问!



作者: lsekfe    时间: 2013-12-2 10:38
本次嘉宾是我们QTP版块比较活跃,而且非常乐于助人的版主之一“小黑”!大家有什么问题可以提出来一起进行讨论!
作者: zaza9084    时间: 2013-12-2 10:45
支持一下~
作者: liu51    时间: 2013-12-2 11:11
我们公司就我一个测试,我感觉都是重复性的测试,很想学习下QTP来进行回归测试,提高下工作效率,请问一个人可以开展qtp自动化测试吗?我该从何学起呢?
作者: 楠族开心果    时间: 2013-12-2 11:25
沙发没了 板凳吧
作者: QTP小菜鸟    时间: 2013-12-2 11:44
久闻版主大名,晚辈有几个问题想请教下大侠
1.作为学计算机的我,对代码一窍不通,却深知QTP、LR等在测试中是何等的重要,可对代码一直提不起兴趣来,这个如何去面对这种困难呢?
2.您说,自动化是一种态度,那是一种什么态度呢?是自我挑战的态度?还是?
3.现在selenium和QTP都比较流行,两种也是一种截然不同的脚本,如何将两种学会呢,运用贯通呢?
作者: 黑羽祭    时间: 2013-12-2 11:56

作者: shujin6040    时间: 2013-12-2 13:13
对于qtp比较感兴趣,问题在于如何自己去写框架,如果采用别人的框架可能因为项目的不一致,而不能搬迁硬套,我们现在只会去参数化,尤其在表单应用比较多,如果这样时间耗费太多,先求解框架!
作者: Miss_love    时间: 2013-12-2 13:51
支持~~!
作者: ingwlhot0801    时间: 2013-12-2 16:12
本帖最后由 ingwlhot0801 于 2013-12-2 16:13 编辑

@陈永达

BI系统有好的测试工具吗?该项目属于业务类系统,非面向普通用户的,麻烦提供好的测试工具
作者: cnuwwl    时间: 2013-12-2 16:37
只是会简单的在qtp中录制脚本,但是不知道如何可以更好地提高qtp实际应用能力~?
作者: st_laohu    时间: 2013-12-2 17:31
大神,学好QTP的前提需要什么条件呢?现在在录制脚本参数化等基础的阶段。
作者: 黑羽祭    时间: 2013-12-2 20:23
回复 4# liu51


    一个人当然可以开展QTP测试(PS:我就是一直一个人,HOHO)。
首先还是确定一种工具,比如你想学习QTP,最好先确认一下QTP是否能满足你们项目的测试需要,是否能完全识别你们项目中的控件,如果可以就可以进行下一步了。
早期还是先熟悉测试工具,不知道你对工具这块了解多少,是否有编程能力。QTP现在市面上的书也有不少,再有点编程能力,那上手是非常快的。
当工具使用上有一定基础后,可以先从最常用的测试用例开始,根据每次都需要进行的回归测试用例,编写成适合自动化执行的的自动化测试用例,再根据用例编写脚本。
熟练后可根据自己需要,进行参数化,达到数据驱动的效果。
早期就是如此。
作者: 黑羽祭    时间: 2013-12-2 20:36
回复 6# QTP小菜鸟


1. 既然是学计算机的,自然要会一定的编码能力,虽然QTP的确支持录制,但是想要做好自动化,编码是必须的。我个人认为兴趣的确很重要,有了兴趣才能更好的钻研,没有了兴趣就会各种排斥。兴趣的培养你可以尝试从简单的基础代码和玩具代码开始,培养自己的兴趣。当然了,如果实在对编码提不起兴趣也不用勉强,软件测试的路也不只一种,找到适合自己发展的路才是最好的。

2. 我在另一篇文章中也说过这个,我说的这个 “自动化是一种态度”,是一种追求高效,追求解放手工的一种思想:

3. 两种工具都比较常见,从现在来看,Selenium更便宜,更自由,可塑性也更强一些。QTP本身也有一定的时间和人群基础,相对于资料要更全一些。如果你编程能力较弱,可以先从QTP开始,认识自动化,然后学Selenium也不会很难。如果有一定的编程能力,可以直接上手Selenium,对于有较强编码能力的TE来说,QTP有时反而制约了你的能力。工具还是工具,看项目和个人的选择而定了。
作者: 黑羽祭    时间: 2013-12-2 21:02
回复 8# shujin6040


    嗯,其实我也不怎么喜欢用通用的框架,常见的就是将一些控件的关键属性或Dom结构保存于外部文件(如Excel),并在文件中做好对应的参数化,然后通过QTP的描述性编程进行脚本的拼接,实现自动化的运行,个人感觉效率并不高,且交予非脚本开发人员时,使用上有些障碍。
如果表单上的控件较多,且开发做的比较规范的情况下,你可以借鉴上面的方法,并不将所有内容都存于外部文件,可以将对象库与外部文件结合的方法,单独对一些控件进行封装,然后只需根据html id、class等属性,就能定位到控件并填写上对应的参数内容,这样在有较多表单和较多控件的情况下编写脚本还是非常快捷的。
作者: 黑羽祭    时间: 2013-12-2 21:18
回复 10# ingwlhot0801


    嘿嘿,你这个问题的确难倒我了。我只能说说我知道的一些内容,欢迎指正。
BI其实就是一种数据仓库,分析处理和数据挖掘的技术。要对BI系统进行测试,需要TE掌握各种业务逻辑知识。在我的测试过程中,也遇到了很多程序OK,数据OK,但是就是和当初需求设定上有偏差,如果业务逻辑不熟悉的情况下,很难检查出错误。
我在工作中,也很难让完全进行自动化,但是能保证的就是通过自动化的手段,提高了测试的效率。对于一套业务流程,根据各种不同的参数、权限、约束等,可以生成上百条测试用例,而自动化做的就是根据这些用例,进行自动化的执行和测试结果数据的收集。最后人为的会对收集的数据进行检查。
我认为专门用来测试BI的工具谈不上,只能是结合多种工具,提高了测试的效率和可靠性。
作者: 黑羽祭    时间: 2013-12-2 21:23
回复 11# cnuwwl


    首先还是先买本书看看,推荐赵旭斌余杰的《QTP自动化测试领航》不错。
最快提高实际应用能力的自然是将所学的东西用于自己的项目,本着提高工作效率的目的,加上自己的兴趣,很快就能把QTP玩的很好。
作者: shujin6040    时间: 2013-12-3 10:01
QTP怎么去连接数据库,比如数据库是mysql,公司的开发语言是PHP+mysql
作者: LWZ88    时间: 2013-12-3 12:11
我觉得QTP一两个月不用就忘得差不多了,是不是因为我之前学得不扎实呢?
作者: QTP小菜鸟    时间: 2013-12-3 14:58
回复 14# 黑羽祭


    谢谢斑竹的回答,只是我对测试还是挺有兴趣的,唯独对编码这块不熟悉,可能是害怕失败吧,或者像您说的对编码兴趣不大,所以一直在逃避这块。但测试里肯定要用到QTP和LR,我要如何去克服这个困难呢?或者说我要如何去学好这个脚本呢?
作者: 蔷薇花花    时间: 2013-12-3 15:34
版主好,我最近也在学习QTP,看的就是余杰的《QTP自动化测试技术领航》,遇到了些问题,可是作者似乎好久都不在线了,故来咨询下版主。
要把一个对象库变成公共对象库引用,是不是必须要经过object repository manager才可以?公共对象库也是以副对象库的形式引用的,那他们俩到底有什么区别呢?
作者: 子沫宝贝    时间: 2013-12-3 16:35
你好,我原是做本地化测试的,现在想学QTP,然而我学了段时间,对QTP的一些基础知识有点掌握了,但是我觉得光看理论很难掌握QTP,迷茫了很久才想起下个开源的web项目去自己测试下,可是问题又来了,我不知道该从何下手,怎么去做。我没有QTP实战经验,所以工作中QTP是怎么运作的我也不清楚。所以在此请教下,给我指点指点迷津。
我主要有这几个困惑:
1.我现在只是掌握了QTP的一些基础知识就去实践,这样可行吗?其实我有点心急,想快点见到成效,因为我看了有两个月的书了,一点成果都没有,很打击我的自信心。呵呵。。。
2.学QTP需要学哪些编码,能给我讲解下哪些语言在QTP的什么地方是需要的。
3.能否介绍我一个可以实践的web,让我动手去做。
4.工作中QTP是怎么运作的。是要先了解项目需求,编写测试用例,搭建QTP框架,然后根据测试用例去写脚本吗?你可以给我举个列子,让我知道整个工作框架。
希望你能帮我解决上面的问题,我的联系方式是450434261@qq.com 我很期盼与你更深入的探讨
作者: 黑羽祭    时间: 2013-12-3 20:20
本帖最后由 黑羽祭 于 2013-12-3 23:23 编辑

回复 18# shujin6040


比如连接MySQL和进行查询操作:先是安装mysql数据驱动mysql-connector-odbc,然后是编写脚本:
  1. '链接数据库
  2. '链接数据库
  3. Dim Conn
  4. Set Conn=CreateObject("ADODB.Connection")
  5. Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=test;PWD=root;PORT=3306;SERVER=localhost;UID=root"
  6. Conn.Open ConnectionString
  7. If Conn.State<>0Then
  8.         Reporter.ReportEvent micPass,"testing","连接数据库成功"
  9. else
  10.         Reporter.ReportEvent micFail,"testing","连接数据库失败"
  11. End If

  12. '查询数据库
  13. sql="Select * from user1"
  14. str.Open sql,conn,1,1'1,1表示只读;1,3表示插入数据;2,3表示修改数据
  15. str.MoveFirst'使游标指向第一个记录
  16. sum=""
  17. WhileNot str.EOF
  18.   For i=0to str.Fields.Count-1'str.Fields.Count表示字段个数
  19.      sum=sum & str(i) &""'把整个记录显示出来
  20.   Next
  21.      Print sum & vbCRLF'打印所有查询的记录
  22.      sum=""  '清零
  23.      str.MoveNext'使游标进入下一个
  24. Wend

  25. str.Close '关闭数据集实例
  26. Set str=Nothing
  27. Conn.Close '关闭数据库实例
  28. Set Conn=Nothing
复制代码

作者: 黑羽祭    时间: 2013-12-3 20:21
回复 19# LWZ88


    个人感觉是用的不够多,平时多加练习,就算一两个月不用,等到用的时候,稍加回忆,就都回来了。
作者: 黑羽祭    时间: 2013-12-3 20:45
回复 21# 蔷薇花花


    你好。
其实公共对象库和本地对象库本质上是没有区别的,都是用于保存QTP对对象的描述。区别在于,当多人共同开发自动化测试脚本时,公共库能给脚本带来统一的控件命名与管理。
多人共同编写脚本时,难免会遇到都会录制到的控件,很可能A写的是“确定按钮”,B写的是“确定”,C写的是“确认”,这时会有一个人负责管理对象库,把大家的对象库导出并合并起来,定义好是“确定”还是“确认”,以后在编写脚本的时候,不管是单独运行,还是多脚本放在一起运行,都不会有问题。
而对对象库进行导入导出,比对合并工作的,就是这个object repository manager。
当然了,动态加载tsr文件用脚本也是可以实现的。
作者: 黑羽祭    时间: 2013-12-3 22:38
回复 22# 子沫宝贝


    1. 当然可以,都看了2个月书了,完全可以开始实践了。
    2. QTP用的是Vbscript,掌握这个就行了。
    3. 可以实践的web很多,软件自带的BS和CS的Flight,包括百度,谷歌,邮箱,论坛,都是可以实践的网站。
    4.你说的不错啊,根据需求,写自动化测试用例,根据用例写脚本。
可能你现在对工作中怎么运用QTP还不是很了解,早期你可以从一些简单的测试开始,比如实现一下日常工作中,必测的正向回归测试,将它用自动化实现。这些东西多练习后,就会有自己的思路。
我Q和邮件:370464196     cydblack@163.com
作者: 黑羽祭    时间: 2013-12-4 10:14
大神,学好QTP的前提需要什么条件呢?现在在录制脚本参数化等基础的阶段。
st_laohu 发表于 2013-12-2 17:31



    嗯,不管是想深入,还是以后再往别的工具上继续发展,编程能力还是需要培养一下的。
在有了一定的基础后,就开始摆脱录制吧,手动添加对象到对象库,然后手动拖拉对象并编辑脚本,习惯后发现不会比录制慢,而且比录制的脚本更整洁清晰。
买本书看看,多加练习就行。参数化也是一门学问,慢慢的要做到将测试数据与脚本分离,实现数据驱动的效果。
作者: lmm1186814949    时间: 2013-12-4 12:08
想学习QTP,如何入手呢,有什么测试平台吗
作者: Q_妞妞    时间: 2013-12-5 17:21
大神!!求救!目前我是我们公司唯一的测试人员。我们公司是创业型公司,目前没有测试文档,没有测试用例,当初招我的时候就是希望我能做一个自动化测试,建立自动化测试环境。而我完全是只菜鸟,现在自学,但是进步很慢,也真的没有头绪,我又不想让领导失望!所以,求大神指条明路吧~
作者: 黑羽祭    时间: 2013-12-5 22:44
想学习QTP,如何入手呢,有什么测试平台吗
lmm1186814949 发表于 2013-12-4 12:08



        你好,不知道你说的入手是指软件还是技能。
软件的话很简单。
技能的话可以先买一本书先看起来,了解一些基本的工作原理和软件使用,然后就可以结合F1自带的帮助,进行练习了。测试的对象可以是自带的Flight,也可以是百度什么的,也可以用DW自己拖下控件做个简单的页面等。
作者: 黑羽祭    时间: 2013-12-5 22:53
大神!!求救!目前我是我们公司唯一的测试人员。我们公司是创业型公司,目前没有测试文档,没有测试用例, ...
Q_妞妞 发表于 2013-12-5 17:21



    既然公司选择了你,就说明公司有肯定你的地方,要自信嘛。
不知道你QTP现在自学到什么程度了?编码能力怎么样?
测试基础怎么样?测试用例的编写能力怎么样?
如果全公司就是只有你一个测试的话,考验你能力的时候来了。
作者: sushe2009    时间: 2013-12-6 12:14
大师,
selenium2+Junit4怎么获取页面中表格的某个单元格元素啊?
作者: 黑羽祭    时间: 2013-12-6 16:09
本帖最后由 黑羽祭 于 2013-12-6 16:13 编辑
大师,
selenium2+Junit4怎么获取页面中表格的某个单元格元素啊?
sushe2009 发表于 2013-12-6 12:14



    Selenium啊,我举个简单的例子吧。
自己搞了个页面,比如说:[attach]88295[/attach]

  1. /**
  2. * @Author Dylan_Chen
  3. * @CreateDate Dec 6, 2013 4:05:05 PM
  4. * @param args
  5. */
  6. public static void main(String[] args) {
  7.         // Chrome
  8.         System.setProperty("webdriver.chrome.driver",
  9.         "D:\\Program Files\\Selenium\\chromedriver.exe");
  10.         WebDriver driver = new ChromeDriver();
  11.        
  12.         driver.get("D:\\selenium.html");
  13.         By by = By.xpath("html/body/form/table");
  14.         WebElement tbElement = getTableElement(driver, by, 0, 2);
  15.         tbElement.findElement(By.tagName("input")).sendKeys("Dylan_Chen");
  16. }


  17. /**
  18. * @Author Dylan_Chen
  19. * @CreateDate Dec 6, 2013 4:06:23 PM
  20. * @param driver
  21. * @param by
  22. * @param rowNum
  23. * @param columnNum
  24. * @return
  25. */
  26. private static WebElement getTableElement(WebDriver driver,
  27.                                                 by by, int rowNum, int columnNum) {
  28.         WebElement table = driver.findElement(by);
  29.        
  30.         // 获取tr列表
  31.         List<WebElement> trlist = table.findElements(By.tagName("tr"));
  32.         WebElement trElement = trlist.get(rowNum);
  33.        
  34.         // 获取td列表
  35.         List<WebElement> tdList = trElement.findElements(By.tagName("td"));
  36.         WebElement tdElement = tdList.get(columnNum);
  37.        
  38.         return tdElement;
  39. }
复制代码


这里写成了一个函数,也举了个填写的例子。
作者: qi0321    时间: 2013-12-6 16:34
大神,请教个问题,公司现在还没有自动化性能测试,只有简单的功能测试,想问下对于做安卓导航系统项目的公司可否实现自动化测试?怎样从无到有的去建立自动化测试流程,感谢!!!
作者: sushe2009    时间: 2013-12-6 16:59
回复 33# 黑羽祭
达哥,我太崇拜你了!
作者: liurenhui    时间: 2013-12-6 17:39
目前我们公司用的是ALM+QTP,我想知道框架这东西怎么自己搭建呢,还有就是写QTP脚本是不是需要掌握更多的 VB语言呢
作者: msnshow    时间: 2013-12-7 15:19
测试用例都没,别想自动化了
作者: wuliangye    时间: 2013-12-9 11:07
支持一下
作者: jifang    时间: 2013-12-9 13:36
解答很好,支持一下!
作者: liu51    时间: 2013-12-9 17:03
回复 13# 黑羽祭


    谢谢版主的回复与指导,让我更有点信心了。
作者: louqqson008    时间: 2013-12-10 11:58
本帖最后由 louqqson008 于 2013-12-10 14:12 编辑

好久没来了,一上来就看到你上“头条”啊,很感谢之前在学习中的热心解答啊,可惜项目不太符合自动化,     部门也没有这个需求了,搞的我也很迷茫啊,很久没碰QTP了,╮(╯▽╰)╭
作者: fsweicaixia    时间: 2013-12-10 18:54
{:4_84:}加油  关注
作者: 序曲死亡葬歌    时间: 2013-12-11 17:54
请教大神。我现在是一个人常驻在项目开发组。所做的一些都是正例的测试。而且也就用LR跑跑压力。而且整个项目就我1个测试,要盯着6个子项目去做测试,工作量太大。是否可以适用自动化测试,因为本人本身就不会编码。一看代码就晕的类型。所以脚本基本都是录制或者找别人帮忙写的。大神有啥好方法对于我现在的情况给个建议么。。谢谢啊
作者: 序曲死亡葬歌    时间: 2013-12-11 17:55
请教大神。我现在是一个人常驻在项目开发组。所做的一些都是正例的测试。而且也就用LR跑跑压力。而且整个项目就我1个测试,要盯着6个子项目去做测试,工作量太大。是否可以适用自动化测试,因为本人本身就不会编码。一看代码就晕的类型。所以脚本基本都是录制或者找别人帮忙写的。大神有啥好方法对于我现在的情况给个建议么。。谢谢啊
作者: 序曲死亡葬歌    时间: 2013-12-11 17:56
请教大神。我现在是一个人常驻在项目开发组。所做的一些都是正例的测试。而且也就用LR跑跑压力。而且整个项目就我1个测试,要盯着6个子项目去做测试,工作量太大。是否可以适用自动化测试,因为本人本身就不会编码。一看代码就晕的类型。所以脚本基本都是录制或者找别人帮忙写的。大神有啥好方法对于我现在的情况给个建议么。。谢谢啊
作者: Admin_suma    时间: 2013-12-11 19:09
呵呵 看看大家的想法 挺好
作者: 黑羽祭    时间: 2013-12-11 21:21
大神,请教个问题,公司现在还没有自动化性能测试,只有简单的功能测试,想问下对于做安卓导航系统项目的公 ...
qi0321 发表于 2013-12-6 16:34



    安卓导航系统完全可以当做安卓移动设备来做自动化嘛,支持安卓的自动化测试框架很多,Robotium,MonkeyRunner,Appium什么的。
移动设备的自动化项目我到没怎么做过,我做的都是web项目,不敢多说什么,不过你可以尝试先将一部分功能模块作为Demo,用于尝试自动化测试的实施,将你目前日常手工繁琐的部分进行自动化。
尤其是移动设备,更是离不开自动化测试啊。
作者: 黑羽祭    时间: 2013-12-12 13:40
目前我们公司用的是ALM+QTP,我想知道框架这东西怎么自己搭建呢,还有就是写QTP脚本是不是需要掌握更多的 V ...
liurenhui 发表于 2013-12-6 17:39



    写QTP脚本并不难,掌握很多VBS语言也感觉大可不必,QTP本身也封装了不少函数和方法,方便测试人员使用。
    框架这东西,简单的可以使用同家公司的QC结合QTP,也可以实现脚本的控制和自动执行,和测试结果的反馈,算是比较简单省事的解决方案了。
    想自己写框架的话就需要有一定的编码设计能力了,做好参数化,提出公共部分实现复用,做好LOG记录和Report记录,做好各种错误判断和场景恢复。
作者: 黑羽祭    时间: 2013-12-12 13:41
回复 38# wuliangye


    谢谢~~
作者: 黑羽祭    时间: 2013-12-12 13:42
好久没来了,一上来就看到你上“头条”啊,很感谢之前在学习中的热心解答啊,可惜项目不太符合自动化,     ...
louqqson008 发表于 2013-12-10 11:58



    时刻给自己充电吧~   不要让自己掉价~
作者: 黑羽祭    时间: 2013-12-12 13:42
回复 42# fsweicaixia

    谢谢~
    PS:你那两表情是在比中指么~~
作者: maclehappy13    时间: 2013-12-12 15:14
现在很多人都说自动化就说QTP。QTP只是一个自动化工具或平台,不是自动化。我个人认为,先学基础的自动化理论知识,再找个工具去实践,边做别提高,最后再回过总结。理论和动手能力都能一定的水平,是否能独树一帜,还得看个悟性和毅力及能力。欢迎砸鸡蛋。嘿嘿
作者: 黑羽祭    时间: 2013-12-12 16:42
现在很多人都说自动化就说QTP。QTP只是一个自动化工具或平台,不是自动化。我个人认为,先学基础的自动化理 ...
maclehappy13 发表于 2013-12-12 15:14



        说的很对。
现在看的明白的人也比以前要多很多了,自动化测试并不是QTP工具的使用。
一些刚入门的测试人员有时候的确不知道自动化测试是做什么的,感觉需要写个代码,就是种很牛叉的技能,然后投身于各种自动化测试工具的学习热潮之中。在14楼的回答里,我也说了不少,并不是学会了使用扳手,就会修车。
学习各种测试基础和理论知识是必须的,能让我们更加清楚的知道,我们在做什么。
动手能力也是必须的,任何的测试工作中,都会遇到各种难题和挑战,不要畏惧,使用自己已知的知识找到解决方案。
在摸索和总结中,找到适合自己和项目的自动化方案。不要单从工具的角度去看自动化,不管什么工具,能真正做到了提高效率,增加了准确率,就是个好的自动化。
作者: 黑羽祭    时间: 2013-12-12 16:57
本帖最后由 黑羽祭 于 2013-12-12 17:09 编辑
请教大神。我现在是一个人常驻在项目开发组。所做的一些都是正例的测试。而且也就用LR跑跑压力。而且整个项目就我1个测试,要盯着6个子项目去做测试,工作量太大。是否可以适用自动化测试,因为本人本身就不会编码。一看代码就晕的类型。所以脚本基本都是录制或者找别人帮忙写的。大神有啥好方法对于我现在的情况给个建议么。。谢谢啊
序曲死亡葬歌 发表于 2013-12-11 17:56



    这样的工作量情况的人很多啊,我也一直都是一个人,我也一个人对多个项目,关键看你是什么态度对待了。
没有人天生就会编码,没有人天生就会使用LR,只要你想学,肯定能学会。至于“因为本人本身就不会编码。一看代码就晕的类型”这样的情况,不过是自己给自己找个理由罢了。就像有些人总向我抱怨“我平时没有时间学习”“我的基础没有别人的好”。时间可以挤出来,缺的知识也可以补回来,关键就看你愿不愿意去做,能不能坚持去做了。
我这里没有什么灵丹妙药能让你一下子就会了编码,一下子就对代码不晕,如果你想学自动化,就先调整一下自己的状态,像掉河里学游泳一样去学习你想学的东西。
作者: wupei0315    时间: 2013-12-13 15:23
版主你好,我是做了三年的开发工作,但是由于我是个女孩子,尤其是从今年开始,总觉得技术上无法突破,不可能一辈子都做个无名的程序员,所以我现在想转向测试,但是又不知道怎么学习,同时也不知道怎样把之前的开发技术更充分合理的利用在接下来的测试工作中,更不知道转了测试以后我的职业怎么规划,希望前辈能给些宝贵的意见。
作者: sunny_yang    时间: 2013-12-16 15:46
回复 1# lsekfe
想请教一下:
1:如何从黑盒测试转入自动化测试?
2:自动化测试除了对自动化测试工具的要求,对代码开发的要求有多大?
3:现在测试这个行业,很多还是黑盒测试为主,如何不一直在重复这个繁琐的工作?
作者: sunny_yang    时间: 2013-12-16 15:46
回复 1# lsekfe
想请教一下:
1:如何从黑盒测试转入自动化测试?
2:自动化测试除了对自动化测试工具的要求,对代码开发的要求有多大?
3:现在测试这个行业,很多还是黑盒测试为主,如何不一直在重复这个繁琐的工作?
作者: sunny_yang    时间: 2013-12-16 15:46
回复 1# lsekfe
想请教一下:
1:如何从黑盒测试转入自动化测试?
2:自动化测试除了对自动化测试工具的要求,对代码开发的要求有多大?
3:现在测试这个行业,很多还是黑盒测试为主,如何不一直在重复这个繁琐的工作?
作者: 黑羽祭    时间: 2013-12-16 21:52
版主你好,我是做了三年的开发工作,但是由于我是个女孩子,尤其是从今年开始,总觉得技术上无法突破,不可能一辈子都做个无名的程序员,所以我现在想转向测试,但是又不知道怎么学习,同时也不知道怎样把之前的开发技术更充分合理的利用在接下来的测试工作中,更不知道转了测试以后我的职业怎么规划,希望前辈能给些宝贵的意见。
wupei0315 发表于 2013-12-13 15:23



    现在转向测试,那首先最主要的,就是学好测试的理论基础,由于测试和开发的观察角度不同,可能需要一段时间的适应。    由于你是开发转的,所以,你也有了很多的优势。首先,代码能力一定不错,所以能轻松上手自动化测试,其次由于了解代码工作原理,所以你会比纯测试人员,更能清楚问题发生的原因,定位问题时能定位到代码层级。所以在测试的理论和日常熟悉了以后,你会发现有很多的事情可以做。
    关于职业规划,一个小小的建议,懂了开发,又懂了测试后,完全可以朝着项目经理的方向努力嘛~
作者: 黑羽祭    时间: 2013-12-16 22:03
回复  lsekfe
想请教一下:
1:如何从黑盒测试转入自动化测试?
2:自动化测试除了对自动化测试工具的要求,对代码开发的要求有多大?
3:现在测试这个行业,很多还是黑盒测试为主,如何不一直在重复这个繁琐的工作?
sunny_yang 发表于 2013-12-16 15:46



    1. 从黑盒到做自动化,并没有什么明显的跨度,可能最开始就是花几分钟录制一个脚本就是在做自动化了。当然,最主要的是你的领导需要支持你引入和使用自动化,自动化可能开始的收效甚微,但随着使用的次数越多,节约的人力和时间的成本越多,你的收益才越大。而且还是需要考虑一点维护脚本的成本和失败的风险。    2. 对代码的要求可高可低,。难有难的做法,简单有简单的做法,根据自己需要的测试内容而定。低的话基本语法和编程思想一定是要会的,会了后能孰能生巧,而且现在市面上有很多自动化测试工具变得极其简单,代码类似很直白的伪代码。
    3. 我个人感觉,现在行业里已经没有纯黑盒了,那种拿着用例,不管业务逻辑,纯跑测试用例的测试人员现在几乎已经没有了吧。现在基本的测试要求也会需要测试人员学会被测系统的基本逻辑,和简单的问题定位。不管是看LOG也好,抓包分析也好,已经不是仅仅局限于验证结果。测试一个项目,除了本身的测试以外,还需要对系统行业背景进行学习,对繁琐的重复操作会使用自动化替代,追求性能和安全等,其实可以做的事情还很多,不停的学习相关技能,就会发现有很多的事情需要做,便不会觉得测试重复和繁琐了。
作者: littlevine68    时间: 2013-12-16 22:05
我也是测试菜鸟,想学点性能测试和自动化测试的东西,之前学过Java,不过学得不太好,现在做了测试,我买了LR和QTP相关的资料,也看了,但看书还是存在很多疑点,不知道哪个东西重要,哪个不重要,而且没人指导,感觉学得有点吃力,也试过重新学下程序,近段时间加班厉害,现在学得有心无力了,版主可以给点建议吗?非常感谢
作者: 涂涂涂涂    时间: 2013-12-17 08:39
基于一个系统的框架对此不是很清楚,表示网上的资料很少哇!有书推荐么?
作者: 涂涂涂涂    时间: 2013-12-17 08:46
想知道基于系统的测试框架~~~求介绍·以及推荐本书???
作者: wupei0315    时间: 2013-12-17 11:04
回复 59# 黑羽祭
感谢版主的热心回复,但是我还有几个问题想再咨询一下:
首先,我现在定下心来想转测试,可是我最近在论坛上看了一些测试资料,测试就有好多的方向,那我应该想那个方向发展比较有优势。
第二,要做好测试还需要哪些辅助的相应技能。
最后,版主有哪些好的书,推荐推荐。
作者: 黑羽祭    时间: 2013-12-17 14:26
我也是测试菜鸟,想学点性能测试和自动化测试的东西,之前学过Java,不过学得不太好,现在做了测试,我买了LR和QTP相关的资料,也看了,但看书还是存在很多疑点,不知道哪个东西重要,哪个不重要,而且没人指导,感觉学得有点吃力,也试过重新学下程序,近段时间加班厉害,现在学得有心无力了,版主可以给点建议吗?非常感谢
littlevine68 发表于 2013-12-16 22:05



    建议就是坚持下去。新接触一个东西,一定会遇到各种问题和不懂的。也没有什么是重要什么是不重要的,也许这个项目中不重要的东西,到了另个项目又变的重要,所以还是坚持学习吧,结合你的项目,有难题可以上网查找资料,可以问会的人,可以发帖子等,总能有办法解决。还是贵在坚持。
作者: 黑羽祭    时间: 2013-12-17 14:30
本帖最后由 黑羽祭 于 2013-12-17 17:41 编辑
基于一个系统的框架对此不是很清楚,表示网上的资料很少哇!有书推荐么?
涂涂涂涂 发表于 2013-12-17 08:39



    书不多,我也没找到什么针对框架讲的很详细的书,基本都是直接看脚本代码。你留意一下这个帖子吧,http://bbs.51testing.com/thread-992304-1-1.html多看下别人写的框架,会对你有所帮助。
作者: 黑羽祭    时间: 2013-12-17 14:41
回复  黑羽祭
感谢版主的热心回复,但是我还有几个问题想再咨询一下:
首先,我现在定下心来想转测试,可是我最近在论坛上看了一些测试资料,测试就有好多的方向,那我应该想那个方向发展比较有优势。
第二,要做好测试还需要哪些辅助的相应技能。
最后,版主有哪些好的书,推荐推荐。
wupei0315 发表于 2013-12-17 11:04



1.方向是很多,但是具体的发展还是要看你自己把握,你做过开发,自然白盒、自动化 哪怕是 性能测试的脚本都能搞定,那就看公司需要和个人兴趣了。不过首先,软件测试的基础先强化一下。   
2.辅助技能的话,配置管理工具、测试流程管理工具、BUG管理工具等都要会用,其他一些工具你是开发上手会很快的。
还有一些软技能:
书的话,给个链接吧:http://www.diggerplus.org/archives/category/app/books
作者: yuanzhaolan    时间: 2013-12-19 11:34
请问有没有一种UI自动化测试工具,即使控件的位置发生了变化仍可以识别该控件?
作者: moonlhy    时间: 2013-12-19 14:57
最近有个抽奖活动的测试任务,我想通过自动化工具实现实际中奖概率是否与设定的中奖概率一致?用自动化实现这个测试可行吗?可以的能说说实现思路吗?非常感谢
作者: shujin6040    时间: 2013-12-20 15:46
测试用例如何写才是提高质量保障
作者: Tenderwk    时间: 2013-12-20 16:38
我公司做的项目是B/S结构的,我用qtp录制的时候页面上只能用坐标(低级录制)方式录制,不然识别不出对象来,我是将网页最大化后录制的,但是回放的时候却偏偏成功不了,录制的时候点的功能菜单到回放的时候却是点了其他的功能菜单,我该怎么解决呢?
作者: 姜彦甫    时间: 2013-12-20 21:23
请问:
1 你为什么要选择QTP作为自动化测试工具,QTP与现在的Selenium/webdriver有何优缺点?
        QTP是不是有点过时了呢?而且还是收费的
2 QTP是不是只能去套项目,而不能去开发测试框架,QTP是不是跟不上现在互联网新技术的发展,很多对象测试不了,或者测试很勉强?
3、请问你个人的未来3年的职业规划是什么?先做管理还是测试开发?你的人生目标是什么?
作者: zhengzhe1937    时间: 2013-12-20 21:28
自己学习自动化也有段时间,看到版主也是自学的,最近自动化的方向有点头疼,望版主指导。
       1、准备给公司一套即将产品化的系统建立自动化的框架,想了很多但是不知道先实现哪块,请教下能否给个大致思路,比如功能抽离出来做方法、关键字驱动、日志模块之类的。
       2、另外问个自动化碰到的细节问题,我这边是用testcomplete(用的人比较少),在碰到开发修改UI导致界面变形无法找到目标控件怎么办?执行过程中碰到了异常代码又不是很健壮怎么处理?想请教版主在selenium中怎么处理的?
       3、再问个私人的问题,到LZ那个阶段是怎么学习的?个人感觉没有方向可以学习,迷茫有段时间了。
作者: 黑羽祭    时间: 2013-12-23 08:56
请问有没有一种UI自动化测试工具,即使控件的位置发生了变化仍可以识别该控件?
yuanzhaolan 发表于 2013-12-19 11:34



    现在的自动化测试工具,对于控件的位置发生了变化后,应该都是可以继续识别的,它识别的原理不是根据位置,而是控件的属性,如果你识别不了,应该是控件的属性发生了改变,要么是开发重新做了个控件替换掉了原来的控件,可能性很多。简单的维护一下脚本就好,QTP的话,很多时候只要在对象库里对相应的对象Update一下就搞定了。
作者: 黑羽祭    时间: 2013-12-23 09:03
最近有个抽奖活动的测试任务,我想通过自动化工具实现实际中奖概率是否与设定的中奖概率一致?用自动化实现这个测试可行吗?可以的能说说实现思路吗?非常感谢
moonlhy 发表于 2013-12-19 14:57



    抽奖活动的自动化,无非是用了这么几个动作:打开页面、[可能有的登录]、点击抽奖、是否中奖的信息反馈获取、关闭页面。拆开后其实这些动作使用什么自动化测试工具都是可以实现的。获取信息反馈后,做个统计,共测试N次,几次是中奖了几次是没中奖,可以把每次的结果用脚本写入TXT,或者EXCEL(个人觉得Excel比较好一些,还可以生成个散点图什么的),剩下的就是在脚本里根据概率的公式来计算一下,再和预期结果比对一下,返回个PASS还是FAIL。
作者: 黑羽祭    时间: 2013-12-23 09:04
本帖最后由 黑羽祭 于 2013-12-23 09:58 编辑
测试用例如何写才是提高质量保障
shujin6040 发表于 2013-12-20 15:46



    你是说 手工测试用例 还是 自动化测试用例? 自动化测试用例的话尽量覆盖各种条件组合的可能性。
作者: 黑羽祭    时间: 2013-12-23 09:10
我公司做的项目是B/S结构的,我用qtp录制的时候页面上只能用坐标(低级录制)方式录制,不然识别不出对象来,我是将网页最大化后录制的,但是回放的时候却偏偏成功不了,录制的时候点的功能菜单到回放的时候却是点了其他的功能菜单,我该怎么解决呢?
Tenderwk 发表于 2013-12-20 16:38



    很显然QTP无法正确识别你的控件,所以得先确认没能正常识别到控件是由什么原因引起的?尝试录制百度之类的页面,如果能正常使用,说明不是工具的问题,可能你的项目上用了如EXTjs之类的技术。
    你先和开发确认一下使用了什么技术开发的UI界面,然后根据开发提供的一些信息,检查QTP是不是有相关的add-in可以加载一下就能识别,如果还是不能识别,可以再尝试一下别的自动化测试工具,比如Selenium,比如基于图像识别技术的Sikuli等等。
作者: 黑羽祭    时间: 2013-12-23 09:34
请问:
1 你为什么要选择QTP作为自动化测试工具,QTP与现在的Selenium/webdriver有何优缺点?
        QTP是不是有点过时了呢?而且还是收费的
2 QTP是不是只能去套项目,而不能去开发测试框架,QTP是不是跟不上现在互联网新技术的发展,很多对象测试不了,或者测试很勉强?
3、请问你个人的未来3年的职业规划是什么?先做管理还是测试开发?你的人生目标是什么?
姜彦甫 发表于 2013-12-20 21:23



1.选择工具的原因有很多种,我是做外包的,我选择QTP的原因是客户更相信这款工具,而且这款工具也能胜任我的项目的自动化测试工作,所以我选择了QTP。而且其他测试人员暂时只会使用QTP而不是使用selenium,会给后期使用带来麻烦。(PS:这是我的情况,每个人的情况不一样)关于QTP是不是过时,怎么说呢,QTP出来的确是有些年头,但是我觉得我关注的不是什么工具流行用什么,而是什么工具适合用什么工具(PS:软件大国印度还有人用vb开发软件;ipad满天飞还有人喜欢买纸质报纸看)。QTP和Selenium相比,QTP更贵,Selenium免费;QTP是商业工具,有限制,上手快,资料多,服务好;Selenium是开源工具,可塑性强,上手需有编程基础,能力强但得靠使用者的能力。

2.我个人感觉套项目和开发测试框架不是并列关系。还是上面的回答,是不是选用QTP,是由项目决定,而不是用QTP去套。
QTP也可以开发测试框架,只是现成的不多而已,个人感觉是因为比较难做成通用框架,毕竟会依赖于对象库,现有的通用框架的维护成本和效率不是很高。PS:http://bbs.51testing.com/thread-992304-1-1.htmlQTP目前的确是有很多新的技术无法正常识别,所以遇到这样的情况,果断使用别的自动化测试工具吧,现在自动化测试工具这么多,选其最合适的。

3. 嘿嘿,是想给我找工作吗?我的规划在走出校园的时候已经有了一套计划,下一步,我的计划是走到一个有自己产品的公司去,学习大公司的一些流程和规范,做做管理,并学习更多的技术。管理和技术并行。人生目标就不说了,暂时保密哈~
作者: 黑羽祭    时间: 2013-12-23 09:53
自己学习自动化也有段时间,看到版主也是自学的,最近自动化的方向有点头疼,望版主指导。
       1、准备给公司一套即将产品化的系统建立自动化的框架,想了很多但是不知道先实现哪块,请教下能否给个大致思路,比如功能抽离出来做方法、关键字驱动、日志模块之类的。
       2、另外问个自动化碰到的细节问题,我这边是用testcomplete(用的人比较少),在碰到开发修改UI导致界面变形无法找到目标控件怎么办?执行过程中碰到了异常代码又不是很健壮怎么处理?想请教版主在selenium中怎么处理的?
       3、再问个私人的问题,到LZ那个阶段是怎么学习的?个人感觉没有方向可以学习,迷茫有段时间了。
zhengzhe1937 发表于 2013-12-20 21:28



    1. 框架的问题,你可以先看下我今天3月写的一篇小短文:http://www.cydtest.com/?p=1012,大致思路你后面写的也都有,可以加Q细聊。

    2. 在碰到开发修改UI的问题,看情况而定,如果是经常会变动的UI,那在描述这个控件属性的时候,多用点正则之类的方法;如果是开发开过后,不会变动的,那就维护一下自己的脚本。我这边遇到这样的情况,是维护一下测试脚本,由于我是一个人单枪匹马的干活,所以不会有太多的精力和时间去给脚本写个非常健壮的UI定位,我觉得直接UPDATE或用正则来简单维护一下脚本的时间成本要比写一段能应付各种修改的定位脚本的时间成本要省的多,所以我选择了手动修改,而且改过一次后,基本不会怎么再动,如果你们有专门的团队在做这个,那就可以写一段好的脚本来控制。
我的脚本健壮就是做好已知可能性的判断,对出错时的报错进行收集,做好记录;然后做好场景的恢复,保证下一条用例的正常执行。(Selenium我用的不是非常厉害,不敢误人子弟,所以就说下我的一个思路)

3. 我个人觉得,我还是个菜鸟,越学新的东西,越觉得自己不会的东西真是越来越多,也会迷茫,但是坚持下去,多做总结和思考,过了段时间,自己就会想明白一些问题。你现在不是在用testcomplete和Selenium吗,那就先好好钻研这两个工具,不去想太多别的,这就有方向了。(PS:两块手表一起带,就不知道时间了,带一块就知道时间了)
作者: VIP有风吹过    时间: 2013-12-23 11:37
既然是学计算机的,自然要会一定的编码能力,虽然QTP的确支持录制,但是想要做好自动化,编码是必须的。我个人认为兴趣的确很重要,有了兴趣才能更好的钻研,没有了兴趣就会各种排斥。兴趣的培养你可以尝试从简单的基础代码和玩具代码开始,培养自己的兴趣。当然了,如果实在对编码提不起兴趣也不用勉强,软件测试的路也不只一种,找到适合自己发展的路才是最好的。

请问版主有没有一些可以培养兴趣的玩具代码或者基础代码推荐给开发小白呢?
作者: 黑羽祭    时间: 2013-12-23 12:40
请问版主有没有一些可以培养兴趣的玩具代码或者基础代码推荐给开发小白呢?
VIP有风吹过 发表于 2013-12-23 11:37



    比如 像字符矩阵的打印的代码,能很好的练习循环和判断的基本语法。
如打印:
*
**
***
****
*****
比如打印 水仙花数啊   杨辉三角啊  斐波那契数列啊等等  都是必修课。
也可以写一些 猜数字游戏 ,石头剪刀布 游戏,能很好的锻炼人机交互和各种反馈的处理等。还有可以自己尝试写点小工具什么的,用于日常工作和生活中,比如 双击就能清理指定文件夹啊,一句脚本就能实现读书功能啊,OFFICE里写点宏实现快速编辑啊之类的
练习和尝试无处不在。
作者: VIP有风吹过    时间: 2013-12-24 15:12
回复 81# 黑羽祭


    多谢斑竹
作者: clt_c    时间: 2013-12-24 15:21
@陈永达

我是初学qtp,拿公司现有的web系统中(采用zk框架)其中的一个走流程的功能模块做自动化测试,由于我有点编程能力,所以很快的有经验的同事帮助下采用描述性编程来实现脚本,其中脚本中输入数据采用导入excel方式来处理,实现数据与脚本的分离。而系统中用的如查询,新增等功能分装到fuction library中,在脚本中调用具体的函数,下面有几点问题想请教下:
1、就拿这个走流程的模块来说吧,一个流程从开始到结束,肯定有很多分支,也就是说有多条的测试用例,我把每个测试用例都放在该脚本的一个action中,如action1里面脚本实现的是用例1的脚本,action2里面脚本实现的是用例2的脚本。。。。。这样做合理吗,是否还有其他的方式处理?
2、由于采用的是ZK框架,很多控件都被分装过,如QTP工具无法识别系统弹出的ZK提示框,这方面你有是否也有碰到类似的情况,有解决方法不?
3、我在网络上一些文章中看一些谈到模块化脚本?数据驱动方法?关键字驱动?我的这种处理,如把功能函数分装到fuction library中是否就是所谓的模块化?数据驱动方法,将数据与测试脚本分离,我将系统用的输入数据放在excel中,在脚本中采用导入的方式,是否就是指这些?关键字驱动,将数据与关键字结合来描述如何使用数据执行测试,这点就很明白?能给些见解?组件的重用有是一些什么定义?
因为没有实际的项目实践经验,有些理解不是很深刻,也不懂如何进行更好的优化,希望在你这边能得到一个点化。万分的感谢!
作者: 547869423    时间: 2013-12-24 15:42
您好,我现在是一名实习生,有一定编程基础,现在在一家小公司做测试。目前只有我一个人做测试,我正在学习使用qtp。现在我遇到一个问题:我使用的是uft11.5,它不能识别火狐26.0的控件,只能靠坐标定位。我在uft的文件目录下没有找到火狐26.0的插件,uft是否不能支持火狐26.0?
作者: 黑羽祭    时间: 2013-12-26 13:48
@陈永达
我是初学qtp,拿公司现有的web系统中(采用zk框架)其中的一个走流程的功能模块做自动化测试,由于我有点编程能力,所以很快的有经验的同事帮助下采用描述性编程来实现脚本,其中脚本中输入数据采用导入excel方式来处理,实现数据与脚本的分离。而系统中用的如查询,新增等功能分装到fuction library中,在脚本中调用具体的函数,下面有几点问题想请教下:
1、就拿这个走流程的模块来说吧,一个流程从开始到结束,肯定有很多分支,也就是说有多条的测试用例,我把每个测试用例都放在该脚本的一个action中,如action1里面脚本实现的是用例1的脚本,action2里面脚本实现的是用例2的脚本。。。。。这样做合理吗,是否还有其他的方式处理?
2、由于采用的是ZK框架,很多控件都被分装过,如QTP工具无法识别系统弹出的ZK提示框,这方面你有是否也有碰到类似的情况,有解决方法不?
3、我在网络上一些文章中看一些谈到模块化脚本?数据驱动方法?关键字驱动?我的这种处理,如把功能函数分装到fuction library中是否就是所谓的模块化?数据驱动方法,将数据与测试脚本分离,我将系统用的输入数据放在excel中,在脚本中采用导入的方式,是否就是指这些?关键字驱动,将数据与关键字结合来描述如何使用数据执行测试,这点就很明白?能给些见解?组件的重用有是一些什么定义?
因为没有实际的项目实践经验,有些理解不是很深刻,也不懂如何进行更好的优化,希望在你这边能得到一个点化。万分的感谢!
clt_c 发表于 2013-12-24 15:21



    你好~脚本全是使用描述性编程吗?对象库编程不用吗?我个人比较支持两者结合使用,更高效和易维护。

1. “每个测试用例都放在该脚本的一个Action中”这是个什么意思?如果有200个测试用例,会有200个Action么?既然使用了Function Library,那要尽量把需要复用的东西,复用起来,走流程的模块,流程分支是会很多不同,但从操作上来将,不过是 登录、打开、查找、处理、关闭、注销,然后层层循环下去,直到流程结束。脚本里也可以根据这些,封装好每步操作的方法,外部的Excel控制数据,Function内对不同的数据都做好不同的检查、打印和返回值。这样,不同的用例只不过是ABC,ACD还是ABD的组合,在Excel中就能做好搭配,同样类型的测试,不同的测试用例只要一个Action就可以了。这是我目前在用的一种自动化脚本的流程。可能“处理”这块的脚本量会比较大一些。

2. 如果使用添加对应控件都无法使用的话,可以尝试尝试相对坐标,封装成函数使用,只要不影响执行流程就行。想要判断这个无法识别的控件上的内容,可以结合图片检查点。

3. 也不是说用了Function Library,就是模块化了,比如你的走流程的那段脚本,如果我单独想测试一下一组参数的情况,是直接Call一个Function加点参数就能开测了?还是需要大刀阔斧地改个半小时脚本才能实现?你Excel的导入是什么意思?是在DataTable上右键导入一下你的Excel?还是说使用脚本,直接让QTP去读你的Excel内容?如果我Excel中的增加一列或者一行参数,你的脚本会不会不能用?你的脚本是否能根据关键字来实现你需要的测试?你的脚本工具给不会编程的人员如需求来进行测试,他能否无障碍使用?
作者: 黑羽祭    时间: 2013-12-26 13:50
您好,我现在是一名实习生,有一定编程基础,现在在一家小公司做测试。目前只有我一个人做测试,我正在学习使用qtp。现在我遇到一个问题:我使用的是uft11.5,它不能识别火狐26.0的控件,只能靠坐标定位。我在uft的文件目录下没有找到火狐26.0的插件,uft是否不能支持火狐26.0?
547869423 发表于 2013-12-24 15:42



    一定要用火狐么?QTP对IE的兼容比较好。   如果是火狐的话,建议尝试Selenium吧。
作者: 黑羽祭    时间: 2013-12-26 16:10
最近写的一个QTP系列,持续更新中。
欢迎感兴趣的同学关注:点击进入
作者: shujin6040    时间: 2013-12-26 16:32
qtp录制登录有验证码,怎么办,因为在回放的时候,验证码又不一样,造成不一致就会报错
作者: shujin6040    时间: 2013-12-26 16:33
本帖最后由 shujin6040 于 2013-12-26 16:47 编辑

qtp录制登录有验证码,怎么办,因为在回放的时候,验证码又不一样,造成不一致就会报错。正如你的文章所说的:“对于验证码的自动化,可以抓取验证码图片,调用外部图像处理软件的接口,对图像进行锐化和色调分离,然后再调用ocr软件,对图片里的文字进行解析,解析出来的文字进行操作尝试,失败的话则刷新验证码,重新处理和解析。”可不可以具体点
作者: 黑羽祭    时间: 2013-12-26 17:02
qtp录制登录有验证码,怎么办,因为在回放的时候,验证码又不一样,造成不一致就会报错。正如你的文章所说的:“对于验证码的自动化,可以抓取验证码图片,调用外部图像处理软件的接口,对图像进行锐化和色调分离,然后再调用ocr软件,对图片里的文字进行解析,解析出来的文字进行操作尝试,失败的话则刷新验证码,重新处理和解析。”可不可以具体点
shujin6040 发表于 2013-12-26 16:33



    论坛中早已有人写过,关于识别码的几个资料:
http://bbs.51testing.com/viewthread.php?tid=987843
http://www.51testing.com/html/35/35-94607.html
http://www.51testing.com/html/35/35-95331.html
不过对付验证码,个人觉得还是找开发注释或是要个万能码比较方便。
作者: wuyu14    时间: 2013-12-29 13:10
有哪些通用的测试程序或者测试问题,用于证明一个算法在自动生成测试用例上更优.
作者: wx小鱼    时间: 2013-12-30 11:24
我是做安卓手游测试的,感觉什么工具都用不上,也想走自动化测试,可是,使不上劲。是手游的灵活性导致自动化不合适?难道手游只能做手动的功能测试吗,有没有什么工具可以用得上的,麻烦推荐下,给我的测试指条路……膜拜……
作者: joe_deng    时间: 2013-12-30 11:41
如何才能让自动化持续有效的执行下去。风险你是如何规避的。
例如:
1.一个领导一种态度,有的支持有的不支持,如何让领导重视;
2.自动化是一个长期过程,如何有效的应对过程中人员变动,工作又不会能集于一身;
3.如何提高脚本开发效率,当然这里是指用例已经确认并可行;
4.框架定位着眼于哪些关键因素更让自动化运作自如;
5.如何准确评估自动化的开发周期,有哪些可借鉴的;
6.如何让自动化后期的脚本维护更得心应手;
7.工程师应该如何面对自动化失败的结果。

请多多指点!
作者: 黑羽祭    时间: 2013-12-30 13:09
有哪些通用的测试程序或者测试问题,用于证明一个算法在自动生成测试用例上更优.
wuyu14 发表于 2013-12-29 13:10



    用软件的算法来自动生成测试用例?
这个我真不知道?感觉像是用什么软件能设计出名画,用什么软件能自动生成一篇优秀的文章一样。
作者: 黑羽祭    时间: 2013-12-30 13:10
我是做安卓手游测试的,感觉什么工具都用不上,也想走自动化测试,可是,使不上劲。是手游的灵活性导致自动 ...
wx小鱼 发表于 2013-12-30 11:24



    手机测试自动化的软件很多啊,现在比较火的Appium,还有如Monkey Runner 、Robotium等,都是做手机端的自动化的。
需要一点编码能力,加油!
作者: 黑羽祭    时间: 2013-12-30 13:33
如何才能让自动化持续有效的执行下去。风险你是如何规避的。
例如:
1.一个领导一种态度,有的支持有的不支持,如何让领导重视;
2.自动化是一个长期过程,如何有效的应对过程中人员变动,工作又不会能集于一身;
3.如何提高脚本开发效率,当然这里是指用例已经确认并可行;
4.框架定位着眼于哪些关键因素更让自动化运作自如;
5.如何准确评估自动化的开发周期,有哪些可借鉴的;
6.如何让自动化后期的脚本维护更得心应手;
7.工程师应该如何面对自动化失败的结果。

请多多指点!
joe_deng 发表于 2013-12-30 11:41



        1. 支持的自然是好事,不支持的,你可以从多方面去说服,比如:提高工作效率,减少繁琐的人力成本,能增加测试的准确性,增加测试人员对测试的积极性。对项目来说,虽然开始需要投入一部分时间和人力的成本,但是随着自动化越来越多的进行测试,会越来越多的节省人力成本,从长远的角度来说,收益大于付出。而且随着现在版本发布速度的日益加速,自动化测试的优势会越来越显现出来。

        2.自动化脚本开发的过程类似与软件程序的开发,只是有时候并没有做的那么规范而已,可以完全参考开发过程中,如何应对这样的情况。测试人员在开发脚本的时候,也注意编码规范,版本控制,做好注释和各种文档,相信问题不大。
       
        3.做好测试脚本开发人员的培训工作,资料的收集共享,提高脚本开发人员的能力。
       
        4.这个用我个人的理解来回答一下了,不足的欢迎补充:
        确定好脚本需要做什么事,需要做什么样的自动化,目标明确;
        公共函数库或对象库的整理整合,并做好相关的注释和说明,模块划分清晰;
        LOG日志记录清晰,有截图,帮助快速定位问题;
        良好的场景恢复能力,遇到突发状况,能自动跳至下一条测试用例继续执行,不间断;
        做好日常维护工作。
       
        5.可以先从一个稳定的小模块作为Demo进行自动化测试脚本的开发,一次尝试,这就有了一个参考。
       
        6.一开始的逻辑和目标清晰,脚本注释明确不乱;函数什么的不要都写死,增加一点可拓展性;给后期维护提供了很大的遍历。
       
        7.正常面对,这时候有效的LOG能帮助你定位问题,是脚本的问题导致的失败,还是被测系统本身的错误导致的失败,还是开发对一些控件属性进行了一些修改造成的。做好维护。
        PS:有时候脚本报失败并不可怕,可怕的是那些一直都报正确的脚本,有可能是那种明明被测系统是出错的,而自动化脚本并没有检查出来,显示一个绿色的PASS,而导致忽略了问题的这种僵尸脚本。
作者: joe_deng    时间: 2013-12-30 13:48
回复 96# 黑羽祭


    感谢版主的经验之谈,很有参考价值。
作者: 楠族开心果    时间: 2013-12-31 16:52
求助,这个是什么原因呢?
我用QTP录制个百度(前提:已经关闭了所有防火墙、杀毒软件、安全卫士,IE8,QTP11,并且已经加载了web),但在录制百度的时候,它录制出来的是QQ
  [attach]88834[/attach]
加载WEB
[attach]88835[/attach]  
框中两种都试过了
[attach]88833[/attach]
录制出来QQ

PS:半个月前已经录制成功的
作者: 楠族开心果    时间: 2013-12-31 17:27
本帖最后由 楠族开心果 于 2013-12-31 17:29 编辑
求助,这个是什么原因呢?
我用QTP录制个百度(前提:已经关闭了所有防火墙、杀毒软件、安全卫士,IE8,QT ...
楠族开心果 发表于 2013-12-31 16:52



    虽然专家没有解答这个问题。不过我自己搞定了,为了后人使用方便,我简单的写下我的解决方法。若有此方面的问题,还是请教专家比较妥当
IE->  管理加载项->BHOManager Clas设置为“已启用”就可以了
作者: 黑羽祭    时间: 2014-1-2 11:08
回复 99# 楠族开心果


    只能说 1.你没好好看QTP基础,2. 你没关注过QTP板块  3.没看过我写的文章。这个问题在QTP板块,几乎每个星期就要回答个一两个的。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2