软件测试技术在金融软件中的应用研究

2019-05-22 11:18朱哲良
电脑知识与技术 2019年10期
关键词:应用研究

朱哲良

摘要:伴随着我国金融市场的不断发展,金融软件正逐渐被企业所接受,人们也习惯了使用软件来进行金融方面的操作,于是相应的软件测试技术也进入人们的视野。本文将从软件测试技术的发展现况和重要性出发,探讨软件测试技术在金融软件中的应用,并了解人工测试和自动化测试之间的区别。希望借此给应用金融软件的企业一些参考,助力我国金融市场蓬勃发展。

关键词:软件测试技术;金融软件;应用研究

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2019)10-0211-02

开放科学(资源服务)标识码(OSID):

实际上软件测试技术在网络软件领域已经有了广泛应用,只是近几年金融业的蓬勃发展以及计算机技术的扩散,才使得软件测试技术进入了金融业。无可置疑的是,计算技术和网络给金融业带去了蓬勃的生命力,各种金融软件如雨后春笋般层出不穷。然而如何判断这些金融软件的优劣,如何知晓它们能否满足客户的要求,这就需要对其进行软件测试,而软件测试技术也是为此而生。本文将着重关注软件测试技术在金融软件中会应用在那些方面,各种测试手段又有何不同。

1 软件测试技术的发展现况及重要性

1.1 软件测试技术的发展现况

软件测试技术的发展历史并不长,但是它的发展速度非常惊人,同时也具有一定的地域性特点,在经济发达的地区发展尤为迅速,而在经济欠发达地区则较为萎靡。在发达国家,软件测试技术已经正式成为一种行业,企业为了使研发出的软件更贴合用户需求,更快投入使用,减少软件错误,通常都会对开发的软件进行测试。这就促使了大量测试人员的诞生,现如今的发达国家,只要有软件开发的部门,就一定会配置软件测试队伍,可见软件测试的重要性。但是在我国,软件测试可能还无法独立作为一个行业存在,它通常是依附与软件开发队伍的。但是,随着我国的软件市场逐渐成熟,各企业团队也认识到了软件测试技术的重要性,正在积极组建属于自己的软件测试队伍,在中国的软件测试队伍该如何发展现在仍未可知,但就目前的发展态势来看,成熟的软件测试队伍诞生也只是时间问题。

1.2 软件测试技术的重要性

软件开发是由人来进行,无论如何专业的团队,编写出的软件也不敢保证万无一失,错误的存在是必然的,关键在于如何发现错误并改正過来,这就是软件测试技术的任务,也充分展示了软件测试技术的重要性,毕竟测试的结果将直接影响到该软件公布后的反响。曾有人提出,优秀的开发者加上精密的开发软件与高级的程序开发语言就可以提高软件的开发效率,这种观点是正确的,但这仍然对软件的可靠性影响不大[1]。正如上文所说,软件开发无论使用了多么优秀的设备和语言,其开发主体仍然是人,软件错误无法被杜绝,只能被弥补。因此,要像重视开发团队一样重视测试团队的组建,重视软件测试技术的提升。

2 软件测试技术在金融软件中的应用

2.1 客户端测试

金融软件开发出来将直接面对广大用户,而客户端就是用户会直接接触软件的地方,因此对这一部分的测试将主要集中在客户应用软件的接受度,以及能否满足客户的需求,流畅地进行操作,基本属于功能性方面的测试。

2.1.1 对客户端文档测试

软件测试总是被认为是软件开发出来以后进行的,然而实际上软件测试伴随着软件开发的始终,对客户端文档检测就属于贯穿始终的测试。客户端文档测试分为三个,一是需求文档测试,主要分析软件开发初期开发团队提出的对于整个软件应该应用在什么方面、发挥什么效果的文档的测试,检测开发团队的目标是否具有可行性,以及开发思路在逻辑上和技术性方面有没有问题。二是设计文档测试,测试开发团队提出的设计方案与初始软件需求是否存在冲突和错位,以及设计是否具有可行性。三是帮助文档测试,金融软件基本属于应用性软件,用户刚上手对于如何使用软件满足自己的需求并不了解,而同时他们又十分需要了解如何应用此软件,所以他们会选择去看帮助文档。由此可见,帮助文档是用户学习如何使用该软件的关键道具,所以帮助文档必须是准确的、易懂的、完整的,才能让用户尽快熟悉软件。

