发布新日志

  • 页面测试点

    2010-01-25 11:50:14

    1、页面链接检查 每一个链接是否都有对应的页面,并且页面之间切换工具,如LinkBotProFile-AIDCSHTML Link ValidaterXenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持aspdojsp等结尾的网页,同时能够生成html格式的测试报告。

    2、相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确检查按钮的功能是否正确 如新建、编辑、删除、关闭、返回、保存、导入等功能是否正确。

    3、字符类型检查:在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。

    1)标点符号检查:输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。

    2)特殊字符检查输入特殊符号,如@#$%!等,看系统处理是否正确。

    3)字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。

    4、中文字符处理:在可以输入中、英文的系统输入中文,看会否出现乱码或出错。

    检查信息的完整性 在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信息是否一致。

    5、信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。

    6、检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,delete,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。

    7、检查添加和修改是否一致检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型

    8、检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错

    9、重复提交表单:一条已经成功提交的纪录,返回后再提交,看看系统是否做了处理。对于Web系统检查多次使用返回键的情况   在有返回键的地方,返回到原来页面,重复多次,看会否出错

    10、搜索检查:有搜索功能的地方输入系统存在和不存在的内容,看搜索结果是否正确.如果可以输入多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确。

    11、输入信息位置:注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。

    12、上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。下载文件能否打开或者保存,下载的文件是否有格式要求,如需要特殊工具才可以打开等。

    13、必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*;对必填项提示返回后,焦点是否会自动定位到必填项。

    14、快捷键检查:是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。

    15、回车键检查:在输入结束后直接按回车键,看系统处理如何,会否报错。

    16、刷新键检查:Web系统中,使用浏览器的刷新键,看系统处理如何,会否报错。  

    17、回退键检查:Web系统中,使用浏览器的回退键,看系统处理如何,会否报错。对于需要用户验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看系统如何处理。

  • 网站测试点

    2010-01-25 11:26:33

     
    网站测试关注点
     
     

    UI测试

    UI测试包括的内容有如下几方面:

    1)各个页面的样式风格是否统一;

    2)各个页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否居中显示;

    3)各个页面的title是否正确;

    4)栏目名称、文章内容等处的文字是否正确,有无错别字或乱码;同一级别的字体、大小、颜色是否统一;

    5)提示、警告或错误说明应清楚易懂,用词准确,摒弃模棱两可的字眼;

    6)切换窗口大小,将窗口缩小后,页面是否按比例缩小或出现滚动条;各个页面缩小的风格是否一致(按比例缩小或出现滚动条,不可二者兼有);

    7)父窗体或主窗体的中心位置应该在对角线焦点附近;子窗体位置应该在主窗体的左上角或正中;多个子窗体弹出时应该依次向右下方偏移,以显示出窗体标题为宜;

    8)按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置;避免空旷的界面上放置很大的按钮;按钮的样式风格要统一;按钮之间的间距要一致;

    9)页面颜色是否统一;前景与背景色搭配合理协调,反差不宜太大,最好少用深色或刺目的颜色;

    10)若有滚动信息或图片,将鼠标放置其上,查看滚动信息或图片是否停止;

    11)导航处是否按相应的栏目级别显示;导航文字是否在同一行显示;

    12所有的图片是否都被正确装载,在不同的浏览器、分辨率下图片是否能正确显示(包括位置、大小);

    13)文章列表页,左侧的栏目是否与一级、二级栏目的名称、顺序一致;

    14) 调整分辨率验证页面格式是否错位现象;

    15)鼠标移动到Flash焦点上特效是否实现,移出焦点特效是否消失;

    链接测试

    链接测试主要分为以下几个方面:

    1)页面是否有无法连接的内容;图片是否能正确显示,有无冗余图片,代码是否规范,页面是否存死链接(可以用HTML Link Validator工具查找);

    2)图片上是否有无用的链接;点击图片上的链接是否跳转到正确的页面;

    3)首页点击LOGO下的一级栏目或二级栏目名称,是否可进入相应的栏目;

    4)点击首页或列表页的文章标题的链接,是否可进入相应的文章的详细页面;

    5)点击首页栏目名称后的【更多】链接,是否正确跳转到相应页面;

    6)文章列表页,左侧的栏目的链接,是否可正确跳转到相应的栏目页面;

    7导航链接的页面是否正确;是否可按栏目级别跳转到相应的页面;

    (例:【首页->服务与支持->客服中心】,分别点击“首页”、“服务与支持”、“客服中心”,查看是否可跳转到相应页面;)

    搜索测试

    搜索测试主要分为以下几个方面:

    1)搜索按钮功能是否实现;

    2)输入网站中存在的信息,能否正确搜索出结果;

    3)输入键盘中所有特殊字符,是否报错;特别关注:_ ’ . · \  / -- ;特殊字符

    4)系统是否支持键盘回车键、Tab键;

    5)搜索出的结果页面是否与其他页面风格一致;

    6)在输入域输入空格,点击搜索系统是否报错;

    7)本站内搜索输入域中不输入任何内容,是否搜索出的是全部信息或者给予提示信息;

    8)精确查询还是模糊查询,如果是模糊查询输入:中%国。查询结果是不是都包含中国两个字的信息;

    9)焦点放置搜索框中,搜索框内容是否被清空;

    10)搜索输入域是否实现回车键监听事件;

    表单测试

    表单测试主要分为以下几个方面:

    1)注册、登录功能是否实现;

    2)提交、清空按钮功能是否实现;

    3)修改表单与注册页面数据项是否相同,修改表单是否对重名做验证;

    4)提交的数据是否能正确保存到后台数据库中(后台数据库中的数据应与前台录入内容完全一致,数据不会丢失或被改变);

    5)表单提交,删除,修改后是否有提示信息;

    6)浏览器的前进、后退、刷新按钮,是否会造成数据重现或页面报错;

    7)提交表单是否支持回车键和Tab键;

    8)下拉列表功能是否实现和数据是否完整(例如:省份和市区下拉列表数据是否互动);

    输入域测试

    输入域测试主要分为以下几个方面:

    1)对于手机、邮箱、证件号等的输入是否有长度及类型的控制;

    2)输入中文、英文、数字、特殊字符(特别注意单引号和反斜杠)及这四类的混合输入,是否会报错;

    3)输入空格、空格+数据、数据+空格,是否报错;

    4)输入html语言的<head>,是否能正确显示;

    5)输入全角、半角的英文、数字、特殊字符等,是否报错;

    6)是否有必填项的控制;不输入必填项,是否有友好提示信息;

    7)输入超长字段,页面是否被撑开;

    8)分别输入大于、等于、小于数据表规定字段长度的数据,是否报错;

    9)输入非数据表中规定的数据类型的字符,是否有友好提示信息;

    10)在文本框中输入回车键,显示时是否回车换行;

    11)密码输入域输入数据显示是否可见;

    分页测试

    分页测试主要分为以下几个方面:

    1)当没有数据时,首页、上一页、下一页、尾页标签全部置灰;

    2)在首页时,“首页”“上一页”标签置灰;在尾页时,“下一页”“尾页”标签置灰;在中间页时,四个标签均可点击,且跳转正确;

    3)翻页后,列表中的数据是否扔按照指定的顺序进行了排序;

    4)各个分页标签是否在同一水平线上;

    5)各个页面的分页标签样式是否一致;

    6)分页的总页数及当前页数显示是否正确;

    7)是否能正确跳转到指定的页数;

    8)在分页处输入非数字的字符(英文、特殊字符等),输入0或超出总页数的数字,是否有友好提示信息;

    9)是否支持回车键的监听

     
  • 网站的测试点

    2010-01-25 10:44:54

    测试工作总结:

    Livebookingsabout three mounth

    1.       Title of the page:每个页面中都需要有页面的title

    2.       Regiester page

    register successful then the page should be turn to the login in page, and the new user should be inputed but the password  should not be input in the login in page

    Register faield , the page should be in the regiester page, the information should be still in the page.

    3.       Button : the style. should be same in the system, 在测试的时候 button 必须实现他的真正的功能。

    4.       前台和 后天 should be same,

    5.       互相影响的地方需要同步更新。If add the new items, in the same page, the new item should be displayed after the new item has been added successfully. If the item is delete the item should be deleted from the same page,

    6.       更具客户的需求, 如果现在要求保存住search 查询条件的话, 所有的查询前的条件都要记录住,包括被张开的部分和 所有的被影响的可以变化的字体都要记录着。

    7.       Search functions, 需要查询查询结果是不是真的正确。 在一个条件下或是在多个条件下在查询的都应该显示的是正确的结果。

    8.       Test case 以后在写test case 的时候需要注意覆盖面的问题,需要全部覆盖到,并且要严格的采取测试的等价类划分的技巧, 以方便开发人员开发驱动测试(TDD.并在写test case 的时候要明确什么时候 正确的结果 什么时候不正确的, 都要明确的写在 testcase 中。

    9.       在测试的时候 要尽早的发现 bugs,这样及早的解决这些问题。

    10.   Email search 的条件中都是不区分大小写的,。

    11.   在测试的时候 要尽量考虑在页面不是最大的时候 页面现在的是不是有问题。(特别是在页面最大化到出现滚动条, 或是由有滚动条状态到 最大化的状态的时候是不是页面还是有问题。

    12.   注意浏览器本身的特性对页面显示效果的影响(firefox3.0: 有的时候会记录住页面的密码, IE6 有些功能是在ie6中不能正常的显示的。Safari 中的 文本框是可以拉升的。

    13.   测试中测试功能应该是浏览器为主,测试界面时要多个浏览器并用。(这个现在需要考虑如何更好的完成测试中的任务。)

    14.   本地化测试的时候 要注意小的细节的地方 是否被本地化了。 在客户那边改变功能的时候是不是 相应的东西也本地化了。 

    15.   提交按钮不可以连续点击。 以免系统响应时间长, 导致系统崩溃-----现在这个开发人员还是没有时间这个问题, 需要在以后的测试中注意。

    16.   为了方便用户的正真的使用,在点击back按钮的时候以前添加的信息需要保存----这个是在book 中所有添加的信息在back 到后一页或是proceeds 到前一页的时候都是需要保存的-----所以在以后测试的时候需要考虑到类似的问题,以方便

    17.   在点击了back按钮 然后 在点击proccede 按钮的时候, 系统还是需要保存住原来已经添加的信息, 减少用户的重复的输入工作。

    18.   测试的时候 发现的bug 要坚定自己的原则。并在测试的早期尽量多的发现bug 特别要主要逻辑上的bug 不要到最后的时候才发现出这些主要的逻辑的bug

    19.    

     

     

    测试弱点:

    在测试的早期发现bug 少。

    不是把主要的注意力放在主要的功能上。

    虽然测试时间很匆忙但是测试效率不高。这个项目很注重UI ,但是在客户发现的bug 很多是UI issue

    在以后的工作中, 如发现问题尽量的提交bug PMS上。 减少和开发人员的沟通,尽量做到少个开发人员在bug 上的沟通。

    在以后每次提交的时候 都要总结一下,看看自己的不足之处,并在以后的测试中改正,提高测试效率。

     

     

    在测试的时候 界面上的任何的元素不能因为设计别的界面而是 其他的界面或是元素变形。(转动的ajax

    1.     在测试的时候要考虑方便用户是应用, 尽量减少用户的操作。

    2.     website 中需要考虑到 tab 的功能

    3.       要严格的按照测试用例来执行测试。---- 现在要把每次提交的东西放到PMS上去。 以后要在pms 中查找测试结果, 在测试之前要把test case 更新到Pms 上。 

    4.     每次提交的时候都要 email 中都要有测试总结。 把自己以测试过的和没有测试过的,那个主要的bug还有没有修改都需要总结一下。--------在每个迭代中测试出来的bug 数, 还有多少bug 还没有修改, 有没有严重的bug 还没有修改。

     

    5.       在每次客户反馈后都要自己总结 什么功能改变了, 需要update test case 都要及时的更新到testcase 中, 并分析是什么原因造成客户issue 并做记录,在以后的测试过程中不要犯同样的错误。 ---------明确的分清那个是自己的问题

    6.     要在客户发现问题之前找到bug 这个是最终的目的。------这个问题很需要注意

    7.       在测试的时候,在search 所有的查询的条件都要验证,特别是一些小的查询的条件和非必填项都需要验证,并且需要验证查询的结果是不是正确。--------在测试的时候都要测试到以防一些bug 没有找到

    8.     在测试的时候 需要考虑到分页功能是不是正常的显示, 是不是正确的本地化。 是不是由于分页功能而影响到了页面的显示。 -------分页功能需要注意本地化, 在一页的时候 previous  是不可点击的, 在最后一页的时候Next 应该是灰色的或是不可点击的。

    9.       在测试的时候有与网络有关的 步骤必须考虑到断网的情况----- 一些加载的东西需要测试

    10.  控件TAB顺序是否从左到右,从上到下

    11.   日期的显示的格式: 是否接受正确的日期格式, 是否接受错误的日期格式,是否显示正常的日期格式。

    12.  文本框或是其他的控件在拒绝输入和选中的时候 显示区域是否变灰或是别的规则

    13.  在注册的页面中, 密码输入框是否按掩码的方式显示,Cancel之类的按钮按下后,控件中的数据是否清空复原或按既定规约处理,Submit之类的按钮按下后,数据是否得到提交或按既定规约处理。

    测试的时候 需要注意的问题:

    1.       用户在退出系统后重新登陆时应考虑是否需要自动返回到上次退出系统时的界面;

    2.       页面的转向的问题

    3.       URL不区分大小写

    4.       某些重要信息在输入、修改、删除时应有确认提示信息;

    5.       界面内容更新后系统应提供刷新功能。

    6.       v在多个业务功能组成的一个业务流程中,如果各个功能之间的执行顺序有一定的制约条件,应通过界面提示用户

    7.       在对任何配置信息修改后,都应该在用户退出该界面时提示用户保存(如果用户没有主动保存的情况下);

    8.       界面测试时,应考虑用户使用的方便性:
      a) 在某些对数据进行处理的操作界面,应考虑用户可能对数据进行处理的频繁程度和工作量,考虑是否可以进行批量操作。
      8.界面测试时,应考虑界面显示及处理的正确性:

    9.       界面测试时,应考虑界面显示及处理的正确性:
      a) 界面测试时应验证所有窗体中的对象状态是否正常,是否符合相关的业务规则需要。
      b) 应验证各种对象访问方法(Tab 健、鼠标移动和快捷键)是否可正常使用,并且在一个激活界面中快捷键无重复;
      c) 界面测试不光要考虑合理的键盘输入,还应考虑是否可以通过鼠标拷贝粘贴输入。

      d) 对于统计查询功能的查询结果应验证其是否只能通过界面上的查询或刷新按键人工触发,应避免其他形式的触发。
    查看(728) 评论(1) 收藏 分享 管理

  • QTP 的学习1023

    2009-10-23 11:35:10

    Reporter.ReportEvent使用

    Reporter.ReportEvent  有四个参数
    第一个参数是状态,状态有四种 micPass 通过
                                micFail  失败
                                micDone 完成
                                micWarning 警告
    第二个参数是步骤名称

    第三个参数是内容描述

    第四个参数可有可无 我也没有用过第四个参数呵呵

     

    Msgbox "XXXXXXX"

    print "XXXXXXX"

    分页功能的测试:

    With Browser("Browser").Page("Building List")
     If .Link("class:=nextpage").Exist(2) Then
      print "next page exists!"
        ' Reporter.ReportEvent micpass, "next page exists!","Next"
     'else
      
     End If
        .Link("class:=nextpage").Click
     .Sync
     wait 2
        If .Link("class:=prepage").Exist(2) Then
       'Reporter.ReportEvent micpass , "pre page exists!","Pre"
         print "next page exists!"
     'Else
     
     End If
    End With

     

    分页功能测试2

     

    Public Sub Pagination ()
        Reporter.ReportEvent micDone ,"调用 Pagination ()","Start"
     
     intTotal_Page=Browser("name:="&strBrowserName).Page("title:="&strPageName).Frame("title:="&strFrameName).WebElement("html id:=total_page").GetROProperty("innertext")
        msgbox  intTotal_Page
     intCur_Page=Browser("name:="&strBrowserName).Page("title:="&strPageName).Frame("title:="&strFrameName).WebElement("html id:=cur_page").GetROProperty("innertext")
     msgbox  intCur_Page
        If (intTotal_Page=0and intCur_Page=0)or (intTotal_Page=1and intCur_Page=1) Then
       Reporter.ReportEvent micpass ,"分页","没有分页"
      End If
      if  (intCur_Page<intTotal_Page)  then
       Browser("name:="&strBrowserName).Page("title:="&strPageName).Frame("title:="&strFrameName).Image("file name:=pages_go.gif").Click
       end if
      If  (intTotal_Page= intCur_Page) then
       Browser("name:="&strBrowserName).Page("title:="&strPageName).Frame("title:="&strFrameName).Image("file name:=pages_back.gif").Click
       end if
        Reporter.ReportEvent micDone ,"调用 Pagination ()","End"
    End Sub

     

     

     

     

     

     


  • QTP 的学习

    2009-10-20 15:34:13

    1. MsgBox的使用

    f Browser("Mercury Tours").Page("Welcome to Mercury").Image("Search Flights").Exist Then

        MsgBox "The Image Exists."
    Else
        MsgBox "Cannot find the Image."
    End If
    End Sub
     
    'Msgbox DataTable.value("Order")
    Window("Flight Reservation").WinEdit("Order No:").Output CheckPoint("Order No:")
    Msgbox Parameter("nn")

    2. Description 的使用

     

    Set nline = Description.Create()
    online("src").Value = "http://www.51testing.com/images/new/logo.gif"

     

    Set nlineCo = Browser("51Testing软件测试网-中国软件测试人的精神家园").Page("51Testing软件测试网-中国软件测试人的精神家园").ChildObjects(online)

    onlineCoCount = onlineCo.Count

    If nlineCoCount = 0 Then

     MsgBox "这个页面没有打开"

     wait 2

     else

     Msgbox  "这个页面正常的打开了"
       ' Desktop.CaptureBitmap "d:\test.png",true
        'SendMail "XXXXX@QQ.com","XXXXX","XXXXX","XXXXX","XXXXX","XXXXX@163.com"

     

    你可以使用Description对象,来返回一个Properties collection对象,该集合对象包括一系列Property对象。每个Property对象由Property name及value组成。

    然后在语句中用Properties collection对象替代被测对象的名称。

    注意:默认情况下,所有被添加到Properties collection中的Property对象的值被当成正则表达式对待。因此,当Property Value中包含正则表达式的特殊字符(如*,?,+)时,要在特殊字符前使用“\”符号。

    你也可以在Properties Collection中,将RegularExpression属性值设置为False,这样即使在Property Value中用到了正则表达式的特殊字符,也会被视为普通字符。更多信息参考QuickTest Professional Object Model Reference的Utility部分。

    要创建Properties collection,使用Dexcription Create语句,语法如下:

    Set MyDescription = Description.Create()

    一旦创建了Properties 对象(例如上例中的Mydescription),在运行过程中,你就可以使用语句向Properties对象添加、编辑、移除或获取属性及属性值。这使你在运行过程中可以动态的决定:在对象描述中使用哪些属性、使用多少属性。

    当你将一系列的属性及属性值加入到Properties collection中以后,你就可以在脚本语句中用Properties对象替代被测对象的名称。

    例如,有如下语句:

    Window("Error").WinButton("text:=OK", "width:=50").Click

    通过改造,成为:

    Set MyDescription = Description.Create()

    MyDescription("text").Value = "OK"

    MyDescription("width").Value = 50

    Window("Error").WinButton(MyDescription).Click

    注:当为一个ActiveX对象创建编程性描述时,如果该对象的run-time对象是windowless的(即没有相应的window handel),就必须在属性描述中将它的windowless property设置为Ture。

    例如:

    Set ButDesc = Description.Create

    ButDesc("ProgId").Value = "Forms.CommandButton.1"

    ButDesc("Caption").Value = "OK"

    ButDesc("Windowless").Value = True

    Window("Form1").AcxButton(ButDesc).Click

    获取Child Objects(Retrieving Child Objects)

    通过ChildObjects方法,可以获取指定对象下的所有子对象,或只获取那些符合编程性描述的子对象。为了获取某对象的子对象的子集,首先需创建一个description对象,然后在该对象的descriptions collection中添加一系列的属性及属性值,这些属性及属性值必须符合子集的要求。

    注意:你必须使用Description对象来为ChildObjects描述参数 创建编程性描述,不能使用property:=value语法直接将编程性描述添加到参数中。

    一旦你已经在description对象中“built”了描述,就可以使用下面的语法来获取与描述匹配的子对象:

    Set MySubSet=TestObject.ChildObjects(MyDescription)

    例如:下面的语句使QTP选中网页中的所有选择框:

    Set MyDescription = Description.Create()

    MyDescription("html tag").Value = "INPUT"

    MyDescription("type").Value = "checkbox"

    Set Checkboxes = Browser("Itinerary").Page("Itinerary").ChildObjects(MyDescription)

    NoOfChildObjs = Checkboxes.Count

    For Counter=0 to NoOfChildObjs-1

    Checkboxes(Counter).Set "ON"

    Next

    For more information about the ChildObjects method, refer to the QuickTest Professional Object Model Reference

     

    3.

     

    碰到了个问题,QTP怎么用描述性编程去定位网页中弹出的窗口?
    你用OBJECT SPY 把那个窗口捕获,然后观测它的一些常量值如:CLASSNAME SWFTYPENAME 等等
    SET  DESC = DESCRIPTION.CREATE()
    DESC("CLASSNAME ").VALUE = "AAABBBCCC"
    DESC("SWFTYPENAME ").VALUE = "TTTDDDUUU"
    DESC("CLASS NAME ").VALUE = "SWFWINDOW"
    IF OBJ.SWFOBJECT(DESC).EXIST(1) THEN
          MSGBOX "I AM HERE"
    END IF

     
    End If
  • [论坛] 软件测试 过程

    2009-05-06 15:03:13

    新产品或工程管理流程
    1.1、需求调研

    在软件需求分析阶段,测试人员从软件生命周期的需求阶段就开始介入在需求阶段的测试人员参与软件需求调研,以测试角度分析需求的可测性,可构思将来对其测试的方法、原则等;同时全面了解系统需求,从客户角度考虑软件测试需要达到的验证状态,即哪些功能点需重点测试、哪些无需,以便将来制定测试计划。
    1.2、制定测试计划
    进行每一种测试之前,测试负责人要根据“产品定义书”及“总体设计说明”和“详细设计文档”制定“测试计划”,制定总体的测试计划,详细阐明本次测试目的、对象、方法、范围、过程、环境要求、接受标准以及测试人员和测试时间等内容,“测试计划”经过审查通过,才能实施。
    1.3、需求Review
    开发在完成软件需求分析之后,会提交需求分析文档,测试人员根据需求调研所了解的需求以及产品需求说明文档等资料,对需求分析文档进行Review,检查文档是否满足了需求,是否与需求一致等等。
    1.4、设计Review
    在软件分析设计阶段,测试人员参与设计讨论,了解系统的实现方式和原理,并对概要设计和详细设计提出自己的见解。设计结束之后,开发提交概要设计文档和详细设计文档,测试人员对设计进行Review,检查设计规划和实现方案是否合理,如果不合理,存在的问题是什么、如何改进等等。
    1.5、测试设计
    在设计测试方案时,首先分解测试内容,对于一个复杂系统,通常可以分解成几个互相独立的子系统,正确地划分这些子系统及其逻辑组成部分和相互间的关系,可以降低测试的复杂性,减少重复和遗漏,也便于设计和开发测试用例,有效的组织测试,将系统分析人员的开发分析文档加工成以测试为角度的功能点分析文档,重要的是描述对系统分解后每个功能点逐一的校验描述,包括何种方法测试、何种数据测试、期望测试结果等。然后以功能点分析文档作为依据进行测试用例的设计,设计测试用例是关系到测试效果以至软件质量的关键性一步,也是一项非常细致的工作,根据对具体的北侧系统的分析和测试要求,逐步细化测试的范围和内容,设计具体的测试过程和数据,同时将结果写成可以按步执行的测试文档。
    每个测试用例必须包括以下几个部分:
    (1) 标题和编号;
    (2) 测试的目标和目的;
    (3) 输入和使用的数据和操作过程;
    (4) 期望的输出结果;
    (5) 其他特殊的环境要求、次序要求、时间要求等。
    1.6、开发测试工具和准备测试数据
    在软件测试中,为了提高测试工作的效益和质量,只要条件许可,应尽可能采用计算机自动或半自动测试的方法,利用软件工具本身的优势来提高工作效率。
    1.7、测试执行
    当所有必需的测试准备工作都已完成,并且产品已经开发完毕并提交测试,则可以按照预定的测试计划和测试方案逐项进行测试。在测试过程中发现的任何与预期目标不符的现象和问题都必须详细记录下来,填写测试记录。为了能准确的找出问题产生的原因,及时的解决问题,保证测试工作的顺利进行,一般来说所发现的问题必须是能够重视的。
    1.8、回归测试
    在测试中发现的任何问题和错误都必须有一个明确的解决方法。一般来说,经过修改的软件可能仍然包含着错误,甚至引入了新的错误,因此,对于修改以后的程序和文档,按照修改的方法和影响的范围,必须重新进行有关的测试。另一方面,对于版本更新后的软件也必须进行同样的测试过程。
    1.9、测试分析报告
    ?测试结束后要及时地进行总结,对测试结果进行分析,由测试负责人提交“测试分析报告”。
    1.10、产品发布?
    测试完毕,整理产品发布包和相关文档并发布。对于新产品来说,必要的文档必须包括:
    (1) 安装操作手册
    (2) 产品白皮书
    (3) 管理维护手册
    (4) 用户操作手册
    (5) 测试报告
    1.11、版本控制
    新版本软件发布之后,马上对代码进行质量控制。
    (1) Build Master给新版本的源代码打一个cvs tag,方便代码回滚check out。比如,发布版本为p2p3.3.2,则给该软件源代码也打一个与发布版本相同名字的tag p2p3.3.2。这样做的一个好处是,在目前的软件的基础上做了修改并发布新的版本后,如果需要check out某个版本的源代码,则可以通过这个版本的tag来check out,代码的修改可以在该版本上进行。
    (2) Build Master对新发布的软件源代码进行cvs lock,不允许开发人员在软件发布之后commit源代码,直到有新版本需求修改再给开发人员开放commit权限。这样做的好处是避免开发人员随意修改和commit源代码,确保源代码服务器上的源版本版本与当前最新的发布版本一致。

    二、 工程维护管理流程
    2.1、收集新需求

    新功能和不紧急的故障,其代码的修改操作不必马上进行,取而代之的是做好新需求与故障统计;对已经确认的故障也可以先在bug管理系统报bug,但只是记录,不需要马上修改。当然了,对于紧急的工程故障,需要马上修改和测试。
    2.2、确认新需求
    与工程人员或客户或产品经理确认新需求,确保需求被理解正确。
    2.3、需求讨论
    当需求与故障积累到一定数量或者工程有新版本需求,进行一次发布测试,在新版本开始修改之前把近期积累的需求与故障整理,与相关开发人员、测试人员、项目经理和测试经理讨论,确认哪些新功能可以实现、新功能的实现方法与业务流程、新功能开发修改时间、测试版本、测试时间与发布时间。
    2.4、在bug跟踪管理系统报bug
    确认所有需要修改的新功能和需求录入bug跟踪管理系统,并在bug跟踪管理系统中详细描述新功能需求和解决方法,同时整理相关bug列表,交付开发修改。
    2.5、制定测试计划
    A、 根据用户需求,定义并完善测试需求,作为测试的标准;
    B、 确定重点测试事项,哪些功能需要重点测试;
    C、 测试时间计划,并详细计划具体测试任务与时间;
    D、 风险说明;
    E、 测试准备,提前对测试环境和测试资源进行准备;
    F、 发布具体时间;
    G、 资源需求:包括测试人员、硬件需求、软件需求和培训计划;
    2.6、编写测试案例
    根据功能需求编写测试案例;
    2.7、测试开发
    开发自动测试脚本,补充自动测试案例;
    2.8、测试实施
    按照测试计划进行测试,发现并申报bug;
    2.9、测试评估
    A、 哪些需求通过了测试;
    B、 有哪些遗留问题;
    C、 测试效率评估;
    D、 开发质量度量和评估;
    E、 并根据评估编写测试报告;
    2.10、发布新版本
    A、 编写新功能文档,给工程提供新功能说明;
    B、 编写升级文档,给工程提供升级参考方案;
    C、 软件发布,包括新版本软件、新功能文档、升级文档和测试报告;
    2.11、代码版本控制
    新版本软件发布之后,马上对代码进行质量控制。
    A、 Build Master给新版本的源代码打一个cvs tag,方便代码回滚check out。比如,发布版本为p2p3.3.2,则给该软件源代码也打一个与发布版本相同名字的tag p2p3.3.2。这样做的一个好处是,在目前的软件的基础上做了修改并发布新的版本后,如果需要check out某个版本的源代码,则可以通过这个版本的tag来check out,代码的修改可以在该版本上进行。
    B、 Build Master对新发布的软件源代码进行cvs lock,不允许开发人员在软件发布之后commit源代码,直到有新版本需求修改再给开发人员开放commit权限。这样做的好处是避免开发人员随意修改和commit源代码,确保源代码服务器上的源版本版本与当前最新的发布版本一致。

  • 求职技巧

    2009-04-22 11:30:01

    本人是05年应届本科毕业生,目前在上海从事测试工作,对测试工作有强烈的兴趣,希望能进入北京的重视测试工作的公司.
    熟悉软件开发过程,测试步骤及报告编写,理解测试流程、测试统计及测试软件的开发
    熟悉测试理论及方法,熟悉CMMI模型
    可以根据功能说明书和测试说明书,创建测试案例
    具有设计编写、执行和评估测试用例的能力,具有对测试结果进行分析、总结的能力
    具备管理测试小组的能力、沟通能力和文字表达能力,有很强沟通能力和团队合作精神
    具有java程序开发经验,熟悉Linux、UNIX等操作系统,Tomcat等应用服务器.
    能熟练的使用英文编写文档

     

    考官从办公室(面试现场)随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,让应聘人对它设计出尽可能多的测试用例。

    测试项目:杯子

    需求测试:查看杯子使用说明书

    界面测试:查看杯子外观

    功能度:用水杯装水看漏不漏;水能不能被喝到

    安全性:杯子有没有毒或细菌

    可靠性:杯子从不同高度落下的损坏程度

    可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用

    兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

    易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

    用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

    疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等

    压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

    跌落测试:   杯子加包装(有填充物),在多高的情况摔下不破损

    震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输

    测试数据:

    测试数据具体编写此处略(最讨厌写测试数据了)。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法

    期望输出:

    该期望输出需查阅国标、行标以及使用用户的需求

    说明书测试: 检查说明书书写准确性

    给大家提三个产品:1.手机 2.电饭锅 3.电梯

     

    网上解答之一:

     
    测试项目:手机

    需求测试:查看手机使用说明书

    界面测试:机身有没有裂痕或损伤,
            液晶屏有没有坏点,
            操作系统的一致性、易用性、色彩搭配……
            (一般界面测试有专门的界面测试人员测试,涉及到界面设计、人机交互的 内容,给大家推荐个网,有兴趣的可以上去看看,www.chinaui.com,)
           
    功能度:手机应有的功能……好多哦!开机、关机、发短信、通话、铃声………………
            (我手机有个问题……就是通话过程中按键无效,所以拨打不了分机号码,也不能给自己手机充值……)

    安全性:会不会漏电、辐射程度、机身会不会有比较尖锐的地方、

    可*性:从不同高度落下、平抛等的损坏程度,掉水里后还能不能用,

    可移植性:在不同的地方、温度等环境下是否都可以正常使用

    兼容性:对不同国家地区、不同型号的卡、非原装的电池和充电器是否同样适用

    易用性:(这个是属于界面测试吧)
            手机是否适合面向的客户的手形(中西男女各不同)、
            是否有防滑措施、按键的设计是否符合习惯等……

    用户文档:使用手册是否对手机的用法、限制、使用条件等有详细描述

    疲劳测试:可以不停的拨打电话(我们寝通用的费电方法,拨打1860,嫌打自己寝室太吵了……呵呵)

    压力测试:换不同的重量压吧(……我一同学对索爱的机子一坐,液晶屏坏了……)

    跌落测试:   ……………………

    震动测试: 加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输

    该期望输出需查阅国标、行标以及使用用户的需求

    说明书测试: 检查说明书书写准确性,多种语言
  • mySQL学习

    2009-04-16 16:28:44

    特点:
    1.关系型数据库
    2.客户/服务器体系
    3.SQL兼容性:mysql遵循SQL:2003标准,并且有自己的扩展
    4.子查询:从4.1版开始支持子查询
    5.视图:从5.0版开始支持视图
    6.存储过程:从5.0版开始支持存储过程
    7.触发器:触发器是由数据库服务器在一些特定的数据库操作(INSERT,UPDATE和DELETE)过程中自动执行的一组SQL命令。MySQL从5.0版开始支持触发器(但不完备)
    8.Unicode:Mysql支持Unicode
    9.全文搜索:仅限英文字符
    10.镜像复制:动态将一个数据库复制到另一个数据库,有限制(INnodb表格式支持)
    11.事务:MyISAM表格式不支持,InnoDB表格式支持
    12.外键约束:MyISAM表格式不支持,InnoDB表格式支持
    13.GIS函数
    14.ODBC:MySQL支持ODBC接口


    不足:
    1.MyISAM表格式进行操作时是表锁定,InnoDB表格式是行锁定
    2.MyISAM表操作时不能热备份,解决方法是换成InnoDB表格式
    3.MySQL不支持自定义数据类型
    4.MySQL对XML支持不够良好
    5.MySQL对存储过程和触发器支持不够良好

    文章出处:http://www.diybl.com/course/7_databases/mysql/myxl/20081127/152729.html

     

     

    Welcome to my blog~

    MySql,Mssql,Oracle的优缺点和异同(欢迎补充)

    上一篇 / 下一篇  2007-10-05 19:17:11 / 个人分类:技术分享

    查看( 442 ) / 评论( 10 )
    MySql
    优点: 1.支持5000万条记录的数据仓库
    2.适应于所有的平台
    3.是开源软件,版本更新较快
    4.性能很出色。纯粹就性能而言,MySQL是相当出色的,因为它包含一个缺省桌面格式MyISAM。MyISAM 数据库与磁盘非常地兼容而不占用过多的CPU和内存。MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。你还可以通过使用64位处理器来获取额外的一些性能。因为MySQL在内部里很多时候都使用64位的整数处理。
    5.价格便宜
    缺点: 缺乏一些存储程序的功能,比如MyISAM引擎联支持交换功能


    MsSqlserver:
    优点: 1.真正的客户机/服务器体系结构
    2.图形化的用户界面,使系统管理和数据库管理更加直观、简单
    3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地
    4.与WinNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等,SQL Server也可以很好地与Microsoft  BackOffice产品集成。
    5.有很好的伸缩性,可以跨平台使用。
    6.提供数据仓库功能,这个功能只在Oracle和其他昂贵的DBMS中才有。


    Oracle:
    优点: 1.Oracle的稳定性要比Sql server好。
    2.Oracle在导数据工具sqlload.exe功能比Sqlserver的Bcp功能强大,Oracle可以按照条件把文本文件数据导入.
    3.Oracle的安全机制比Sql server好。
    4.Sql server的易用性和友好性方面要比Oracle好。
    5.在处理大数据方面Oracle会更稳定一些。
    6.Sql Server在数据导出方面功能更强一些。
    7.处理速度方面比Oracle快一些,和两者的协议有关.
    缺点: 价格昂贵

    在下搜集总结了这些,希望大家补充~!
  • 软件测试计划 和liunx命令

    2009-04-14 15:57:56

  • smoking test

    2009-03-31 15:24:56

    软件工程中的tt应用:冒烟测试是指对提交测试的软件在进行详细深入的测试之前而进行的预测试,这种预测试的主要目的是暴露导致软件需重新发布的基本功能失效等严重问题。冒烟测试可以由开发人员执行,也可以由测试人员来执行。即,在版本编译后正式提交测试之前由开发人员执行;或开发发布版本后,测试人员在接受这个版本作为正式版本进一步测试前执行。微软提出在审查了变更的代码后,冒烟测试是确认修复的缺陷及功能变更是否有效的最经济有效的方法。冒烟测试能手动执行,也可以在版本编译后自动化执行,它是对基本功能的确认,非深入测试,但要覆盖到面,即所有的更改点都要进行确认。采用自动化执行是,可以结合每日构件后进行自动化的每日smoking test,如果测试通过,则把更改后的代码自动合并到主干代码仓库中,作为正式提交测试的版本。

      对于smoking test在软件开发过程中的应用,下面提出一种可实施的步骤:

      1. 根据软件的变更,包括新需求的实现、bug修复,设计出更改满足预期的功能级checklist。

      2. 准备好测试环境。如:软件的运行环境是嵌入式产品,如手机,数码相机,医疗仪器等,需准备好用户使用的真实运行环境。如果是windows平台运行环境,请准备干净的操作系统

      3.执行checklist,确认基本功能有效,足以支持更进一步的详细、全面测试。

  • wap 知识。

    2009-03-26 17:02:32

    World Association of Psychoanalysis, WAP)

    是一种向移动终端提供互联网内容和先进增值服务的全球统一的开放式协议标准, 是简化了的无线Internet 协议。WAP 将Internet和移动电话技术结合起来,使随时随地访问丰富的互联网络资源成为现实。WAP 服务是一种手机直接上网,通过手机WAP“浏览器”浏览wap 站点的服务,可享受新闻浏览、股票查询、邮件收发、在线游戏、聊天等多种应用服务。通过GPRS 网络接入WAP,可充分发挥接入时延短(2 秒接入)速率高、永远在线、切换方便等优点

    WAP的基本原理

      WDP:WAP数据报协议层,是发送和接收消息的传输层。

      WTLS:无线传输安全层,是为像电子商务这样的应用提供安全服务。

      WTP:WAP传输协议层,提供传输支持,增加由WDP提供的数据报服务的可*性。

      WSP:WAP会话协议层,提供不同应用间的有效数据交换。

      HTTP接口:支持移动终端的信息检索请求。

     

  • [论坛] guideline

    2009-03-08 21:45:30

     

  • 界面测试

    2009-03-08 21:37:01

    第 1 页 共 4 页
    软件的界面测试与设计
    在当今的软件领域,已经几乎找不到没有界面的应用软件了,而界面的设计和测试在我国却发展缓慢。
    目前,界面设计引起软件设计人员的重视程度远远不够,直到最近网页制作的兴起,才受到大家的青睐。
    而设计优良的界面由于需要具有艺术美的天赋而遭到拒绝。国内软件企业对此均不太重视。
    界面是软件与用户交互的最直接的层面,界面的好坏决定用户对软件的第一印象。而设计优良的界面
    能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。
    设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,
    再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
    目前流行的界面风格有三种方式:多窗体、单窗体以及资源管理器风格,无论那种风格,以下原则应
    该得到重视或参考。
    1. 易用性原则
    按钮名称应该易懂,用词准确,屏蔽没楞两可的字眼,要与同一界面上的其他按钮易于区分,能望文
    知意最好。理想的情况是用户不用查阅帮助就能知道该界面的功能并进行相关的正确操作。
    易用性细则:
    1)完成相同或相近功能的按钮用Frame. 框起来,常用按钮要支持快捷方式。
    2)完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离。
    3)按功能将界面划分局域块,用Frame. 框起来,并要有功能说明或标题。
    4)界面要支持键盘自动浏览按钮功能,即按Tab 键的自动切换功能。
    5)界面上首先应输入的信息和重要信息的控件在Tab 顺序中应当靠前,位置也应放在窗口上较醒目的
    位置。
    6)同一界面上的控件数最好不要超过10 个,多于10 个时可以考虑使用分页界面显示。
    7)分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab
    8)默认按钮要支持Enter 操作,即按Enter 后自动执行默认按钮对应操作。
    9)可输入控件检测到非法输入后应给出说明信息并能自动获得焦点。
    10)Tab 键的顺序与控件排列顺序要一直,目前流行总体从上到下,同时行间从左到右的方式。
    11)复选框和选项框按选择几率的高底而先后排列。
    12)复选框和选项框要有默认选项,并支持Tab 选择。
    13)选项数相同时多用选项框而不用下拉列表框。
    14)界面空间较小时使用下拉框而不用选项框。
    15)选项数较少时使用选项框,相反使用下拉列表框。
    16)专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性词眼。
    17)对于界面输入重复性高的情况,该界面应全面支持键盘操作,即在不使用鼠标的情况下采用键盘
    进行操作。
    2. 规范性原则
    通常界面设计都按Windows 界面的规范来设计,即包含“菜单条、工具栏、工具厢、状态栏、滚动条、
    右键快捷菜单”的标准格式,可以说:界面遵循规范化的程度越高,则易用性相应的就越好。小型软件一
    般不提供工具厢。
    规范性细则:
    1)常用菜单要有命令快捷方式。
    2)完成相同或相近功能的菜单用横线隔开放在同一位置。
    3)菜单前的图标能直观的代表要完成的操作。
    4)菜单深度一般要求最多控制在三层以内。
    5)工具栏要求可以根据用户的要求自己选择定制。
    6)相同或相近功能的工具栏放在一起。
    7)工具栏中的每一个按钮要有及时提示信息。
    8)一条工具栏的长度最长不能超出屏幕宽度。
    9) 工具栏的图标能直观的代表要完成的操作。
    10)系统常用的工具栏设置默认放置位置。
    第 2 页 共 4 页
    11)工具栏太多时可以考虑使用工具厢。
    12)工具厢要具有可增减性,由用户自己根据需求定制。
    13)工具厢的默认总宽度不要超过屏幕宽度的1/5。
    14)状态条要能显示用户切实需要的信息,常用的有:目前的操作、系统状态、用户位置、用户信息、
    提示信息、错误信息、使用单位信息及软件开发商信息等,如果某一操作需要的时间较长,还应该显
    示进度条和进程提示。
    15)滚动条的长度要根据显示信息的长度或宽度能及时变换,以利于用户了解显示信息的位置和百分
    比。
    16)状态条的高度以放置五好字为宜,滚动条的宽度比状态条的略窄。
    17)菜单和工具条要有清楚的界限;菜单要求凸出显示,这样在移走工具条时仍有立体感。
    18)菜单和状态条中通常使用5 号字体。工具条一般比菜单要宽,但不要宽的太多,否则看起来很不
    协调。
    19)右键快捷菜单采用与菜单相同的准则。
    3. 帮助设施原则
    系统应该提供详尽而可靠的帮助文档,在用户使用产生迷惑时可以自己寻求解决方法。
    帮助设施细则:
    1)帮助文档中的性能介绍与说明要与系统性能配套一致。
    2)打包新系统时,对作了修改的地方在帮助文档中要做相应的修改,做到版本统一。
    3)操作时要提供及时调用系统帮助的功能。常用F1。
    4)在界面上调用帮助时应该能够及时定位到与该操作相对的帮助位置。也就是说帮助要有即时针对性。
    5)最好提供目前流行的联机帮助格式或HTML 帮助格式。
    6)用户可以用关键词在帮助索引中搜索所要的帮助,当然也应该提供帮助主题词。
    7)如果没有提供书面的帮助文档的话,最好有打印帮助的功能。
    8)在帮助中应该提供我们的技术支持方式,一旦用户难以自己解决可以方便的寻求新的帮助方式。
    4. 合理性原则
    屏幕对角线相交的位置是用户直视的地方,正上方四分之一处为易吸引用户注意力的位置,在放置窗
    体时要注意利用这两个位置。
    合理性细则:
    1)父窗体或主窗体的中心位置应该在对角线焦点附近。
    2)子窗体位置应该在主窗体的左上角或正中。
    3)多个子窗体弹出时应该依次向右下方偏移,以显示窗体出标题为宜。
    4)重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置。
    5)错误使用容易引起界面退出或关闭的按钮不应该放在易点位置。横排开头或最后与竖排最后为易点
    位置。
    6)与正在进行的操作无关的按钮应该加以屏蔽。
    7)对可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会。
    8)非法的输入或操作应有足够的提示说明。
    9)对运行过程中出现问题而引起错误的地方要有提示,让用户明白错误出处,避免形成无限期的等待。
    10)提示、警告、或错误说明应该清楚、明了、恰当并且应避免英文提示的出现。
    5. 美观与协调性原则
    界面应该大小适合美学观点,感觉协调舒适,能在有效的范围内吸引用户的注意力。
    美观与协调性细则:
    1)长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度。
    2)布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间。
    3)按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。
    4)按钮的大小要与界面的大小和空间要协调。
    5)避免空旷的界面上放置很大的按钮。
    6)放置完控件后界面不应有很大的空缺位置。
    7)字体的大小要与界面的大小比例协调, 通常使用的字体中宋体9-12 较为美观,很少使用超过12
    第 3 页 共 4 页
    号的字体。
    8)前景与背景色搭配合理协调,反差不宜太大,最好少用深色,如大红、大绿等。常用色考虑使用
    Windows 界面色调。
    9)如果使用其他颜色,主色要柔和,具有亲和力与磁力,坚决杜绝刺目的颜色。
    10)大型系统常用的主色有"#E1E1E1"、"#EFEFEF"、"#C0C0C0"等。
    11)界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方。
    12)如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而
    忽略控件的缩放。
    13)对于含有按钮的界面一般不应该支持缩放,即右上角只有关闭功能。
    14)通常父窗体支持缩放时,子窗体没有必要缩放。
    15)如果能给用户提供自定义界面风格则更好,由用户自己选择颜色、字体等。
    6. 菜单位置原则
    菜单是界面上最重要的元素,菜单位置按照按功能来组织。
    菜单设置细则:
    1)菜单通常采用“常用--主要--次要--工具--帮助”的位置排列,符合流行的Windows 风格。
    2)常用的有“文件”、“编辑”,“查看”等,几乎每个系统都有这些选项,当然要根据不同的系统有所取
    舍。
    3)下拉菜单要根据菜单选项的含义进行分组,并切按照一定的规则进行排列,用横线隔开。
    4)一组菜单的使用有先后要求或有向导作用时,应该按先后次序排列。
    5)没有顺序要求的菜单项按使用频率和重要性排列,常用的放在开头, 不常用的靠后放置;重要的
    放在开头,次要的放在后边。
    6)如果菜单选项较多,应该采用加长菜单的长度而减少深度的原则排列。
    7)菜单深度一般要求最多控制在三层以内。
    8)对常用的菜单要有快捷命令方式,组合原则见8。
    9)对与进行的操作无关的菜单要用屏蔽的方式加以处理,如果采用动态加载方式—即只有需要的菜单
    才显示—最好。
    10)菜单前的图标不宜太大,与字高保持一直最好。
    11)主菜单的宽度要接近,字数不应多于四个,每个菜单的字数能相同最好。
    12)主菜单数目不应太多,最好为单排布置。
    7. 独特性原则
    如果一味的遵循业界的界面标准,则会丧失自己的个性。在框架符合以上规范的情况下,设计具有自
    己独特风格的界面尤为重要。尤其在商业软件流通中有着很好的迁移默化的广告效用。
    独特性细则:
    1)安装界面上应有单位介绍或产品介绍,并有自己的图标或徽标。
    2)主界面,最好是大多数界面上要有公司图标或徽标。
    3)登录界面上要有本产品的标志,同时包含公司图标或徽标。
    4)帮助菜单的“关于”中应有版权和产品信息。
    5)公司的系列产品要保持一直的界面风格,如背景色、字体、菜单排列方式、图标、安装过程、按钮
    用语等应该大体一致。
    6)应为产品制作特有的图标并区别于公司图标或徽标
    8. 快捷方式的组合原则
    在菜单及按钮中使用快捷键可以让喜欢使用键盘的用户操作得更快一些 在西文Windows 及其应用软
    件中快捷键的使用大多是一致的。
    菜单中:
    1)面向事务的组合有:Ctrl-D 删除 ;Ctrl-F 寻找 ;Ctrl –H 替换;Ctrl-I 插入 ;Ctrl-N 新记录 ;
    Ctrl-S 保存 Ctrl-O 打开。
    2)列表:Ctrl-R ,Ctrl-G 定位;Ctrl-Tab 下一分页窗口或反序浏览同一页面控件;。
    3)编辑:Ctrl-A 全选;Ctrl-C 拷贝;Ctrl-V 粘贴;Ctrl-X 剪切;Ctrl-Z 撤消操作;Ctrl-Y 恢复操作。
    4)文件操作:Ctrl-P 打印;Ctrl-W 关闭。
    第 4 页 共 4 页
    5)系统菜单:Alt-A 文件;Alt-E 编辑;Alt-T 工具;Alt-W 窗口;Alt-H 帮助。
    6)MS Windows 保留键:Ctrl-Esc 任务列表 ;Ctrl-F4 关闭窗口; Alt-F4 结束应用;Alt-Tab 下一应
    用 ;Enter 缺省按钮/确认操作 ;Esc
    取消按钮/取消操作 ;Shift-F1 上下文相关帮助 。
    按钮中:
    可以根据系统需要而调节,以下只是常用的组合。
    Alt-Y 确定(是);Alt-C 取消;Alt-N 否;Alt-D 删除;Alt-Q 退出;Alt-A 添加;Alt-E 编辑;Alt-B 浏览;
    Alt-R 读;Alt-W 写。
    这些快捷键也可以作为开发中文应用软件的标准,但亦可使用汉语拼音的开头字母。
    9. 排错性考虑原则
    在界面上通过下列方式来控制出错几率,会大大减少系统因用户人为的错误引起的破坏。开发者应当
    尽量周全地考虑到各种可能发生的问题,使出错的可能降至最小。如应用出现保护性错误而退出系统,这
    种错误最容易使用户对软件失去信心。因为这意味着用户要中断思路,并费时费力地重新登录,而且已进
    行的操作也会因没有存盘而全部丢失。
    排错性细则:
    1)最重要的是排除可能会使应用非正常中止的错误。
    2)应当注意尽可能避免用户无意录入无效的数据。
    3)采用相关控件限制用户输入值的种类。
    4)当用户作出选择的可能性只有两个时,可以采用单选框。
    5)当选择的可能再多一些时,可以采用复选框,每一种选择都是有效的,用户不可能输入任何一种无
    效的选择。
    6)当选项特别多时,可以采用列表框,下拉式列表框。
    7)在一个应用系统中,开发者应当避免用户作出未经授权或没有意义的操作。
    8)对可能引起致命错误或系统出错的输入字符或动作要加限制或屏蔽。
    9)对可能发生严重后果的操作要有补救措施。通过补救措施用户可以回到原来的正确状态。
    10)对一些特殊符号的输入、与系统使用的符号相冲突的字符等进行判断并阻止用户输入该字符。
    11)对错误操作最好支持可逆性处理,如取消系列操作。
    12)在输入有效性字符之前应该阻止用户进行只有输入之后才可进行的操作。
    13)对可能造成等待时间较长的操作应该提供取消功能。
    14)特殊字符常有;;’”><,`‘:“[”{、\|}]+=)-(_*&&^%$#@!~,。?/还有空格。
    15)与系统采用的保留字符冲突的要加以限制。
    16)在读入用户所输入的信息时,根据需要选择是否去掉前后空格。
    17)有些读入数据库的字段不支持中间有空格,但用户切实需要输入中间空格,这时要在程序中加以
    处理。
    10. 多窗口的应用与系统资源原则
    设计良好的软件不仅要有完备的功能,而且要尽可能的占用最底限度的资源。
    1)在多窗口系统中,有些界面要求必须保持在最顶层,避免用户在打开多个窗口时,不停的切换甚至
    最小化其他窗口来显示该窗口。
    2)在主界面载入完毕后自动卸出内存,让出所占用的WINDOWS 系统资源。
    3)关闭所有窗体,系统退出后要释放所占的所有系统资源 ,除非是需要后台运行的系统。
    4)尽量防止对系统的独占使用。
    注:此文章来源于测试管理中心论坛,本人在原有基础之上根据自己的经验进行了小范围的修改。
    修正:Alan zhou
    Email:foralanzhou@163.com
  • TD配置

    2009-02-26 15:14:00

    /**/ 百度首页 | 百度空间  document.write('| 登录'); 登录
    function set_cookie_4_bdtip(index/* start from one */, value){ var bdtip = document.cookie.match(/(^| )BDTIP=([^;]*)(;|$)/); if(!bdtip){ bdtip=new Array(index); for(var i=0,n=bdtip.length;i bdtip.length) bdtip.length= index; for(var i = 0, j = bdtip.length; i < j; i ++){ if(bdtip[i]=="" || bdtip[i]==null) bdtip[i]=0; if(i == index - 1){ bdtip[i] = value; } } } bdtip = bdtip.join('-'); document.cookie = "BDTIP=" + bdtip+ ";expires=Wed, 28-Nov-37 01:45:46 GMT;path=/;domain=.baidu.com"; }
     
    查看文章
     
    TD8.0的管理定制手册
    2008年10月14日 星期二 23:00

    目录

    1:创建项目project或域domain

    2:新建用户组(角色)和用户组(角色)授权

    3:创建新用户并赋权流程

    4:定制TD使用模块

    5:自定义缺陷字段。

    6:缺陷字段显示定制

    7:缺陷单汉化

    8:问题

    1:创建项目project或域domain

    当一个新的项目需要测试介入时,我们就需要在TD中建立该项目资料库。本节讲述TD中项目和域的创建过程。

    步骤一:打开TD。

    步骤二:点击左边的‘Site Administrator’

    步骤三:输入密码,进入Site Administrator页面。

    注:默认密码为空,可以点击change password修改密码。这个密码只针对这个页面。

    步骤四:选中default,右健,在弹出菜单中点击Create Project。

    步骤五:在project name 中输入项目名。并选择数据库。

    注:在安装TD时,选择了多种数据库时,这里就需要选择将您的项目建在哪个数据库上了。

    2:新建用户组(角色)和用户组(角色)授权

    TD8.0默认有Developer;Project Manager;QATester;TDAdmin;Viewer5个用户组(角色)。这5个用户组(角色)的权限是不可修改的,当我们对这些用户组(角 色)的授权不能满足我们的要求时,我们需要自己创建用户组(角色)。

    创建过程如下:

    步骤一:登陆TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:在PROJECT CUSTOMIZE页面点击Set Up Groups,系统弹出Set Up Groups窗口。

    步骤三:在Set Up Groups窗口点击New,弹出New Group窗口。

    步骤四:New Group窗口,在Name中输入用户组名。并选择一个用户组,这里选择用户组的目的在于,让你创建的这个用户组,初始的时候,即拥有和你所选择的用户组相同的权限。完成后点击OK,弹出确认提示框,点击YES。

    步骤五:这个用户组就创建成功了,下一步我们就要修改该用户组的权限了。

    选中需要修改权限的用户组,点击Permission域中的Chang。系统弹出Permission Settings面,在Permission Settings页面,我们就可以修改用户组的权限了。

    修改用户组权限说明:

    当勾选Add Defect/Delete Defect,表示该用户组具有添加/删除bug的权限。

    其中,选中Add Defect可在右边Visiable Fields In Add Defect Dialog窗口,勾选在bug提交单中的显示字段(勾选了就意味着你对这个字段具备修改其参数值的权限)。红色的为bug单中的必选字段。

    3:创建新用户并赋权流程

    新的开发人员或测试人员进入公司后,需要在TD中加入该用户,并赋予权限,操作过程如下:

    步骤一:打开TD,进入下图页面。

    步骤二:点击左边的‘Site Administrator’

    步骤三:输入密码,进入site Administrator页面

    步骤四:选择users页面卡,点击new.新增新员工的用户名,完成后logout。

    步骤五:点击页面右上角的CUSTOMIZE,弹出登陆窗口,输入管理员密码(默认为空)

    步骤六:点击页面左上角set up users

    步骤七:点击add user 选中新员工,再点击OK

    步骤八:在project users 下选中张三,再在‘properties of 张三’域中,选择对应的角色。默认角色为viewer。对该用户即授权完毕。

    4:定置TD使用模块

    定置用户组(角色)下用户进入TD后,所拥有的模块权限。

    步骤一:打开TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:点击左上角Customize Module Access。

    步骤三:定制模块入口:可定制各个角色登陆TD时,对TD所拥有的权限

    在Defects Modul上打勾,即意味着该角色下的所有成员登陆TD后,只有缺陷管理功能可用。

    在TestDirector上打勾即意味着,拥有对TD的所有功能(需求管理,测试计划,测试用例,缺陷管理等)区别见附图。

    附图1为TDAdmin(勾选testdirector)角色成员登陆TD后的画面;

    附图2为developer(勾选defects modul)角色成员登陆TD后的画面。

    5:自定义缺陷字段。

    当您认为缺陷提交单中的字段不够详细时,可以自己增加缺陷字段到缺陷提交单中。

    例如,我要在缺陷提交单中添加一个模块名称字段,该项目有‘安全’,‘界面’,‘控制’,‘通讯’,‘网络’五个模块,该模块名称字段,用下拉列表从5个模块中选择缺陷所属的模块。

    步骤一:登陆TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:点击Cutomize Project Lists,弹出下图窗口,新建list列表,点击New List…。输入list名subjiect1;OK后。开始新增5个列表项,点击New Item….(过程略)。

    在新增list列表完后,退回上一级PROJECT CUSTOMIZE页面。

    步骤三:点击Customize Project Entities,弹出下图窗口,输入Field Label:模块名称,由于模块名称字段为下拉列表框,所以Field Type选择Lookup List。在lookup list 中对应Cutomize Project Lists设置的subject1。

    注:勾选Required表示这个字段在bug单中是必需的勾选History表示将这个字段的变化记入历史记录,任何对这个字段的修改都将记录。

    OK即完成设置过程。效果如下图

    6:缺陷字段显示定置

    bug单中的字段都是固定的,当某些字段不适用于该项目的测试时,我们可以通过bug单字段定置来获得更好的效果。

    步骤一:登陆TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:点击Set Up Workflow,TD弹出下图窗口。

    步骤三:点击Script. Generator-Defect Details Field Customization。弹出下图窗口。

    这里的Visible Fields中是在bug单中所显示的字段,被勾选的字段则是bug单中的必填字段。

    疑问:Available Fields中的字段有何用?

    步骤四:(作用同步骤三)点击Apply&View,系统弹出警告,点击‘Yes’,进入脚本编译器。部分脚本如下:

    ElseIf User.IsInGroup("QATester")

    SetFieldApp "BG_ACTUAL_FIX_TIME", True, True, 0, 0

    SetFieldApp "BG_BUG_ID", True, True, 0, 1

    SetFieldApp "BG_CLOSING_DATE", True, False, 0,2

    SetFieldApp "BG_CLOSING_VERSION", True, False, 0,3

    SetFieldApp "BG_DESCRIPTION", True, True, 0, 4

    SetFieldApp "BG_DETECTED_BY", True, True, 0, 5

    ..........

    这段脚本是指QATester用户组下的用户的bug单所显示的内容。

    SetFieldApp "BG_DESCRIPTION", True, True, 0, 4

    这句脚本是指:QATester用户组下的用户bug单,描述(DESCRIPTION)字段是可见的,必填的。

    当把第二个True改成Flase时,描述(DESCRIPTION)字段可见,但是不是必填。

    当把第一个True改成Flase时,描述(DESCRIPTION)字段在bug单中为不可见。

    脚本修改后,保存。关闭原来的TD窗口,重新打开,脚本修改即可生效。

    7:缺陷单汉化

    缺陷管理的最重要的部分是缺陷单的管理,将其汉化成中文,对于英语不是很熟悉的同事来说,能够提高工作效率。TD8.0提供了一个自己汉化的途径,可以根据各个公司通用的名称定义来汉化。

    步骤一:登陆TD后,点击右上角的CUSTOMIZE,进入PROJECT CUSTOMIZE页面。

    步骤二:点击Cutomize Project Entities窗口中,选择一个叶子节点,即出现如下窗口。将该节点的Field Label中的英文译成中文即可。

    注:1:勾选每个BUG属性的History(历史记录),则在BUG报告单中,将记录改属性的改变记录作为历史记录。

    2:勾选每个BUG属性的Required(必须的),则在报告单中,该BUG属性是必填的,不能为空。

    步骤三:点击Cutomize Project Lists窗口中,在Lists下拉列表框中选择一个属性,在ListItems中选择一个值,点击Rename Item,即可将属性的参数译成中文。

    注:只适用于值用下拉列表框显示的属性。

    问题

    1:在定制好工程项目后,用户使用过程中发现,修改缺陷状态时,报错‘not enough grants to….’。

    解答:原因在于,在修改用户组权限时,没有设置bug属性的状态转换。见下图。正确设置状态转换权限后,即可。

    2:怎样实现允许用户看到某个BUG的属性,而又不允许其修改该属性的参数值?

    解答:修改该用户所在的用户组的权限,即修改上图中MODIFY DEFECT的权限。

    例如,我希望测试组成员看到任务分派对象,但是不允许其修改任务分派对象。

    在MODIFY DEFECT下去掉对Bug属性‘分派给’的勾选即可。

    3:自定义的用户组下的用户,在bug报告单中出现了一些我们没有选择(或者不希望出现)的Bug属性。

    解答:原因:用户在系统定义的用户组中(如Viewer组),将用户从系统定义的组中移出来即可。

    4:我希望将TD使用人员查看到某个BUG的缺陷描述变更记录。如何实现?

    解答:在CUSTOMIZE—Customize Project Entities—DEFECT—System Fields中选中缺陷描述(Description),勾选其右边的History(历史记录)

    5:我在查看BUG时,BUG报告单中中是有些不愿意出现的BUG属性(下图中红色圈中的),如何将这些BUG属性隐藏?

    解答:CUSTOMIZE—Set Up Groups—选中Groups(您所在的用户组)点击Change---Defects,点击页面下方的Defects Data—Hiding Filter在弹出窗口中,选中Visible Fields标签页,将你不希望看到的字段,去掉它们前面的勾勾即可。见下图




    我配置的方法如下:

    1.新建数据库:进入 DB Server→NEW→database type选择 ms-sql(win auth)→在database alias中输入数据库服务器的机器名(这里一定要是机器名)点击OK就可以了。
    2.新建porjects:选择 create project →在project name中输入你要建的项目的名称并选择ms-sql→next→create就可以了。
    我在这里试过用copy的方法但效果不时很理想。这里如果谁由好的方法可以共享一下。