【计算机软件测试方法的研究7600字(论文)】_第1页
【计算机软件测试方法的研究7600字(论文)】_第2页
【计算机软件测试方法的研究7600字(论文)】_第3页
【计算机软件测试方法的研究7600字(论文)】_第4页
【计算机软件测试方法的研究7600字(论文)】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机软件测试方法的研究目录TOC\o"1-3"\h\u100271引言 5323672软件测试的理论及技术支持 5213082.1软件测试的定义 5168862.2软件测试的类型 6306142.2.1以软件测试设计的依据测试 6137542.2.2根据软件开发生命周期阶段进行测试 7289112.2.3软件测试目标导向测试: 8262052.4软件测试原则 9146233H公司软件测试方法案例分析 10284563.1H公司软件测试人员的构成 10112183.2H公司测试工作的主要内容及流程 10236713.3H公司软件测试存在的问题 12199163.3.1软件測试工作质量低,造成纠正性维护工作数量多 1226733.3.2测试团队测试用例设计能力不足,无法暴露被測软件缺陷 1249333.3.3软件测试缺乏分析工作,无法给软件维护提供数据支持 13108653.3.4维护工作量大,维护工作内容记录过于简略 13179573.4H公司软件测试存在问题的原因分析 14114723.4.1测试工程师测试用例设计能力不足 14294833.4.2测试工程师与其他岗位缺乏沟通 14312194现阶段软件测试工作的优化建议 15156854.1对被测对象的分类管理 15319384.2测试文档留存制度设计 16124464.2.1编写测试用例文档 17209914.2.2编写测试坏境说明 17151524.3定期编写测试小结 1919212结语 2024289参考文献 211引言社会科学技术的不断进步,推动了计算机软件行业的发展,软件产品已经多途径、全方位、深层次地渗透到社会生活的各行各业。与此同时,软件规模的不断増大,使得计算机软件应用程序原本单一的功能逐渐复杂化、综合化。由于软件质量保障体系还不是特别完善,软件主要是由开发自测。但是开发工程师测试自己写的程序容易习惯性地忽略一些问题,于是就催生了专门的软件测试人员。一开始的软件测试只是单纯的手工测试,耗时时间长,效率比较低,而且长期枯燥重复的手工测试容易使工作人员丧失工作的积极性,测试结果的准确率也会因此受到影响。另外,为了抢占市场份额,各公司必须加快开发速度,加快交付用户产品,敏捷开发应运而生,敏捷开发具有开发速度快、周期短的特点。在测试工作中除手工测试之外,测试人员还需要承担测试数据管理、需求收集、维护测试环境等工作,这些工作占用了测试人员大量的时间和精力,影响测试工作的质量,因此我们有必要对于“计算机软件测试方法”这一主题进行更加深入的研究。2软件测试的理论及技术支持2.1软件测试的定义软件测试是通过手工或自动的方式,来运行或测定某个系统/程序,用来保障软件质量、增加用户体验、降低开发成本的一种技术手段。它贯穿于整个软件产品的开发周期,目的在于检验产品是否满足规定的需求。随着互联网快速发展,软件系统越来越复杂。一个产品不再是由1-2个开发人员单独完成,而是团队配合,可能每个人只负责其中一个模块,对于产品全局没有全面的了解。所以软件在运行时非常容易出错,而且每一个开发工程师都会有自己的思维局限,自己的错误自己很难检查出来,所以这时就必须要有专门的测试工程师用专业的方法来检查产品,否则会给企业带来巨大的损失。作为IT公司内部必不可少的重要组成部分,软件测试是保障软件质量的重要手段,被誉为“软件质量把关的最后的一道生命防线”。2.2软件测试的类型根据不同的测试方法漏洞检测大致可以分为三种类型,分别是白盒测试、黑盒测试和灰盒测试。白盒测试通过对源代码进行分析来检测漏洞。对源代码的分析可以手动执行,也可以使用强化工具,白盒测试涉及程序所有逻辑的测试、循环测试、条件测试和基于数据流的测试,即使软件规格不清晰和不完整,也可以检测异常,还可以确保测试用例遍历程序中的每条路径。黑盒测试不同于白盒测试需要对源代码进行分析,它忽略了系统的内部机制。黑盒测试仅根据软件错误(在错误输出中发现错误)来识别错误。通过查找系统输出错误,以及执行时产生错误输出的不正确条件。黑盒测试技术的关键在于是搜索空间的大小,因为是通过参数和参数之间的组合生成的,所以这种组合使黑盒测试技术在计算上变得昂贵。灰盒测试结合了黑盒测试和反向代码工程,因此覆盖范围显著扩大,即使没有源代码,也可以构造有效的测试用例[23]。由于这种优势,如今该技术已得到广泛研究。在系统集成测试期间,测试人员可能需要进行测试功能需求或提供帮助。同一个人可能还需要查看和理解程序的内部组件,比如方法、类和包。通过查看测试工具生成的测试覆盖率分析报告。2.2.1以软件测试设计的依据测试以软件测试依据对软件測试进行的分类“测试依据”可以是基于软件产品开发的不同迭代阶段所产生的制品,可以同时连接多个设备,并对设备进行管理,当第三方被测设备连接时,可与被测设备建立数据通信,实现上位机与被测设备之间发送协议测试命令和接收响应结果的功能。可以同时连接多个设备,并对设备进行管理,当第三方被测设备连接时,可与被测设备建立数据通信,实现上位机与被测设备之间发送协议测试命令和接收响应结果的功能。测试技术比其他映射更加通用比如白盒测试技术满足了单元测试的测试目标,而目标导向测试中,通常采用了黑盒测试技术。表2-1测试设计的依据测试设计是测试的根本。表中更重要的是黑盒测试和白盒测试。该模型通过考虑消息并行器的顺序和并行方面来捕获消息并行器的控制和数据流,并且在变异数据生成和变异数据执行提供简洁明了的可视化界面操作方式,为了使用软件的各个功能用户需要先进行登录才能进行相关操作,用户填写登录信息并提交后首先需要进行异步校验。在测试设计过程中,源代码被用作附加的软件产品。2.2.2根据软件开发生命周期阶段进行测试软件测试活动贯穿于软件项目的整个生命周期。通过监视响应结果,将响应数据通过软件页面显示出来。变异数据执行模块是整个测试软件的核心组成模块,通过对变异数据的执行监视协议的异常响应,向前端可视化页面展示响应结果,通过日志记录对异常响应进行分析,以发现协议漏洞。下表对软件生命周期各个阶段进行了分解,其中列出了软件生命周期不同阶段所需的测试类型。表2-2软件生命周期阶段其中,更重要的是单元测试和集成测试。由于测试要求和测试依据不同,两者原则上应该有较大差异。测试主要包括单元测试阶段、集成阶段、生成阶段和验收阶段。验收测试是软件部署之前的最后一个测试操作。测试用例管理模块主要对被测协议的测试用例进行管理,对协议数据进行存储。每条测试用例以树型结构存储在测试用例集中,用户可以通过测试用例管理界面的增删改查按钮对每条测试用例进行操作,生成变异数据的所需要的原始协议数据需要从测试用例管理模块的数据库中获取。用户根据测试需求在测试用例管理页面请求新增测试用例,后台程序接收到请求后跳转至新增页面。用户根据新界页面的提示填写测试用例的相关信息。用户提交后信息后,后台程序将信息填写到数据库里面并通过管理页面显示新增结果。2.2.3软件测试目标导向测试:目标导向测试可以理解为有具体验证目标的软件测试,表2-3列举了一些常用的目标导向测试。表2-3目标导向测试随着现代软件技术的发展,软件应用环境变得越来越复杂和多样化。面向目标的测试用于发现特定类型的错误,如漏洞测试,检查安全漏洞,防止未经授权的用户访问被测系统;鲁棒性测试用于测试软件系统中非法输入的鲁棒性,与功能测试不同,鲁棒性测试用例通常设计在合法输入空间之外。2.4软件测试原则由于被测软件的特性不同,可以根据项目的实际情况组织和优化软件测试活动。首先,一般来说测试应该尽快进行,最好是在需求阶段进行。发现缺陷越早,修复成本越低。其次,程序员应该避免检查他们自己的程序,而软件测试应该由第三方负责。在设计测试用例时,考虑合法和非法的输入以及各种边界条件。协议测试软件中所有数据的存贮都需要通过数据信息库模块来完成,数据表承载了数据的查看、修改、增加、删除等操作。通过数据表存储的日志记录可以对协议漏洞进行分析,每个模块的数据表存储的数据不一样但是数据之间又有一定的相关性。数据信息库模块是整个软件正常运行的最重要的一部分。在特殊情况下,可能会出现异常情况,如网络异常中断、停电等通过探索被测软件的源代码以查找内部错误。但是在实际应用中白盒测试很少使用,因为源代码分析是一个困难的过程,严重情况还会导致很多误报,并且通常情况下很难获取完整的源代码信息。。正确存储测试计划、测试用例、错误统计和最终分析报告,便于后期维护。3H公司软件测试方法案例分析H公司成立于2001年9月28日,是一家年营收超过2亿元人民币、员工人数超200人的大型企业。H公司的软件产品非常丰富,基本覆盖了移动终端、网络实时调度、大数据算法、工程机械控制等前沿应用。因此,项目活动中的每个参与者,无论是软件测试工程师还是软件维护工程师,都需要一些技能来满足相对较高的技术要求。3.1H公司软件测试人员的构成目前H公司的测试团队主要分为以下几个岗位:1)测试助理工程师:一般是熟悉系统的新员工,能够按照操作规程和测试文档完成测试任务。2)测试工程师:指导测试助理工程师完成测试任务。这个职位的工作通常在软件开发阶段进行跟踪。3)测试经理:熟悉软件系统,能够判断各种技术方案的实施情况。4)测试主管:完全熟悉软件系统流程和业务流程,充分掌握系统的技术原理和潜在缺陷,有权协调员工参与软件测试任务。熟悉各种业务的特点和不同业务之间的关系。3.2H公司测试工作的主要内容及流程H公司的测试团队主要负责两部分工作,一部分是内容开发或正在开发,另一部分是测试已完成的任务。如果一个软件测试人员的更重要的任务即将被开发或者正在被开发,软件测试工程师将继续观察、评估和分析。正如流程的左侧所示,测试经理提前分配测试工程师,并在任务注册后关注开发过程中的问题。如果设计不符合要求,将为设计开发提供必要的建议。因为测试工程师较少,所以工作的第一部分通常用于更复杂和重要的开发任务。图3.1测试工程师测试工作流程测试的任务及测试修正占据了测试工程师的大部分工作。工作流显示在上图的右分支中。这部分工作的一般流程如下:1)如果开发人员完成了任务,代码、说明或文档将被签入TFS上的项目管理、版本控制工具。测试管理员定期检查任务完成状态。对于已开发的任务,测试经理检查任务的状态,并开始分配测试工程师进行测试工作。2)测试经理设计测试计划,安排测试工程师获取修改后的版本,发布到系统测试版本。测试经理根据测试计划安排测试工程师和测试助理完成测试工作。通常,测试工程师部署和准备复杂的数据和测试环境,测试帮助工程师完成测试。4)测试工程师将测试结果注册到TFS上。H的软件测试过程基本遵循v型测试模型,大部分测试工作是在软件开发完成后进行的。3.3H公司软件测试存在的问题3.3.1软件測试工作质量低,造成纠正性维护工作数量多根据公司的维护数据记录,每天至少出现9次软件缺陷引起的维护问题,说明软件系统存在很多缺陷,影响用户的正常使用。大多数软件缺陷是在软件测试过程中发现的。维护数据反映了软件测试工作相对较低的质量。3.3.2测试团队测试用例设计能力不足,无法暴露被測软件缺陷测试团队测试用例设计能力不足,体现在两个方面:(1)有效測试用例数量不足;(2)缺乏“非功能性”测试对比。此外,该公司平均每千行代码有8.06个有效测试用例,这仅满足行业平均最低要求,正常的用户操作会导致错误。经过调查,发现模块在测试时没有考虑客户的一些要求。一个操作过程,然后发现操作过程中没有缺陷。3.3.3软件测试缺乏分析工作,无法给软件维护提供数据支持非标准的管理软件测试团队的测试文档和数据主要反映在以下几个方面:(1)有三个测试工程师在项目团队中,只有一个人写测试用例文档和测试数据,使项目经理很难搞好测试。(2)由于上述原因,测试团队也难以提供足够的缺陷分析数据,导致H公司缺乏缺陷管理,无法对测试中发现的缺陷进行分析。理想的软件测试,无论是单元测试还是组合测试,都需要诸如缺陷表之类的工具来检测故障、执行统计分析和汇总数据。下表描述了缺陷注册汇总表的内容,它详细描述了软件故障的几个原因。软件测试工程师需要对测试过程中发现的软件缺陷进行分析,并在最初发现缺陷的原因后进行注册。表3.1“缺陷登记汇总表”内容说明3.3.4维护工作量大,维护工作内容记录过于简略目前公司的年生产能力为4200(万/天)。据此计算,每个终端的年平均吞吐量为600(万/天),日平均吞吐量分别为600/365(百万/天)和16438(百万/天)。如果软件故障率为万分之一,则平均每个集装箱码头每天有164个集装箱出现问题;在上海以外,现在有几十个港口使用同样的产品,而且出现错误的概率相同。这可能导致每天维护几十个(万/天)。再加上支持生产系统的各种调度平台和数据传输接口,每一个错误都可能导致问题。公司承诺客户系统必须提供7×24小时的维护支持,要求在1小时内接听维护电话,全年不得因各种软硬件故障导致公司停机超过4小时。在这种情况下,当处理维护请求时,维护团队首先确保快速解决客户问题。因此,维护工程师经常在很大的压力下工作,没有太多的时间来改进和记录维修。故障汇总记录。在测试环境中,用户没有足够的时间收集、记录、整理详细的故障数据和分析故障原因,无法复制用户报告,从而导致软件运行出现各种类型的问题。3.4H公司软件测试存在问题的原因分析软件测试工作的主要间题集中在:測试工程师难以设计出足够的测试用例用以暴露被测软件的缺陷,主要有以下几方面的原因:3.4.1测试工程师测试用例设计能力不足测试工程师设计能力不足的原因是:(1)测试工程师对开发任务的目的没有清晰的理解,有效测试用例的元方法设计暴露了被测软件的潜在缺陷。具体来说:关注单个特性,忽略整个测试过程,关注正常的系统测试,忽略异常的系统测试。这些缺陷是特定于当前软件正常运行的:系统异常:软件出现数据错误或其他软硬件错误。(2)测试工程师缺乏足够的历史数据和经验来在短时间内总结测试点,不能用最小的测试用例来验证被测试软件的功能。软件测试需要考虑时间成本,测试用例的设计和选择应该考虑功能最少和功能最多的验证。(3)在测试用例选择的过程中,测试用例的选择很大程度上取决于测试人员的历史数据和经验,而测试工程师没有这些数据和经验,导致大量无效的测试用例,从而导致测试效率低下。3.4.2测试工程师与其他岗位缺乏沟通考虑到软件的功能是否正常,如果测试能够模拟用户的实际环境,那么对被测试软件运行结果的评价会更加准确。如下表所示,测试工程师主要直接与开发团队沟通,很少与其他项目的工程师接触。因此,如果不了解客户需求的真实意图以及客户是如何使用系统的,就不可能调查被测软件。在特定的使用环境中,如性能、安全、容错和其他非功能问题。表3.2测试团队与其他团队交流情况4现阶段软件测试工作的优化建议4.1对被测对象的分类管理不同的软件产品在不同的业务模块中具有较高的通用性和相似性。根据软件功能和技术原理,对测试对象进行了分类。针对历史维护记录中经常出现的维护问题,根据测试对象和机制,分析测试点,设计测试用例。如表4-1所示。表4.1不同被测对象的测试关注点4.2测试文档留存制度设计一些软件公司需要测试文档来记录诸如测试用例、测试数据和测试方法等细节。即使要求测试工程师在每个步骤的屏幕截图之后保存文档,也可以详细地保存每个步骤的测试。其缺点是测试工程师花费大量的时间和精力来截屏、复制和粘贴数据,而较少的时间来验证站点本身,但是这很容易变得形式主义。H公司人手短缺,项目进度相对紧张,如果所有测试都保留了测试设计、测试用例、测试数据和测试过程(包括运行屏幕截图、运行日志),那么项目将面临大量的时间和人力资源。成本。因此,保存测试文件对于阅读和分析后续的维护工作具有重要的参考价值。H公司可以采取以下措施:4.2.1编写测试用例文档测试用例意味着为每个测试编写描述测试用例的文档,包括测试点、测试用例的详细描述、通过或失败,等等。测试用例文档,可以由多人完成。测试工程师将围绕测试点设计特定的测试用例。利用句子优势关系来减少交际句,只需要测试简化后的交际句,减少了测试数据的生成时间。上述研究大致可以分为两个方面:减少测试对象的数量和提高测试方法的性能。路径测试是一种用于测试程序中路径的重要结构化测试方法。目前,对并行程序测试的路径选择研究较少。一般来说,完全覆盖测试是不可能的。因此,测试点是设计和选择测试用例的基础。能否提高缺陷暴露的概率取决于对相关模块的维护。保存测试用例文档使项目经理能够理解什么是测试以及测试中使用的方法。如果用户报告了测试模块中的故障,维护人员可以基于测试用例分析测试场景中的缺陷,并快速执行故障再现测试,从而提高测试效率。4.2.2编写测试坏境说明对于多平台、多系统测试,需要编写测试环境描述文档,包括测试系统、测试过程和测试环境的配置。表4.2测试环境说明文档内容环境配置文件清晰地描述了系统和配置、软硬件配置方法、系统配置参数等。当涉及到具体的业务操作时,维护人员可以为后续的测试做准备,也可以收到客户的故障报告。该系统能够快速、逐个地检查和定位故障,大大提高了维护工作的效率。4.3定期编写测试小结复杂特性的开发通常被划分为多个任务。复合测试可以在多个任务上执行。联合测试编写测试摘要,给出匹配项的综合排名以及跨多个任务的可能维护风险。例如将业务划分为三个任务:1001、1002和1003,并在三个阶段进行开发和测试。然后,在测试摘要中,您可以解释每个任务(如表)的测试和发布。通过阅读测试总结,维护工程师可以提前了解维护的风险、正在开发和测试的业务功能、项目开发进度等,有助于有效实施维护项目。结语随着软件项目规模的不断扩大,软件功能也越来越复杂,如果没有一套好的软件测试方法,软件开发过程将是混乱的。与此同时,软件测试也开始逐步自动化和智能化。然而,从目前的实践来看,在检测方法和检测管理方面还存在一些有待解决的问题。为了解决这些问题,合适的软件测试人员或经理可以开发统一的“测试方法”、“管理流程”等来实现软件测试,或者也可以使用自动化工具来帮助收集、组织和分析项目中的大量数据和信息。软件项目测试水平的提高意味着在每一次迭代中,减少无意义和低效的劳动,这对提高人力资源利用率和软件产品质量有重要的影响。

参考文献[1]CoulterAC.Grayboxsoftwaretestingmethodology:embeddedsoftwaretestingtechnique[C]//DigitalAvionicsSystemsConference.IEEE,1999.[2]Wats

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论