作业-测试方案设计-jjh

写的是一个大公司整体的测试方案,请老师审阅,测试方案这个问题我在工作中也有意识在思考,今天趁这个作业写出来,请老师审阅点评。

背景介绍:

虚拟货币公司,主要有虚拟货币交易系统,监控系统,其它虚拟产品展示与交易系统三个系统

一、 虚拟货币交易系统:成熟

业务介绍:

负责买卖双方的虚拟货币产品交易。此系统为处理交易的核心内部引擎,没有界面,有与其配合的外接系统(不属于测试范围)负责直接面向用户接受用户订单,然后转换成特定格式报文发送给此核心内部引擎。其有一个自己的业务管理系统。

系统架构:

开发语言:C++

分为预处理层,消息总线中间件,服务层(检查模块,交易模块,xx模块,xx模块,业务管理模块,运维管理模块),预处理层负责接入报文预处理,消息总线中间件负责消息分发,服务层负责处理具体业务。

报文流转:

预处理层—>消息总线中间件—>服务层

测试现状:

研发模型:瀑布模型

测试流程: 冒烟测试->模块与系统测试-> 回归测试-> 验收测试

分为两个个测试小组:

核心引擎测试:接口测试。已全部实现自动化。

业务管理系统测试:UI手工测试。正在将手工用例转向自动化用例,自动化执行慢,稳定性不好。

测试目标:效能提升
1、提升接口测试自动化执行效率,特别是回归的执行效率。5万个用例需要跑两天。希望能两三个小时。

2、提高UI用例的执行效率和稳定性。
测试策略 :

1、接口用例执行慢原因分析:用例所需的被测环境不同导致用例需要先构造自己的测试环境,这种特异性导致执行慢:如测试A服务的用例,其需要的环境是A服务真实启动,其它服务启动模拟器。测B服务的用例又是B服务真实启动,其它服务启动模拟器,从而导致被测环境的不同,导致每10个左右用例就需要重新构造一次测试环境,所以才变的特别慢。可否有一种方法,构造一种测试环境,所有的用例共用?

2、提高UI用例的执行效率和稳定性:

抛弃UI或者:

1)显示等待变成隐式等待,节省时间。

2)判断控件出现后再点击,增加稳定性。

3)增加将失败用例自动重新执行一轮次功能,排除因为稳定性不足导致的失败。

二、监控系统:挑战

业务介绍:

监控交易行为,对虚假交易等行为进行示警并跟踪,主要给风险分析控制人员使用 。

系统架构:

后端:大数据ETL框架,kafka等(对大数据不是特别了解,大概知道过程)。

前端:是echarts图表框架基础上进行二次自研封装的组件,有大量的点、线、饼、时序、面积各种复杂的图。

测试现状:

研发模型:敏捷开发模型

测试流程: 冒烟测试->模块测试。定期集成测试、回归测试。

具体主要有以下几块测试:
目前看着都是 接口测试:
1、大数据框架测试 :造数据是难点,如何造出海量数据?

2、sql文件 测试 :测试难点在于用例不通过后不知道出错点是sql文件具体哪一步,需要一步一步排 
     查。排查花费时间最长。

3、前端数据加载测试:

4、UI控件测试 :
测试目标:功能测试,效能提升

1、功能测试:提高大数据系统测试技能

2、效能提升:各种被测类型多,想借助自动化工具提升效能

测试策略 :

1、培训大数据系统的测试技能。

2、关于效能提升:

引入相关自动化测试工具:

1)大数据框架测试: 数据工厂

2)sql文件测试:暂未想到测试策略

3)UI控件测试:暂未想到测试策略

三、 其它虚拟产品展示与交易系统:挑战

业务介绍:

是一个web网站,主要用于虚拟产品的展示与交易。

系统架构:

系统采用微服务架构

测试现状:

研发模型:敏捷开发模型

测试流程: 冒烟测试->模块测试。定期集成测试、回归测试。

问题:

1、项目需求不是特别确定,有点边走边看的感觉。开发频繁修改,频繁提测。测试人员压力很大。

2、第一次测试微服务架构的系统,经验不足。

测试目标:功能测试,效能提升,工作方式优化

1、功能测试:提高微服务系统测试技能

2、效能提升:引入自动化测试工具

3、工作流程优化:明确需求,规范测试流程

测试策略

1、功能测试:

培训微服务系统测试技能,容器部署技能。

2、效能提升:

引入mock等自动化测试工具

3、工作流程优化:

1)紧跟需求,从产品经理获得需求的第一手消息。不要只看需求说明书。

2)设置质量门禁,不让研发随便提测。

  1. 没有图,业务理解不清晰直观
  1. 选择P0 P1 级别用例
  2. 分布式执行提升效率

整体的方案业务壁垒比较强。业务壁垒比较强的情况下,如果想让别人清晰的了解你的方案。

  1. 要加图。协助理解
  2. 每个结果要有数据指标,比如 SQL 造数,之前的效率是什么,提效之后是什么。即使领导或者面试官短时间不好理解业务,也能快速get到你的贡献。
  3. STAR 法则里面的 R 是结果的意思,结果就要有数据指标。