非功能测试微观指标
从大部分互联网企业来讲,我们一般做的一点在于为了确保我们的数据不会丢失,起码会做热备和冷备,一主多从。用服务器,两台服务器,两个token的,一个token本身能够支持的并发量也不多,两个token就上去了,起码有一台万一坏掉,笔记本在集群部署下也可以用。
做完这些,就要做负载均衡了,我们的负载均衡有没有做好,因为有集群部署了、有双机热备了,做完之后就需要做负载均衡,我们写的数据量在双机两台都有写好,有没有同步,两台数据库的cpu内存是不是使用相差不大,完全一样是不可能的,保证我们的集群部署负载均衡是合理的。
接下来一点就是备份/恢复,模拟当一台服务器坏掉,这个过程中我们有做远程备份,本地备份,这个时候能不能正常恢复回来,这是测试人员要做的事情。不可能当问题出现了再去研究备份怎么恢复。
非功能测试宏观指标
我们作为非功能测试人员,我们要去做容量规划、扩展性设计、兼容性、可用性、可靠性、安全性的设计。
容量规划指的是我们要在宏观上去预测未来。这个系统现在的交易量是多少?将来的交易量是多少?这些交易的数据会不会永远存在于数据库里面?这些都是我们的容量规划。
容量规划中会储备相应的存储磁盘空间,构建数据在里面,在一定的数据量的基础上去做并发。从10个人里面去找一个人,你扫一眼就能发现,但是从1000个人里去找一个人就麻烦了,从10000个人里去找一个人那就更累了。
容量规划的原因在于索引,索引的目录。就像我们的字典一样,我们查一个字,这个字典这么厚,我们查这个字的过程中,通过索引我们可以定位到哪一页,哪个字,在哪一行,很快就可以查询出来了。容量规划的原因是只有达到这个容量后,才能知道数据的实效性怎么样。
在满足这些要求的情况下我们才会再去做高并发。500个并发用户,一台服务器,cpu使用率80%这也可以了,那如果5000个用户并发呢?怎么办?这时候就需要做扩展性设计了。所谓的扩展性设计是什么呢,我要买几台服务器,每台服务器8G、 16G,买10台,然后做负载均衡。
这10台服务器我要装centos7.2、centos7.6、centos7.4,也会装windows,也会装红帽子,各种操作系统,在里面装不同的同一版本的JDK去部署同一版本的Token,或者不同版本的JDK和不同版本的Token的情况下,能不能在兼容的情况下可以负载均衡且可以被无痕迹地正常访问、正常跳转。这就是我们要求的兼容性。
兼容性做好之后呢,因为各种服务器的出现,我们会要求它们安全性的提升。因为我们的兼容性、我们的容量、我们的扩展,我们的集群部署、我们的可用性、我们的可靠性要求,往往这些要求实现的过程中,我们会对外开放不同的端口,给对方访问,因为这些端口的访问,它的跳转关系导致了安全性的降低。
这些安全性降低的过程中,会影响到安全问题,被攻击,这个时候我们会要求做适当的漏洞扫描,端口扫描等等。这是最基本的安全性。当然,更高级一点就是等保,这块硬件安全、软件安全都有要求。这就是很多评测机构会代表第三方要求给一些专门的企业做验收。验收这方面有没有做好,有没有做到位,这也是为什么政府部门和公安部门或者一些大型企业项目要求做这些,原因在于,交付完之后,如果自己测有没有做到位,有时候真不放心。那就需要请专门的第三方机构去做这块内容。