欢迎访问国可工软科技有限公司官方网站!4000032330

可靠性基础 可靠性流程 可靠性开发 可靠性评估 可靠性标准
软件可靠性

【技术分享】系统性谈谈软件可靠性——第7讲:家电软件出问题的一些思考

作者:admin 时间:2022-09-13

本文为《软件可靠性简介》培训课程中摘录的公开内容。

本文目录:

一、需求评审的重要性

二、与软件工程师共通的语言

三、良好的编码规范

四、考虑真实环境的测试用例

我们做家电产品,相对来说,软件其实并不太难,但也会出一些错误。

但软件错误往往修正起来比较快,也不会花很多钱,所以软件问题并没有被很重视。

谈谈我的一些思考,属个人观点,不对。

一、需求评审的重要性

软件出问题,我认为最大的原因是大家对需求没有搞清楚。

对软件,大家要明白一点,软件并不是说我们通常意义上理解的简单的一个程序,而是包括规约和相关文档。具体到家电,我们可以简单的理解为电控规格书,而电控规格书要跟产品的需求相符。

我在讲结构化思维评审时有提到,评审包括了需求评审。不能企划、提一个想法过来,就要匆忙去实现,这个不对。

电控吐槽变更多,其实是前端没想清楚,整个团队都有责任,企划前面没定好,评审风险没有提出等等。体系上是有欠缺的。

此外,其他模块出问题后,因为软件改起来成本没这么高,改起来也快,解决方案就朝软件方向去走。这又带来了新的软件变更。

通过改软件去修正,到底是不是一个好的解决方案?往往因为成本和周期问题,被认为是好的方案,然而并没有从全局去看。


二、与软件工程师共通的语言

需求大家都定好了,但是它只是一个想要的结果,具体怎么实现,只有软件工程师清楚。

这个时候问题来了,你以为你讲的很清楚,实际上软件工程师会理解为另外一个意思。

且不说绝大部分其他的工程师看不懂代码,即使是另外一个软件工程师去读代码,也不能读懂、不理解错写程序的软件工程师的意图。

去到软件工程师自身,时间久了再去看以前自己写的代码,如果没有多少注释,要去理清楚也要时间,还可能改错了。尤其是大型软件,涉及多个编码文件,代码量去到成千上万行时,不写好总体逻辑及注释,就会把自己看晕。

要解决这个问题,就需要找到一个共通的语言,让大家能交流。我推荐的是软件逻辑图。

其他人不需要懂代码,但能够看得懂逻辑。这样大家就能交流,去识别风险。

举个例子,表达式计算器,它的功能就是用户输入一个计算表达式,然后直接计算出结果:

国可软件可靠性 (1).png

非常的简单,但不懂软件的人,不知道具体是怎么实现的。如果有个软件逻辑图,那就清晰了:

国可软件可靠性 (2).png

这个时候,虽然我不是软件工程师,但我可以就这个逻辑图提问,比如:

合不合法具体的判断内容有哪些?

弹出错误提示后,用户点击确定,能不能实现具体报错,是哪个地方输错了?

清空按钮按下去后,光标会定位到哪里?

清空按钮后,显示框可以清空,但结果框是应该保留的,你这个逻辑图写错了。

怎么查看使用帮助?你这里没有提。

这么一问下去,其实你会发现很多问题的产生,是因为你的需求没有讲清楚,你以为软件工程师会按你的想法设计,实际上并没有。


三、良好的编码规范

遵守设计规则,写好注释,良好的编码规范,这样能减少人为失误。

平常我用C#,VB,Python,Ruby编程语言较多,各有优势。

以前我特别烦Python的缩进,喜欢Ruby的自由——我是特别热爱自由不喜欢那么多约束的人。但后来越来越觉得Python这种是比较好的,可读性好。Ruby还有个问题是没有类型检查,灵活但容易隐藏潜在的问题。

我们举个例子对比下,因为ruby没有强制格式要求,这个可读性就比较差,很容易写着写着就错了:

国可软件可靠性 (3).png

Python强制格式要求,读起来比较清晰:

国可软件可靠性 (4).png

还有一点是变量的命名规则,要定好,这样方便协作,也便于自己识别。

四、考虑真实环境的测试用例

我们在第4讲里提到,为了得到尽可能真实的结果,软件可靠性测试应该尽量在真实的环境下进行。

测试用例有没有根据实际去定,有没有遗漏,有没有考虑到环境应力,这是需要考虑的。

我们在开发测出来的问题,都有时间去更改。每个月我去分析、统计,这些问题更加多的是失误之类的,或者本身需求变更了,还没来得及更新之类的,按标准及文档就判不符合。

测试没测出来,产品出到市场的时候,改起来就很麻烦,即使你有OTA,你不能保证用户有联网,可以完成远程升级。

因此测试用例要考虑真实环境,比如电压、磁场、水压、水温、气温等等一系列的环境应力。

举个例子:

程序的,一般是一个定值。为了确认用户家真实环境下,是否有问题。用0.1MPa,0.2MPa,0.3MPa…1.2MPa步进水压去测试,监测一个周期内,这个电控程序的是否都能够满足。而不是只在0.25MPa标况下,测试一个点的数据。

数值怎么选才是合理的,这就涉及到对环境应力的详细研究,要搞清楚各个环节都会遇到什么应力,数值会去到多少。需要具体问题具体分析。


以上文章来源于永恒之地 ,作者徐步陌上行


国可RFMEA

与传统的FMEA分析方法和软件相比,R-FMEA最大的特点是通过其七步的分析流程, 构建了关联紧密的FMEA基础数据关系,即FMEA主模型。通过FMEA主模型,工程人员可以根据需要构建简单的或者复杂的FMEA分析, 并实现企业知识的积累和快速重用。

国可R-FMEA软件支持免费在线使用,并保证数据。日前,R-FMEA V4.6已正式发布,欢迎感兴趣的朋友在线申请

 国可软件可靠性 (5).png