日历

« 2008-10-08  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的好友

统计信息

  • 访问量: 1645
  • 日志数: 20
  • 建立时间: 2007-12-26
  • 更新时间: 2008-07-10

RSS订阅

我的最新日志

  • 黑盒测试方法分类

    2008-2-22

    共有:等价类划分法、边界值分析法、判定表法、因果图法、状态迁移图法、流程分析法、正交试验法、输入域测试法、输出域覆盖法、异常分析法、错误猜测法

     

     

  • 认真的态度去工作

    2008-1-21

     

    昨天看龙的传人时,中间有三位评委的现场讨论。其中有一个各方面条件都很好的人,被淘汰掉。只有一个原因:今晚表现的不认真。

    认真是一个人很重要的品质。在工作中能力是一方面但是工作态度也是很重要的一个方面。做事认真就可以避免很多工作中的错误。

    作为测试人员,更要认真。因为粗心,会放过很多bug。因为粗心,会让test case比较粗糙。因为粗心,会在review时问题百出。同时这也是工作不负责任的一种表现。

    另外,作为一个测试人员,其实不管是在工作还是平时生活,都应该 think more than what u do. 不应该 do what are asked. 只有一个简单的response 而没有思考和动物没有区别。

    另外和developer的沟通要很重要

    就拿最近做的这个feature而言,一直觉得各种概念算法的定义是developer的事情,但从来没有doubt过。

    并且拿没有参加design doc review来给自己借口。每次有什么改动,都是follow developer的意思,这样做是错误的。 Manager曾经很多次说,dont trust developer! test 要有自己的观点,要和developer argue 得出最后的结论。并次每次的bug要知道为什么错的。如果developer没有列出来也要ask for it! 这些也算是做这个feature的最大的感受拉!

  • zz软件测试工程师被信产部列为紧缺人才

    2008-1-17

     近日,美国劳工部发布了一项最新预测,列出了未来8年间需求增长最快的25个职位。其中,网络系统和数据通讯分析、计算机软件测试、计算机系统软件工程师等五IT职位位列前列。

    ...

     “我不做软件,但我使软件更好。”这是很多软件测试人员的座右铭。要实现这一目标,软件测试人员就要有多项本领。“一个合格的软件测试工程师应具备专业的知识背景、实际的操作经验、逆向的思维能力、团队的合作精神、快速的学习能力、较强的沟通能力和责任心。”

    雅虎中国品质保证部经理鲍海燕如是说。目前,国内软件测试人才的来源主要有三方面:一是以前做软件开发转行的技术人员;二是来自计算机专业的高等学院毕业生;三是来自培训机构的专业学员。在对这三种渠道提供的人才满意度调查中,七成企业认为“计算机专业应届毕业生缺乏动手能力”,六成企业认为“有相关工作经验的人员并未系统掌握软件测试流程,缺乏系统培训”,而对于培训机构提供的学员,绝大多数企业表示认可。“专业培训机构培养的测试人员具有专业背景及相关技术积累,大都掌握了自动化软件测试工具,工作效率大大提高,软件测试结果也更为精确。”中国搜索测试部经理张新泳介绍说。

      ...我现在要是公布招聘10个软件开发人员,会来几百人投简历;如果我说招聘一名软件测试工程师,应聘者就会少很多。” 北京红旗中文贰仟软件技术有限公司总经理胡才勇不由感慨。智联招聘等招聘网站甚至撰文称“从入门级的初级测试工程师到高级测试工程师及项目负责人全线短缺。” 套用狄更斯那句话说:对于急需软测人员的企业来说,这是一个最坏的时代,但对软件测试人才来说,这是一个最好的时代。

  • zz vb script functions

    2008-1-15

      在编写 QTP脚本的过程中,有一些经常使用的函数。如果我们能熟悉这些常用的函数及其用法,并合理地使用它们,那么一些问题就很容易得到解决。下面是我总结的VBscrīpt中常用的函数及其用法。
    1,GetROProperty
      说明:You use the GetROProperty method to retrieve the current value of a test object property from a run-time object in your application.
      一般来说,所有的对象都可以使用此方法得到运行时对象的实际值。
      语法:object.GetROProperty (Property, [PropertyData])

    ButtonName=Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")
    2,WaitProperty
      说明:Waits until the specified object property achieves the specified value or exceeds the specified timeout before continuing to the next step.
      此方法可以解决由于等待系统进行处理某些操作或网络原因引起的测试对象同步问题。
         语法:object.WaitProperty (PropertyName, PropertyValue, [TimeOut])

    Window("Test").Static("Status:").WaitProperty "text", "Ready", 30000
    3,Instr
    Returns the position of the first occurrence of one string within another.
      可以得到一个字符串在另外一个字符串中首次出现的位置。
      语法: InStr([start, ]string1, string2[, compare])

    4,Split
    Returns a zero-based, one-dimensional array containing a specified number of substrings.
      此函数可以把原来用某个特殊字符串连接起来的字符串分割开,得到一个一维的数组。
    5,UBound
    Returns the largest available subscrīpt for the indicated dimension of an array.
    得到某个维度的最大值。
    6,Trim
    Returns a copy of a string without leading spaces (LTrim), trailing spaces (RTrim), or both leading and trailing spaces (Trim).

      如果需要删除字符串左边的所有空格,那么可以使用LTrim  函数;如果需要删除字符串右边的所有空格,那么可以使用RTrim  函数。如果需要删除字符串左边和右边的所有空格,那么可以使用Trim  函数。
    7,Ucase
    Returns a string that has been converted to uppercase.
      此函数可以把所有的字符都转换成相应的大写。
    8,LCase
    Returns a string that has been converted to lowercase.
      此函数可以把所有的字符都转换成相应的小写。
    9,Cstr
    Returns an expression that has been converted to a Variant of subtype String.

      由于VBscrīpt只有一种类型Variant,你可以使用此函数把某个变量强制转换成String类型。
    10,CInt
    Returns an expression that has been converted to a Variant of subtype Integer.
      由于VBscrīpt只有一种类型Variant,你可以使用此函数把某个变量强制转换成Integer类型。
      在描述性编程语句中,最常用的函数有:

    11,Create
      这是创建一类或一个对象时必须要使用的方法。

    12,ChildObjects
      使用此方法可以得到符合某些条件的一类对象的集合。

    13,Count
      使用使用此方法可以得到符合某些条件的一类对象的个数。
    The following example uses the Create method to return a Properties collection object named EditDescrīption, and then uses the returned object to instruct QuickTest to enter the text: MyName in the first WebEdit object in the Mercury Tours page with the name UserName.
    Set EditDesc = Descrīption.Create()
    EditDesc("micclass").Value = "WebEdit"
    EditDesc("Name").Value = "userName"

    Set Lists = Browser("Welcome: Mercury").Page("Welcome: Mercury").ChildObjects(EditDesc)
    NumberOfLists = Lists.Count()
    If NumberOfLists > 0 Then
      Browser("Welcome: Mercury").Page("Welcome: Mercury").Lists(0).Set "MyName"
    End If
      一些具体的用法可以在 QTP的帮助里面找到。 个人的建议是:你最好按照 QTP里面提供的例子,自己使用这些函数自己写几行语句,运行后看一下运行结果,结合QTP帮助里面的说明,这样学习会快,也记得牢固。
      在输出结果时, 常用的函数有 Msgbox 和 Print 函数。Msgbox 函数在 QTP8.2 及其以上版本都可以使用;Print 函数需要在 QTP 9.2 版本上使用,QTP 8.2 不支持此函数,不知道 QTP 9.0是否支持此函数。
      希望大家共同总结一下,一起进步。

  • zz vb script functions

    2008-1-15

      在编写 QTP脚本的过程中,有一些经常使用的函数。如果我们能熟悉这些常用的函数及其用法,并合理地使用它们,那么一些问题就很容易得到解决。下面是我总结的VBscrīpt中常用的函数及其用法。
    1,GetROProperty
      说明:You use the GetROProperty method to retrieve the current value of a test object property from a run-time object in your application.
      一般来说,所有的对象都可以使用此方法得到运行时对象的实际值。
      语法:object.GetROProperty (Property, [PropertyData])

    ButtonName=Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")
    2,WaitProperty
      说明:Waits until the specified object property achieves the specified value or exceeds the specified timeout before continuing to the next step.
      此方法可以解决由于等待系统进行处理某些操作或网络原因引起的测试对象同步问题。
         语法:object.WaitProperty (PropertyName, PropertyValue, [TimeOut])

    Window("Test").Static("Status:").WaitProperty "text", "Ready", 30000
    3,Instr
    Returns the position of the first occurrence of one string within another.
      可以得到一个字符串在另外一个字符串中首次出现的位置。
      语法: InStr([start, ]string1, string2[, compare])

    4,Split
    Returns a zero-based, one-dimensional array containing a specified number of substrings.
      此函数可以把原来用某个特殊字符串连接起来的字符串分割开,得到一个一维的数组。
    5,UBound
    Returns the largest available subscrīpt for the indicated dimension of an array.
    得到某个维度的最大值。
    6,Trim
    Returns a copy of a string without leading spaces (LTrim), trailing spaces (RTrim), or both leading and trailing spaces (Trim).

      如果需要删除字符串左边的所有空格,那么可以使用LTrim  函数;如果需要删除字符串右边的所有空格,那么可以使用RTrim  函数。如果需要删除字符串左边和右边的所有空格,那么可以使用Trim  函数。
    7,Ucase
    Returns a string that has been converted to uppercase.
      此函数可以把所有的字符都转换成相应的大写。
    8,LCase
    Returns a string that has been converted to lowercase.
      此函数可以把所有的字符都转换成相应的小写。
    9,Cstr
    Returns an expression that has been converted to a Variant of subtype String.

      由于VBscrīpt只有一种类型Variant,你可以使用此函数把某个变量强制转换成String类型。
    10,CInt
    Returns an expression that has been converted to a Variant of subtype Integer.
      由于VBscrīpt只有一种类型Variant,你可以使用此函数把某个变量强制转换成Integer类型。
      在描述性编程语句中,最常用的函数有:

    11,Create
      这是创建一类或一个对象时必须要使用的方法。

    12,ChildObjects
      使用此方法可以得到符合某些条件的一类对象的集合。

    13,Count
      使用使用此方法可以得到符合某些条件的一类对象的个数。
    The following example uses the Create method to return a Properties collection object named EditDescrīption, and then uses the returned object to instruct QuickTest to enter the text: MyName in the first WebEdit object in the Mercury Tours page with the name UserName.
    Set EditDesc = Descrīption.Create()
    EditDesc("micclass").Value = "WebEdit"
    EditDesc("Name").Value = "userName"

    Set Lists = Browser("Welcome: Mercury").Page("Welcome: Mercury").ChildObjects(EditDesc)
    NumberOfLists = Lists.Count()
    If NumberOfLists > 0 Then
      Browser("Welcome: Mercury").Page("Welcome: Mercury").Lists(0).Set "MyName"
    End If
      一些具体的用法可以在 QTP的帮助里面找到。 个人的建议是:你最好按照 QTP里面提供的例子,自己使用这些函数自己写几行语句,运行后看一下运行结果,结合QTP帮助里面的说明,这样学习会快,也记得牢固。
      在输出结果时, 常用的函数有 Msgbox 和 Print 函数。Msgbox 函数在 QTP8.2 及其以上版本都可以使用;Print 函数需要在 QTP 9.2 版本上使用,QTP 8.2 不支持此函数,不知道 QTP 9.0是否支持此函数。
      希望大家共同总结一下,一起进步。

  • zz 测试的一些定义

    2008-1-15

    单元测试:单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。

    集成测试:集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。

    系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。

    验收测试:验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。

    回归测试:回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。
  • 学习Alpha和Beta测试

    2008-1-11

    Alpha测试:

    由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际环境下进行的受控测试,Alpha测试不能由程序员或测试人员完成。 Alpha 测试发现的错误,可以在现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能,可使用性,可靠性,性能和支持。 尤其注重产品的界面和特色。

    Alpha测试可以从软件产品编码结束后开始,或在模块(子系统)测试完成后开始,也可以在测试过程中产品达到一定的稳定和可靠程度后再开始。有关的手册等应该在Alpha测试前准备好。

     

    Beta测试:

    软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场。Beta测试不能由程序员或测试人员完成。 Beta是在开发者无法控制的环境下进行软件现场应用。 在BETA测试中, 用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告, 开发者在综合用户的报告后,做出修改,最后将软件产品交给全体用户使用。 BETA测试的主要目的是测试可支持性,所以beta测试应该尽可能由主持产品发行的人员来管理。

    Alpha测试要在BETA测试之前。

    由于上面二中的测试 组织难度大,费用高, 随机性强,周期跨度大,测试的质量和效率难以保证,所以,很多专业的软件可能不再进行beta测试。 很多软件的Beta测试外包给这些专业测试机构进行测试。

     

  • 冒烟测试

    2008-1-11

    冒烟测试:开发人员在个人版本上的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。

    顾名思义,冒烟测试可以理解为, 该种测试耗时短,仅用一袋烟工夫足够了。

    冒烟测试的对象是在每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。 执行者是编译人员,

    随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。

    另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressive testing)一起进行。

    理论上,每一个被测软件版本都需要执行随机测试,尤其对于最后的将要发布的版本更要重视随机测试。随机测试最好由具有丰富测试经验的熟悉被测软件的测试人员进行测试。对于被测试的软件越熟悉,执行随机测试越容易

  • 黑盒测试 z

    2008-1-11

    1。 越早越好--一边开发一边测试。 不要等到开发完了在测试。会增大很多开发人员修改和维护的代价

    2。 一套完整的测试应该由五个阶段组成:

      1.测试计划

      首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

      2.测试设计

      将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。

      3.测试开发

      建立可重复使用的自动测试过程。

      4.测试执行

      执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

      5.测试评估

      结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

      显然,黑盒测试只有严格按照步骤进行,才可能对应用程序的质量进行把关。然而,如果没有一种优秀的测试工具的帮助,单纯凭借手工测试,不但将耗费大量的人力、物力和财力,而且有很多测试工作是难以实现甚至是无法实现的。

      三、手工测试与自动测试的比较

      手工测试无法保证黑盒测试的科学性与严密性,这是因为:

      ●测试人员要负责大量文档、报表的制订和整理工作,会变得力不从心;

      ●受软件分发日期、开发成本及人员、资源等诸多方面因素的限制,难以进行全面的测试;

      ●如果修正缺陷所花费的时间相当长,回归测试将变得异常困难;

      ●对测试过程中发现的大量缺陷缺乏科学、有效的管理手段,责任变得含混不清,没有人能向决策层提供精确的数据以度量当前的工作进度及工作效率;

      ●反复测试带来的倦怠情绪及其他人为因素使得测试标准前后不一,测试花费的时间越长,测试的严格性也就越低;

      ●难以对不可视对象或对象的不可视属性进行测试。

      因此,自动测试成为最佳的解决方案。所谓自动测试,实际上是将大量的重复性工作交给计算机去完成,一个优秀的自动测试工具,不但可以满足科学测试的基本要求,而且可以节约大量的时间、成本、人员和资源,并且测试脚本可以被重复利用(包括被不同的项目所利用)。

  • zz 软件测试面试题 zz

    2007-12-26

    1。软通动力面试笔答
     

    1.白箱测试和黑箱测试是什么?什么是回归测试?

    2.
    单元测试、集成测试、系统测试的侧重点是什么?

    3.
    设计用例的方法、依据有那些?

    4.
    一个测试工程师应具备那些素质和技能?

    5.
    集成测试通常都有那些策略?

    6.
    你用过的测试工具的主要功能、性能及其他?

    7.
    一个缺陷测试报告的组成

    8.
    基于WEB信息管理系统测试时应考虑的因素有哪些?

    9.
    软件本地化测试比功能测试都有哪些方面需要注意?

    10.
    软件测试项目从什么时候开始,?为什么?

    11.
    需求测试注意事项有哪些?

    12.
    简述一下缺陷的生命周期

    13.
    测试分析测试用例注意(事项)?




    二。瑞星笔试题(15道)
     

    1.一台计算机的IP192.168.10.71子网掩码255.255.255.64192.168.10.201是同一局域网吗?
    2.internet
    e-mail协仪,IE的协仪,NAT是什么,有什么好处,能带来什么问题?DNS是什么,它是如何工作的?
    3.PROXY
    是如何工作的?
    4.win2k
    系统内AT命令完成什么功能,Messenger服务是做什么,怎么使用?
    5
    进程,线程的定义及区别
    6,32
    位操作系统内,1进程地址空间多大,进程空间与物理内存有什么关系?
    7
    网络攻击常用的手段,防火墙如何保证安全.
    8
    如何配静态IP,如何测网络内2台计算机通不通,PING一次返几个数据包?
    9WIN9X
    WINNT以上操作系统有"服务",服务是什么,如何停止服务?
    10AD
    WIN2KSERVER上建需什么文件格式,AD是什么?XP多用户下"注销""切换"的区别.
    11UDP
    可以跨网段发送吗?
    12
    最简单的确认远程计算机(win2K以上)某个监听端口是正常建立的?
    13
    软件测试的定义,测试工作是枯燥反复的,你是如何理解的?黑盒,白盒,回归,压力测试的定义.
    14winrunner,loadrunner
    是什么,区别
    15
    磁盘分区如何分类,请举例说明安装操作系统的注意事项.
    (1
    小时答题)


    三。中软的面试题

     

    .    简答题.
    1.    
    避免死锁的方法有哪些?
    2.    
    Sybase数据库中注册用户与数据库用户有什么区别?
    3.    
    MS SQL_Server 数据库中通过什么约束保证数据库的实体完整性
    4.    
    内存有哪几种存储组织结构.请分别加以说明
    5.    JAVA
    中的Wait() notify()方法使用时应注意些什么?
    6.    
    用户输入一个整数.系统判断,并输出是负数还是非负数,请设计测试用例.
    7.    
    操作系统中的同步和互诉解决了什么问题
    8.    UNIX
    init
    .    编写类String 的构造函数,析构函数和赋值函数
    已知类String 的原型为
    class string
    {
    public:
    string(const char *str=null);//
    普通构造函数
    string(const string &other);//
    拷贝构造函数
    ---string(void);
    string &operate=(const string &other);//
    赋值函数
    private:
    char * m-data;//
    用于保存字符串
    };
    请编写string 的上述4个函数
    .    有关内存的思考题
    1.    void getmemory(char *p)
    { p=(char*)mallol(100);
    }
    void test(void)
    {
    char * str =null;
    getmemory(str);
    strcpy(str,”hello,world”);
    printf(str);
    }
    请问运行Test函数会有什么样的结果
    2.    char*getmemory(void)
    { char p[]=”hello world”;
    return p;
    }
    void test(void)
    {
    char *str=null;
    str=Getmemory();
    printf(str);
    }
    请问运行Test 函数会有什么样的结果.

    三。奇虎面试题

     

    前三道程序题
    (下面的题不排序,有笔试题,也有面试题)
    4
    、怎么划分缺陷的等级?
    5
    、怎么评价软件工程师?
    6
    、软件工程师的素质是什么?
    7
    、怎么看待软件测试?
    8
    、软件测试是一个什么样的行业?
    9
    、图书(图书号,图书名,作者编号,出版社,出版日期)
     
    作者(作者姓名,作者编号,年龄,性别)
     
    SQL语句查询年龄小于平均年龄的作者姓名、图书名,出版社。
    10
    、你的职业生涯规划
    11
    、测一个三角形是普通三角形、等腰三角形、等边三角形的流程图,测试用例。
    12
    、写出你常用的测试工具。
    13
    lordrunner分哪三部分?
    14
    、希望以后的软件测试是怎么样的一个行业?
    15
    .软件测试项目从什么时候开始?
     
    我答:从软件项目的需要分析开始。
       
    问:为什么从需求分析开始?有什么作用?

    四。北京博彦科技笔试+面试

    笔试题

    1
    .文件格式系统有哪几种类型?分别说说win95win98winMew2kwinNTwinXP分别支持那些文件系统。
    2
    .分别填入一个语句,完成下面的函数,通过递归计算数组a[100]的前n个数之和。
    Int sum ( int a[],int n )
    {
      if (n>0) return___________________________;
      else return________________________;
    }

    3
    .写出你所知道的3种常用的排序方法,并用其中一种方法设计出程序为数组a[100]排序。
    4
    .什么是兼容性测试?兼容性测试侧重哪些方面,请按照优先级用矩阵图表列出。
     
    (这题的第二问我不会答,所以原题目记得不是很清楚,大家能看明白问什么就好)
    5
    .我现在有个程序,发现在WIN98上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
    6
    .翻译,中——英,有关P2P点对点文件传输的原理。
    7
    .翻译,英——中,有关互联网的发展对商务、学习、交流的影响。

    笔试完了是初步的面试
    先问了个问题:FAT16/FAT32/NTFS 哪个的安全性最好,为什么?(不会答)
    又做了两道题,
    一题是关于C++类的继承,看程序写出输出结果,A是虚类,B继承A,跟一般C++的书上的习题差不多。
    一题是写出在32位机器下,计算几个变量的size

    最后用英文介绍一下自己

Open Toolbar