软件系统测试和部署流程

标签: 无 分类: 未分类 创建时间:2021-06-08 14:29:36 更新时间:2024-11-15 10:49:45

最近虽然和老板吵了一架,但是也让我就系统开发部署问题进行了深入的思考,作为一个独立的开发者,要负责前端,后端,项目测试,项目部署,项目维护,项目升级等等一系列的工作,如何在保证最少错误率的情况下,能如期交付软件,如何避免这种纠缠不清的推诿扯皮形式的讨论,有下面的几个主要问题,也不仅仅限于下面的问题。

  • 软件系统如何开发才能保证bug变少
  • 软件系统如何进行有效测试才能保证测试结果的有效性
  • 软件系统如何进行部署才能变得高可用

目前我搭建的是这样的一个软件架构,系统分为测试版和正式版,正式版和测试版分别部署了4台服务器,在阿里云上,有两台服务器,一台部署了正式版,一台部署了测试版,在公司内网中一台服务器上,安装了Hyper-V,并在上面安装了六台虚拟机,其中三台作为正式机,三台作为测试机。这样将阿里云中的正式版服务器和内网三台正式机使用openvpn组成局域网,并创建了redis集群,在案例云正式服务上,使用nginx做了负载ip_hash的负载均衡,这样四台服务器就组成了一个集群。同样的道理,案例云测试服务器和内网的三台测试虚拟机组成了集群。

小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。