walker1020的个人空间_首页_软件测试专业网站:51Testing软件测试网 - powered by X-Space

日历

« 2008-05-23  
    123
45678910
11121314151617
18192021222324
25262728293031

统计信息

  • 访问量: 1602
  • 日志数: 19
  • 建立时间: 2006-12-15
  • 更新时间: 2008-04-02

RSS订阅

我会定期把我的测试心得和体会发表在这里,希望来阅览的每位朋友都有所获。即使没有,有一点启发,我也心满意足。我也欢迎您的留言,哪怕是对我的批评,或者是指出我的错误。

我的最新日志

  • 巧用描述性编程解决对话框在IE6.0 和7.0的显示问题

    2008-4-02

    在测试中我发现,对于应用程序弹出的对话框,QTP 把 IE6.0 中出现的对话框识别为Dialog("Microsoft Internet Explorer"); 把IE6.0 中出现的对话框识别为Dialog("Windows Internet Explorer")。 仔细查看对象库里面这两个对象发现,尽管这两个对象的 text 属性值不相同(Microsoft Internet Explorer和Windows Internet Explorer),但它们的nativeclass 属性值都相同,都是#32770。 因此,我们可以使用 描述性编程 来解决此问题。 只要把 这个对象 改为 Dialog("nativeclass:=#32770") 就可以了。

  • 如何得到一个唯一的ID

    2008-4-01

    在测试某些应用程序的功能时,code或Name 要求必须唯一。于是,如何得到一个唯一的值呢? 可以使用 随机数,但产生的随机数到底是什么,不好控制。另外,我们可以利用每天都变化的日期作为这个唯一的值。下面的代码就得到了8位数的今天的日期。

    today = CStr(date)
    MyArray = Split(today,"/",-1,1)

    temp= MyArray(0)
    If len(temp)=1  Then
     temp = "0"&temp
    End If

    For inter = 1 to UBound(MyArray)
     If len(MyArray(inter)) = 1 Then
      MyArray(inter) = "0"& MyArray(inter)
     End If
        temp = temp&MyArray(inter)
    Next

  • QTP 初级培训的PPT

    2008-3-25

    这是我给从未学习和使用过QTP的同事培训时自己编写的PPT文件,供大家参考和使用。在写作的过程中,参考了论坛上许多朋友的回复和资料,在此一并表示感谢!

    QuickTest Pro 8.2 Tutorial.ppt
    (2007-02-02 21:57:59, Size: 1.52 MB, Downloads: 9084)

  • 发现不了BUG是好事还是坏事

    2008-3-24

    这个是好事还是坏事,要因人而异,因测试的阶段而异。具体来说,如果一个新手测试了一个系统后告诉我,他没有发行任何Bug,那么我就会怀疑,系统是否真的没有问题了。如果是一个对系统非常熟悉的高级测试工程师经过一段时间的测试后,发送给我一份测试报告,告诉我他执行了哪些Test Case,测试了哪些Function Points,测试的结论是没有发现任何Bug,那么我会相信的。

    如果在系统的代码刚刚完成,交给测试人员去测试的时候,却没有发现任何Bug,那么这本身就是有问题的。最合理的解释是Test Case不完善或者是测试人员没有认真、完整、全面地对系统进行测试。如果在经过N次回顾测试后,发现没有什么问题了,那么这是正常地。如果明天就要交付给客户了,可是今天的测试还发现有许多Bug,或者是有几个严重的Bug,那么这只能说明以前的测试流程有问题,Test Case有问题。对于这样的问题,千万不要一概而论。

    对于长时间的测试后无法发现Bug这种情况,你可以让测试人员进行“交叉测试”。例如,原来测试人员A一直负责测试第一个模块,B一直负责测试第二个模块,那么经过一段时间后,我就让A负责测试第二个模块,让B负责测试第一个模块。这样,既解决了这种长期测试形成的麻木和惰性以及定性思维,还可以促使他们对别的模块熟悉起来。(为了尽快熟悉别的模块,我就让他们之间进行沟通和交流。这样也利于团队的良性发展。)有的时候,测试别的模块的时候,人会不自觉地把它和以前测试的模块联系起来,这样结合起来进行测试时,通常会发现许多问题。问题常常发生在模块的接口间。

    通过这种方法,我发现测试人员在测试别的模块时,几乎每次都能发现Bug。某些以前从来没有被发现的Bug都被发现了。

    http://bbs.51testing.com/thread-76334-1-1.html

  • 黑盒测试有前途吗?

    2008-3-24

    由于某位朋友对进行黑盒测试的前途产生了怀疑,于是我进行了如下的回复:

    既然都是测试,那么无论是进行黑盒测试还是白盒测试,许多方面都是相通的,如:如何花费最少的时间和资源发现最多、最严重的问题?如何设计设计出最少的测试用例来发现最多的Bug?在一个测试用例里面,如何用最短的路径或最少的步骤发现出最严重的问题?

    一定要不断总结,如果没有总结,没有一点进步,那么重复一百天的工作和第一天的工作确实是没有什么区别。如果你有了改进的方法,每天都有进步,那么即使是测试一样的东西,你的测试速度和质量肯定就比原来的高许多。
    就像人们错误的以为测试工作非常容易一样,现在还是有许多人错误地认为白盒测试比黑盒测试更有前途和钱途。可能在有的公司是这样,但不是所有的公司都是这样。理由有几个:
    1,在进行自动化测试之前要进行手工测试,其中很大一部分工作就属于黑盒测试。我还从来没有听说哪个公司的哪个系统没有经过手工测试而直接进行自动化测试;
    2,每种测试方法都有优缺点。白盒测试耗时比较长,成本比较高。一般公司的测试都是黑盒测试+白盒测试,两者相结合的方法来进行测试。
    3,如果你能在黑盒测试方面有所成就,能称得上是一个黑盒测试的专家,那么无论在哪个公司,你的待遇和地位都不会低。即使在某一个公司不行,你完全可以换一家,建议你去对测试非常重视的大公司。你能否写出几篇 与黑盒测试有关的有分量的文章,如 http://bbs.51testing.com/thread-87118-1-1.html上的Black Box Test Design ?
    当然,如果有机会,最好也了解一下白盒测试、自动化测试等其它测试。这样既可以开阔自己的视野,又可以提高自己的竞争力。
    千万不要墨守成规,一定要有自己的想法。谁都知道,任何一个系统或软件的Bug都是测试不完的,从来没有一个公司敢宣传自己的软件没有一点问题,那么你怎么样突破公司里已有的测试体系和方法来发现更多的、更严重的Bug?
    有思考,有行动,你才有收获。
  • Material of Automated Testing

    2008-3-24

  • 如何在无人值守时完成自动化测试

    2008-3-24

    1,留言。一定要保证脚本的稳健性(Robost),不要因为脚本错误而导致测试无法继续进行。如脚本的预防错误、QTP报告无法识别对象(应用程序上确实有此对象)或对象不唯一等。

    2,对于可以预知的错误(如以前版本遗留的错误),可以使用 判断条件或 Case 语句来处理;对于可预知的异常情况,可以使用 Recovery Scenario;对于不可预知的异常情况, 只能进行某些强制处理了。当然,也不一定非要杀掉被测软件,重新启动被测软件,重新登陆系统,然后继续执行下一个Case。 如果某个操作或步骤无法操作导致后面的操作无法继续进行,那么只能这样了。如果不影响后面的测试,那么跳过这一行或此 Action,继续运行下个 Case 好了。

      http://bbs.51testing.com/viewthread.php?tid=109338

    3,首先你需要保证脚本的健壮性;其次,还要保证 网络的稳定性;对于一些异常情况, 你该如何处理? 如果把 许多测试脚本都连 在一起运行,该如何快速找到 检查点有 Fail 的 Test scrīpt ?

      http://bbs.51testing.com/viewthread.php?tid=108400

  • 如何编写QTP脚本

    2008-3-24

      1,把 经常使用的 Action 设置为 Reusable Action, 这样可以节省时间,加快开发速度,也方便以后的管理和维护。

      2,在录制和编写脚本之前,先对测试用例进行分析,看看哪些是经常使用的,就把它们设置为 Reusable Action。这样方便了很多。

      3,编写测试用例的人不会考虑你如何进行自动化测试,再说他也不会专门为了进行自动化测试而编写测试用例。在录制或编写脚本之前,我们需要对测试用例进行分析,看看哪些 步骤或操作经常被使用,然后再考虑是录制还是使用描述性编程。

        http://bbs.51testing.com/viewthread.php?tid=109341

  • 如何把已有的日期转换成特定的格式

    2008-3-24

    Function MyCdate(oDate)

            currentLocale = GetLocale

            original = SetLocale("en-ca")

            mon=left(cstr(FormatDateTime(oDate,1)),3)

            original = SetLocale(currentLocale)

            MyCdate=cstr(day(odate))+"-"+mon+"-"+cstr(year(odate))

    End Function

    点评:

    此方法把原来的日期转换成成了dd-mm-yyyy 的格式。根据需要,你也可以转化成其它任何你需要的格式。此方法简单有效,非常值得学习。值得一提的是,原作者解决问题的思路和方法也值得学习。下面是作者的思路:

    前几天的时候,用QTP别一个AX日期控件对象的时候,不知道是对象的关系还是QTP的关系,不可以用SET方法,只可以用SETdate来设置,而且格式只有d-M-yyyy,如"7-Mar-2007",而日期只有2007-3-7  yyyy-m-d。先是有FormatDateTime,cdate(vbs没format)来转换,我用的是简体中文系统,所以无果。看来只好自己做,如果自己做的话就要拼字符串,日-短英月-长年,日和年可以用day和year取出来。

    月的话就要写select来做吗? 我发现短英月就是英文月份的前3个字符,这样的话,我就只要取出一个英文月份名就可以了。如何取出英文月份名呢?我想了,日期格式是和区域设置有关。幸好vbs中有GetLocale和SetLocale,我就方便了。这样我先设置美国英文"en-gb",得到"07 March 2007"(dd MM yyyy)。看来月份是有了。不过这个在中间,不太方便。我就是试了试别的英语国家。终于在加拿大"en-ca"中有了"March 07, 2007" ,这样我就只要取左3个字符了。

     From http://bbs.51testing.com/viewthread.php?tid=108937       http://www.114study.com/d0710190929060806

  • 循序渐进学习QTP三步曲

    2008-3-24

    循序渐进学习QTP--初级篇


          我们使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。
          强烈建议你按照版主oldsidney 写的 Tutorial_oldsidney_cn.pdf 文件来认认真真、从头到尾地执行一遍,包括录制脚本、分析脚本、增加check point、Split Action等。我想这会减少你在学习QTP过程中的不少困惑和疑虑。
          这篇文档对如何使用QTP写的非常详细,是QTP初学者的经典教材。我就是看了这篇文档后才对QTP的整个测试流程有了一个初步的认识。在此,我对oldsidney表示感谢。
         注意:
          1,确保你的IE运行正常,依次点击菜单 查看 --> 工具栏,一定要上网助手等插件卸载掉,特别3721这个垃圾网站和其它拦截广告的插件(它也把测试过程中弹出的窗口当成广告,一样会拦截的!)!
        2,如果是按照Tutorial_oldsidney_cn.pdf 文件 中的订购飞机票的例子来练习 QTP的使用,那么只需选择Web 插件就可以了。如果是测试其它的应用程序或系统,就要根据需要来选择相应的插件了。

    循序渐进学习QTP---中级篇

    在这个阶段你就要自己针对某个系统去录制脚本、维护脚本了。在录制后的回放过程中,你可能会遇到各种问题,这个时候就需要发挥你的主观能动性来解决遇到的问题。我想你可以按照下面的方法去解决:

           1,查看QTP的有关文档,包括Help 、QTP User’s Guide等文档。这些都是比较系统全面的学习材料。你该好好利用呀。
           2,在本论坛上查看以前别人是如何解决此类问题的(如果有的话)或者是发新贴寻求帮助,也可以搜索Google 等网站寻找问题的解决方法;
          3,与自己部门的同事交流,例如与测试人员交流他们是如何解决的,与开发人员交流某个QTP无法识别的控件具体是用什么属性来识别的等。毕竟他们对测试的环境和测试的软件比论坛上的人熟悉呀。
          4,自己通过学习VBscrīpt 等方式来提高自己的管理QTP scrīpt的能力。

    或许你会发现许多问题都是由提出问题的人来解决的,因为他们希望问题得到解决的迫切心比谁都强烈。

    循序渐进学习QTP---高阶篇

    如果你对VB scrīpt 、QTP和需要测试的程序或系统非常熟悉,你可能就想直接写QTP scrīpt来表现一下了。如果你能达到这个水平,那么恭喜你---你就是真正的高手了。这个时候你已经可以从宏观上把握QTP了,也能灵活自如地使用QTP了。偶离这个阶段还好远呢。

    (进一步的讨论和补充,请见 http://bbs.51testing.com/thread-24742-1-1.html)

Open Toolbar