• 【软件工程】软件测试之黑盒测试


    黑盒测试是测试中重要的一个环节,但是过多书籍都是长篇大论,看起来很糟糕。今天对于黑盒,我决定借助一个例子详细解析下黑盒的奥秘。一起来吧!!!

    首先,我们要明白几个概念:

    1》有效等价类:对程序规格说明来说合理,有意义的输入数据。可用此类检查规格说明中定义的功能和性能。

    2》无效等价类:与有效等价类相反的定义。


    一  等效类

    下面以实例分析:

    1个函数包含3个变量,month,day,year。函数的输出为输入日期的后一天日期。例如:输入为2013-3-13 ,则函数输出应为2013-3-14.找出该函数的有效等价类。

    问题分析:

    1,要输入数据(月份,天数,年数)

    2,预测排序所有可能的输入数据(合法数据,字符,越界日期,小数日期等)

    3,判断可能输出的数据(正常输出,月份变化,年份变化,天数变化,错误提示等)

    4,表格列出所有可能性进行汇总,归档。


    定义数据:

    输入:input           

    月份:month               1--12月:  m1--m12

    天数:day                    1--31月:  d1--d31

    年份:year                 是否闰年: leap/!leap 

    无效等价:invalid         

    无效月份month:  !m#

    无效天数day : ! d#

    无效年份year : !y#

    输出:output

    错误:o1

    天数加1 :o2

    月数加1 :o3

    天数为1 :o4 

    年数加1 :o5

    月数为1 :o6 


    所有可能操作:

    【输入】input:
    month(1-12):m1{1,3,5,7,8,10},m2{4,6,9,11},m3{2},m4{12}
    day(1-31):d1{1-27},d2{28},d3{29},d4{30},d5{31}
    year():y1{leap year},y2{!leap year}


    【无效等价】invalid:
    month:!m1{<1},!m2{>12},!m3{has char},!m4{specal char}
    day:!d1{<1},!d2{>31},!d3{has char},!d4{specal char}
    year:!y1{has char},!y2{specal char}

    【输出】output:
    o1:errior
    o2:day=day+1
    o3:month=month+1
    o4:day=1
    o5:year=year+1
    o6:month=1


    列表显示:

    对应所有可能操作排列组合结果

    数据统计和归纳分析


    二等边值测试

    问题分析:

    1,要输入边界测试值:最大值,最小值,中间值,偏大值,偏小值(若需要验证健壮性,加入最大偏大值和最小偏大值)

    2,需要测试对象n(month,day,year三个),测试条目5n条

    3,列表设计测试计划表


    定义数据:

    最大值:max           

    最小值:min              

    中间值:mid                 

    偏大值:max-1

    偏小值:min+1


    如图:

      


    列表:

                  

    总结:

    通过以上分析,对黑盒操作并非那么深奥。是有规律和将可能发生错误操作归纳。当然任何程序错误必不可免,尽量避免严重后果的操作,在测试阶段尤为重要。等价性测试遍历所有可能性,比较严谨。但是条目巨多,工作量大。现实测试建议使用等边界测试,这样数据量比较集中,测试工作量相对小。黑盒测试对于大型代码比较方便。这个一个螺旋式的测试形式。

  • 相关阅读:
    flex布局中transform出错
    RabbitMQ系列之Centos 7安装RabbitMQ 3.6.1
    解决windows下FileZilla server中文乱码问题
    IIS 7.5 + PHP-5.6.3 + mysql-5.6.21.1
    C# 速编神器LinqPad(新版6.5)
    一个MySql Sql 优化技巧分享
    IIS反向代理/Rewrite/https卸载配置
    zerotier 远程办公方案
    一次Mysql连接池卡死导致服务无响应问题分析(.Net Mysql.Data 6.9.9)
    ExpressCache
  • 原文地址:https://www.cnblogs.com/baiboy/p/2958196.html
Copyright © 2020-2023  润新知