前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的软件测试论文主题范文,仅供参考,欢迎阅读并收藏。
目前制定实现规范并比较适用于复用的组件模型有CORBA/ORB、COM/ActiveX、JavaBean以及.NET等。通过对以上组件模型的研究与对比,本系统选定.NET中的WindowsForms作为本实时测控软件的组件模型,使用.NETFramework的公共语言运行时,组件都建立在一个共同的底层基础上,不再定义使用复杂的管道接口,对象可以直接交互访问,有利于组件的自由配置,同时,利用.NET技术的分层结构特点,采用“搭积本”的方式生产软件,大大提高软件开发效率。
2基于组件技术的实时测控软件开发
2.1软件架构设计
在组件技术中,一个组件就是一个接口集,它通过接口对功能进行封装。因此,对于同一个应用程序架构,只要其使用的接口集合不变,即可通过更换支持同样接口集的组件来获得不同应用,也可重复利用同一个组件或对组件进行二次开发。而基于组件建立的软件架构和应用开发,其最大优点在于可以复用的应用结构和软件单元。实时测控软件主要是对实时测控数据的处理、评估和显示,而测控数据主要包括光测、雷测、遥测及GPS测量等类型,其处理过程通常包括数据采集、数据解析、数据处理和结果评估等四个部分,针对以上4种数据类型,在基于组件技术思想下,其处理架构可统一进行设计,如图1所示。针对靶场测控系统中光测、雷测、遥测及GPS测量等数据处理应用,通过将数据采集组件、数据解析组件、数据处理组件、结果评估组件替换成相应功能的组件,即可实现在保持软件架构不变的前提下开发出不同的应用系统。
2.2基于组件技术的软件升级维护
组件接口是对某一功能的一套抽象描述,具有封装性,它通过接口与其功能实现分离开了,并以接口作为客户与组件(或组件之间)交互的唯一方式,因此,只要保持接口不变,就可以将系统中的组件用新的组件替换,以随时进行系统升级维护。下面以实时测控数据处理软件中的雷测数据处理应用为例,其软件的架构如图2所示。当需要对系统进行升级维护时,在软件架构完全保持不变的前提下,对具体的组件进行替换,只要保持接口不变,程序无需重新编译链接,系统即可通过使用更新后组件中的新接口来获得新特性,从而实现系统的升级维护。
2.3利用组件复用技术实现软件功能扩展
组件复用是利用已有组件创建新组件,即通过第三方产品来构建自己产品。组件复用是通过包容和聚合来实现的,包容时外部组件包含内部组件的接口,它由外部组件接收此调用请求再交由内部组件来处理,聚合时外部组件直接调用内部组件的接口,它让内部组件直接处理该调用请求。在C++语言,通过在外部组件中增加内部组件接口,并把调用请求转发给内部组件即可实现包容,对于聚合,在内部组件中维护一个外部组件接口指针(如m_pUnknownOuter),通过委托机制,让内部组件接口提出的查询接口请求由一个委托接口转发至外部组件,再由外部组件接口查询内部组件。这样就可以实现一致的访问,即不管是通过外部组件的接口,还是内部组件的接口,都可以查询到内外组件所支持的接口集合。在实际应用中,软件开发不仅有大量的、功能强大的商业化组件可以使用,而且有应用广泛的、成熟的靶场测控系统专用组件可以使用,如组件化的数据接收、量纲复用、坐标转换、滤波平滑、精度评估等功能模块。因此,利用好组件复用技术可以有效扩展靶场测控数据处理系统的软件功能,对于靶场测控系统建设具有重要的现实意义。
3结束语
关键词:CMS;软件测试;对策;问题
一、CMS简介及软件测试原则
CMS是英文Content Management System的缩写,中文含义“内容管理系统”,该系统具有多种现存的优秀模版,在软件开发或者网站制作中可以起到很大的促进作用,能够有效提高开发速度、减少开发费用。
软件测试是软件工程中的一个概念,是指软件测试人员采用人工或自动的方式对开发的软件进行测试,旨在发现其中的问题既未达到设计要求的部分或者发现实际结果和预期设计结果的差别。软件测试不仅仅在于发现问题,更重要的在于改进问题。当发现问题以后,测试人员会及时与设计人员联系进行沟通,解决问题。软件测试必须遵循六个原则:考虑用户需求是软件测试的首要原则;在真正的软件测试开始之前就要制定完整细致的测试计划;采用Pareto原则进行测试;软件测试应从小到大,首先从小模块开始,逐渐向大模块发展;软件测试采用抽样检测方式,穷举检测室是不可能实现的;软件测试最好由第三方或者非设计人员进行测试以确保软件测试的客观和准确性;过分和不充分的测试是不合理的,测试时应选取适当的测试案例,能达到测试目的即可。软件测试的内容主要包括:正确性测试;容错性测试;性能与效率测试;易用性测试;文档测试。
二、CMS软件测试中存在的问题
本文以某公司的购物软件为例进行,下面简称该软件开发为S项目。S项目是该公司接手制作的一个大型的客户到客户的网络购物系统,可以提供商家开店及客户购买服务。在软件设计与开发过程中需要不断进行软件测试,同时也出现了很多问题。
1.软件测试与开发数据间存在相互影响
软件测试人员与开发人员使用的是同一个数据库,所以在测试与开发过程中两组人员工作时产生的数据都保存到同一个数据库,这样就出现了使用混乱。测试人员在进行测试时产生的数据将对开发人员的工作带来不便,开发人员工作时产生的数据同时影响测试人员的进程。虽然这种问题不会导致系统瘫痪等大的问题,但是有时会因为出现因为某个公用数据的问题而导致原本设定好的系统运行方式而无法执行。
2.各组测试人员缺乏交流
该公司S项目中的购物系统是一个很大的系统项目,所以开发和测试人员很多,为了明确职责,这些人员分工细密,同时也正是由于细致的分工导致人员之间交流的缺乏。首先开发人员和测试人员缺乏交流,这直接导致开发与测试脱节,很多简单技术问题被放大,需要浪费很大的人力物力财力才能解决。比如在进行系统开发时,客户的要求开发人员需要对系统设计进行改编,但是由于庞大的人员系统的存在,改信息不可能及时传递到测试人员手里,因此测试人员仍采用预定测试数据对系统进行测试,测试结果肯定是不正确的,因此测试人员需要花很大的努力寻找错误源。
3.不同的测试环境导致系统异常情况出现
该公司的S项目完成以后首先在江苏省苏州市公司进行测试,通过测试后再已送到日本总公司进行第二次的测试。由于日本和中国不同测试环境的存在,可能出现一些异常情况。有些系统模块在苏州可通过测试,但是在日本公司却不能通过出现错误。这些错误也许是因为测试工具的不同造成,也许是因为日本和中国网络服务器的不同造成,但是最终结果是软件测试没有获得通过。
4.系统需求的不断变更
系统开发之前需要进行需求分析和软件可行性分析,只有在确定了软件需求以后软件开发公司才会进行开发。但是意外总是存在的,客户是有头脑有思想的人,所以在软件开发过程中经常出现需求变动,尤其像该公司S项目一样大型的购物软件系统,消费者需求在变,软件也要跟着进行改变。需求变更带来的损失是巨大的,需求的每次变更都需要组织软件开发与测试人员开会商讨后期事宜,浪费时间。
三、问题对策
针对上述软件测试中的四项问题,本文将给出具有针对性的解决策略。
针对测试人员与开发人员数据库共用问题,可在系统进行开发之前就先设计出两个数据库,开发人员和软件测试人员分别使用不同数据库数据。
针对各组人员缺乏交流问题可以采取的措施有:定期召开圆桌会议,各组人员进行工作交流;公司可组织召开一些文体活动,增进交流等。
针对环境不同导致的测试结果不同可采用的方法是在苏州公司设置一台测试服务器,在日本设置两台。在苏州通过测试以后将服务器内容拷贝到日本的第一台服务器,通过以后再在第二台上进行测试。
针对系统需求不断改变的问题可在系统开发之前进行详细的需求分析与调查,明确客户需求。同时软件测试人员参加设计开发人员的例会,去发现系统要修改的内容,从而及时更新测试方案。
四、结语
软件测试对于提高软件开发过程的效率和成果质量具有重要作用,也是唯一可以确定开发出来的软件质量的方式。近年来随着软件工程技术的不断发展,软件测试技术也得到了一定的发展,各种测试技术不断涌现,使得软件测试更加准确和高效。但是在实际的软件测试技术选择上要根据具体情况具体分析,力求既完成了软件测试也要注意经济合理性。本文以公司实例为研究对象,对该公司采用的CMS软件测试方法进行研究,对其中存在的问题及缺陷一一阐述,并提出了具有针对性的解决方案,对于相似案例的研究具有重要的启发意义。
参考文献:
[1]杨根兴,宗宇伟.软件测试不确定性研究及解决途径[J].计算机工程.2004(07)