发布新日志

  • [论坛] 短信测试的注意事项

    2007-07-19 17:21:08

    测试项
    1.       短消息的编辑、保存、详情、发送、回复、转发;
    2.       短消息接收:查看、浏览,此外还有系统对EMS的支持,例如:能否正常显示和播放-----图片、铃声、动画等;
    3.       单元长度的短消息测试;
    注意:在GSM协议里规定(具体描述见GSM 03.40):一个7bit编码方式的短消息单元长度为160字符。因为有的字体是采用7bit编码方式,有的字体采用8bit编码方式,因此,在测试的时候,请先搞清楚具体的编码方式。
    l       7bit编码:一个单元的短消息可以输入160个英文字符;
    l       8bit编码:一个单元的短消息可以输入140个英文字符;
    l       汉字:如果是按照Unicode编码的汉字,每个汉字占16bit,所以一个单元只能输入70个汉字;
    l       如果在一条短消息中包含汉字和英文字符,则一个单元短消息的长度只能按照汉字短消息的长度来计算;
    4.       超长短消息测试:超长短消息会在手机端分解为多条短消息,测试-----发送、接收、短消息合并;
    l       注意:因为在分解的短消息中加入了“短消息分解说明”,所以,此时的单条短消息长度要比一个单元长度短消息包含的内容少。具体情况鉴于各个平台定义的不一致,在测试前,先咨询平台供应商或软件开发人员。
    5.       短消息的删除(单条删除、全部删除);
    6.       短消息的设置(有效时间、回复路径、回复报告、容量查询、存放位置等);
    l       有效时间:即如果接收方未开机或处于无信号状态下,短消息中心会自动保存该短消息一段时间。但目前有效时间的长短是由运营商确定的,与设置有效时间的长短无关。(目前联通的有效时间是24小时,移动的有效时间是48小时。注意:此时间今后可能会变化,测试的时候请先咨询当地运营商。)因为此操作与运营商的网络设置有关,测试的时候,只测试基本操作即可。
    l       回复路径:如果将此功能设置为开,并向某人或指定的人发送短消息,对方回复的短信息将按发送的短信息中指定的路径发送。即 A 发送短消息到B,需要经过三个短消息中心 1、2、3,如果B开启了回复路径功能,则B执行回复操作时,回复的短消息将分别经过3、2、1三个短消息中心,再到达A;(注意:启用该功能的发送失败几率会比不启动该功能的几率大,在测试的时候,如果发现频繁出现发送失败的情况,检查一下是否开启了此功能;)
    l       回复报告:是由短消息中心发回的,与接收方的手机无关。当启用此功能后,短消息中心会在接收方是否接收成功的信息发回给发送方。
    l       容量查询:查询SIM卡和本机分别能够存储了多少条短消息,已经使用了多少,剩余空间是多少。
    l       存放位置:即将短消息保存到SIM卡还是保存在本机。
    7.       提取号码:保存、拨号;
    8.       消息体内号码的提取:即可以将短消息内容中的号码提取出来,此时用户可以保存、拨号等操作;
    9.       常用短语添加、修改、删除;
    10.   短消息数量达到极限值:增加、编辑、修改、删除等操作;

    复合测试项
    1.       短消息发送过程中,出现干扰活动;
    2.       短消息删除过程中,出现干扰活动;
    3.       在普通手机上接收EMS,查看系统能够正确进行处理和显示;
    4.       EMS在各个运营商之间的编码不一致,所以在测试的时候需要注意如下情况:
    l       在同一个运营商的网络中发送EMS,不应该出现乱码;
    l       在不同运营商的网络中发送EMS,可能会出现乱码;
    5.       其他语言模式下,菜单名称、提示信息拼写是否正确且符合用户操作习惯;
    6.       不同手机厂家之间对不同类型短消息的兼容性;
    7.       启动短消息锁后的相关操作;

    压力测试
    1.       在短时间内,发送大量的短消息,同时并接收大量的短消息。发送和接收的数量都在50条以上。(注意:采用不同形式的短消息进行发送、接收);
    2.       短消息的群发(包括超长短消息),查看接收和发送的成功率;
    3.       在发送短消息期间,频繁进行翻合盖操作;
    4.       收件箱容量达到极限后,仍然发送和接收新短消息;
    5.       短消息容量满的情况下,进行全部删除操作,并在删除过程中,进行干扰活动;
    北京地区对软件测试感兴趣的朋友可以加我qq交流:306513768
  • [论坛] WinRunner的问题搜集

    2007-06-15 11:52:37Digest 1

    1.WR是否支持vs.net
    根据Mercury的介绍,他们的对.Net的支持转移到QuickTest Pro上了,如果你需要自动化测试.Net程序(不是web的),建议用

    QuickTestPro。也就是说wr不支持vs.net开发的程序

    2.我对比两个文件file1.txt和file2.txt,文本内容如下
    file1.txt 内容如下:
    10523 8315 6804 8387 3643 4550 3457 3649

    file2.txt内容如下:
    190176 155737 117417 145194 65314 81431 64522 63324

    代码如下:file_compare("C:\\file1.txt","C:\\file2.txt","save");
    为什么每次对比这两个文件结果都是通过的。
    答:这个问题的原因在于它在前面的脚本中对文件进行了操作,没有关闭,所以这段代码运行总是通过

    3.如何在winRunner中用Windows的API函数
    在使用该API函数前需要先加载该函数然后声明API函数,代码如下
    load_dll("user32.dll");
    extern int PostMessageA(in long, in long, in long, in long);
    win_get_info("{class:window, MSW_class:AfxMDIFrame42, label:\"!WinRunner.*\"}", "handle", hWnd);
    PostMessageA(hWnd, 16, 0, 0);

    请在尝试以上代码的时候,保存脚本,呵呵!
    4.怎样处理跟踪键盘操作?
    答:下边的代码希望对你有帮助
      function GetKeyStatus(in vKey){
        auto pid, thread_id, win_desc, hWnd, KeyState, win_log_name, win_full_desc, focused_obj_desc;
        win_desc = "{active:1}";     
        if (win_exists(win_desc)==0)     {         
          win_get_desc(win_desc, "", "", "", win_full_desc);
              GUI_map_get_logical_name( win_full_desc, "", win_log_name, "bla");
            win_get_info(win_desc, "handle", hWnd);
            pid = GetWindowThreadProcessId(hWnd, NULL);
            thread_id=GetCurrentThreadId();
              AttachThreadInput(pid,thread_id,TRUE);
            KeyState=GetKeyState (vKey);
            AttachThreadInput(pid,thread_id,FALSE);
            if (KeyState < 0)           
            return(0); # Key is pressed
          else         
            return (1); # Key is not pressed     
        }
        else
              return (-1); # No active window found, so cannot determine key state
      }
    .WinRunner如何处理excel?答:其实解决方法有很多,这里列举两种。
      一.利用其他语言特性开发出dll提供给winrunner使用(vb,vc,delphi等)
      二.在其他环境中实现,用winrunner调用
      第一种我在这里不举例子了,第二种我利用vbs往excel中赋值给大家提供一种思路,代码如下:

    'vbs中的代码
      Dim ExcelApp
      Dim itemX
      if Wscrīpt.Arguments.Count < 2 then
      r = msgbox("Requires 2 arguments", 48, "change_sheet")
      else
      dim fso
      set fso = createobject("scrīpting.filesystemobject")
      xlBook = fso.GetAbsolutePathName(Wscrīpt.Arguments(0))
      xlSheet = Wscrīpt.Arguments(1)
      set fso = Nothing
      Set ExcelApp = CreateObject("Excel.Application")
      ExcelApp.Workbooks.Open(xlBook)
      Set itemX = ExcelApp.ActiveWorkbook.Worksheets.Item(xlSheet)
      itemX.Activate
      
      excelApp.ActiveWorkbook.Worksheets(xlSheet).Range("A1").Select
      excelapp.ActiveCell.FormulaR1C1 = "1"
      excelApp.ActiveWorkbook.Worksheets(xlSheet).Range("B1").Select
      excelapp.ActiveCell.FormulaR1C1 = "2"
      excelApp.ActiveWorkbook.Worksheets(xlSheet).Range("c1").Select
      excelapp.ActiveCell.FormulaR1C1 = "3"

      ExcelApp.ActiveWorkbook.Save()
      ExcelApp.ActiveWorkbook.Close(1)
      ExcelApp.Quit()
      
      Set itemX = Nothing
      Set ExcelApp = Nothing

    end if

    winrunner中的调用代码:
    dos_system("wscrīpt \"C:\\excel_sheet.vbs\" \"C:\\SheetBook.xls\" \"Sheet2\"");
      
    2.在WinRunner中如何实现得到transaction时间?
    答:一般情况下transaction的时间只能在最后结果中得到,如何在脚本得到这个时间呢,下边的代码可以

    帮助你:
    public transactions[];
    function start_my_transaction(in transaction_name)
    {
        transactions[transaction_name] = get_time();
        tl_step("Start transaction: \"" & transaction_name & "\"",PASS,"Timestamp: " &

    transactions[transaction_name]);
        return (transactions[transaction_name]);
    }
    function end_my_transaction(in transaction_name)
    {
        auto end_time = get_time();
        auto rc;
        if(transactions[transaction_name] == "")
        {
              tl_step("End transaction: \"" & transaction_name & "\"",FAIL,"Transaction was

    never started.");
              rc = -1;
        }
        else
              tl_step("End transaction: \"" & transaction_name & "\"",PASS,"Elapsed Time: "

    & (rc = end_time - transactions[transaction_name]));
        delete transactions[transaction_name];
        return rc;
    }

    start_my_transaction("my_transaction");
    wait(2);
    rc = end_my_transaction("my_transaction");
    pause("Elapsed time = " & rc);
    北京地区对软件测试感兴趣的朋友可以和我交流:qq:306513768
    我的博客:http://www.51testing.com/?uid/110105


    [ 本帖最后由 rendaoyuan 于 2007-6-13 15:54 编辑 ]
  • [论坛] TD中The RPC server is unavailable问题的解决方案

    2007-06-15 11:51:29

    “The RPC server is unavailable”是TD使用中相当常见的问题,在这里做个总结,希望朋友们一起交流探讨一下。

    The RPC server is unavailable.翻译过来就是“RPC(远程过程调用)服务不可行。”--可以这么理解,它指的是“权限不够”的意思。

    导致此原因的可能性很多很多,以下是我总结的几点(其中包含其它网友提供的资料,这里向他们表示感谢),希望大家补充:

    1. RPC服务未启动。解决:控制面板-管理工具-服务-“Remote Procedure Call(RPC)”,启动一下(自动),服务状态“启动”;

    2.服务器端IIS没装。解决:安装IIS。以2000系统为例,控制面板-添加删除程序-添加删除windows组件-“Internet 信息服务(IIS)”打一下勾,下一步……

    3.你的系统没有打过补丁。如果你的系统是win2000,那么最好是打上sp3或者sp4补丁。根据个人猜测:如果你的TD的补丁是sp4,那么最好你的2000系统也打上sp4补丁(注意:别搞错了!一个是操作系统的补丁,一个是TD的补丁)。解决:安装系统补丁——去微软网站上down吧,伙计^_^

    4.TD服务未启动。此种情况比较复杂,需要尝试不同的解决方案,先到TD所在的那台机器上,点右键的testdirector checker,看看出错提示,对症下药。
    以下几种可以结合起来尝试(反正你都登不上了,不如死马当作活马医,您说对不):
    ①清空IE的cookies、History、缓存;删掉TD_76目录,重新下载一次插件;
    ②进入TD后,点add-ins page;进入后点TestDirector Connectivity ;然后点download add-in;手动下载插件安装;
    ③启动一下TD。到TD所在的那台电脑上,在系统栏右边有个小图标,鼠标移上去,点右键“Start TestDirector”;
    ④TD补丁没打,可以试安装TD sp4;
    ⑤密码被改了,请询问管理员;
    ⑥TD服务器装了多个版本的TD,兼容性问题;请卸载其中一个版本,重装TD;
    ⑦把 http://IP/tdbin/start_a.htm 改为 http://计算机名/tdbin/start_a.htm 试试;
    ⑧如果TD被移植过,到TD所在的那台机器上,点右键的CHANGE RUNAS,更改一下账号;
    ⑨TD数据库文件毁坏(文件都搁屁了,还混啥?),和管理员沟通一下吧;
    ⑩TD服务器的那台机器有问题。或许是中毒了,或许是操作系统问题(可能系统内存泄露导致服务器崩溃,可能是注册表问题,可能是其它问题……),或许是硬盘坏道问题--这几种情况的共性是有时有问题,有时又没问题,莫名其妙的。
    在尝试了上述几种方案恢复均告失败后,这个情况的可能性大之又大,千万别忽略了,还真有人就遇到过这种情况。
    北京地区对软件测试感兴趣的朋友可以和我交流:qq:306513768
    我的博客:http://www.51testing.com/?uid/110105


    [ 本帖最后由 rendaoyuan 于 2007-6-13 15:52 编辑 ]
  • [论坛] QTP专家视图

    2007-06-15 11:33:57

    专家视图

    专家视图,也叫脚本视图,属于QTP中比较高级的功能选项。在该视图中,测试人员可以直接修改测试脚本(VB脚本)的代码,来增强测试脚本的功能,它要求测试人员具有一定VB脚本语法基础。
    当然,测试脚本中也不完全是VB脚本,严格意义上来说,QTP的测试脚本应该是标准 VB脚本和QTP测试对象的组合体。
    所谓的QTP测试对象,就是QuickTest定义的用来表示Windows窗体元素的对象,如同窗口,命令按钮等,每一个QTP测试对象都有若干个方法和属性,允许用户加以修改。
    就是我们刚才录制的测试脚本的专家视图:



    我们直接在该视图中修改和在关键字视图中修改的效果是一样的。
    VB脚本是一种容易学习并且功能强大的脚本,它是VB的一个子集,遵循VB的语法。
    如果读者原来没有接触过VB脚本的话,可以将关键字视图和专家视图中的对应项结合起来学习。

    下面简单介绍一下其语法:

    常见的对象名:
    Dialog对话框,括号里面的参数表示对话框标题栏上的名字
    WinEdit:Windows窗体中的文本框
    WinButton: Windows窗体中的命令按钮
    ActiveX: ActiveX控件
    WinComboBox: Windows窗体中列表框

    常见的事件名:
    Set:当在文本框中输入信息时会触发该事件
    Click:当点击命令按钮时会触发该事件
    Select:当选择列表框或是单选按钮时会触发该事件
    Close:当关闭一个标准窗口或对话框时会触发该事件
    下面在为大家介绍一下QTP中VB脚本中的一些通用语法规则,供大家参考:
    1.
    比如下面两个例子:

    Dim passengers
    passengers =
    Browser("MercuryTours").Page("Find Flights").WebEdit("numpassengers").GetROProperty("value")

    上面的例子定义了一个名为passengers的变量名

    Set UserEditBox =
    Browser("Mercury Tours").Page("Mercury Tours").WebEdit("username")
    UserEditBox.Set "John"

    在上面的例子中,首先通过Set方法将“Mercury Tours”网页上的“username”文本框对象赋给了UserEditBox变量,然后再调用UserEditBox对象的Set方法将“John”这个字符串赋给该对象。

    2.
    脚本中同样可以使用VB中控制语句,如If…Then…Else;While;For…Next等

    3.
    脚本不区分大小写
    比如,下面两行代码是可以通用的:
    Browser("Mercury").Page("Find a Flight:").WebList("toDay").Select "31"
    [size=10.5pt]browser("mercury").page("find a flight:").weblist("today").select "31"

    4.
    脚本中的字符串常量要用双引号括起来
    比如下面一行代码:
    Browser("Mercury").Page("Find a Flight:").WebList("toDay").Select "31"
    网站名—Mercury,网页名---Find a Flight,控件名---toDay,控件选项---31,都用引号以上,表示它们都是字符串。
    有的读者可能会问,既然有比较简单的关键字视图,干嘛还用专家视图呢?
    是的,关键字视图可以实现测试中的大部分功能,但是如果想使你的测试脚本更加的灵活,功能更加的强大,有时就必须借助专家视图,比如需要在脚本中作一些条件判断或是循环,这时关键字视图就无能为力了。

    但是也不是说我们就要从头到尾自己编写测试脚本,那样效率太低。一般的做法是先录制自动生成基础的测试脚本,然后在关键字视图中修改测试的对象和属性,涉及到高级的功能,再去专家视图中修改源代码。
    北京地区对软件测试感兴趣的朋友可以和我交流:qq:306513768
    我的博客:http://www.51testing.com/?uid/110105


    [ 本帖最后由 rendaoyuan 于 2007-6-13 16:13 编辑 ]
  • [论坛] TestDirector概述

    2007-06-15 11:32:10

    TestDirector概述

    TestDirectorMI公司开发的一款知名的测试管理工具,可以实现需求管理,测试计划管理,用例管理,缺陷管理。TestDirector能够很好的和MI公司的其他测试工具(如QTP,Loadrunner等)很好的集成,并且具有强大的图表统计功能,会自动生成丰富的统计图表。
    TestDirectorB/S结构的软件,只需要在服务器端安装软件,所有的客户端就可以通过浏览器来访问TestDirector,方便测试人员的团队合作和沟通交流。
    TestDirector主要有以下功能模块:

    3-1 TestDirector的功能模块

    需求管理(Requirements


    定义测试需求。


    包括定义你正在测试的内容、定义需求的主题和条目并分析这些需求。


    测试计划(Test Plan


    开发一个测试计划。


    包括定义测试目标和策略、将测试计划分为不同的类别、对测试进行定义和开发、定义哪些需要自动化测试、将测试与需求进行连接和分析测试计划。


    测试执行(Test Lab


    运行测试并分析测试结果。


    缺陷管理(Defect


    增加新缺陷、确定缺陷修复属性、修复打开的缺陷和分析缺陷数据。



    程序测试是一个复杂的过程,大型的项目往往要编写成百上千的测试用例,有的时候测试还需要跨平台,测试不同硬件平台,操作系统的兼容性,所以说管理测试的过程有时是很繁琐很消耗时间的工作。
    TestDirector7.6作为经典的测试管理工具,可以很方便的管理你测试过程,包括搭建测试框架,制定测试流程等工作。TestDirector7.6还具有和很强大的数据管理功能,在后台的数据库中集中管理测试需求,测试用例,测试步骤等资源。
    TestDirector7.6同时也是一款功能强大的缺陷管理工具,可以对缺陷进行增删改查等操作,同时也可以给开发人员发送E-mail通知。

    TestDirector7.6
    还可以和MI公司的其他测试工具进行很好的集成,如WinRunner, LoadRunner, QuickTest Professional, Astra LoadTest等,同时也支持一些第3方公司开发的测试工具。

    北京地区对软件测试感兴趣的朋友可以加我qq交流:306513768

    [ 本帖最后由 rendaoyuan 于 2007-3-30 11:40 编辑 ]
  • [论坛] 什么是CMM

    2007-06-15 11:29:24



    cmm就是sqa用来监督项目的一个标准质量模型,sqa按照cmm上面各种规则来检验各种各样的项目。
    cmm,全称为Capability Maturity Model,即“能力成熟度模型”,是由卡耐基-梅隆大学于上个世纪80年代制定的,最初只是应用于本校的软件项目开发,后来逐渐推广为主流的行业标准。
    cmm共为5级
    本文不详细讨论每一级的含义,感兴趣的读者可以去查阅软件工程方面相关的书籍。
    当然质量模型不止 cmm一种,cmm只是比较主流的一种,下面列举了一些常见的质量模型:

    常见的质量模型

    标准名称
    制定者
    适用领域
    备注

    ISO9000族标准


    国际标准,ISO/TC176制订


    适用于所有行业


    其中9000-3针对软件开发行业


    CMM标准



    行业标准,卡耐基-梅隆大学制定并管理

    针对软件开发行业




    分5个等级,最近又推出cmmi,可以看作cmm的一个新的版本

    TickIT标准



    行业标准,英国软件行业协会制定

    针对软件开发行业



    不太流行

    ISO15504标准




    国际标准,试图结合ISO9000CMM与软件工程概念


    适用于所有行业
    有待实践检验

    国内的软件公司都非常热衷于取得各种质量标准协会的认证,1998年以前iso9000比较火,2000以后cmm比较受欢迎,有的公司甚至会有iso9000和cmm两个认证。
    对于做欧美外包项目的软件公司,cmm还是很有作用的,因为欧美很多公司都认可cmm认证,他们认为如果你们公司过了cmm3或4,那么就具备了承接国际项目的经验和实力。
    大学生过英语四级是为了加重就业的筹码,找一份好工作;软件公司过cmm是为了加重承接项目的重码,更好的与国际接轨。
    国内一些公司的cmm等级很高,比如华为cmm4,东软cmm5。
    可是有一个奇怪的想象,就是国际上一些知名的软件公司往往没有过cmm,比如微软,甲骨文等,这是为什么呢?
    因为“一流公司做标准 (Standard),二流公司做品牌 (Brand Name),三流公司做产品 (Product)”,微软不需要遵循别人的标准,微软就是标准的制定者。

    北京地区对软件测试感兴趣的朋友可以加我qq交流:306513768

    欢迎访问我的博客:http://www.51testing.com/?110105

    [ 本帖最后由 rendaoyuan 于 2007-6-13 14:28 编辑 ]
  • [论坛] 软件测试及Bug管理经验谈

    2007-06-15 11:25:01




    [size=10.5pt]1、
    [size=10.5pt]写在前面的话

    本人从事软件工作多年,对如何作测试、如何管理Bug上有一些体会和想法;正好看到网上关于这方面的讨论较多,不妨简单地写出来。本文就测试工作的组织及工具的选用介绍一下主要的思路,供大家参考。

    [size=10.5pt]2[size=10.5pt]、如何作好软件测试

    (1)清晰的质量概念
    常言道没有规矩不成方圆,产品交到您手上,各方面质量标准您要心中有数。安装卸装、功能性能、用户界面、出错与恢复......等等,您可列出大纲式的CheckList,不一定很详细但一定要全。
    不同的开发队伍,规范化水平不同,他们不一定能提交完善的规格书、品质书,如果您自己也没有这个概念,测试中就容易疏漏很多东西。比如,界面上的Button大小、用词、字体、颜色等有规范吗?页面响应时间呢?总之,您要让人家明白,您对这些方面是有要求的。
    (2)善作计划
    按照CheckList,要测试的东西真的是很多,但人力、时间等资源是有限的,您需要考虑重要性、优先级等因素,作一个测试计划。确定测试内容是重要的,确定哪些不测或暂缓测试、同样也是重要的。针对需要测的内容,安排测试环境、人员、时间等,这些大的方面要与上司、相关人员讨论清楚,获得他们的支持。接下来再细化大的Check点,形成详细的测试方案。
    (3)明确进入退出标准
    需要明确进行测试所必须具备的条件,如:测试环境、送测产品的媒介形式、文档等。如果达不到基本要求可明确地提出来,暂时退出直到问题得到解决,否则很浪费大家时间的。如:环境不具备、根本就安装不上、有大量严重错误等。
    (4)对测试人员的要求
    逻辑思维要强,说到底,测试就是一种逻辑覆盖,要用尽量少的测试实例覆盖尽量多的逻辑,这就是效率。细心很重要,在每一个测试点,您需要静下来好好想想,还有哪些可能的情况?细心一定会给您带来高产量的Bug的。
    (5)关于自动测试工具
    任何工具都是在人的安排下发挥作用,您自己如何测永远是第一位的。一般说来,自动测试工具只能在压力、容量等某些性能领域发挥作用,其他绝大部分需要的是勤奋和智慧。
    (6)不断积累、持续改善
    您无论多么出色还是会漏掉Bug,您需要有一个方法能够不断地、持续地改善。分析总结原因、不断完善测试计划、测试方法等,并用文档整理出来,您的基础就会越垫越厚,工作越来越有效。
    (7)明确自己的责任
    作为测试人员,您的任务就是找出缺陷、及时清晰的汇报给相关人员,让管理者清楚产品的质量状况。有时,您测出的问题他们决定不改,或者您认为没达到Release标准他们决定Release,这是可能的。影响一个决定的因素是多方面的,有经费、市场、策略、质量等,虽然测试通常是产品开发的最后一关,但我还没有见过测试人员决定一切的。

    [size=10.5pt]3[size=10.5pt]、Bug管理的作用层次

    软件开发的重点已经从技术转到管理与质量控制上了,如何按时做出符合质量的产品是我们最大的挑战,测试工作在开发过程中占据相当大的份额,Bug管理的作用可想而知。其作用基本上分以下几个层次。
    (1)备忘与沟通
    备忘是一个Bug管理系统最朴素、最基本的作用,好记性不如烂笔头,道理就这么简单。您什么时候测出了Bug、怎么测的、当时环境怎样,开发人员解决了没有、什么时候解决的、如何解决的,需要及时记录下来;问题一多,您靠记忆是记不住的。没有遗漏地记下所有问题点并确保适当地处理掉,是Bug管理的基本要求。
    Bug的产生、变更需及时通知相关人员,他们也应能随时查询不同状况的Bug 数据,良好的沟通才能保证有效的协作。
    (2)监控
    作为项目管理者,您需要及时全面了解目前的项目状况,有些Bug是影响全局的严重错误,需要立即做出处理、决策;有些Bug需要决定改还是不改,或是放入以后版本、分配给其他人等等。所以项目管理者应该能够监控Bug状况。
    (3)定量分析
    对Bug数据作定量的统计分析是更进一步的需求,如:bug数量随时间变化的趋势图、从测试者、责任人、缺陷级别、缺陷原因等不同角度统计缺陷数量等等。
    (4)环境集成
    更高一级的需求是与需求、测试方案、SourceCode、自动测试工具等关联起来。

    [size=10.5pt]4[size=10.5pt]、Bug管理工具的选用

    与选用任何一件商品一样,与您的需求、产品价格、服务等有关。
    (1)需求
    大部分开发机构对Bug工具的要求并不高,能记录问题点、能及时传达给相关人员,并监督他们都作了适当的处理,基本上就可以了。很多网友说某某系统怎么弄得这么复杂、这么贵,自己花一个星期就能做个可用的东西,说的就是这个意思。早期,市场上没有合适的Bug管理系统,我使用Excel作,说实在的也不错。当然啦,时代在进步,Bug管理系统可更好地实现这些需求。
    稍微高一点的要求,可做定量的统计分析,挖掘信息潜在价值。
    更高一级的需求,就是景上添花啦,可以与需求、测试方案、SourceCode、自动测试工具等环境集成。但事物总是两面性的,要真正发挥这些作用需要有完善的需求规格、测试方案,需要仔细规划自动化工具所产生数据的过滤、运用。一句话,对自身的规范化要求较高,否则这些功能听起来不错,实际利用不起来。
    (2)服务与价格
    从价格上说,有3类缺陷管理工具可供选用。
    一是纯免费的,如Bugzilla、Mantis等。但免费的东西用户友好性差、安装难,您需要懂linux、perl、mySQL、apache之类的东西;而且没服务,出一点问题您就上Internet淘技术文章去吧,如何安装、使用这些免费软件简直是一门学问了。
    二是价格较低的国产软件,基本满足备忘沟通和监控的需要。如华创BMS,做得比较灵活,字段、权限、email通知、数据字典等都可以定制,适应性较强,统计报表的定制性也较强,可以做一定的定量分析。一般开发单位使用这类系统基本够用。
    三是价格中等或较高,如微创的BMS、MI的TestDirector、IBM Rational的ClearQuest等。可以做一定的环境集成,如TD,可以把Requirement、Testplan、Bug关联起来,微创BMS可以与MS Project、SourceSafe关联。价格稍高,几万到几十万之间,关键是这些高级功能您真的能利用上。

    总的说来,适合您的、就是好的,微软内部的Bug管理界面也非常朴素,看上去有点像windows 95那个时代的小工具。另外服务是很重要的,问题解决不了耽误自己的时间不说,可别影响测试工作。
    北京地区对软件测试感兴趣的朋友可以加我qq交流:306513768
    欢迎访问我的博客:http://www.51testing.com/?110105

    [ 本帖最后由 rendaoyuan 于 2007-6-13 14:26 编辑 ]
  • [论坛] Testing activity

    2007-06-15 11:20:31

    Testing activity

    uTesting is an integral component of the software process

    uTesting is a critical element of software quality assurance
           uTesting is an activity that must be carried out throughout the software development life cycle


    What Should Be Tested?



    Correctness


    Utility
    Performance
    Robustness
    Reliability

    Correctness


    The extent to which a program satisfies its specification and fulfills the customer’s mission objectives.
    If input that satisfies the input specifications is provided and the product is given all the resources it needs, then the product is correct if the output satisfies the output specification.
    If a product satisfies its specification, then this product is correct.

    Questions


    Suppose a product has been tested successfully against a broad variety of test data. Does this mean that the product is acceptable?

    Utility

    Utility is the extent to which a user’s needs are met when a correct product is used under condition permitted by its specifications.
    It focus on how easy the product is to use, whether the product performs useful functions, and whether the product is cost effective compared to competing products.

    If the product is not cost effective, there is no point in buying it.
    And unless the product is easy to use, it will not be used at all or it will be used incorrectly.
    Therefore, when considering buying an existing product, the utility of the product should be tested first; and if the product fails on that score, testing should stop.

    Performance


    It is the extent to which the product meets its constraints with regard to response time or space requirements.
    Performance is measured by processing speed, response time, resource consumption, throughput and efficiency.

    Performance: For example, a nuclear reactor control system may have to sample the temperature of the core and process the data every 10th of a second. If the system is not fast enough to be able to handle interrupts from the temperature sensor every 10th of a second, then data will be lost and there is no way of ever recovering the data; the next time that the system receives temperature data, they will be the current temperature, not the reading that was missed. If the reactor is on the point of a meltdown, then it is critical that all relevant information be both received and processed as laid down in the specifications.


    With all real-time system, the performance must meet every time constraint listed in the specifications.


    Reliability


    uIf a program repeatedly and frequently fails to perform, it matters little whether other software quality factors are acceptable.
    uSoftware Reliability is defined in statistical terms as “the probability of failure-free operation of a computer program in a specified environment for a specified time.”
    uIt is necessary to know how often the product fails. (MTBF)
    uWhen a product fails, an important issue is how long it takes, on average , to repair it. (MTTR)
    uMeasure of Reliability:
    MTBF = MTTF + MTTR

    uMTBF: mean-time-between-failure
    uMTTF: mean-time-to-failure
    uMTTR: mean-time-to-repair
    u
    uSoftware availability is the probability that a program is operating according to requirements at a given point in time.
    uMeasure of Reliability:
    u
    MTBF = MTTF + MTTR

    uMeasure of Availability:
    u
    Availability = [MTTF/(MTTF + MTTR)] * 100%

    u

     



    [ 本帖最后由 rendaoyuan 于 2007-3-30 11:37 编辑 ]
  • [论坛] ***电子商务网站兼容性测试用例

    2007-06-15 11:14:52

    编制人  审定人  时间
    软件名称 ***电子商务网站 编号/版本
    测试用例 测试客户端的兼容性
    用例编号 C01
    用例描述 操作系统:
    测试站点能否在windows的各个版本上浏览? 有些字体在某个系统上可能不存在,因此需要确认选择了备用字体。如果用户使用两种操作系统,请确认站点未使用只能在其中一种操作系统上运行的插件。
    浏览器:
    测试站点能否使用 Netscape、Internet Explorer 进行浏览。有些 HTML 命令或脚本只能在某些特定的浏览器上运行。请确认有图片的替代文字,因为可能会有用户使用文本浏览器。如果您使用 SSL 安全特性,则只需对 3.0 以上版本的浏览器进行验证,但是对于老版本的用户应该有相关的消息提示。
    视频设置:
    页面版式在 640x400、600x800 或 1024x768 的分辨率模式下是否显示正常? 字体是否太小以至于无法浏览? 或者是太大? 文本和图片是否对齐?

    输入说明
    Os    Browser         IE 5.0 IE 5.5 IE6.0 IE7.0 TT Netscape4.0
    Windows95      
    Windows98      
    Windows98se      
    WindowsNT      
    Windows me      
    Windows 2000 p ** ** *** ** * *
    Windows 2000 s      
    Windows XP p   ***   
    Windows XP h      
    Windows 2003 *     
    同时查看系统界面在各种分辨率模式下的显示情况
    实际结果



    北京地区对软件测试感兴趣的朋友可以加我qq交流:306513768
    我的博客:http://www.51testing.com/?110105

    [ 本帖最后由 rendaoyuan 于 2007-6-13 14:17 编辑 ]
Open Toolbar