发布新日志

  • Web_url 函数(转载)

    2010-05-10 11:32:48

    web_url
    语法:
            Int Web_url(const char *name, const char * url, <Lists of Attributes>, [EXTRARES,<Lists of Resource Attributes>,LAST)

    返回值
            成功时返回LR_PASS (0),失败时返回 LR_FAIL (1)。

    参数:
            Name:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称。

            url:页面url地址。

            List of Attributes:(支持下列属性)

            1 TargetFrame

            2 TargetBrowser or TargetBrowserOrdinal

            3 RecContentType  - 在录制期间响应的报头文本类型(text/html, application/x- javascript),这是为了确认目标URL是否是可录制的资源。
            4 Referer - 要提交页面请求的URL .(获得当前页面,如果明确指出了位置,那么这个属性无效或者忽略。URL中写明了,要获取的页面)
            5 Resource - 指定一个值说明这个URL是否是一个资源,0 表示不是资源,1 表示是资源
            6 Snapshot  -  快照,快照文件名称,用来关联用的。
            7 Mode  - 录制的等级,是否是HTML或者HTTP模式。

            EXTRARES:分隔符,表示下列列表,是由script、active、java applet、flash产生的请求(具体设置在,Recorded options --Recording--选择 html base scritp --- html Reccorded  可以设置是否需要录制这些东西。)。

            List of Resource Attributes:下载的资源属性

    URL The URL (Uniform. Resource Locator) of the web resource to load
    通过URL地址(资源统一定位器)要下载的web资源
    Referer The URL of the referring web page.
    发送下载请求的页面。比如一个swf要下载一个图片,那么swf就是referer
    ENDITEM A marker that indicates the end of each resource in the list.
    列表中每个资源的结束标志符


            LAST:属性列表结束的标记符。



    说明
            Web_url根据函数中的URL属性加载对应的URL,不需要上下文。

            

            可以使用web_url 模拟从FTP服务器上下载文件。web_url 函数会使FTP服务器执行文件被真实下载时的操作。除非手工指定了"FtpAscii=1",下载会以二进制模式完成。

            在录制选项中,Toos—Recording Option下,Recording选项中,有一个Advanced HTML选项,可以设置是否录制非HTML资源,只有选择了“Record within the current script. step”时,List of Resource Attributes才会被录制到。非HTML资源的例子是gif和jpg图象文件。

            通过修改HTTP头可以传递给服务器一些附加的请求信息。使用HTTP头允许请求中包含其他的内容类型(Content_type),象压缩文件一样。还可以只请求特定状态下的web页面。

            所有的Web Vusers ,HTTP模式下的WAP Vusers或者回放模式下的Wireless Session Protocol(WSP),都支持web_url函数。

  • windows下服务器端cvsnt的配置(全)

    2009-04-14 10:03:16

     

    在服务器端安装好cvs后,建立一个或多个库,这样,在每个库中自动生成CVSROOT文件夹,里面有很多重要的配置文件,有些文件是自动存在了的(如config,passwd。其中passwd文件在没有添加任何用户时,是不存在的,当用命令添加了一个用户后,这个文件便自动生成了),而有些是需要cvs系统管理员手动建立的(如admin,group)。

    1、config文件

    控制CVSNT的验证工作方式的就是config文件,注意该文件最前面的两行:

    #Set this to `no" if pserver shouldn"t check system users/passwords
    #SystemAuth=yes

    第二行就是我们要修改的内容,默认状态是被注释掉的,SystemAuth有两个值yes和no:

    yes:pserver将使用Windows系统用户和CVSNT用户来共同验证(若CVSNT用户未定义,则用Windows系统用户来进行验证),默认为yes,CVSNT用户在后面将要介绍的passwd文件中定义。

    no:只使用CVSNT用户来进行验证。

    config文件不能在服务器端修改(因为格式为FILE的文件是无法在CVSNT服务器端进行编辑保存的), 但可以将其checkout到客户端后进行修改,将第二行改为SystemAuth=no,再commit到服务器CVSNT上,则就可以启用单一验证方式了。

    注意:启用单一验证方式后原来的Windows系统用户将变为无效,因此要注意执行该步骤的时机。要保证passwd文件已存在且有用户了,否则无人可以登陆此库了,config文件也checkout不下来了,无法修改回去了。   有一个解决办法就是,从其他库的CVSROOT目录下找一个SystemAuth=yes的config文件,复制它,覆盖此库CVSROOT下的config文件。

     

    config文件在建立库时自动生成 位于CVSROOT目录下,这里可以得出结论,对于不同的库,可以给不同的验证方式。所以,在每个库建立的时候要首先设定好这些前提。

     


    2、 admin文件

    设置systemAuth后,在cvsroot目录下建立admin文件,这个文件是保存CVSNT的管理员列表的文件,CVSNT根据这个文件来判断一个用户是否是管理员。

    有些人喜欢直接在服务器的CVSROOT目录下新建admin文件,这样,如果你想从服务器checkout CVSROOT目录到本机,这个文件将不会被checkout出来。所以最好的办法是,从服务器checkout CVSROOT目录到本机后,再在本机客户端的cvsroot目录下新建一个admin文件,然后add,再commit到服务端,这样下次文件就可以checkout出来了!

    在客户端创建admin文件:

    先进入cvsroot目录下,再用命令:echo>>admin

    该文件的内容很简单,形式如下:
    User1
    User2
    User3 
    每一行定义一个管理 员用户,默认时没有该文件,但你可以在客户端自己添加并add上去,再commit到CVSNT上,但是光有这个文件还是不会生效的,还要将其添加到 checklist文件中,使CVSNT能够读取该文件的内容checkoutlist中添加文件列表的格式为:

    [空格]文件名 出错信息

    其中文件名前的空格必须要有的,不然会出错。
    我们可以先添加admin文件到CVSNT中,再修改checklist文件commit,就可以使admin文件生效了。

    Checkoutlist是维护的一个文件列表,可以放入系统自动build用户自定义的系统文件列表,注意:对passwd不生效!!

     



    3、passwd文件

    服务器工作在CVSNT用户单一验证方式下的时候,这个文件定义了CVSNT的用户信息,这里面保存着用户名,用户密码,以及别名信息。默认状态下 没有该文件,但是我们可以在CVSNT还工作在混合验证方式下时,用系统管理员登录,通过添加用户命令来让CVSNT自动建立一个passwd文件。

    添加用户的命令的示例:

    cvs passwd –r administrator –a cvsadmin

    之后系统提示输入密码,输入后服务器会新建一个passwd文件。

    该文件的内容很简单,形式如下:

    cvsadmin:fqr1fS4gDghrt:administrator
    kid:aTXRfS31Bm6JA
    mystique:Yna4QcXz9dEqd

    以第一行为例:cvsadmin为用户名,fqr1fS4gDghrt为CVS使用UNIX标准加密函数对密码进行加密后的结果,administrator为该用户的别名,当使用混合验证方式时对应Windows系统用户名。

    注意:这个文件是不能在客户端进行修改的,不能checkout出来。

    在服务器端建立了这个文件以后,就不用再手动进行修改了,当你在客户端进行密码或者用户的增加删除的时候,系统会自动进行这个文件的更新。这个文件是管理着CVSNT系统中的所有的用户,所以,要特别重视,不了解这个文件格式的,不要去随便修改,更加不要尝试在客户端进行修改

     


    4、group文件

    该文件用于定义CVSNT中的组信息,同组里的用户拥有一样的权限对组权限的修改操作和对用户权限的修改一样 (即cvs chacl groupname/username:r/w/c/n)。
    有些人喜欢直接在服务器的CVSROOT目录下新建group,admin文件,这样,如果你想从服务器checkout CVSROOT目录到本机,这些文件将不会被checkout出来。所以最好的办法是在客户端新建group,admin文件,然后add,再commit。这样文件就可以checkout出来了!

    在客户端创建group文件:

    先进入cvsroot目录下,再用命令:echo>>group

    group文件的内容为:

    administrators:cvsadmin kid mystique
    users:User1 User2 User3

    可以看到该文件的内容也很简单,组名:用户名,多个用户名之间用空格隔开。

    Group文件可以在客户端修改,不用修改checkoutlist这个文件,系统会自动使其生效。

    作为组里面的特定成员还可以赋给特定的权限,权限分为两类c,w,rn(r:Read w:write c:control n:none),否定权限是有高的优先级的。

     

    5、.perms文件

    该文件存在于CVS repository中的每一个目录下。CVSNT通过该文件来控制用户对当前文件夹的权限。CVS用户权限:r|w|c|n (r:Read w:write c:control n:none)

    例如:

    default:n

    admin:rwc

    user:r

    上面文件中第一行是指当前文件夹的默认权限为none(没有权限),admin用户/组的权限是rwc(读取、修改、创建),user用户/组的权限是r(读取)。

     


    ------------------------------------

    了解了以上的内容后,接下来 说一下在不使用WinCVS的情况下 进行配置操作,即直接使用命令行。觉得这样思路更加清晰:

    1、添加系统变量CVSROOT=E:/CVSNT/Repository,并把E:\CVSNT加入到系统Path路径。

    2、进入命令提示符,因为此时为混合验证模式,可以不用不用登陆直接进行checkout。可以建立一个工作目录,在该目录下进行操作,我这里为E:/CVSNT/Works。

    检出CVSROOT目录:

    cvs co CVSROOT

    3、添加CVSNT系统管理员用户,此时会提示设置用户密码:

    cvs passwd –r administrator –a cvsadmin

    4、修改CVSROOT访问权限:

    ([自]:也可以用此方法对要控制的某一文件夹进行权限的设置,即用命令:“cd 文件夹路径”进入此文件夹,然后对不同用户的权限进行修改与控制)

    cd CVSROOT
    cvs chown cvsadmin //更改所有者为cvsadmin
    cvs chacl default:n //默认权限为n
    cvs chacl cvsadmin:rwc //添加cvsadmin

    5、修改config文件,按上面的方法修改后commit:

    cvs ci

    6、此时单一验证方式已经启用了,也就是只能使用刚才添加的cvsadmin进行登录,此时可以把CVSNT控制面板上的Use local users for pserver authentication instead of domain users关掉。登录前还要改一下系统变量CVSROOT,关闭命令提示符窗口,修改CVSROOT为:

    :pserver:cvsadmin@192.168.0.1:4021/CVSNT/Repository

    这里的192.168.0.1是服务器的IP地址,/CVSNT/Repository就是前面设置Repository时设置的Name,可以改为你机器上的配置。修改系统变量之后以下的步骤在任何与服务器相连的机器上进行,当然该机器上应该有CVSNT的可执行文件。

    7、如果为了避免出现错误,先重启一下CVSNT服务器,再启动命令提示符来到E:/CVSNT/Works,因为已经启用单一验证方式,先要进行登录。

    cvs login

    输入密码,此时就是以cvsadmin登录了。

    8、添加admin文件,首先将CVSROOT检出,在CVSROOT下新建admin文件,内容为

    cvsadmin

    执行命令:

    cvs add admin
    cvs ci

    9、修改checklist文件,在该文件末尾添加一行:

    [空格]admin error message

    注意:admin前的空格不能少。

    执行命令:

    cvs ci

    经过以上步骤,可以说用户配置已经基本完成了,CVSNT可以很好的工作在单一验证方式下。进一步的管理可使用以下命令:

    添加用户: cvs passwd -a username,使用时不必理会需要添加别名的提示。

    修改用户权限:cvs chacl username:r|w|c|n,(r:Read w:write c:control n:none)

    要添加组管理,只需同添加admin步骤一样,按照格式要求新建group文件即可。


  • cvs基本概念与wincvs的使用(转)

    2009-04-14 09:44:29

     

     

    1. CVS基本概念


    CVS是很早的时候在Unix下发展起来的,它使用的术语比较特殊,需要先熟悉和理解,这是使用CVS的第一步。
    Repository:中文名称:仓库。它是 CVS服务器(可能在远程,也可能在本地)的根目录,我们所有的工作都保存在这个仓库中,包括源代码和这些代码的全部历史。你可以把Repository想像成一个仓库,仓库中有许多“木桶”,每个“木桶”就是我们的一个让CVS管理起来的工程。对于CVS来说,这些“木桶”之间是没有什么关联的,删除一个“木桶”不会影响别的“木桶”。我们所想像的木桶,在CVS术语中,又叫模块(Module)。
    Module:中文名称:模块。就是上面我们所想像的仓库中的“木桶”,里面放的是一个项目的所有文件(包括源代码,文档文件,资源文件等等)。在物理上,Module是CVS服务器根目录下的第一级子目录。
    Import:中文名称:导入。我们本地有一个软件项目,里面有许多各种类型的文件,都需要用CVS进行版本管理,那么第一步就是把这个软件项目的整个目录结构都Import到CVS的仓库中去。经过这种导入,CVS将为你的项目创建一个新的“木桶”----Module,即模块。
    Checkout:中文名称:导出。指将仓库中的一个“木桶”(Module, 模块)中的东西导出到本地的工作目录下,然后我们可以在WinCvs的管理下,进行工作,修改其中的内容。
    Commit:中文名称:提交修改。我们在本地的工作目录下,对工程中的文件进行修改,这些修改,需要提交给CVS的仓库,这个过程,就叫Commit。你可以Commit一个文件,也可以Commit整个目录。
    Update:中文名称:同步。它与Commit相对应,是从仓库中的“木桶”(模块)中下载你同事修改过的文件(别忘记你的项目有许多人共同参与),如果这个文件在你本地也有,就会更新本地的拷贝,如果你本地没有,就会把新文件下载到你的本地。
    Revision:中文名称:文件版本。这是CVS中一个需要特别注意的概念,它指的是单个文件的版本,而不是整个项目的版本。基本上,单个文件每次的修改,经过Commit之后,它的Revision都要改变一次,比如从1.1到1.2到1.3等等。特别要注意,单个文件的版本(Revision)与整个工程产品的版本(Version,或者Release)可以没有任何关系。例如,整个产品现在发行1.0版本(Version 1.0)了,但是产品的源代码文件中,有的文件版本(Revision)可能是1.9, 有的是2.1,等等。这很容易理解,因为为了发行产品V1.0,我们需要对源代码进行多次修改编译。
    Release:中文名称:发行版本。整个产品的版本,例如VC5.0, VC6.0等。
    Tag:中文名称:标签。在一个开发的特定期,对一个文件或者多个文件给的符号名,一般是有意义的字符串,如“stable”,“release_1_0”等。比如,我们对某个文件的1.5版本加上标签:“memory_bug_fixed”,借助这个有意义的标签,我们可以理解1.5版本解决了内存Bug,所以说Tag赋予了版本一些文字含义。


    2. WinCvs的两种工作模式工作流程与目录


    理解上述基本概念之后,我们需要对WinCvs的工作方式有一个基本了解。
    CVS工作于服务器/客户端模式(Client/Server模式)。WinCvs是CVS在Windows下的图形客户端。它有两个基本工作模式:


    2.1 WinCvs作为远程CVS的客户端
    WinCvs的第一种工作模式是作为远程CVS服务器在本地的客户端使用。CVS由于是在Unix下发展起来的,在使用的时候,有很多命令行,命令行中又带很多参数,习惯于Windows的读者很难记忆这些命令行和参数。WinCvs提供了用图形界面使用远程CVS服务的直观方法。
    在这种工作模式下,第一次使用WinCvs的基本流程如下:
     
    1) 您首先要让CVS管理员给您分配一个用户名和密码,先使用WinCvs登录(Login)到CVS服务器。
     
    2) 把本地需要CVS管理的原始目录导入(Import)到CVS服务器上去,使之成为CVS服务器上仓库(Repository)的一个Module。
     
    3) 在本地硬盘上创建一个工作目录。
     
    4) 从CVS服务器的仓库(Repository)导出(Checkout)一个Module到本地硬盘的工作目录
     
    5) 从CVS服务器同步(Update)你同事的修改到你本地工作目录。在工作目录上进行工作,在这个过程中,把文件的中间版本(Revision)提交(Commit)给CVS服务器。
    当您已经进行过上述流程,以后再使用时,就简化成只需要步骤1)和步骤5)就可以了。


     
    2.2 WinCvs作为本地的服务器和客户端
     
    如果没有远程CVS服务器,WinCvs 1.3版本能够在本地同时作为Server和Client来工作。其中,服务器端的功能是WinCvs启动CVSNT在后台实现的,CVSNT(www.cvsnt.org)也是一个开源项目,WinCvs1.3版本自带CVSNT,您不用单独安装。在这种工作模式下,你需要在本地硬盘上开设一个CVS仓库目录,它的作用和地位其实就和远程CVS仓库目录一样。
    WinCvs工作在这个模式时,当您开始从头工作时,需要下面的工作流程:
    1) 首先在本地硬盘上,创建CVS的仓库(Repository)目录。目录名可任意,一般是CVSRoot
     
    2) 把本地需要CVS管理的原始目录导入(Import)到CVS服务器上去,使之成为CVS服务器上仓库(Repository)的一个Module。
     
    3) 在本地硬盘上创建一个工作目录。
     
    4) 从CVS服务器的仓库(Repository)导出(Checkout)一个Module到本地硬盘的工作目录
     
    5) 从CVS服务器同步(Update)你自己从前的修改到你本地工作目录。在工作目录上进行工作,在这个过程中,把文件的中间版本(Revision)提交(Commit)给CVS服务器。
    当您已经进行过上述流程,以后再使用时,就简化成只需要步骤5)就可以了。

     

    2.3 WinCvs涉及到的目录
    无论WinCvs工作在上述哪种模式下,WinCvs的工作流程如下:

    由图可知WinCvs涉及到三个目录:

    是原始目录,我们从这里把文件导入到CVS进行管理,从此以后这个目录下的文件就不再参与WinCvs活动了;

    是CVS仓库目录,所有的Module都存放在这里,它可能是远程Linux下由CVS服务器管理员创建的,也可能是你自己在本地硬盘创建的,这决定于你工作在哪种模式下;

    是您本地硬盘的工作目录,您在这里对文件进行多次修改和提交。

  • <转>测试人员容易疏忽的defect

    2008-12-05 20:00:49

     

    通常软件测试会暴露软件中的缺陷,经过修正后可以保证软件系统的功能满足需求并正确运行。但是,在系统测试和确认测试中,测试人员容易遗漏一些隐藏的缺陷。众所周知,软件测试不可能发现所有的缺陷,而软件开发周期各个阶段仍然存在注入缺陷的可能,但是,有一些缺陷是测试中容易忽略的,也就是说,通过测试方法和用例可以充分暴露这些缺陷,遗憾的是,它们往往被忽略或者某种原因忘记测试了,这就给软件留下了隐患或者危机。这些容易被忽略的缺陷包括:
    ^7upa$Rh*o199728  1、安装缺陷

      通常项目组完成代码后,发布时候安装打包是最后一个环节,而软件测试人员通常在测试的时候,没有仔细的测试这一部分,而把用例集中在其他功能上。安装时候的缺陷通常通过拷贝而不是运行安装程序方式给测试人员安装软件,结果正式安装时候出现问题,引起例如控件没有注册,注册表没有导入等。删除时候没有注意安装文件夹是否存在用户文件,造成数据丢失;使用绝对路径;安装顺序没有说明书。

      2、配置文件

      有些文件在ini等配置文件中写出了管理员口令密码等信息,而且是明文的!这是一个安全隐患。另外,有些安装文件的 XML 文件,为了方便在数据库和中间层连接文件中写入了Admin 口令和密码。作为一个合格的软件测试人员,必须检查这些可以用记事本打开的文件。因为,一个稍有常识而且喜欢探索的用户,可能从中获取信息而成为不自觉的黑客。所以,配置文件可能成为软件安全方面的一个缺陷。

      3、网页安全缺陷

      现在网站开发已经注意到:登陆网站进入其内部网页后,直接拷贝网址,然后粘贴到另一IE 窗口输入,可以绕过登陆直接访问。也许商业网站很关注这个问题,但是很多行业软件却很容易忽略。

      网页安全缺陷还可能存在于 IE 弹出的子窗口。有些设计不严格的软件,在主页面关闭的时候子页面还可以运行,这是一个明显的漏洞,而且还大大增加了错误发生的几率。

      4、判断顺序/逻辑缺陷

      对界面进行多个输入判断的时候,非常容易出现这种问题。例如判断年月顺序,判断长度,判断非空等。假如操作员仅仅满足单个条件,保存不能成功; 而按界面从上之下顺序一一满足条件之后,保存是没有问题的。但是,改变一下输入的次序,校验失效。例如,一一满足条件之后,不保存,倒过来将上面的输入改成非法输入,然后保存,结果居然也能成功,这是因为原先的判断由于发生过,或者根据语句顺序只检查最后一个判断,所以没有报错。这种错误尤其在 Java scrīpt 脚本的页面中要注意。能够保存不能保证数据正确,有可能引起系统崩溃或者后续数据错误。所以,在测试的时候,不要按照正常的顺序输入,而是要打乱步骤,看看代码是否强健,是否在判断逻辑上没有错误。良好的代码应该经得起折腾,至少保存时会再此全部进行判断,而不只是简简单单走到判断的最后一行。

      5、调试语句和冗余信息

        维护项目和升级改造的推广系统最容易潜伏这类缺陷。典型表现在没有删除或者屏蔽调试语句。弹出一个界面不友好的提示信息,会使不明真相的用户产生误以为系统发生了严重故障,从而引起对软件的不信任感。页面中某个角落存在当前客户不需要的冗余按钮和功能也是一种缺陷。多余的功能会使用户以为是额外附加部分而去使用,其结果可想而知;而多余的按钮会误导好奇心强的用户操作,产生不必要的错误。

      同样值得关注的还有参数设置,由于没有实际数据,开发人员在调试或者单元测试的时候,习惯性的进行自我设定而忘了删除,软件测试人员可能会忽略掉了这部分测试,也可能导致在客户现场发生错误而影响系统发布和验收。

        6、不可重现的故障

      新参加软件测试的人员或者新来的开发人员总是要问,不可重现的缺陷是否需要记录,有必要吗?回答是肯定的。测试必须如实的记录发生的问题,也许不能重现,或者使非软件系统本身问题,但是,可能这些偶然性背后是有规律的,不记录这些,就不可能发现这些规律。

      7、多节点的逆向流转缺陷

      当前软件不少喜欢使用工作流来驱动。工作流的问题,就是可能出现多个流向分支。测试容易忽略的部分,就是工作流多节点的逆向流转。例如,通过不通过涉及两个分支,但是流程逆转的时候,有可能不是回到上一节点而是平级的另一个节点去了。软件测试要格外注意这类用例的设计。另外,有些时候默认分支在向前的时候是有默认值的,例如默认通过,那么保存的时候要提示用户是否通过,否则可能由于操作疲劳而走错了节点,引起回退。

      8、输入框缺陷

      试过往输入框粘贴数据而不是直接输入吗?可能这里会出现问题。按 Ctrl+V 的时候,输入框会根据长度大小自动截断输入长度。但是用鼠标,截断可能会失效。有一次测试人员就是用这种方法把一篇 Word 文档输入进去了,保存的时候,数据库崩溃。有些网站登陆的口令****可以拷贝下来的,只要放在剪贴板里面马上明文显示。

      输入框可以说是问题最多的部分,能够引起的麻烦也很多。日期、数字、文本等等,都需要耐心的测试一下。

      9、界面布局缺陷

      曾经有一次,项目经理回来向测试部反映一个问题,客户对界面不满意。原因很简单,因为界面上删除按钮和保存按钮挨得很近。结果有些操作不熟练的业务人员,很容易误按。这个问题是测试人员没有意料到的,因此注意关闭、删除、退出按钮与保存、下一步等按钮的距离。类似的按钮应按此规则排列分布。

      界面布局还可能发生在窗口最大化和最小化上,有可能窗口缩小的时候没有下拉框或不匹配分辨率,对用户来讲,这个错误实在很低级。有些用户由于操作习惯,非常不喜欢腾出手使用鼠标,尤其是大量输入的界面,因此,要注意设置键盘的快捷方式。还有,按 Tab定位到下一焦点时要注意顺序,避免跳转太灵活而让操作人员感到无从适应,在界面进行维护或者修改的时候,不要忘了软件测试开发人员是否无意改变了这些快捷方式和跳转顺序。

      10、版本和补丁包的环境问题

      理论上讲,这属于兼容性测试应该覆盖的问题。有些客户很喜欢更新最新的软件版本或者微软时不时打些补丁包,问题就出现了。有时候升级不一定是好事。这些问题最好在测试的时候增加几个用例,多用不同软件版本的机器跑一跑。软件测试有个定律是:你没跑过的地方,就一定会出事。经常听到开发人员抱怨,怎么我的机器没问题,你的机器就有事了呢?这不能完全靠配置管理员解决问题,环境配置项是大家最容易忽略的。

      11、用户管理缺陷

      用户管理的角色和授权需要好好研究一下,作过测试的人员都知道,有时候为了测试的方便,测试用户都是具有超级权限的用户。而且,比较容易忽略用户管理这一部分的测试。往往发往客户的时候,很多测试用户都没有删除。

      另外,有些接口的用户和口令,到软件使用寿命结束都没有更改过。在一次测试中,软件测试人员发现,给一个用户授超级用户权限,之后更改这个用户为受限权限。使用中发现,用户居然没有真正回收权限,用户管理界面上没有任何不对。及早准备用户管理用例,不要等到测试快结束时候才想起。

      12、常识缺陷

      从逻辑或者统计学上讲,计算机是允许如此处理的,但是从常识上来讲,这些情况不可能发生。例如电话号码不可能出现小数点,终止时间不能大于开始时间等等。除此之外,常识还要结合业务特点来进行判断,因此,开发和测试人员要格外注意对自己知识的培养以及增加对需求细节的了解。不能因为一味追求进度而采用最简单的代码来实现,对用户来说,这些错误可能是很荒谬的。

     尽管我们不可能完美的测试一个软件,但是我们仍然可以改进我们的软件测试。每次测试结束,及时总结测试中的不足,进一步完善用例。思考一下那些容易忽略的软件缺陷,能提高对软件测试的认识,提高所在组织软件的质量。

Open Toolbar