下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8 卷第2 期 (2012 年1 月)computer knowledge and technology 电脑知识与技术issn 1009-3044computer knowledge and technology 电脑知识与技术vol.8, no.2, january 2012e-mail: tel:+86-551-5690963 5690964基于金融行业的软件测试分析曹咏春1,刘小君2(1.深圳市雁联计算系统有限公司,广东 深圳 518040;2.广州航海高等专科学校 信息与通信工程学院,广东 广州 510725)
2、摘要:该文主要针对金融行业软件的测试现状、测试方法及范围、测试工具、以及测试模式进行了分析,提出了适用于金融行业软件 测试的具体方案及实用技术。关键词:金融行业软件测试;测试方法;测试技术;测试模式中图分类号:f831文献标识码:a文章编号:1009-3044(2012) 02-0309-05software testing analysis based on financial industrycao yong-chun1, liu xiao-jun2(1.shenzhen ylink computing system co., ltd, shenzhen 518040, china; 2.
3、college of information and communication engineering, guangzhou maritime college, guangzhou 510725, china)abstract: the article analyze on financial industry software test method and technology. and put forward specific solutions and practical technology in financial industry software testing.key wo
4、rds: financial industry software testing; test method; test technology; test pattern随着金融行业的业务不断增加,金融交易模式的不断变化,金融机构对信息化的要求也越来越高,高质量的金融软件对于金融机构来说显得尤为重要。如何保证金融行业软件的质量,对金融行业软件的测试人员来说,也提出了更高的要求12。以下针对金 融行业软件的测试做出了具体的分析:1 金融行业软件特征分析金融行业软件系统具有集中度高、规模庞大、数量多、系统之间关联性强、业务复杂、需求变化快等特点,如何有效可行的实现 软件测试和软件质量控制,是对金融行
5、业软件测试人员提出的基本要求。1.1 金融行业软件的业务特点以金融行业软件的典型代表银行系统软件为例:一般的银行系统软件都有一个核心系统,核心系统主要涉及账务的处理、清 算、计息等。银行的其它业务系统都会直接或间接的与核心系统进行交互,主要处理一些涉及业务的流程以及系统管理、用户管理 等辅助功能。此外,银行的业务系统也种类繁多。比如:ace/柜面、网上银行、电话银行、呼叫中心、信贷、资产托管、资金风险分析及风险控 制系统、外汇买卖、基金、期货、黄金、汇票、信用卡业务以及其它衍生业务等等。各个系统之间都可能有着密切的联系,之间也会涉 及到不同系统之间的接口。因此,在测试过程中,除了对银行的核心系
6、统、业务系统进行测试之外,还会涉及对接口的测试,而接口测试往往需要测试人员 构造一定的测试环境与测试数据来模拟各系统之间的交互。1.2 金融行业软件的复杂性特点就银行系统软件来说,本身就具有复杂性的特点。首先,银行软件具有不同的客户群,如个人用户、企业用户、银行内部管理人 员、业务人员等,因此,银行软件会有针对不同客户所使用的版本或权限控制。此外,对于不同的服务方式,如柜台、电话银行、网上 银行等,都必须开发出不同的软件。其次,银行业务种类繁多,业务逻辑也非常复杂,对业务处理要求有很高的安全性和实时性,这 些都要借助复杂的技术才能实现。因此,对于测试而言,软件的复杂性也增加了测试的复杂性,对测
7、试者来说要求有相当的经验和 测试技术的支持。另外,由于银行业务的快速发展,当旧的银行软件系统无法满足业务处理的要求时,就必须开发新的系统,对于重新开发的新 系统来说,旧系统的用户数据必须保证能在新系统中正常使用,这就涉及到了新旧版本的数据移植问题,由于新旧系统之间数据字 典存在差异,数据移植后能否正常,就需要对新旧数据进行比对性测试。比对测试过程往往会涉及数据库的应用及比对工具的开 发使用。收稿日期:2011-12-06作者简介:曹咏春(1975-),女,湖南人,软件测试工程师,中级职称,硕士,主要研究方向为网络软件及多媒体技术、软件测试;刘小 君(1972-),男,陕西人,讲师,硕士,主要研
8、究方向为软件工程、分布式系统等。图1 功能测试业务流程2 金融行业软件测试的现状根据某项调查,金融企业应用系统的数量,中小银行应用系统数量普遍在 100 个左右,有一半银行超过 100 个应用系统;虽然保 险行业应用系统数量相对较少,但大部分保险公司拥有 1050 个应用系统;而且这些数量还有进一步上涨的趋势。调查数据也表 明,金融行业 it 部门的测试能力目前远远低于金融机构对测试的要求3。即使是 it 成熟度比较高的企业,也难以覆盖所有应用系统 的测试需求。金融企业的测试需要和信息科技部门的测试能力之间存在一定的差距。3 金融行业软件测试方法及范围分析以下主要从功能测试、接口测试、数据移植
9、测试、性能测试、安全性测试、风险监控测试、文档审核几个方面来阐述金融行业软 件的测试方法及范围4。以下划分主要为了更清晰了解金融行业软件测试所包含的范围,本次分析不涉及白盒测试的内容,主要针 对涉及金融行业软件业务特性的测试方法及范围进行阐述。3.1 功能测试功能测试,主要是对软件的功能进行的验证,对于金融行业软件来说,功能测试主要进行以下功能的验证:3.1.1 业务验证测试验证业务系统的功能是否正确实现,测试其业务处理的准确性。1)业务流程测试 金融行业软件测试首先关注的是业务的正确性,业务流程要合理、业务处理正确无误,这些往往需要测试人员具备一定的金融软件测试经验,才能更好的判断业务流程设
10、计是否合理,是否满足客户实际需求,以及业务流程处理过程中可能会涉及到的异常,通常通过正常案例和异常案例来验证业务流程的完整性和正确性。业务流程除了验证流程的正确性,通常对于涉及金额、资金、库存等数据及业务流程中生成的记录是否正确性也是测试的重点。2)账务处理 对于银行来说,账务处理为核心系统功能,也是这类软件测试的重点,账务处理不仅涉及到资金,还与交易过程相关,在测试系统对账时,必须对账务处理流程有清晰的认识,对于账务处理过程中账务是否处理正确、是否出现错账、是否需要进行调账等案例 都要能进行完整的案例设计来覆盖测试点,这一块的测试一般需要有经验的测试人员来进行测试。3)清算 银行系统清算过程
11、涉及的东西较多,如资金清算、库存清算、计费、计息、对账、登帐、报表生成等复杂的过程,同时涉及的数据量也是非常的大,对于大型系统来说更是如此 数据检查的工作量也很大,同样测试人员需要对清算的全过程有清晰的了解。4)报表 对于银行系统来说,报表是直接呈现给用户最直接的结果,而对一个银行系统来说,报表的数量一般都较庞大,很可能涉及到几十张报表,因此对报表的检查也是测试的重点,这需要测试人员对银行系统涉及的业务非常熟悉,能判断报表的设计是否合理,报表数据是否正确等。3.1.2 客户端测试客户端主要针对的是软件界面功能的测试,根据功能划分一般涉及以下几类:1)系统管理类 系统管理主要包括系统参数管理、用
12、户管理、角色管理、权限分配等,测试也包含相应的业务逻辑及页面测试,如查询功能的测试、显示风格、验证客户端页面显示数据是否正确等。2)数据查询类 主要验证数据查询结果客户端显示是否正确。3)其它涉及业务操作的功能界面 主要针对客户端界面的录入、查询等功能进行测试。 客户端测试还会对界面的友好性、提示信息的合理性等进行测试。图1 是一个典型的功能测试的流程(一般功能测试覆盖2-3 轮测试及回归测试):图2 性能测试业务流程第8 卷第2 期 (2012 年1 月)computer knowledge and technology 电脑知识与技术3.2 接口测试对于银行来说,通常行内系统和与银行外对接
13、的系统是独立开发的,行内与行外系统采用的数据库、通讯协议等都可能存在差 异;并且对于银行来说,还可能存在多个系统,如:网上银行、ace/柜面、电话银行、呼叫中心、信贷、资产托管、资金风险监控分析系 统等,并且各个系统之间可能关联特别紧密,存在许多交互;因此,在测试中会涉及到相关系统接口的测试,这时通常需要构造对接 系统的测试环境、数据、业务等来模拟对接系统。接口测试中,由于一方系统在测试过程中不可见,因此通常需要进行环境的模拟,比如开发模拟软件来模拟被测试系统与所交 互的系统之间的通讯,并且在测试过程中通常需要测试人员自己组报文,通过模拟发送器收发发送报文来进行测试,并通过后台检 查报文转换是
14、否正确,通过数据库来验证数据是否正确。通常来说,接口的测试测试人员主要跟后台和数据库打交道,而很少通过 客户端来操作,因此要求测试人员对数据库知识、对应的操作系统命令以及一些中间件具有一定的熟悉程度才能更好的进行测试。接口测试一般在功能测试阶段完成,功能测试计划中应包含接口测试。3.3 数据移植测试对于银行来说,软件产品经常存在更新换代或升级的情况,新系统的运行环境和旧系统可能不一致。因此,为了保证系统的顺 利运行,在新系统研发出来,准备上线之前,需要把原来旧系统的客户历史数据移植过来,这就涉及到了数据移植问题。数据移植 并不是简单的数据迁移,因为新旧系统之间数据字典是不同的,为了保证移植结果
15、的正确性,需要对新旧数据库的数据进行比对, 通常可以通过人工方法或开发比对工具进行比对。举例来说,旧系统采用的 sql server 的数据库,而新系统采用 oracle 的数据库;并且就系统可能存在 50 张数据表,新系统 可能有 200 张数据表,而且,新系统的数据表结构与旧系统可能完全不一样,或者新旧系统的某张表可能对应另一个系统的几张表, 这样在数据移植测试中就要进行几方面的测试。比如,两个数据库可能存在有差异的地方,如数据类型不同,位数不同,在数据移 植过程中对这部分就应该做详细的检查。此外,表结构的不同,在做数据移植检查时,需要获得新旧版本的数据字典,并且对移植 过来对应的所有字段
16、数据是否移植正确做检查。数据移植测试往往需要测试人员有足够的耐心,能仔细进行比对,发现存在的问题。数据移植测试一般在功能测试阶段完成, 功能测试计划中应包含数据移植的测试。3.4 性能测试性能测试的目的主要是验证业务系统是否满足业务需求的多用户并发操作,是否满足业务性能需求,评估压力解除后的自恢 复能力,测试系统性能极限。随着金融行业软件的规模越来越大、处理能力要求越来越高,进行性能测试成为金融软件测试中必不可少的一个环节。金融 行业软件一般在投入使用时,需要接受大批量的业务,并且对于业务的响应处理时间也有很高的要求,这对于应用程序本身、操作 系统、中心数据库服务器、中间件服务器以及网络设备的
17、承受力都是一个严峻的考验。任一个环节的问题都可能给用户带来巨大 的商业损失。因此,如何保证在压力情况下系统能正常运行是金融行业软件质量保证的关键,同时也是测试人员最需关注的重点。 在性能测试过程中,通过性能测试工具来模拟与真实环境接近的情况,如通过测试程序在同一时间内或某一段时间内,向系统 发送预期数量的交易请求、测试系统在不同压力情况下的效率,获得一定的参数(如:(如内存、cpu、缓存、系统响应时间、最大吞吐 率、事务平均处理时间),以及系统可以承受的压力情况,进行针对性的测试与结果分析,找到影响系统性能的瓶颈,以便对系统进行优化。图2 是一个典型的性能测试的流程:3.5 安全性测试安全性测
18、试的目的主要是评估业务系统在网络安全、主机安全、应用安全、数据安全、运行维护安全、电子认证安全、业务连续 性等方面的能力及管理措施,评价其业务系统的安全防控和安全管理水平。对于金融行业软件来说,安全性有着重大的意思,尤其对于网络日益发达的今天,大量的金融类交易都是通过网络来实现,确保信息的安全,对安全性测试提出了更高的要求。如客户数据的安全、资金的安全;银行主机的安全,应用程序的安全以及网络安全,某一个环节出现问题都会给系统带来巨大的风险。安全性测试主要检查出软件存在的安全隐患,确定安全等级,以期得到整 改。通常用的安全性检查手段及检查点如:跨站攻击、弱点攻击、管理界面泄露、敏感信息泄露、跨站
19、点请求伪造、恶意上传等。 对于安全性测试来说,一般需要专业的工具作为支持,因为,大多数的安全性测试都会交给具有一定资质的第三方评测机构来进行。3.6 风险监控测试主要目的是评估业务系统的风险监控、预警和管理措施,测试其业务系统异常交易、大额交易、非法卡号交易、密码错误交易等 风险的监测和防范能力以及系统资源占用的监控。对于银行的较大型系统来说,一般都会专门开发对应的风险监控系统,一类风险监控主要是对系统的交易、资金、等情况进行 监控;另一类则是对主机资源情况进行监控,对于交易、资金类的风险监控测试时主要是根据风险监控需求来验证监控结果是否符 合需求描述;对于系统资源类的测试主要关注被监控主机的
20、资源占用情况是否合理。风险监控测试一般在功能测试阶段或性能测试阶段完成,功能测试或性能测试计划中应包含风险监控的测试。3.7 文档审核目的主要是验证业务系统的用户文档、开发文档、管理文档等是否完整、有效、一致,是否符合相关标准并遵从更新控制和配置 管理的要求。文档审核最基本的原则是软件实现必须按照用户需求文档来进行设计和实现。对于需求文档审核来说,文档必须覆盖用户所 有需求点的描述;对于开发文档,如概要设计文档、数据库设计文档,设计和实现原则应根据需求而定;此外各类管理文档审核包括 对项目工期的定义、项目人员的安排与任务分配、项目具体执行的定义等等。在实际应用中,由于用户需求存在经常性的变动已
21、经 增加,文档也会存在相应的变更,审核部分也包括对变更部分内容的审核。但是目前金融行业软件没有一个严格的规范来进行约 束,因此,在文档审核和实际的开发、测试操作环节都不能得到真正的落实,对测试质量环节也造成了相应的影响。3.8 自动化测试现阶段实施的自动化测试与手工测试相比较,就是采用程序模拟手工测试的过程。在自动化测试过程中,原来由手工控制的 操作,现在由程序来控制,不再进行手工干预5。自动化测试主要用于功能测试,测试过程包括脚本的录制、编写及回放。4 金融行业软件测试工具分析金融行业软件测试与其它应用软件测试流程基本一致,测试过程也涉及到一定的测试工具的使用,以下是金融行业软件常用 的软件
22、测试工具:4.1 黑盒测试工具黑盒测试工具较多应用的是自动化测试工具qarun、qtp。4.2 性能测试工具常用于金融系统软件,适用于各种体系架构的自动负载测试工具load runner,它能预测系统行为并优化系统性能。 对于性能测试来说,很多情况下,商业化的软件不一定能满足性能测试的需求,因此很多时候,需要开发一定的性能测试软件来进行针对性的测试。4.3 测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)工具常用测试管理工具有:qc、td、clear quest 等,主要对测试计划、测试用例、测试实施进行管理,并进行缺陷跟踪管理。5 金融软件测试模式分析在金融机构内部组织业务测试之前,软件
23、必须经过完整的系统测试、性能测试及安全性测试等才能交付金融机构的业务部门 进行业务测试,测试模式可以有以下几种模式:5.1 软件开发方进行的内部系统测试、性能测试和安全性测试开发方内部进行的测试与本文第三部分描述的软件测试方法与范围分析基本一致,下面主要就第三方测试的模式进行分析。5.2 第三方测试机构进行的系统测试、性能测试和安全性测试5.2.1 第三方测试的优点第三方测试是指由独立的软件评测机构,根据项目管理方或用户的委托,对被测软件所进行的科学、公正、客观的综合测试及评测活动。在软件工程的整个流程中,用户对于软件的质量非常关注,但用户本身没有足够的能力对软件进行测量的评估,这时,就需要引
24、入一个专业的评测机构,来对软件的质量进行客观的评测。第三方测试不同于软件开发方的内部测试或用户的业务测试,强调由独立于用户和开发方的软件评测机构来承担测试任务,其目的在于保证测试的公正性与客观性。第三方测试主要适用于对行业应用软件的测试及评估。基于以上第三方测试的优点及目前金融机构测试人员与金融系统测试需求的不平衡性,目前,在金融行业,专业评测机构的第三方测试已经显示出诸多的优势,并得到越来越多的应用,如在人行支付系统、商业银行的一些应用系统,都曾引入第三方测试,并获得了很好的效果。 相对于内部测试来说,第三方测试具体有以下几个优点:图3 金融软件第三方测试业务流程第8 卷第2 期 (2012
25、 年1 月)computer knowledge and technology 电脑知识与技术1)随着系统规模的日益庞大,软件开发方很难投入足够的人力、物力来参与测试工作。同时,开发方也缺乏专业的测试工具以及经验丰富的测试人员;只有第三方机构才具有这样的实力来完成测试任务。2)第三方测试以合同的形式制约了测试方,保证了测试工作在一开始就具有客观性。3)第三方能够通过系统需求来理解整个系统,并从软件工程的角度把握系统,能专业、公正的评价系统中出现的问题。4)第三方机构的权威性能更好的协调第三方、用户以及开发方三者之间的关系。5.2.2 第三方测试的应用第三方测试机构在测试技术方面一般具有行业内较为专业的测试技术以及较为领先的测试技术、对于被测试项目来说具有技 术测试层面的优越性。但是另一方面,第三方测试的管理具有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行贷款委托代理合同(2篇)
- 巴西课件 湘教版
- 人教版南辕北辙课件
- 苏教版江苏省扬州市扬州中学教育集团树人学校2023-2024学年高一上学期期中数学试题
- 老舍《茶馆》课件
- 外科护理课件
- 基层教育 课件
- 西京学院《中华才艺》2023-2024学年第一学期期末试卷
- 西京学院《外国文学》2021-2022学年第一学期期末试卷
- 西华师范大学《中外电影史》2021-2022学年期末试卷
- 期中测试卷(1-4单元)(试题)2024-2025学年四年级上册数学人教版
- 教育局职业院校教师培训实施方案
- 《万维网服务大揭秘》课件 2024-2025学年人教版新教材初中信息技术七年级全一册
- 2024年新华社招聘应届毕业生及留学回国人员129人历年高频难、易错点500题模拟试题附带答案详解
- 人教版(2024新版)七年级上册英语Unit 5单元测试卷(含答案)
- (完整版)新概念英语第一册单词表(打印版)
- 美食行业外卖平台配送效率提升方案
- 中国民用航空局信息中心招聘笔试题库2024
- 【核心素养目标】第4课 日本明治维新教案(含反思)
- 2024-2025学年人教版七年级地理上册知识清单
- 芯片设计基础知识题库100道及答案(完整版)
评论
0/150
提交评论