这篇文章,主要讲解软件设计思路。
在硬件产品测试中,每家公司都有专业自动化工程人员开发上位机软件,语言也是五花八门,Python、C#、C++、LabVIEW等等,类似的测试软件有很多,但我还是重新设计了一套摸索出的测试模式,目的,就是简化测试过程,让研发、测试、工程等项目成员统一测试思维,就像打仗一样,一个部队只用一套指令模式,假如每个作战人员的指令都不一样,极大的影响作战效率,只能像大厂一样,招聘一大批人员来同步指令,通过人力来提升项目迭代速度。
中小企业要的是快速迭代,稳定可靠,那么如何能快呢?
统一作战思维,让一套测试思维贯穿所有项目成员,产品问题就可以及时发现,起到快速迭代的作用。
总结:天下武功,唯快不破!
额,扯远了。。。
一、测试并行化学习计算机时,肯定看到过类似如下这张图
处理程序指令的流水线,为了运行速度快,采用并行的执行方式,那么同理,电子产品测试同样可以采用并行执行的方式,比如,工厂的 *** 作员,一个人同时测试3-4个同一款产品,拿取-扫码-放下,拿取-扫码-放下。。。周而复始,而不是只测试一个产品放下后,一直坐在那里空闲等待。
充分利用 *** 作员空闲时间,当然工时优化是工厂工程做的事情,但是假如你的测试软件,可以满足并行测试的话,那么,在测试方案设计之初,就可以考虑并行测试的可能性,为产品的测试成本降低起到至关重要的作用。
真实的工厂,其实串行只测试一个产品的比例还是非常高的,那么人力、时间成本就这样无形中增加了。(别人家都是并行化测试,你家是串行测试,起步都不一样,如何能快过别人呢?)
因此,超越大厂的第一步:并行化测试!
二、脚本组件化不熟悉互联网开发的同学,对这个名词应该很陌生,何为组件化?
即解耦与聚合
组件化就是将一个项目拆分成若干个组件,分而治之。比如一个汽车的生产,也是将轮子、灯、座椅等等作为单独的组件,由各自的工厂去生产维护,生产轮子的就专门做轮子,生产座椅的就专门生产座椅,等各个组件都做好后再拿到组装厂统一调度组装使用。
在实际的开发中也是一样,比如我们经常用到的微信,有朋友圈、漂流瓶、聊天模块、支付模块等等众多功能,微信开发者也是按照组件来划分各自的开发任务的,比如A团队负责漂流瓶、B团队负责朋友圈等。然后在总项目中分别调用组件来使用。
这种思想能不能应用到电子产品的开发中呢,可以的,比如:大到一个单独的UUT(被测单元),小到一个测试大项,都可以看做是组件,那么思路就打开了,测试项,UUT都可以在多个脚本复用,测试项也不在是写死在一个脚本中了,各个脚本之间随时拿来使用,就像搭积木一样简单,而且当UUT(被测单元)变成组件后,一个脚本就可以搭载多个不同UUT,一个UUT就是一个积木,一个测试项,就是UUT内的小积木,测试脚本变成了搭积木,开发变的更简单了。
中小创业公司使用搭积木这种组件化思维的脚本来测试,随搭随测,随测随搭,测试开发速度就将优于大厂,原因是大厂人员众多,要走各种bug流程,测试需求,方案等等,等扯皮完再测试,可能已经是一周以后的事情了,而中小企业没有复杂流程,可以快速测试发现产品隐藏问题,快速迭代优化,提升开发效率。
因此,超越大厂的第二步:脚本组件化!
三、代码模块化当今社会,有人会为了造车,建一座铁的冶炼厂么,拿来用就好了,制定好标准,是吧,拿来主义就是为了提升效率。
这样的例子比比皆是,比如Python,它除了自身内置函数外,最强大的是它开源并且有丰富的库函数。
比如微服务架构(互联网流行的架构),它的思路就是搭积木,每个积木都是独立的微小服务模块。
那么电子产品测试能不能借鉴呢?可以的。
将测试代码封装起来,设计成一个一个的外部库文件,每一个库都是单独的积木模块,参考Python,当你测试需要哪个模块时,导入对应模块。
库文件少时,感觉不到它的强大,当库文件种类丰富,功能涵盖电子测试所有领域时,中小企业再也不用为了测试软件,外包找人开发了,直接拿来用,自己就可以组装出自己公司的测试软件了。
需要像大厂一样,招聘专门的部门来设计测试软件么,不用,直接使用本软件,只需要封装自己的协议就好了,别的库都已经有人设计好了,这就是免费社区的力量。
额,现在啥也没有,只有本人开源了几个丑陋的外部库源码。。。
期待,大家提出意见,或者贡献自己的力量,将优秀的外部库开源出来,为中小企业提供助力。
收费版本的目的,也是为了有资金可以租借仪器或购买设备,调试各种仪器和通信协议,再免费开源出来供大家使用。
因此,超越大厂的第三步:代码模块化!
四、数据可视化数据可视化这个概念大家都是耳熟能详的,也是大厂优于中小公司的地方,大厂的数据获取肯定比中小企业更容易,那么咱们就要补齐这块短板,而且,青出于蓝而胜于蓝,数据可视化做到比大厂更好,这样才能够超越大厂。
如何能够做到更好呢?
首先,将测试数据划分为结果+报告+日志,再将结果分类汇总,通过建立时间、脚本、测试项三位一体的方式,让任何一次测试都可以快速找到,任何一个测试的日志都能够快速找到,任何一个数据都可以反追溯到对应的脚本与日志,最后,调试过程中,直接分析测试项的散点图、CPK、正太分布图。做到随测随分析,快速的数据分析,能够提前发现产品问题。
咱们没有高端的云服务器来存储测试数据,但咱们做到本地数据快速分析,一样能够实现数据可视化的效果。
因此,超越大厂的第四步:数据可视化!
软件的整体设计思路,就是基于以上四点进行展开的。
下一章,开始讲解软件的详细设计方案
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)