【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《软件测试技术在金融软件中的应用》,欢迎阅读!
软件测试技术在金融软件中的应用
作者:李勇
来源:《中国新通信》 2018年第18期
【摘要】 近些年来随着信息技术的飞速发展,人们的生活方式也得到了极大地改变,金融软件在人们的生活中也起到越来越重要的作用。基于上述原因,人们对于金融软件的要求也越来越高,如何有效地利用软件测试技术提高金融软件的有效性已经成为一个迫切需要解决的问题。因此,本文将着重探讨软件测试技术在金融软件中的应用。
【关键词】 软件测试技术 金融软件 应用
一、软件测试概述
自从计算机诞生以来,软件编码实现以及软件功能测试本身就是一对孪生兄弟,他们之间相辅相成共同发展[1]。早在二十世纪中期,英国著名的计算机科学家Alan MathisonTuring 首次在其著作中使用到了软件测试这个名词,但是软件测试并未得到人们的重视[2]。直到二十世纪七十年代之后,软件测试的意义才逐渐被人们所认可与接受。而此次针对软件测试的相关研究也才完全铺展开来。Elaine W. Delavega 则是在前人的基础上整理了《Program Test Methods》一书,该书系统化地对软件测试的的内容进行科学化地整理与编辑,从而形成一个科学完整的软件测试理论架构,该书籍的诞生标志了软件测试技术发展的一个重要的里程碑[3]。至此以后,针对软件测试的相关研究就如雨后春笋般地生长出来,并进一步推动软件测试的这种学科的进一步发展。
二、软件测试流程
软件测试流程主要指的是从开始进行软件测试到软件测试结束的整个过程中所进行的一系列操作行为的统称。具体分为以下几个重要阶段:1)选择测试模型;2)制定测试计划;3)设计测试用例;4)执行测试操作;5)分析测试结果。目前常见的软件测试模型主要有四种,分别为:V 模型、W 模型、X 模型、H 模型。V 模型是目前应用最为广泛的一种软件测试模型。该模型摒弃了将软件测试作为系统开发完成之后进行查漏补缺的做法,而是将不同类型的软件测试行为嵌入到软件开发过程中的各个阶段,切实地提高了软件的开发效率以及软件的实现效果。W 模型增加了软件不同开发阶段中的同步验证与活动确认的问题,有效地解决了V 模型忽视测试活动对软件需求分析与详细设计的功能性验证的缺陷。X 模型设计的初衷也是为了弥补V 模型的不足,它主要是利用曲线交叉的方式对软件程序进行编码与测试,通过多次循环交叉之后继承一个可执行程序。H 模型为了解决上述三种测试模型自身所存在的问题,直接将测试活动作为一个单独的活动完全独立出来,使之成为一个独立的流程。本文主要是采用H 模型对金融软件进行测试。制定测试计划阶段主要是由软件测试人员通过对软件的功能需求进行深入的研究与分析之后得出一个软件测试集合,并且根据软件测试集合制定出与之相应的软件测试计划,以便为后续的软件测试工作奠定基础。设计测试用例阶段主要是由软件测试人员根据软件详细设计说明书中所阐述的内容设计切合软件自身情况的测试用例,切实地提高后续测试工作的可行性。执行测试操作阶段主要是由软件测试人员根据测试计划中的相关内容搭建好相应的测试环境,并对严格按照计划对软件进行功能测试。分析测试结果阶段主要是由软件测试人员对于测试结果是否能够达到预期目的做出一个阶段性的总结,为下一轮测试工作奠定坚实的基础。
三、金融软件客户端测试
1、客户端测试主要内容。金融软件客户端应用软件测试类型大致可分为:UI 测试、功能模块测试、交叉事件测试、压力测试、安全性测试、兼容性测试、易用性/ 用户体验测试等。本文设计了一个金融软件客户端自动化测试平台,利用这种测试平台,应用软件开发商的测试人员只需要将应用软件的安装包上传到测试平台,并选择需要在哪些移动终端上进行测试,测试平台就可以在这些指定的移动终端中安装该应用软件,并在启动应用软件之后,对于该应用软件相关的各个控件进行遍历触发,对各控件被触发后的界面显示情况进行截图,然后再返回给客户端,对截图情况进行显示。
2、客户端测试具体步骤。(1)接收客户端上传的待测试应用软件的安装包,以及待测试的目标移动终端的标识;(2)将安装包发送到目标移动终端,并指示目标移动终端通过安装包安装应用软件。如果目标移动终端装载有Android 操作系统,则可以通过HTTP 等协议将所述安装包分发到各个目标移动终端所在的服务器,并由服务器通过调用ADB 命令,在各个目标移动终端上安装该应用软件;(3)指示目标移动终端启动所述应用软件,并遍历触发所述应用软件中的各个控件,每次触发控件得到显示界面时,对显示界面进行截屏。具体实现时,在移动终端装载有Android 操作系统的情况下,可以利用Android 底层中Instrumentation命令获取移动终端中的控件和相应的Activity 数据,通过getActivity( ) 方法,获得当前执行的Activity 信息,通过映射捕获相应Activity 中各个view 的相关信息,判断各个view 是否可触发,将可触发的view 确定为当前显示界面中包含的控件。之后可以建立一个类似栈的存储,将各个控件的相关信息存储到栈的各个数据单元中,然后从栈顶开始触发各个控件,每次触发时得到新的显示界面,如果新的显示界面中包含控件,同样可通过Instrumentation 命令获取移动终端中的控件和相应的Activity 数据,并将获取到的各个控件的相关信息存储到栈的各个数据单元中。值得注意的是,本系统将利用“先深度再广度”的策略有序地触发移动终端中相对应的控件,如图1 所示。(4)将在目标移动终端上截取到的图片返回到客户端。
四、金融软件服务端测试
1、服务端性能测试。测试系统的核心目的就是要分析系统性能能否满足用户需求。在对金融软件服务端进行性能测试时,使用的测试工具是LoadRunner,通过设置不同的并发用户数来进行性能测试,观察并记录各项性能指标的数据,本次测试采用LoadRunner 进行了负载测试。配置LoadRunner 脚本,模拟用户提交请求,同时发起500 并发线程。多次重复测试结果如下:最小响应时间为0.32 秒,最大响应时间为5.7 秒,平均响应时间2.62 秒,无失败交易,服务器资源平稳。从上述测试结果来看,系统的整体性能完全服务预期的要求。
2、服务端安全性测试。安全测试主要是对对服务器安全、系统配置安全进行检测,SQL 注入漏洞是否被有效解决,低权限用户是否存在着越限能力等。从两个角度进行安全性能测试,首先用正确的用户登录,并观察系统操作权限是否可以越级;然后利用错误的用户名或密码登录系统,验证系统的业务逻辑层和数据层对数据的验证是否可靠,在系统安全性测试过程中需
要脚本执行大量用例进行反复测试,用例穷举法覆盖所有可能相关的用户账号等数据。其中具体安全可靠性测试内容如表1 所示。
结语:随着信息技术的飞速发展,软件测试技术在金融软件中的应用中所具备的意义也越来越重要。因此我国已经加大对软件测试技术的研究投入力度,切实地提高软件测试技术在金融软件中的应用水平,以进一步优化金融软件的功能,为用户提供更为优质的金融服务。
本文来源:https://www.wddqxz.cn/7896c44228160b4e767f5acfa1c7aa00b52a9d88.html