日历

« 2008-09-06  
 123456
78910111213
14151617181920
21222324252627
282930    

统计信息

  • 访问量: 254
  • 日志数: 4
  • 建立时间: 2007-01-31
  • 更新时间: 2008-06-02

RSS订阅

我的最新日志

  • 设计功能和界面测试用例

    2008-6-02

    设计功能和界面测试用例(1)

    阅读提示:本文详细介绍了测试用例中设计功能和界面的具体实现情况,供大家参考!
    一、文本框、按钮等控件测试

    1、文本框的测试

    如何对文本框进行测试:

    a、输入正常的字母或数字;
    b、输入已存在的文件的名称;
    c、输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入256个字符,检查程序能否正确处理;
    d、输入默认值,空白,空格;
    e、若只允许输入字母,尝试输入数字;反之,尝试输入字母;
    f、利用复制,粘贴等操作强制输入程序不允许的输入数据;
    g、输入特殊字符集,例如,NUL及\n等;
    h、输入超过文本框长度的字符或文本,检查所输入的内容是否正常显示;
    i、输入不符合格式的数据,检查程序是否正常校验,如程序要求输入年月日格式为yy/mm/dd,实际输入yyyy/mm/dd,程序应该给出错误提示。

    在测试过程中所用到的测试方法:

    1、输入非法数据;
    2、输入默认值;
    3、输入特殊字符集;
    4、输入使缓冲区溢出的数据;
    5、输入相同的文件名;

    2、命令按钮控件的测试

    测试方法:

    a、点击按钮正确响应操作。如单击确定,正确执行操作;单击取消,退出窗口;
    b、对非法的输入或操作给出足够的提示说明,如输入月工作天数为32时,单击“确定”后系统应提示:天数不能大于31;
    c、对可能造成数据无法恢复的操作必须给出确认信息,给用户放弃选择的机会;

    3、单选按钮控件的测试

    测试方法:

    a、一组单选按钮不能同时选中,只能选中一个;
    b、逐一执行每个单选按钮的功能。分别选择了“男”、“女”后,保存到数据库的数据应该相应的分别为“男”、“女”;
    c、一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能同时为空。

    4、up-down控件文本框的测试

    测试方法:

    a、直接输入数字或用上下箭头控制,如在“数目”中直接输入10,或者单击向上的箭头,使数目变为10;
    b、利用上下箭头控制数字的自动循环,如当最多数字为253时,单击向上箭头,数目自动变为1;反之亦适用;
    c、直接输入超边界值,系统应该提示重新输入;
    d、输入默认值,空白。如“插入”数目为默认值,点击“确定”;或删除默认值,使内容为空,单击“确定”进行测试;
    e、输入字符。此时系统应提示输入有误。

    5、组合列表框的测试

    测试方法:

    a、条目内容正确,其详细条目内容可以根据需求说明确定;
    b、逐一执行列表框中每个条目的功能;
    c、检查能否向组合列表框输入数据。

    6、复选框的测试

    测试方法:

    a、多个复选框可以被同时选中;
    b、多个复选框可以被部分选中;
    c、多个复选框可以都不被选中;
    d、逐一执行每个复选框的功能。

    7、列表框控件的测试

    测试方法:

    a、条目内容正确:同组合列表框类似,根据需求说明书确定列表的各项内容正确,没有丢失或错误;
    b、列表框的内容较多时要使用滚动条;
    c、列表框允许多选时,要分别检查shift选中条目,按ctrl选中条目和直接用鼠标选中多项条目的情况;

    8、滚动条控件的测试

    要注意一下几点:

    a、滚动条的长度根据显示信息的长度或宽度及时变换,这样有利于用户了解显示信息的位置和百分比,如word中浏览100页文档,浏览到50页时,滚动条位置应处于中间;
    b、拖动滚动条,检查屏幕刷新情况,并查看是否有乱码;
    c、单击滚动条;
    d、用滚轮控制滚动条;
    e、滚动条的上下按钮。

    9、各种控件在窗体中混和使用时的测试

    a、控件间的相互作用;
    b、tab键的顺序,一般是从上到下,从左到右;
    c、热键的使用,逐一测试;
    d、enter键和esc键的使用。

    在测试中,应遵循由简入繁的原则,先进行单个控件功能的测试,确保实现无误后,再进行多个控件的的功能组合的测试。

    ps:密码输入框测试时要特别注意进行字母大写输入的测试。

    二、查找替换操作

    案例演示:打开word中的“替换”对话框。

    测试本功能有通过测试和失败测试两种情况:

    通过测试:

    1、输入内容直接查找、或查找全部;
    2、在组合框中寻找已经查找过的内容、再次查找并确认文档的内容正确,如已经查找过“测试用例”、再次进入不用重新输入查找内容、直接在文档中搜寻就可以。

    失败测试:

    1、输入过长或过短的查询字符串。如假设查询的字符串长度为1到255,那么,输入0、1、2、256、255和254进行测试;
    2、输入特殊字符集。如在word中^g代表图片、^代表分栏符、可以输入这类特殊字符测试;

    替换测试大体相同。

    关于编辑操作窗口的功能测试的用例:

    1、关闭查找替换窗口。不执行任何操作、直接退出;
    2、附件和选项测试。假如设定“精确搜寻”、“向后”搜索等附件选项等等来测试;
    3、控件间的相互作用。如搜寻内容为空时、按钮“搜寻全部”、“搜寻”、“全部替换”、“替换”都为灰色。
    4、热键、Tab键。回车键的使用。

    插入操作

    1、插入文件

    测试的情况:

    a、插入文件;
    b、插入图像;
    c、在文档中插入文档本身;
    d、移除插入的源文件;
    e、更换插入的源文件的内容。

    2、链接文件

    测试方法:

    a、插入链接文件;
    b、在文档中链接文档本身;
    c、移除插入的源文件:
    d、更换插入的源文件的内容。

    3、插入对象

    要测试的内容:

    a、插入程序允许的对象、如在word中插入excel工作表;
    b、修改所插入对象的内容。插入的对象仍能正确显示;
    c、卸载生成插入对象的程序、如在word中插入excel工作表后卸载excel、工作表仍正常使用。

    编辑操作

    编辑操作包括剪切、复制、粘贴操作。

    测试剪切操作的方法

    a、对文本、文本框、图文框进行剪切;
    b、剪切图像;
    c、文本图像混合剪切。

    复制操作方法与剪切类似。

    测试时,主要是对粘贴操作的测试方法是:

    a、粘贴剪切的文本、文本框及图文框;
    b、粘贴所剪切的图像;
    c、剪切后,在不同的程序中粘贴;
    d、多次粘贴同一内容,如剪切后,在程序中连续粘贴3次;
    e、利用粘贴操作强制输入程序所不允许输入的数据。

    三、界面测试用例的设计方法

    1、窗体

    测试窗体的方法:

    a、窗体大小,大小要合适,控件布局合理;
    b、移动窗体。快速或慢速移动窗体,背景及窗体本身刷新必须正确;
    c、缩放窗体,窗体上的控件应随窗体的大小变化而变化;
    d、显示分辨率。必须在不同的分辨率的情况下测试程序的显示是否正常。

    进行测试时还要注意状态栏是否显示正确,工具栏的图标执行操作是否有效,是否与菜单懒中图标显示一致;错误信息内容是否正确、无错别字且明确等等。

    2、控件

    测试方法:

    a、窗体或控件的字体和大小要一致;
    b、注意全角、半角混合;
    c、无中英文混合。

    四、菜单

    进行测试时要注意:

    a、选择菜单是否可以正常工作、并与实际执行内容一致;
    b、是否有错别字;
    c、快捷键是否重复;
    d、热键是否重复;
    e、快捷键与热键操作是否有效;
    f、是否存在中英文混合;
    g、菜单要与语境相关、如、不同权限的用户登陆一个应用程序、不同级别的用户可以看到不同级别的菜单并使用不同级别的功能;
    h、鼠标右键快捷菜单。

    特殊属性

    1、安装界面应有公司介绍或产品介绍、有公司的图标;
    2、主界面及大多数界面最好有公司图标;
    3、选择“帮助”->“关于”命令、应看见相关版权和产品信息。

  • 2.2 软件测试分类

    2008-4-13


    以下重点讲述开发阶段的测试和程序测试。

    2.5.1 按照开发阶段划分
     按照开发阶段划分软件测试可分为:单元测试、集成测试、系统测试、确认测试和验收测试。
    (1)单元测试
     单元测试又称模块测试,是针对软件设计的最小单位——程序模块进行正确性检验的测试工作。其目的在于检查每个程序单元能否正确实惠详细设计说明书中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。单元测试需要从程序内部结构出发设计测试用例。多个模块可以平等地独立进行单元测试。
    (2)集成测试
     集成测试也叫做组装测试。通常在单元测试的基础上,将所有的程序进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。
     软件集成的过程是一个持续的过程,会形成很多个临时版本,在不断的集成过程中,功能集成的稳定性是真正的挑战。在每个版本提交时,都需要进行冒烟测试,即对程序主要功能进行验证。冒烟测试也叫版本测试、提交测试。
    (3)确认测试
     确认测试是通过检验和提供客观证据,证实软件是否满足特定预期用途的需求。确认测试是检测与证实是否满足软件需求说明书中规定的要求。
    (4)系统测试
     系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试,系统测试是在真实或模拟系统运行的环境下,检查完整的程序系统能否和系统(包硬件、外设、网络和系统软件、支持平台等)正确配置、连接,并满足用户需求。
    (5)验收测试
     按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。

    2.5.2 按照测试实施组织划分
     按照测试实施组织划分,软件测试可分为开发方测试、用户测试(β测试)、第三方测试。
    (1)开发方测试
     通常也叫“验证测试”或“α测试”。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。验证测试是在软件开发环境下,由开发者检测与证实软件的实现是否满足软件设计院说明或软件需求说明的要求。主要是指在软件开发完成以后,开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并进行。
    (2)用户测试
     在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。通常情况用户测试不是指用户的“验收测试”。而是指用户的使用性测试,由用户找出软件的应用过程中发现的软件缺陷与问题,并对使用质量进行评价。
     β测试通常是被看用一种“用户测试”。β测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。β测试中厂商获取的信息,可以有助于软件产品的成功发布。
    (3)第三方测试
     介于软件开发方和用户方之间的测试组织的测试。第三方测试也称为独立测试。软件质量工程强调开展独立和确认活动。软件第三方测试也就是由在技术、管理和财务上与开发方和用户方相对独立的组织进行的软件测试。一般情况下是在模拟用户真实应用环境下,进行软件测试。

    2.5.3 按照测试技术划分
     按照测试技术划分:白盒测试、黑盒测试、灰盒测试。也可以划分为静态测试和动态测试。静态测试是指在不运行程序,通过人工对程序和文档进行分析与检查;静态测试技术又称为静态分析技术,静态测试实际上是对软件中的需求说明书、设计说明书、程序源代码等进行非运行的检查,静态测试包括:走查、符号执行、需求确认等。动态测试是指通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序逻辑的外部表现。我们这里讨论的白盒测试、黑盒测试、灰盒测试,在实现测试方法上即包括了动态测试也包括了静态测试。
    (1)白盒测试
     通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。白盒测试又称结构测试。
    (2)黑盒测试
     通过软件外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,它只是检查样序是否按照需求说明书的规定正常实现。
    (3)灰盒测试
     介于白盒测试与黑盒测试之间的测试,黑盒测试关注输出对于输入的正确性;同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志判断内部的运行状态。

     软件测试方法和技术的分类与软件开发过程相关联,它贯穿了整个软件生命周期。走查、单元测试、集成测试、系统测试用于整个开发过程中的不同阶段。开发文档和源程序可以应用单元测试应用查走的方法;单元测试可以应用白盒测试方法;集成测试应用近似灰盒测试方法;而系统测试和确认测试应用黑盒测试方法。

  • 第2章 软件测试基础

    2008-4-11

    2.1 软件测试与软件质量
    2.1.1  什么是软件测试
    软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估。
        软件是由是由文档、数据以及程序组成。那么,软件测试就应该对软件形成过程的文档、数据以及程序进行测试,而不仅仅是对程序进行的测试。
        有资料表明,60%以上的软件错误并不是程序错误,而是分析和设计错误。因此,做好软件需求和设计阶段的测试工作非常重要。这就是我们提倡的测试概念扩大化,提倡软件全生命期测试的理念。

    2.1.2  什么是软件质量
    软件质量:软件质量包括在“内部质量”、“外部质量”、“使用质量”三部分。也就是说,“软件满足规定或潜在用户需求的能力”要从软件在内部、外部和使用中的表现来衡量。(2001年,软件“产品质量”国际标准ISO9126定义的)

    2.1.3  软件测试与质量保证的区别
    质量保证(QA):质量保证的重要工作通过预防、检查与改进来保证软件质量。QA采用“全面质量管理”和“过程改进”的原理来开展质量保证工作。所关注的是软件质量的检查和测量。QA工作是软件生命周期的管理工作以及验证软件是否满足规定的质量和用户至上的需求,因此主要着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找出问题或评估。
    软件测试:软件测试关心的是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程产物--开发文档和源代码进行走查,运行软件,以找出问题,报告质量。
        软件测试只是质量保证工作中的一个环节。软件质量保证和软件测试是软件质量工程两个不同层面的工作。

    2.2 软件测试目的
    软件测试的目的:是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。

    2.3 软件测试原则
    (1)所有的软件测试都应追溯到用户需求。
    (2)应当把“尽早地和不断地进行软件测试”作为软件测试者的座右铭。
    (3)完全测试是不可能的,测试需要终止。
    (4)测试无法显示软件潜在的缺陷。
    (5)充分注意测试中的群集现象。
    (6)程序员应避免检查自己的程序。
    (7)尽量避免测试的随意性。

    2.4 软件测试对象
    根据软件定义,软件包括程序、数据和文档,所以软件测试并不仅仅是程序测试。软
    件测试应贯穿整个软件生命周期中。在整个软件生命周期中,各阶段有不同的测试对象,如:需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应为“软件测试”的对象。
    不同阶段的不同测试类型:在软件编码结束后,对编写的每一个程序模块进行测试,称为“模块测试”或“集成测试”;在模块集成后,对集成在一起的模块组件(部件)进行测试,称为“集成测试”;在集成测试后,需要检测与证实软件是否满足软件需求说明书规定的要求,这就称为“确认测试”。将整个软件程序模块集成为软件系统,安装在运行环境下,对硬件、网络、操作系统及支撑平台构成整个系统进行测试,称为“系统测试”。

                                                           >>>>继续下一节  《软件测试分类》

Open Toolbar