GIS软件测试方法与应用研究
2015-10-21赖燕盈
赖燕盈
摘要:在信息技术不断发展的背景下,软件质量受到了更多的关注和重视,尤其是针对各个行业的软件测试的研究与探讨具有广泛而深远的意义。本文概述了国内外近期的研究进展和行业动态,对GIS工程中的软件测试进行了研究和讨论。
关键词:软件测试;GIS;自动化
1 引言
现阶段,软件测试己经发展成为独立的业务分工,国外的软件测试发展成熟度较国内要高,己经形成可以整体解决方案的外包业务市场,对软件质量的控制力度也较国内高,测试人员的人数已占到开发工程师的3/4甚至更高。同时,企业中软件测试人员和测试过程的组织也较为完善,测试用例、数据、文档等都得到妥善的管理,软件测试的工程化水平较高,软件测试己经成为独立的软件工程活动。相比之下,软件测试领域在我国的起步较晚,软件测试在过程、组织和方法上还极不完善、极不成熟。基于行业自身特点的测试理论和研究还是比较滞缓,软件测试的流程依然保留在原始的阶段,很多测试人员对软件测试的认识仍停留在简单地发现错误的层面。这种状态使得GIS行业的软件质量面临着潜在的危机。因此,研究GIS软件测试中的关键问题和技术,对于促进软件测试过程的有序化和系统化,为后续的测试提供指导性和实践性的意见,缩短测试周期,提高测试的水平,具有较大的科学意义和实用价值的。
2 GIS软件测试
2.1GIS软件工程的复杂性
能够处理具有空间特征的对象是GIS与其它信息系统的最大区别,与一般制图系统相比,GIS需要对空间数据进行存储、管理、分析、可视化等操作,因此,GIS软件自身的复杂性也加大了测试上的难度。
2.1.1系统复杂度大
软件的微观复杂性和宏观复杂性都较高。因为GIS软件一般来说,系统的长度和结构都较其他信息系统庞大,涉及内容广泛、开发周期较长、处理的空间数据量巨大,同时,能够较好的理解地理信息科学理论知识并进行相应的开发工作的软件人才奇缺,因此,GIS软件系统的系统复杂度日益加大。有数据表明,GIS要比同等规模的MIS(信息管理系统)的复杂度高出数个级别。另外,系统开发与测试中产生的文档数量巨大。
2.1.2需求的频繁变更
由于GIS的专业性和复杂性,在系统开发的整个过程中用户的需求都在不断变更。如果在没有一个完整的需求变更管理方案的前提下,项目贸然进入设计和开发阶段,则一旦用户的需求发生较大变化,对于开发中的系统将可能造成毁灭性。
2.1.3系统表达方式复杂
GIS软件其表达的对象和表达的数据都具有复杂性。地理空间实体作为GIS软件表达的对象,具有鲜明的多维动态特性,即空间坐标的三维特征、时间维度上的综合分析与动态演变,使得对于多维动态变化的地理对象和过程的表达和模拟难度较大。而空间数据、文本数据、多媒体数据,以及遥感监测的实时数据,作为GIS系统的表达数据从数据的种类和组成上都是其他系统无法比拟的,也是非常复杂的。因此,采用GIS软件将地理空间实体和各种数据以特定的方式按照用户的需求表达出来,并提供良好的界面效果和视图功能来完成包括人、并行系统在内的系统环境交流,需要表达内容多样化,表达方式也会更加复杂。
2.1.4开发过程中的问题
我国GIS软件设计人员的背景也是影响在GIS软件设计中应用软件工程方法的一个重要原因。在我国,从事GIS软件开发的受过系统的软件工程培训的不多,软件设计仅是人员间松散的“作坊”式联合。部分软件成果只单纯追求学术上先进,有的则短期效益思想严重,有些在鉴定会过后,就无人过问软件在用户中的使用情况。
2.2数据在系统中具有特别地位
众所周知,整个GIS中最基础的部分是数据,数据甚至被称为GIS的“核心”和“血液”。没有数据,GIS就成了无源之水。数据同时也是GIS项目中最昂贵的部分,所以在GIS建设中数据库建设占有及其重要的地位,一般占整个系统建设成本的50%—80%,可见数据在系统中占有重要的地位。在计算机软件、硬件环境选定之后,GIS中数据质量的优劣,决定着系统分析质量以及整个应用的成败。因此,应综合考虑数据的准确性、精度、分辨率等问题。数据的现势性,合理的数据组织结构对于空间数据的管理和使用都具有重要意义。
2.3操作性要求
2.3.1易操作性要求高
GIS软件系统的复杂性使得其操作较多,有些操作更具流程化,因此要做到软件的易操作性和界面的友好性需要进行大量的测试来完善。同时,GIS的用户中,专业应用人员只占其中的一部分,随着Web GIS时代的到来,越来越多的普通公众通过基于位置的在线服务接触到GIS系统,此时,需要有良好的界面设计和界面向导引导用户来完成操作,实现位置服务,同时必须保证数据的安全性。
2.3.2安全性
GIS系统必须能满足用户安全、高效地使用其提供的各种资源的要求,这就要求GIS系统必须能够抗拒各种非法攻击和入侵,并在受到攻击和入侵时能够采取一定的措施以维持系统的正常高效运行和保证系统中各种空间信息的安全。
3 自动化软件测试技术
自动化测试技术作为软件测试领域的一个分支,伴随着软件测试技术的发展而不断前进。但软件测试本身就具有很强的复杂性,使自动化测试技术的研究以及自动化辅助测试工作的研发无法轻易突破通用性和扩展性的栓桔。造成了自动测试技术在某个条件下适用,但无法迁移到其他条件下进行,这种限制给自动化测试技术的发展前景蒙上了阴影,但同时也让人们从更广阔的方面去进行研究,促使了研究的多样化。目前的自动化测试技术无论是在适应性还是扩展性方面都有了较大的提高,而且还与软件开发过程融合在一起,己经变为提高效率和降低成本的一个有效技术。人工测试工作中存在着很多重复繁琐的工作,自动测试技术最先研究的就采用自动方法来替代测试人员进行这些工作。将人工组织测试数据的方法通过自动生成的方法实现。随着自动测试技术和方法在各类测试活动中的应用,人们开始对引入了自动测试后的测试效果的关注。测试的自动化不仅为了节省测试资源和人工,更需要确定自动测试技术是否能在测试效果上达到人工测试的水准。只有自动测试结果的可靠性得到保证,其使用才具有现实意义。在自动化测试技术的进一步发展中,统计方法评测标准的局限性也开始暴露。于是自动测试研究将目光转向了人工智能和进化计算等领域,在自动测试技术中引入了各种高性能的算法,这些技术的发展使自动测试技术对人工干预的在更大程度上得到减弱,较大的提高对测试数据的分析和处理。最近出现的各种面向目标的自动测试研究,从测试过程控制、测试预测,测试目标的搜索和优化等各方面都具有较高的性能,使自动化程度和测试的性能得到极大的提高。
4 结语
本文在GIS软件测试的关键问题上进行了初步研究和讨论,软件测试的理论和技术在不断完善、发展,研究和应用新的测试理论和方法将促进GIS软件测试水平的进一步提高,也将推动GIS软件产业测试体系和标准化的建设。
参考文献:
[1]GB—T 9386—2008计算机软件测试文档编制规范【5].北京,中国国家标准化委员会,2008.
[2]张华龙,袁兆山.软件测试过程模型的研究与应用IJ]二计算机時代,2008,(8):41一43.
[3]古乐,史九林编著.软件测试技术概论.北京:清华大学出版社(第四版),2005.