控制工程师论坛

教程与手册

软件编程经典培训实例 20、对函数参数进行有效性检查

xilinxue
xilinxue

2008-11-07

 案例 1
【案例描述】
     某交换类产品BAM后台管理系统使用了注册表存储后台系统数据自动备份时间;在对数据自动备份进行系统测试时考虑到注册表中数值的任意性,很有可能被测系统没有对注册表中存储的值作相应的合法性检测,从而有可能对系统产生不良影响。

【处理过程】
通过审查源程序及实际验证,发现果然存在问题。BAM有关数据自动备份程序程序在得到该项值后只做了简单处理,没有对时间进行合法性验证。若自动备份操作发生在前后台通讯的高峰期或者是在设置数据需要对数据库进行操作时,对系统可能会产生重大影响。

【结  论】
系统使用注册表中的数据同样要进行各种情况下的测试,包括合法的和不合法的数据设置。

【思考与启示】
系统的数据输入有多种渠道,不仅包括人机命令、系统INI文件,还包括注册表等其它途径;在测试时对各种情况都要进行全方位的测试,从而保证系统的可靠性。

  案例 2

【案例描述】
 设计规定07的TSS板是不支持数字用户内,外线强测的,在对数字用户内,外线测试正常后,有意强测一正在通话的数字用户,却发现返回报告:
用户外线测试
------------
                      测试时间 = 1999-06-03 16:48:06
                        号首集 = 0
                      用户号码 = 6540136
                   BAM测试状态 = 正常
                  主机测试状态 = 正常
                          AVAG = 0.08  
                          AVBG = 0.29  
                          AVAB = -0.21 
                          DVAG = 0.62  
                          DVBG = 0.62  
                          DVAB = 0.00  
                           RAG = >10M
                           RBG = >10M
                           RAB = >10M
                            RL = >10M
                           CAG = 0.001
                           CBG = 0.001
                           CAB = 0.001
                          结论 = 断线
结论断线肯定是错误的,测试期间查询TSS状态,显示TSS空闲,可见主机返回的报告是错误的。

【处理过程】
 修改命令ADD RTSTI对应的存储过程,问题解决。

【结  论】
 用户外线测试主机没有判用户是否为数字用户。

【思考与启示】
 测试一项功能,既要测试系统提供的功能要满足要求,系统没有提供的功能看是否误执行了,导致错误的结论。

回帖

评论4

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China