每天学一点,知识多一点。

发布新日志

  • 用户界面测试注意点

    2008-05-21 14:41:06

    网站功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:

    1、页面链接检查: 每一个链接是否都有对应的页面,并且页面之间切换工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,同时能够生成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系统中,使用浏览器的回退键,看系统处理如何,会否报错。对于需要用户验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看系统如何处理。

    18、直接URL链接检查:在Web系统中,直接输入各功能页面的URL地址,看系统如何处理,对于需要用户验证的系统更为重要。

    19、空格检查:在输入信息项中,输入一个或连串空格,查看系统如何处理。如对于要求输入整型、符点型变量的项中,输入空格,既不是空值,又不是标准输入。

    20、输入法半角全角检查:在输入信息项中,输入半角或全角的信息,查看系统如何处理。如对于要求输入符点型数据的项中,输入全角的小数点(“。”或“.”,如4.5);输入全角的空格等。

    21、密码检查:一些系统的加密方法采用对字符Ascii码移位的方式,处理密码加密相对较为简单,且安全性较高,对于局域网系统来说,此种方式完全可以起到加密的作用,但同时,会造成一些问题,即大于128的Ascii对应的字符在解密时无法解析,尝试使用“uvwxyz”等一些码值较大的字符作为密码,同时,密码尽可能的长,如17位密码等,造成加密后的密码出现无法解析的字符。

    22、用户检查:任何一个系统,都有各类不同的用户,同样具有一个或多个管理员用户,检查各个管理员之间是否可以相互管理,编辑、删除管理员用户。同时,对于一般用户,尝试删除,并重建同名的用户,检查该用户
    其它信息是否重现。同样,提供注销功能的系统,此用户再次注册时,是否作为一个新的用户。

    23、系统数据检查:这是功能测试最重要的,如果系统数据计算不正确,那么功能测试肯定是通不过的。数据检查根据不同的系统,方法不同。对于业务管理平台,数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。

    24、系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可正常迅速恢复。

     GUI基本测试内容


    图形用户界面( GUI )对软件测试提出了有趣的挑战,因为 GUI 开发环境有可复用的构件,开发用户界面更加省时而且更加精确。同时, GUI 的复杂性也增加了,从而加大了设计和执行测试用例的难度。因为现在 GUI 设计和实现有了越来越多的类似,所以也就产生了一系列的测试标准。下列问题可以作为常见 GUI 测试的指南:

    窗口:
    · 窗口是否基于相关的输入和菜单命令适当地打开?
    · 窗口能否改变大小、移动和滚动?
    · 窗口中的数据内容能否用鼠标、功能键、方向键和键盘访问?
    · 当被覆盖并重新调用后,窗口能否正确地再生?
    · 需要时能否使用所有窗口相关的功能?
    · 所有窗口相关的功能是可操作的吗?
    · 是否有相关的下拉式菜单、工具条、滚动条、对话框、按钮、图标和其他控制可为窗口使用,并适当地显示?
    · 显示多个窗口时,窗口的名称是否被适当地表示?
    · 活动窗口是否被适当地加亮?
    · 如果使用多任务,是否所有的窗口被实时更新?
    · 多次或不正确按鼠标是否会导致无法预料的副作用?
    · 窗口的声音和颜色提示和窗口的操作顺序是否符合需求?
    · 窗口是否正确地被关闭?

    下拉式菜单和鼠标操作:
    · 菜单条是否显示在合适的语境中?
    · 应用程序的菜单条是否显示系统相关的特性(如时钟显示)?
    · 下拉式操作能正确
    工作吗?
    · 菜单、调色板和工具条是否工作正确?
    · 是否适当地列出了所有的菜单功能和下拉式子功能?
    · 是否可以通过鼠标访问所有的菜单功能?
    · 文本字体、大小和格式是否正确?
    · 是否能够用其他的文本命令激活每个菜单功能?
    · 菜单功能是否随当前的窗口操作加亮或变灰?
    · 菜单功能是否正确执行?
    · 菜单功能的名字是否具有自解释性?
    · 菜单项是否有帮助,是否语境相关?
    · 在整个交互式语境中,是否可以识别鼠标操作?
    · 如果要求多次点击鼠标,是否能够在语境中正确识别?
    · 光标、处理指示器和识别指针是否随操作恰当地改变?

    数据项:
    · 字母数字数据项是否能够正确回显,并输入到系统中?
    · 图形模式的数据项(如滚动条)是否正常工作?
    · 是否能够识别非法数据?
    · 数据输入消息是否可理解?

  • 功能测试

    2007-06-25 18:59:21

    原文
     
    作者:qiubole 来自http://www.cnblogs.com/qiubole

    此文旨在以检查单的形式,对于一些没有设计测试用例,而进行快速功能测试提供指导。

    一、刚进窗口时的测试
    1、  每次打开窗体,都要先关闭,再打开一次。对一个窗体测试完了之后,也要关闭后再进入一次。

    2、  进入窗体后,要先检查一下窗体的各种情况,很多程序员,喜欢在创建或显示的时候写代码。

    3、  先检查一下界面上的布局是否合理。一般公司都有检查单,就按检查单的内容来进行检查一次。如果是界面布局不合好的,在提交问题的时候请尽量客气点,程序员就那点怪脾气,整个一审美盲,做得不好,还不太愿意别人提。

    4、  进入之后,先别急着按照说明书去操作,先把能点的,能录的,能拖的都试试,如果涉及到一些可以双击操作的,也没事多双击试试。一般建议,将窗体上所有的按钮都点点,多点几次,花不了多少时间。

    二、针对各种控件的测试。
           在程序中,有各种各样的控件,特别是在我们的CS程序中,用到很多系统标准的控件,对于标准控件的测试,在此列出,如果自定义的控件,后面再详细列一份,比如我们自己的录入控件。

    1、  按钮:一般使用按钮,主要是为了执行一系列的事件,在按钮上,大部分只用到了它的单击(CLICK)方法,我们要注意到这么几点。

    a)         如果按钮用来管理状态的,比如,点击按钮,打开,再点击,则关闭这类的,请多点击几次。

    b)        如果按钮是用来执行一系列的较长的事件的,则请连续点击,很多程序员不会注意到这一点,快速点击几次,可能就会出问题。

    c)        删除按钮,如果按钮是用来删除数据的,请确认点击时,是否有提示,而且提示是否明确,很多时候,程序员为了懒一下,提示往往不明确,比如‘您确认要删除它吗?’之类的,其实是不标准的,标准的应该是‘你确认要删除[0001]号单据吗?’这样一类的。其它的提示请参考检查单。

    d)        保存按钮,一般保存按钮,建议是用普通的按钮或可以获得焦点的按钮,如果你发现用的是不能获得焦点的按钮,比如平滑按钮,这就要注意了,很多时候,刚录入一条数据,如果焦点未离开输入框,点击保存时,该录入框的内容是不会被存上的。

    e)         退出按钮,通常退出按钮是要用求无焦点的按钮,否则,你录入一条不合法的数据,想退出时,很有可能会被拒绝,要求你输入正确的数据,这就很郁闷了。

    f)         其它,正常情况下,每点一个按钮,界面上都需要进行响应,如果你点击一个按钮,界面没有任何反应,这就要提醒开发者了。当然,有些公司规定默认是不响应的,其实这是不太合理的。

    2、  单选框:一般情况下,在一组相关的单选框中,一定要有一个默认值,很多程序员会在这里面加上一系列的状态,比如选择第一个单选框,则改变状态,普通情况下出错的可能性不大。

    3、  复选框:复选框的作用是可以重复选择,如果复选框选择之后,将其它的复选框清除了,这时候就要注意向开发人员确认了,因为正常情况下,复选框是不允许这样操作,要这样操作,需要用到单选和复选的结合。

    4、  标签:对于标签的测试,是比较简单的,主要把握这两个方面。

    a)         一是标签的位置,是否与之相关的项目对齐。在一个页面上,如果标签和输入框比较多的情况下,经常会出现位置相差1个象素的情况。

    b)        二是标签的焦点,有些标签上,会有加速键列表,比如(员工(A)),你要确认一下,按了Alt+A之后,它对应的焦点是否落在它之后的可获得焦点的控件上。

    5、  日期和时间控件:日期选择控件本身是不会出什么问题,但是,与之作用相关的地方,比如根据日期条件进行查询,默认日期时间等会出问题,从以下几个方面考虑。

    a)         短日期格式,有一些人在写程序的时候,经常会将日期转换为字符串进行比较,如果经验少的人,会把1990-1-1日变成‘1990-1-1’,这在进行比较的时候可能会出问题,尽量要求开发人员在系统启动的时候,改变系统的短日期格式,使之在日期选择的时候,为‘1990-01-01’这种。

    b)        很多语言,用的日期控件,和时间控件是同一个控件,比如(DELPHI),如果开发人员没留意,在进行日期比较的时候,可能就存上了时间了。这样就会导致数据出问题,测试的时候,要把握边界值的方式,比如查询2号到10号的数据,你要想办法,试一下1,2,3,9,10,11这几个值了。

    c)        如果日期控件显示的是1899-1-1号,这就要注意了,这表明这个日期没有赋初始值,如果这是一个数据敏感控件,则很可能没有给相应的数据集赋上值。

    d)        当然,我们可以强烈建议,程序员给日期控件赋上默认值,当前日期,当前月份的第一天之类的。

    e)         成组的日期,比如开始日期和结束日期,这里我们要注意,开发人员是否控制了结束日期必须大于开始日期。

    6、  编辑框:很多时间,这是出问题的主要来源,对于编辑框,我们可以从以下方面考虑,其中一些可以对开发人员进行建议。

    a)         录入的类型:根据录入的类型不同,测试方法也有所不同,这里给出常见的几种。

                             i.              纯字符录入

    1.         长度,比如名称,要注意,该名称的长度,如果是敏感控件,这一点可以不用考虑,因为控件本身就管理了,如果是非敏感控件,则要注意这一点,否则很有可能就会出现字符被截断的问题。

    2.         非法字符,这主要是指一些特定语言的一些转义符,比如\001,之类的,在delphi中,要注意’号,在VB中,要注意”号。同时,如果系统有特殊要求的话,则有时,空格也是不允许的。

                           ii.              整型的录入,有一些要求必须输入整型的地方,要注意以下几个方面。

    1.         非数据和-号,是否能录入字母,其它符号之类的。

    2.         最大值和最小值的控制

    3.         0和非0值,在很多业务逻辑中,必须要输入大于0的数,看是否控制到位了。

    4.         是否能用Ctrl+V键进行粘贴,很多人写代码的时候,会根据敲的键来将非法字符过滤(这可以不用管,很多时候,可以不考虑这点)。

    5.         退格键,方向键,删除键是否能用。

    6.         是否能输入小数。

                          iii.              浮点型,和整型前面五点相似,另要补充几点。

    1.         是否能输入多个小数。

    2.         小数的位数

                         iv.              日期和时间:看是否能录入正确的日期和时间,离开后应该要判断,其它同上面的日期和时间控件。

    b)        取值范围:这就是我们运用黑盒测试中,等价类划分和边界值的最好时机了。详细的就不在这里列了。

    c)        系统判断的时机:一般一讲,我们会要求开发人员,在该控件离开时,判断输入的值是否合法。但有很多程序员,只是在按回车键的时候提示,这样就有问题了。

    d)        与回车键的关系问题:这也是经常出问题的地方,很多程序员要求在输入值后,按回车,然后会取出另一些相关的值,如果我们敲回车之后,系统取出值,我们再回过头来改这个输入框的值,最后保存时,就会有逻辑问题了。

    7、  下拉框。下拉框作为一种录入或选择手段,在很多情况下,它的取值范围,判断时机和回车键的关系与上面的编辑框类似,在此不复述。另要注意几点。

    a)         是否允许手工录入的问题,很多下拉框是不允许手工录入的。如果允许手工录入了,看系统是否控制了该录入值的取值范围。

    b)        如果之前你测试的时候,是允许手工录入的,程序员改了一次之后,它是不允许手工录入的,你就要注意了,特别是面对DELPHI程序,要特别注意,赋值和取值是否正确。

    8、  列表框。要注意以下几方面。

    a)         是否允许编辑,大部分列表框应该是禁止编辑数据的。对一个节点,点一次鼠标,稍停一会,再点一次鼠标,就会能看到是否可以编辑。

    b)        是否可以复选。

    c)        拖动,很多列表框有拖动方面的功能,这时要注意,它拖动的目标,有时候把它拖动到本身,就会出错。

    9、  树。在有层次结构的情况下,经常会用到树,我们要注意以下几个方面。

    a)         是否允许编辑,大部分树应该是禁止编辑数据的。对一个节点,点一次鼠标,稍停一会,再点一次鼠标,就会能看到是否可以编辑。

    b)        拖动,很多列表框有拖动方面的功能,这时要注意,它拖动的目标,有时候把它拖动到本身,就会出错。同时,将上一个节点拖放到它的子节点应该也是不允许的。

    c)        不选择树的节点:如果程序中用到了树的节点,这时候你不选择节点,有时候也会是报错的来源。

    d)        选择非子节点,如果程序中要求你选择子节点,而你未选择。

    e)         树的刷新,有时候,一个树是与当前录入的数据有关的,这时候要查看一下,新增了数据,树是否正常刷新了,删除了数据,更新了数据也同理。

    10、              多行文本框,注意以下情况。

    a)         回车是否被转移焦点了

    b)        如果这是一个SQL语句查询录入框,还要注意,是否能录入DELETE, UPDATE, DROP之类的DCL语句。也就是安全问题。

    c)        最大字符数问题。

    11、              数据表格,很多程序中,用到了大量的表格,在表格中我们要注意这么几点。

    a)         如果只是显示查询结果的表格,要注意,该表格是否是只读,是否可以用Ctrl+delete之类的删除数据。

    b)        如果是可编辑的,那么请查看,如果能够点击表头排序,还是否能正常录入数据。

    c)        是否能录入重复的数据。

    12、              打开和保存对话框:主要是查看是否有扩展名过滤,默认路径。

    13、              图表:无限放大和无限缩小。

Open Toolbar