发布新日志

  • 有关测试用例说明

    2009-10-29 10:47:10

    测试文档=测试计划+测试报告

     

    测试计划=测试内容说明=测试项目名+测试目的+测试步骤+测试进度+测试用例设计

     

    测试报告=测试结果=测试项目名+实测结果与预期结果的比较+发现的问题+测试达到的效果

     

    测试用例= {测试数据+期望结果}

     

    测试结果= {测试数据+期望结果+实际结果}

     

    黑盒法设计测试用例的4种技术:

     

    等价分类:将输入数据的可能值化成若干等价类,使每类中的任何一个测试用例,均能代表同一等价类其他测试用例。

     

    à避免大量的重复测试,实现测试的经济性

     

    有效等价类+无效等价类

     

    几个有效等价类共用1测试用例;

     

    1无效等价类至少1测试用例;

  • 软件测试搜索功能测试用例

    2009-03-24 11:41:07

    对被测试点进行分解,把测试用例分解为多个测试场景

    场景编号 场景描述 预期结果
    场景一 页面检查 正确
    场景二 默认条件搜索 查询结果正确
    场景三 修改可选条件搜索 查询结果正确
    场景四 修改输入条件搜索 查询结果正确
    场景五 修改区间条件搜索 查询结果正确
    场景六 组合可选、输入条件搜索 查询结果正确
    场景七 操作后检查搜索条件及查询结果 查询结果正确
    场景八 错误、空记录搜索 查询结果为空

    测试步骤描述

    按照已经分解的测试场景顺序,逐个描述测试场景的测试步骤

    测试场景一:

    步骤编号 具体描述
    1 进入搜索(高级搜索)页面
    2 界面共性测试
    3 退出

    测试场景二:

    步骤编号 具体描述
    1 进入搜索(高级搜索)页面
    2 点击“搜索”按钮,显示查询结果列表
    3 检查查询结果列表,每页显示记录条数正确、文字折行显示正确、页面布局美观
    4 检查查询结果列表,列标题项、列显示内容、排序方式符合需求定义
    5 检查查询结果列表,符合默认查询条件结果集
    6 点击查询结果列表链接、复选框、全选框响应正确
    7 退出

    测试场景三:

    步骤编号 具体描述
    1 进入搜索(高级搜索)页面
    2 逐一选择各个查询条件可选项,如:“全部”、“类别1”等,点击“搜索”,查询结果正确
    3 组合各个查询条件可选项,如:价格+产品,点击“搜索”,查询结果正确
    4 退出

    测试场景四:

    步骤编号 具体描述
    1 进入搜索(高级搜索)页面
    2 逐一输入文本域条件,模糊查询值,点击“搜索”,查询结果正确
    3 逐一输入文本域条件,完全匹配值,点击“搜索”,查询结果正确
    4 逐一输入文本域条件,中文值,点击“搜索”,查询结果正确
    5 逐一输入文本域条件,字母大、小写值,点击“搜索”,查询结果正确
    6 逐一输入文本域条件,数字类型值,点击“搜索”,查询结果正确
    7 逐一输入文本域条件,全角、半角值,点击“搜索”,查询结果正确
    8 组合各个文本域查询条件,点击“搜索”,查询结果正确
    9 退出

    测试场景五:

    步骤编号 具体描述
    1 进入搜索(高级搜索)页面
    2 修改区间条件左值,右值使用默认值,点击“搜索”,查询结果正确
    3 修改区间条件右值,左值使用默认值,点击“搜索”,查询结果正确
    4 修改区间条件左、右值,点击“搜索”,查询结果正确
    5 修改区间条件左、右值为边界值,点击“搜索”,查询结果正确
    6 修改区间条件左、右值,使左值=右值,查询结果正确
    7 修改区间条件左、右值,使左值>右值,查询结果为空(或提示信息正确)
    8 退出

    测试场景六:

    步骤编号 具体描述
    1 进入搜索(高级搜索)页面
    2 任意组合各个查询条件:如:价格+产品+关键字,点击“搜索”,查询结果正确
    3 重复步骤2,更换组合内容搜索
    4 退出

    测试场景七:

    步骤编号 具体描述
    1 进入搜索(高级搜索)页面
    2 选择和输入所有查询条件后,点击“搜索”,查询结果正确
    3 分别进行翻页、修改、添加、删除等操作后,检查查询条件不变,查询结果正确
    4 退出

    测试场景八:

    步骤编号 具体描述
    1 进入搜索(高级搜索)页面
    2 逐一选择或输入查询条件为:不存在的值(查询结果集为空),查询结果为空
    3 逐一选择或输入查询条件为:空格、特殊字符、超长的值,点击“搜索”,查询结果为空
    4 组合查询条件,选择或输入不存在、空格、特殊字符、超长的值,点击“搜索”,查询结果为空
    5 重复步骤4,更换组合内容搜索
    6 退出

  • 如何通过设计挖掘测试用例

    2009-03-24 11:32:16

    根据目前做的测试项目想总结一些如何对非业务行的项目做测试分析的方法,前几天在对公司培训是也提到了如何根据设计去挖掘测试用例,针对那些非业务行的项目是很有必要去思考和研究的,那么什么是非业务行系统呢?其实也不准确,是否应该叫非支持商业业务的系统,其实就是区分那些针对银行,保险,证券,电信等这些和行业邦定非常严的业务系统,他们应该是提供给业务支持的封装了底层的操作,有点类似中间件和平台支持系统。举个例子分布式文件系统,它是在技术实现上提供给其他应用系统的一个技术支持系统。 那么这一类,如果让开发人员去写需求说明书,大概就是一个简单的几句话,或有的开发人员也会说我们这个系统没有需求后需求很简单。没有错从业务功能上来说没有什么更多的描述,但是它从架构和设计的角度来说可能就会有很多的东东了。

      因此我们在这里要介绍如何对这一类的系统来挖掘测试点或组织测试用例,那就是我前面提到的如何从设计类挖掘测试用例(也就是发现测试点):首先我们必须清楚这个设计框架,该系统似乎如何架构的,如何应用在其他系统中的,对外提供一个什么接口。 架构如何分层,每层如何技术实现的, 学习架构的过程是对整个系统的设计了解过程打基础。 学习框架的方式应该是自学和开发培训相结合,学习的过程就是要理解如何此的架构有什么好处,可以解决什么样的问题。

      第二步就是去分析设计,要找出并区主要模块,扩展模块,底层模块,第三方模块。然后再找出模块间调用和依赖关系。最后分析具体模块功能实现所用的技术。 抽象的描述就是找出点和线。线就是子模块或子系统间如何通信如何相互管理,相互调用的,点就是模块自己功能,或是如何数据处理,如何在和其他模块通信后获取数据或信息后如何进行处理。 线和点都有可能是性能平静。看如何分析它了。

      举个类例子,一个分布式文件系统,它提供了三类模块,对外的客户端模块提供给第三方调用,数据服务模块提供磁盘存储数据和管理数据块服务,主业务模块他提供了所有文件信息的管理,负责分解数据块和管理数据块存放位置的算法。笼统的说我们找到了三个点,如何去找线呢,可以猜到,这三个模块之间一定是相互通信。 去三模块里去找吧,一定会有关联的功能函数或关联类。

      找出点和线了,剩下就是要分析线的逻辑,点的逻辑 最好能画出了时序图出来,更能帮助找测试点。 直到现在我们总结一下,其实就是在解剖设计,找出关键器官和联系的几条大血管或神经。 从功能测试角度来说,这样的分析我们已经可以达到了覆盖其所有实现功能逻辑的目的。 那么如何去分析它可能的性能测试点呢? 那么又要回到比较宏观的点和线了,那个点处理的数据最多,那根线运送的东西最多。 这就是我们要关心的平静。 点线结合就可找出一些性能测的场景了。

      上面就是根据目前做的项目得来一点点总结。记录下来,欢迎深入探讨。对了还有就是测试这类项目,我们要明确不是测试他的代码,这些类项目的开发多事有多年经验的,所以如果你把精力放在找他的代码上的错误,比较浪费时间,不是不测试代码,把这类代码检测交给工具把。我们要做的是什么呢,是测试他是用的某一类技术,比如内存共享,socket编程,多线程实现,使用的HA技术是否正确,这类技术可能的常见问题,是否实现了功能需要等等。

  • 测试用例编写的一点经验和建议

    2009-03-24 11:30:06

    我们在工作中执行自己的测试用例,没有什么障碍,自己写的,一看就明白是怎么回事。但有时执行别人写的用例时,我们可能就不知所措了,一方面可能不知道该用例检查的是什么功能点,另一方面看到测试用例不知道该怎么去执行,另外大家写作的风格不同,也就会在看与自己风格不同的用例觉得不舒服。

      测试用例是指导我们的测试,它的可读性、可操作性非常重要。我们需要的是一看到测试用例,就知道它是测试什么功能点的,并且每个步骤都是可操作的,不希望出现“用户输入很长的名字”这样的描述。

      对于测试用例的编写提一些个人的建议。

      1、功能划分时,一定要简单、清晰,一个测试用例集就只需要检查一个功能模块。如果包含的功能点太多,会让我们的测试用例比较混乱,降低了可读性。

      2、测试用例的划分也要单一,一个测试用例只检查功能点的一种情况。一个用例检查的情况太多,会导致用例的目的不清晰,而且这样组织用例,有利于需求覆盖率的统计。一个功能点我们测试了那些情况,以及哪些功能点我们在重点测试,一目了然。

      3、测试用例要有一个简单的目的描述,有助于读者对测试用例的理解。

      4、测试用例要有明确的执行前提,包括环境,数据,场景。

      5、测试用例的步骤描述要简单、清晰,一步就是一步。比如:第一步,用户登陆;第二步,用户点击“用户信息”;第三步,用户修改姓名为“张&三”;第四步,用户点击保存。这有利于提高用例的可操作性。

      6、测试用例的数据要明确,特别是前提数据和要检查的数据。比如,测试准备数据:用户:张三,李四,王二。在排序后用例的预期结果为:李四,王二,张三。这样,用例在执行时,很清晰,有很高的可操作性,执行者对于执行结果是否正确也非常清楚。

      提出一些个人的经验、建议,考虑的不是很全,希望大家提出意见和补充。

Open Toolbar