华盛文献综述由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“赖雨文献综述”。
信息系统测试对用户的重要性
前言
随着社会的不断进步和计算机科学技术的飞速发展,计算机及信息系统在国民经济和社会生活等方面的应用越来越广泛和深入。信息系统在企业的日常管理中起着举足轻重的作用。信息系统的失效有可能造成巨大的经济损失,甚至危机人的生命安全。信息系统开发的各个阶段都需要人的参与。因为人的工作和通信都不可能完美无缺,出现错误是难免的。与此同时,随着计算机所控制的对象的复杂程度不断提高和信息系统功能的不断增强,信息系统的规模也在不断增大。人们在信息系统的设计阶段所犯的错误是导致信息系统失效的主要原因。信息系统复杂性是产生信息系统缺陷的极重要的根源。我在此主要讨论基于用户视角的信息系统测试
一、软件测试的定义和目的根据IEEE提出的软件工程标准术语中软件测试的定义,软件测试是使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求,它是为了发现错误而执行程序的过程。通常,测试活动是根据软件开发各阶段的规格和程序内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误。
软件测试的目的根据Grenford J.Myers的观点,软件测试的目的主要有以下几点:
1.测试是程序执行的过程,目的在于发现错误; 2.一个好的测试用例在于能发现至今未发现的错误; 3.一个成功的测试是发现了至今未发现的错误的测试。
设计测试的目的是以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。如果我们成功的实施了测试,就能够发现软件中的错误。此外,软件测试能够证明软件的功能和性能与需求说明相符合。其中,实施测试收集到的测试结果数据可以为可靠性分析提供依据。
二、国内软件测试现状
国内软件测试的现状是令人担忧的,在软件行业中处于弱势地位。目前存在的问题:一是软件测试的地位还不高,在很多公司是一种可有可无的东西,大多只停留在软件单元测试,集成测试和功能测试上;二是软件测试从业人员的数量同实际需求有不小的差距,国内软件企业中开发人员与测试人员数量一般为5:1,国外一般为2:1或1:1,而最近有资料显示微软已把比例调整为1:2。
另据调查,国内缺乏完全商业化的操作机构,一般知识政府的下属机构在做一些产品的验收测试工作,就像质检部门为新产品加盖一个“合格”标识而已,实质意义不大,软件测试行业还有待开发和深掘。
三、信息系统测试的过程
在CMMI模型中系统测试主要有6个步骤。
1.编制系统测试计划
在测试的前期要编制系统测试计划。完整的系统测试计划必须包括以下要素:明确测试范围(内容)、测试类型、测试环境和测试数据准备、测试结束准则、人员与任务进度要求等。
2.确定测试需求
系统测试需求所确定的是系统测试的内容,即测试的具体对象及测试工作的范围和作用。
3.测试设计说明
系统测试的计划已经确定了测试的范围,在测试方案的测试策略设计中针对每一个测试需求定义了要使用的测试技术和工具,测试设计说明中需要给出每一个要测试的内容一种具体可行的测试方法。
4.设计系统测试用例
系统测试用例应符合模版要求;对每一个测试需求确定其需要使用的测试用例;测试用例的内容应该和系统测试方案一样;测试用例应该考虑测试的完整性;编写测试用例文档。
5.执行系统测试
配置测试环境;执行系统测试;执行回归测试。
6.汇总分析系统测试结果
系统测试执行完成后,需要对测试产生的结果进行汇总和分析,目的是确定并评估预期结果和实际结果间的差异,从而确认测试的完成情况,以及测试结果受到非测试对象因素的影响情况。
注:CMMI模型定义:
CMMI全称是Capability Maturity Model Integration,即能力成熟度模型集成(也有称为:软件能力成熟度集成模型),是美国国防部的一个设想,1994年由美国国防部(United States Department of Defense)与卡内基-梅隆大学(Carnegie-Mellon University)下的软件工程研究中心(Software Engineering Institute,SEISM)以及美国国防工业协会(National Defense Industrial Aociation)共同开发和研制的,他们计划把现在所有现存实施的与即将被发展出来的各种能力成熟度模型,集成到一个框架中去,申请此认证的前提条件是该企业具有有效的软件企业认定证书。
其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件开发中的困难。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。
四、软件测试的主要方法概述
1.黑盒测试:在黑盒测试或称功能测试中,不考虑程序的内部结构和表现,其目的是确认程序的输入和输出是否与其规格一致。黑盒测试的主要缺点是依赖于规格的正确性(实际情况并非如此)和需要采用所有可能的输入来作为测试用例才能保证模块的正确性。
2.白盒测试:在该方法对软件的过程性细节做细致检查,对程序所有逻辑进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。测试用例从程序的逻辑中产生。确定程序逻辑覆盖有几条原则,其中之一是语句覆盖,要求程序中的每条语句至少执行一次。
3.灰盒测试:灰盒测试就像黑盒测试一样是通过用户界面测试,但是测试人员已经有所了解该软件或某种软件功能的源代码程序具体是怎样设计的。甚至于还读过部分源代码。因此测试人员可以有真对性地进行某种确定的条件/功能的测试。
4.从上至下测试:从上至下测试从程序的顶点模块开始逐步对较低级的模块进行测试。从上至下测试的好处是排除了系统测试和集成,它可以让人们看见系统的早期版本并证明系统的正确性。从上至下测试的缺点是需要桩子模块,并且在桩子模块中的数据直到输入输出模块加入之前不能确定。
5.从下至上测试:从下至上测试策略从程序的最低级模块(不调用别的模块)开始。为了模拟高一级的模块需要驱动模块。从下至上测试的好处是测试数据的建立不存在困难。从下至上测试的缺点主要是系统的早期版本直到最后模块测试完成才产生,并且测试和设计一个系统不能重叠进行。
五、以用户为中心的信息系统开发框架
以用户为中心的信息系统开发周期除了具有传统信息系统开发周期的各个,还在每一个阶段考虑了用户的因素,而不像传统开发周期那样把用户界面设计作为系统设计的一部分。
该开发周期的特点包括:在系统开发周期的开始阶段就关注用户和任务的特点,而不仅仅关注系统的功能需求;系统设计的过程中同时关注系统的功能和用户的需求;对人工产品的评估和所使用的理论化证明贯穿系统的整个开发过程;开发的过程采用迭代开发过程;考虑用户多方面的需要而不仅仅是界面设计。
整个开发周期可以分为4个阶段:计划与选择阶段;系统分析阶段;系统设计阶段;系统实现阶段。在每个阶段用户都参与其中。下面列出了各个阶段中用户的主要任务。
在计划与选择阶段,用户需要分析所涉及的组织、人员和任务等等。用户还需要评估其经济、技术等可行性,确定继续实施项目的可行性。
在系统分析阶段,用户需要确定需求,除了分析与系统需求分析对应的对应的用户需要之外(使用之前),还要分析在系统使用过程中用户,系统和工作任务之间的匹配关系(使用过程中),以及系统功能对用户关心的绩效的影响程度(使用之后)。
在系统设计阶段,用户的界面设计在这个阶段实现,和传统的系统开发过程相似。
在系统实现阶段,用户对系统的色彩、文字、媒体等进行构成估计,在系统发布之前进行累积性评定。在系统实施后的一段时间由用户进行使用评价,通过用户的反馈来为系统的后续版本提供实现的指导。
总结
随着信息系统越来越深入到人们的日常生活中,信息系统的地位也越来越高。信息系统也可以理解为一个大型的软件,只不过它的功能更多更复杂。由于人的工作和通信都不可能完美无缺,出现错误是难免的,所以信息系统可能存在着各种问题,因此我们需要对信息系统进行测试。在此我们就需要用到软件测试的手段。
在我国软件开发行业早期,一直没有足够的重视测试工作,软件测试缺乏独立的测试人员,测试工作往往由开发人员兼任。近几年由于软件产业的发展需求和受国际软件行业的影响,国内开始培养专职的软件测试人员。但是由于这些专职测试人员业务知识的缺乏,他们通常是以纯粹的专业技术和个人智慧来完成测试工作。但是最终产品任然不能真正满足客户的需求。因此近几年来兴起的以用户为中心的设计方法强调了用户参与测试的重要性。
在实际的生产中客户一般是侧重于在系统分析阶段。他们会在这个阶段提出对系统的功能需求,之后在系统实施阶段进行评估,如果没有达到他们的预期效果则会要求重新修改,在这个过程会消耗大量的时间。
我认为客户可以尽可能的参与进整个开发周期去,尤其实在系统测试阶段,这是对产品的检验和评估,在这个阶段用户可以提出新的需求包括功能需求和新的UI设计,也可以让测试人员更多的去了解整个业务流程,从而更好的去发现系统有没有存在业务逻辑上的错误。
我认为站在用户的角度去看,信息系统测试是必不可少的一个环节而且非常重要。它的好处包括:能够及时的增加新的功能满足新的需求;能够对系统的界面有个直观的判断并加以修改;用户参与进系统测试也是对自身业务流程的一个自检,能够发现系统上是否存在业务上的逻辑错误;能够加强客户和测试人员之间的沟通提高整体的工作效率;能够节省很多资源包括人力和财力上的;对之后的用户使用评价有很大的帮助;系统实施后用户能够很好的掌握如何使用新的系统不用进行更多的用户培训。
因此信息系统测试对用户来说是一个非常好能够了解新的信息系统的一个机会,也是对用户需求和设计的一次补充,参与进入其中对之后使用整个信息系统也有很大的帮助。
参考文献
[1] 贾瑞晶.软件自动化测试框架的研究与实现.《华东师范大学硕士论文》 2011年
[2] 黄爱明.国内软件测试现状及对策研究[J].中国管理信息化,2007,10(12):42-44.[3] 徐俊,陆宇峰,彭建喜.基于CMMI 模型的系统测试过程改进实施方法研究[J].软件导刊.2010,9(12):24-26.[4]张新华,何永前.软件测试方法概述[J].科技视界.2012,(2):35-37.[5] 廖列法,王刊良.以用户为中心的信息系统开发过程研究.信息系统协会中国分会学术年会, 2007.[6] 张霞,毛基业.以用户为中心的信息系统测试模式探索.中国管理科学与工程论坛, 2007.[7] 黄孝章.信息系统分析与设计[M].北京:清华大学出版社,2010.[8] 薛华成.管理信息系统(第六版)[M].北京:清华大学出版社,2012.