证券行业解决方案介绍
综述:
证券行业主要是券商,每个券商都有几十个系统,如:集中交易、融资融券、港股通等等。每个系统在每年都有很多版本的更新,为了保证系统的可靠性和正确性,需要对每一次发布进行全面的测试。
但是全面的测试需要大量的、准确的测试用例,以及执行的资源,并且需要在很短的时间内执行完成——上线的时间通常都很短暂。现在的方式是指进行一定需求范围(修改)部分的测试,但是软件各个模块和交易的关联,通常容易引发未知交易的错误,这样无法保证安全生产。
方案:
我们采用接口自动化测试和界面自动化测试的方式,来实现各个系统、覆盖到每个业务功能的测试,并且能够在短时间内执行完成。
具体的方案采用自动化测试技术来实现。
如上图,为自动化测试整体的架构,它包括两个大的部分:测试管理部分和自动化执行工具部分。
自动化工具,主要包括AutoRunner界面自动化测试工具(测试Windows系统下的各种应用系统)和MobileRunner移动端自动化测试工具(测试基于android系统和ios系统的移动设备上的APP,如移动端炒股软件)。
测试管理部分,包括几个大的模块:
测试需求管理
测试需求管理,管理各个待测试系统的需求,按照需求的条目化来组织需求树,实现对单个需求的有效管理,包括标识需求的状态(需求是否测试通过、是否发生需求变更、是否通过评审等)、需求的内容(需求对应的功能点)、本需求对应的测试用例、本需求对应的缺陷等等。
测试需求管理的主要目标是根据软件需求进行测试点分析,获得测试大纲,即需求由哪些功能点组成,并进行测试。
测试计划管理
规划测试执行的时间和批量安排。
比如,我们需要在下个月10日测试一个版本,此版本包含的测试用例有哪些,分成哪些批次逐步来执行等。
同时,测试计划也是根据测试的版本出具测试分析报告的基本单位。
测试构建
管理测试中使用到的测试脚本、测试用例、测试集合等信息。
测试脚本是自动化测试的基本单位,用来代替人工进行数据输入和数据获取、自动比对等操作。在本方案中,测试脚本被开发完成之后,是统一存放到测试管理平台来管理。
测试用例,是根据测试大纲(测试需求)进行测试用例设计,形成的针对测试功能点及场景进行执行和验证主体。
在自动化测试中,测试用例由一个或者多个测试脚本有序构成,并且指定确定的执行数据(某些特定数据在执行时刻从外部环境获取)。
测试集,是包含了一系列测试用例,为了特定的目标而存在的测试用例的集合。测试集,是执行管理端的小单位,我们可以为测试执行分配资源来进行执行。在测试集合内部的测试用例,如果需要也可以进行指定,获取特定的资源,或者在特定的机器设备上来执行。
测试执行管理
测试执行管理,主要是用来以测试集为单位进行分布式执行。
执行每个测试用例,都需要具体的执行机器,每个执行都需要一定的时间来完成。当我们需要在很短的时间(比如45分钟)内来执行完成几千几万个测试用例,那么在单台机器上无法实现。因此,我们需要一个自动化的执行框架来进行分布式执行测试用例。
缺陷管理
允许用户自定义缺陷处理的角色、流程、缺陷字段,并且进行缺陷管理。
当自动化执行出现错误,可以把这个错误提交成为一个缺陷。
当出现缺陷之后,我们可以确认这个缺陷,然后把它流转到开发团队进行处理,处理完成之后进行回归。
测试分析
测试执行完成之后,我们需要统一来查看和分析测试完成的情况,由多少成功多少失败,以及多少个需求没有测试通过。
这样我们需要通过测试分析模块来查看当前的状态。分析完成之后,可以导出成为测试分析报告。
案例设计
测试用例是决定测试质量的关键因素。系统包含了一个测试用例设计模块,能够辅助进行测试用例设计,实现交易用例和流程用例设计的自动化规范化。
系统管理
系统管理主要包括了测试项目管理(即支持多个不同被测试系统在不同的项目中进行分隔管理)、用户管理、权限管理等功能。