2.1.2 UI测试

金融软件虽然更加注重实用性,但在今天这个竞争激烈的大环境下,一款软件能不能被用户所接受,它的UI,也就是用户界面也是评判的一大要素。UI测试主要是测试用户界面给人的感官如何,包括文字与图片的位置和搭配是否合理、背景是否美观、关键操作是否清晰明确等等。与其他测试有所不同的是,UI测试具有一定的主观性,通常以满足大众需求为主,而且在金融软件中,就更加注重简洁、实用、能够突出操作等方面。

2.1.3 安全性和访问控制测试

金融软件的实用会接触到许多对用户来说非常关键的信息,软件內的数据也十分重要,这也就决定了金融软件对于安全性和访问控制方面的要求较高。所以测试会着重于两个方面,应用程序级别的安全性,和系统级别的安全性。应用程序级别的安全性测试主要关注在金融软件中,固定级别的用户是否只能看到同等级别的信息,比如购买了相应服务的用户才能享受服务,相关的服务和数据不会出现在没有进行购买操作的用户界面中。系统级别的安全性则更加重要,主要测试用户是否只有具备了关键权限才能访问固定程序,比如说两台电子设备同时登录账号的情况下,一方的账号会被登出。

2.1.4 配置测试

配置测试又被叫作兼容性测试,主要测试软件在不同的应用环境下是否能够正常运行。计算机发展迅速,而构成计算机的设备各有不同的发展,导致不同的人在使用的计算机设备可能有不同的配置,时下接触金融业的人群越来越广泛,年龄跨度也逐渐增加,这些不同年龄的用户会使用的浏览器、计算机使用的操作系统、计算机安装的硬件设备在都会有不同的变化,配置测试就主要是测试软件在什么等级的配置上能够正常运行,按理来说软件的应用范围自然是越广越好,但是也要考虑到有时候高级别的配置才能让高级应用发挥应有的水平这一问题[2]。

2.1.5 安装测试

软件开发完成到被使用,需要通过安装来提供给用户,安装测试就主要是检测安装过程中是否顺利,以及安装完成之后能否正常运行。为达到这个目的,安装测试会测试两个方面,一是安装代码,测试安装代码能否完整提供安装程序运行的一些基础数据。二是安装手册,安装手册将指导用户如何正确安装软件,所以安装手册就如同上文中提到的帮助文档一样,一定要准确易懂,能够指导用户顺利完成软件的安装。

2.1.6 分辨率测试

界面的分辨率往往会决定软件的美观程度,而分辨率在不同的设备上会发生变化,有时候是受限于设备的优劣,有时候是用户根据需求自行进行了调整。无论如何,软件要在不同的分辨率中都表现出实用性才可以,因此在测试时,会观察软件在不同的分辨率下的界面表现方式,力求无论在什么分辨率下,都保持软件用户界面的整洁实用,这一点在金融软件中尤为重要。

2.1.7 功能测试

功能测试主要侧重考场软件内各种模块是否能正常实用,比如数据的处理和检索结果是否正确。金融软件功能能测基本参考需求文档来进行,但也不能完全依赖于需求文档,这就需要测试的人员具备一定的专业素养,了解金融行业的专业术语含义以及业务流程,采用等价类划分法、边界值法、错误推测法等多种方式进行测试。

2.2 服务器端测试

现在进入金融业的人越来越多,人们对于金融软件的需求也日益增加。因此对于金融软件来说,服务器端测试非常重要,服务器能否承受起越来越大的使用压力、能否完成大批量的业务操作,这都是检测一个服务器端优劣的重点。

2.2.1 压力测试

压力测试旨在找到软件可容纳的负载底线,通常会采取不断提高系统负载,观察系统在多少负载下会无法发挥作用,找到软件系统的底线。比方说,打开软件内新的页面的时间应该控制在一秒以内,而随着用户量的增加这个时间可能会变长,那么测试的时候就会以多少用户量访问之下新页面的打开时间超过了一秒为标准,判断系统的负载量。

2.2.2 负载测试

负载测试与压力测试有异曲同工之处,都是测试软件的负荷能力,以上文压力测试里面的例子来看,在用户量不断提高促使新页面打开超过一秒的临界点上,系统能够坚持多少时间就是负载测试,压力测试注重的是测试系统的容量,而负载测试则是关注系统在饱和状态下的耐受时间。

2.2.3 并发测试

