Loading

可靠性测试用例设计

1、数据仓库服务架构

数据仓库服务(Data Warehouse Service),下面简称DWS 。主要为客户提供数据存储,数据挖掘,数据分析等功能。其内核采用开源的关系数据库管理系统Postgres SQL加以定制开发。服务部署在集群上,集群有3~32个虚拟主机组成。用户使用DWS集群的请求处理流程如下:

1.1、用户通过客户端,例如chrome,IE,FireFox等浏览器登录DWS界面,对应于下图中的1。

1.2、用户对DWS集群做了一个操作,比如重启,对应于下图中的2。

1.3、Nginx根据调度策略将重启请求下发到某一个console节点上,对应于下图中的3.

1.4、Console节点将请求通过HAproxy根据某种调度策略,将请求下发到service节点上,对应于图中的4。

1.5、service节点处理重启任务,并更新数据库中相关表的记录,对应于图中的5,并返回处理结果。

其它节点功能说明:

1.6、monitor节点:监控集群的状态。

1.7、billing节点:计费。

1.8、OM Sevice节点(insight):运维节点,一些运维操作会通过该节点下发到service节点上。

1.9、DB节点:数据库节点,一主一备。

2、可靠性测试的含义与测试过程

可靠性测试是指:系统在常规与意外环境执行和保持其功能的能力,系统必须能以一致性和可重复性的方式执行并保持其功能。(概念出自《敏捷软件测试:测试人员与敏捷团队的实践指南》)

测试过程:

2.1、明确可靠性测试的目标,同一个系统,不同的测试目标设计出来的用例也不一样。

2.2、了解软件的架构。

2.3、设计可靠性测试用例。

2.4、执行可靠性测试用例。

2.5、分析可靠性测试结果并输出测试报告返回给测试经理。

3、用例设计

主要从以下几个方面来考虑,可靠性测试的原则之一:故障恢复后业务能够自修复。

3.1、从架构设计图来看一共涉及的的节点有:console,service,billing,db,insight,monitor。其中只有insight部署在一台主机上,其余节点均部署在2台或2台以上的服务器上,以service为例,一台服务器宕机了是否会影响业务,两台呢,或者全部宕机后开机能否自行恢复业务呢?

 

3.2、内存占用率:单个节点的内存占用率达到90%和100%;多个节点 内存占用率达到90%或100%。

 

3.3、CPU占用率::单个节点的CPU占用率达到90%和100%;多个节点 CPU占用率达到90%或100%。

 

3.4、磁盘使用率::单个节点的磁盘使用率达到90%和100%;多个节点 磁盘使用率达到90%或100%。

 

3.5、网路故障:单个节点网络故障,多个节点网络故障。单个节点和多个节点某个网卡down掉。

 

3.6、单个节点重启,或多个节点重启。

 

3.7、功能首次失败时间,比如:创建DWS集群首次失败时间,即初始操作和首次失败之间的平均时间。

 

3.8、DWS集群长时间运行业务,是否出问题。

 

3.9、并发操作:比如同时创建50个集群,观察成功率,可以使用BrupSuite工具。

 

3.10、业务能否从节点A迁移到节点B,比如创建集群的任务正在节点service1上运行,此时,service1宕机,任务能否成迁移到service2或service3上。

 

4、可靠性测试过程中用到的工具

 写满磁盘

参考命令:dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file 

占满内存

待补充

占满CPU

参考:https://blog.csdn.net/robertsong2004/article/details/36879233

posted @ 2019-03-29 21:31  秦无殇  阅读(4281)  评论(0编辑  收藏  举报