51Testing软件测试论坛

标题: 设计测试用例的困惑 –如何在有限时间设计最少的测试用例达到最完全的覆盖 [打印本页]

作者: liangyiqun123    时间: 2011-4-25 17:02
标题: 设计测试用例的困惑 –如何在有限时间设计最少的测试用例达到最完全的覆盖
本帖最后由 liangyiqun123 于 2011-4-25 22:44 编辑

相信大家在平常测试中会碰到这样的情况,要测试某个查询功能。当这个查询的条件比较少时,我们可以对各种条件组合情况进行测试。但是,当查询条件很多时,且每个查询条件会有N个值时,若对各种组合条件进行测试,会设计出数字庞大的test case,可能这辈子都执行不完。

像这个淘宝上搜索商品的功能,我截取了一部分的查询条件(实际还会包含其他的条件)。如果你来测试这个功能,会如何设计测试用例呢?
[attach]72739[/attach]








我先说下我的思路,觉得不是很完善,抛砖引玉, 希望大家能共享自己的思路。
首先正常情况测试(输入有效值)
1. 分别检测各个条件
     例如,
     a. 检查第一个条件“买卖方式”,设计4组场景,每组买卖方式分别取 拍卖、  
         一口价、代沟、不限。其他数据不填或保持默认值。
     b. 检查第二个条件 “价格范围 ”,输入有效价格范围,其他数据不填或保持默
        认值。
     c. 依次检查各个条件,当检查某个条件时,输入各种有效值,其他条件为空或
         者保持默认值。
2. 检查多个条件组合情况
    2.1 选择2个条件组合情况
      买卖方式 + 价格范围
    2.2 选择3个条件组合情况
      买卖方式 + 价格范围+运费
    2.3 选择4个条件组合情况
       买卖方式 + 价格范围+运费+发货方式
    2.4 选择5个条件组合情况
      买卖方式 + 价格范围+运费+发货方式+所在地
    2.5 选择6个条件组合情况
      买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度
    2.6 选择7个条件组合情况
       买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度+结束时间
    2.7 选择8个条件组合情况
        买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度+结束时间+卖家级别
   
异常情况测试
        1. 价格范围:
                          <= 0
                          价格底线 > 价格高线
         2. 所在地:  
                           输入特殊字符
                           输入长串字符达到输入框允许的最大值
          3. 结束时间
                          输入非数字字符
                          <= 0
                           输入很大数字
作者: liangyiqun123    时间: 2011-4-25 17:09
不好意思,这个图片没放好。下班回家后我在排下这个图片。
作者: 执C不悟    时间: 2011-4-26 14:15
这个不错,可以讨论,虽然很老套的话题了,但是做到最少的用例达到最大的覆盖率有点难度,尤其是输入条件很多的情况
作者: hangxin06066    时间: 2011-5-6 14:38
有个叫花瓣查询方法,可以进行组合查询

2. 检查多个条件组合情况
    2.1 选择2个条件组合情况
      买卖方式 + 价格范围
    2.2 选择3个条件组合情况
      买卖方式 + 价格范围+运费
    2.3 选择4个条件组合情况
       买卖方式 + 价格范围+运费+发货方式
    2.4 选择5个条件组合情况
      买卖方式 + 价格范围+运费+发货方式+所在地
    2.5 选择6个条件组合情况
      买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度
    2.6 选择7个条件组合情况
       买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度+结束时间
    2.7 选择8个条件组合情况
        买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度+结束时间+卖家级别

这个我觉得可以添加为:
2. 检查多个条件组合情况(存在值加花瓣)
    2.1 选择2个条件组合情况
      买卖方式 + 价格范围
    2.2 选择3个条件组合情况
      买卖方式 + 价格范围+运费
    2.3 选择4个条件组合情况
       买卖方式 + 价格范围+运费+发货方式
    2.4 选择5个条件组合情况
      买卖方式 + 价格范围+运费+发货方式+所在地
    2.5 选择6个条件组合情况
      买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度
    2.6 选择7个条件组合情况
       买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度+结束时间
    2.7 选择8个条件组合情况
        买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度+结束时间+卖家级别

检查多个条件组合情况(不存在值减花瓣)
    2.1 选择8个条件组合情况
        买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度+结束时间+卖家级别(其中“卖家级别”设置不存在值)
    2.2 选择7个条件组合情况
       买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度+结束时间(其中“结束时间”设置不存在值)
    2.3 选择6个条件组合情况
      买卖方式 + 价格范围+运费+发货方式+所在地+新旧程度(其中“新旧程度”设置不存在值)
    2.4 选择5个条件组合情况
      买卖方式 + 价格范围+运费+发货方式+所在地(其中“所在地”设置不存在值)
    2.5 选择4个条件组合情况
       买卖方式 + 价格范围+运费+发货方式(其中“发货方式”设置不存在值)
    2.6 选择3个条件组合情况
      买卖方式 + 价格范围+运费(其中“运费”设置不存在值)
    2.7 选择2个条件组合情况
      买卖方式 + 价格范围(其中“价格范围”设置不存在值)

这样不知道会不会更全面点
作者: rfmaster    时间: 2011-5-16 05:43
感觉这个前面条件定了后面就不一样了 可以选定一个因素 然后设计其他的变化 观察过正交表 感觉有异曲同工之妙
作者: systembus    时间: 2013-2-14 00:41
上面那种递进式的覆盖方法感觉还是有点多。如果页面上各元素之间不存在互相影响,完全可以利用实验正交表来设计组合测试用例。
作者: 骷髅行走lby    时间: 2013-2-27 16:32
同意楼上,用正交法来会比较合适
作者: 骷髅行走lby    时间: 2013-2-27 16:35
但是针对价格范围及结束时间上,用正交法,好像不太好弄




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2