并发测试主要是测试当有大量用户同时使用同一个模块的时候,软件会不会发生意外情况,这是几乎所有软件都会进行的一个测试,对于金融软件而言则更加重要。因为金融业中存在时间点,在固定时间范围内用户必然会进行某一种操作,比如说每天的开盘时间是九点,那么八点半到九点半这段时间就是用户登录软件的高峰期,大量的用户会在这一时间点打开软件选择登陆,登陆的过程中会进行验证操作,所以金融软件的登录验证操作就要着重进行并发测试,保障大量的用户在固定时间内都能够完成登陆操作。这个测试通常会使用LoadRunner工具来进行操作,设定固定数量(至少在2000以上)的用户同时进行登陆操作,时间要控制在一定范围内,超过这个范围就应该判定软件的这方面功能偏弱[3]。

3 手工测试与自动化测试

3.1 手工测试

测试技术可以大致分为两种,手工测试与自动化测试,也可以看作是人工测试和自动测试两种。手工测试的优势在于测试人员的经验和判断能力,这是测试人员在经年累月对各种软件测试后总结出的专业经验,每个优秀的测试人员都有自己一套的测试方法,这是任何软件或者工具都无法代替的。更为关键的一点在于用户体验测试,用户界面是否有美感,操作是否便捷,功能模块的分配是否合理,当用户需要进行某项操作的时候是否能够立刻找到需要的模块,这都是只有人工测试才能得出结果的,工具难以对人类的思维和感受进行模仿。手工测试的缺陷在于它始终需要人力劳动的付出,所以在价格上较为高昂,而且长时间的重复操作方面,人工测试错误率比自动化测试要高,在面对大批量的检查测试工作时,人工测试的工作效率和准确率也都明显逊于自动化测试。

3.2 自动化测试

自动化测试的优势在于,只要事先设定好了相关的程序,它就可以无休止地进行重复操作,每一次操作的准确性都维持在同一水平,在尽可能少的时间内完成更多的测试任务,节约了时间和成本。其劣势在于对复杂的、设计审美感受和用户体验方面的测试效果较差,而且自动化测试属于工具,没有想象力,不能提高测试的有效性,有时候过于依赖工具测试甚至会制约软件的开发。不过优秀的工具会给测试带来许多便利,QTP就是较为常用的一款金融软件测试工具。

QTP的全称是Quick Test Professional,是MI公司的一款测试用应用,具有方便使用、功能强大等优势,能够与测试管理工具有效连接以实现自动化测试的效果,通常会应用在功能测试上,用于回归测试或者是测试新的软件版本。金融业的发展风云变幻,每一天都有新的变化,以股票交易为例,每天九点开盘前需要对多台服务器进行检测,尽可能快的检测它们有没有發生错误,这是手工检测难以完成的任务,因此多数都会借助自动化测试工具来进行,QTP就是其中发挥不错的一款应用[4]。

人工测试和自动化测试各有优劣,单一的使用某一种测试手段不仅不能完成测试任务,还会降低测试的准确率。所以在金融软件的测试中应该采用人工测试+自动化测试的方式,根据情况使用不同的测试手段,正确发挥测试手段的优势,更好地完成测试任务。

4 结语

软件测试技术对于任何软件来说都是十分重要的,在金融软件的测试上较为重视客户端测试和服务端测试两个方面,客户端测试需要测试客户端文档、UI、安全性和访问控制、配置、安装、分辨率、功能七个方面,而服务端测试则主要是压力、负载、并发三个方面。在测试的过程中,人工测试和自动化测试各有优劣之处,应该结合具体情况选择使用,这样才能将软件测试技术有效运用到金融软件当中,促使金融软件有效、准确满足用户的需求。

参考文献:

[1] 童海峰.大数据时代下软件测试技术的新进展[J].科学技术创新,2018(35):54-56.

[2] 苗长芬.大数据时代下的软件测试技术研究[J].企业科技与发展, 2018(11):34-37.

[3] 但凝云.论自动化软件测试技术的实际运用[J].信息记录材料, 2018(4):89-92.

[4] 王琰.计算机软件测试技术与开发应用研究[J].电脑知识与技术,2018(21):28.

【通联编辑:唐一东】

猜你喜欢
应用研究
节奏训练在初中音乐课程教学中的应用研究
AG接入技术在固网NGN的应用研究
空域分类关键技术及应用研究
分层教学,兼顾全体