转载-谈谈计算器的验证(Dennis Wang-王军)

图片[1]-转载-谈谈计算器的验证(Dennis Wang-王军)-药研库

说到计算器的要做验证,可能有人会比较急。先请你不要急,凡是在行业突然提出这个问题,肯定会有他的道理。首先看看计算器用来干什么,如果说计算器就是用来算算1+1是不是等于2这种低级的整数计算(除法除外,后面再说),那要说做验证是有点过意不去。但是如果你说,这个计算器计算的结果是用来放行产品的或者用来投料的,估计你心里就会有点嘀咕;如果这个计算器的计算结果精度要求很高,5位小数点,一位出问题可能就会有产品风险,估计你得想想我是不是要先好好测试测试,然后再投入使用;如果再告诉你,这个计算器可以自己编辑函数来复杂运算,你心想,这不就是excel表么?而且excel还比你受控。

所以,要回答计算器要不要验证,得要看看几个因素:用途的严重性、出错的可能性和使用的复杂性。最典型的例子就是,你要计算2+2*3,用普通计算器按顺序计算结果就是4*3=12;而市面上也有科学计算器可以算成2+6=8.如果你计算的结果非常重要,而普通计算器计算又可能一不小心算错,你是不是得考虑采购符合要求的科学计算器呢?而如何证明科学计算器计算的顺序是准确的呢?是不是得验证?

基于以上风险,可以简单分析常见的计算器验证内容包含:

1.计算小数点的有效位数

理论上计算结果带有小数位数的,不会存在绝对准确,如12位的,也就是仅可显示12位数字,而对于小数点的第13位必须要进行取舍(取舍方式可能是直接舍去、四舍五入或四舍六入五成双等方式),如果对位数十分重要的话,那这种有效位数及取舍方法要确认。可以使用excel计算比对来确定取舍方式(excel用的电脑一般是32位以上)。

2.计算顺序的确认

如上述例子描述,如果计算顺序存在一定错误可能,并且会带来严重影响;就需要选择具有计算顺序选择的计算器,并且进行确认。包含不限于先乘数后加减测试、先括号测试、复杂计算和套括号测试。

3.浮点计算准确性

如0.1 + 0.2 =(测试浮点数精度,理想结果应为0.3,但某些计算器可能显示0.3000000001,需确认误差是否可接受)。

4.选择科学计算器引入的特定复杂功能的确认

有时候,高级一些的运算,会选择比较高级一些的科学计算器,而此类计算器存在一些特定的功能。并且此类功能应用到GMP计算,那也是要验证的,比如:

1)具有可能影响检测准确性的设置,如可以设置计算的精度(有效位数),需要确认其设置方式和值,最好能进行密码限制。

2)具备公式编辑和存储功能,要确认公式准确性和调用,这其实已经开始类似excel了,个人觉得最好还是要有访问限制。

3)具备数据传输(蓝牙、wifi)和打印功能:确认传输和打印功能

4)返回测试,测试步骤出错,是否可以看见上一步的公式继续运算,还是只能从头开始?

5)异常测试:如电池突然断电,已经测试的过程是否丢失,需要重新开始;已经保存的公式是否丢失?

6)复杂公式计算,尤其关注计算结果的小数位数,如平均值(Mean)、样本标准差(sx)、总体标准差(σx)、求和(Σx)、方程求解等。

7)有些公司还会使用计算器上面的时间用作GMP用途,那这个时间准确性和受控也要测试。

8)选择性的测试部分常见功能,如:

错误提示:故意输入非法算式(如1 ÷ 0、log(-1)),测试计算器是否会给出明确的错误提示(如Math ERROR、DIVIDE BY 0)。

格式显示:测试超大数字(如999999999999 + 1)是否会自动转换为科学计数法(1.0E+12)。测试科学计数法的输入和显示是否正确。

综上所述,计算器听起来就是一个计算数值的,就跟算盘差不多。但是实际上其可能承载着不同的严重程度和复杂程度。尤其是使用到复杂计算的科学计算器,其设计理念和普通计算器差异巨大,一旦其投入到关键领域的计算放行,进行验证的必要性还是很强的,甚至不排除有公司为了计算便捷给企业单独开发程序的可能性,这就涉及5类软件验证的。所以,不要小看一个小小的计算器,他能做的有很多,风险也高低不同,还是要基于严重性、可能性和复杂性的风险来整体考虑其选择和验证。

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
蓝调的头像-药研库

昵称

取消
昵称表情代码图片