写的是一个大公司整体的测试方案,请老师审阅,测试方案这个问题我在工作中也有意识在思考,今天趁这个作业写出来,请老师审阅点评。
背景介绍:
虚拟货币公司,主要有虚拟货币交易系统,监控系统,其它虚拟产品展示与交易系统三个系统
一、 虚拟货币交易系统:成熟
业务介绍:
负责买卖双方的虚拟货币产品交易。此系统为处理交易的核心内部引擎,没有界面,有与其配合的外接系统(不属于测试范围)负责直接面向用户接受用户订单,然后转换成特定格式报文发送给此核心内部引擎。其有一个自己的业务管理系统。
系统架构:
开发语言: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)设置质量门禁,不让研发随便提测。