身份证号:45010319840604XXXX 广西软件管理中心(广西软件评测中心)
摘要:软件开发项目由于其高度的复杂性和集成性,在软件开发过程中极易产生错误和缺陷,因此贯穿整个软件开发周期的软件项目测试,是保障软件开发质量的重要技术手段,对提升软件性能有显著的促进作用。随着互联网+时代的来临,进行高效专业软件测试的要求和挑战日益迫切。本文基于软件测试技术现状与发展趋势研究展开论述。
关键词:软件测试技术;现状;发展趋势研究
引言
软件测试技术是实现软件性能优化的有效措施,也是保证软件高质量运用的关键。在完成软件设计编程之后,技术人员会通过对软件测试技术的运用,对软件内存在的漏洞展开检测,并会对其中存在的漏洞展开及时修复,且会通过再次展开测试的方式,直至软件测试符合相关标准要求为止。在测试技术支持下,技术人员可准确掌握软件在各种环境中的运行性能,能够按照环境展开风险规避设计,可以为软件高水平运用奠定良好基础。
1软件测试流程
(1)需求分析阶段。软件测试技术人员需要参与到需求调研工作中,要通过对系统需求的深层次研究,为测试计划制定以及软件开发做好铺垫;(2)分析设计阶段。在此阶段,测试人员需要对系统工作流程展开深入参差,应按照测试需求展开测试方案规划,并确定测试技术以及测试对象范围等细节,且要对开发文档展开审查,保证设计与计划合理程度;(3)开发阶段。测试人员需要按照系统情况,将其分解成多个独立子系统,并逐一对各个子系统展开检测,并会重点对用例设计展开测试,用例测试情况会对软件测试成效产生直接影响,需要引起测试人员足够重视;(4)测试阶段。在实际展开测试执行过程中,测试人员需要按照事前制定测试用例以及测试计划,对硬件环境以及软件项目展开全面性检测;(5)测试完成阶段。完成全过程测试后,测试人员需要撰写测试报告,将测试过程所发现问题以及测试思路等认真填写在报告中,且会就软件项目是否合格给出判断。
2软件测试的原则
(1)客户至上:软件开发主要根据客户需求进行设计研发,不管进行何种类型的软件测试,都必须考虑用户的根本需求。软件测试的目的主要是发现软件问题或缺陷并提出相应的改进措施,但是如果测试结果无法满足用户需求,那么软件测试就没有意义。(2)开发测试同步化:尽早制定软件测试方案与计划(最好与软件开发同步开展),并加强软件测试。软件具有复杂性,软件开发的每个过程也都呈现出多样性特征,因此在各个开发环节,都有可能出现失误。管理人员不能再把软件开发与软件测试看作是两个前后完全独立的过程,应将软件测试与软件开发的各个过程紧密结合,加强阶段性情况评审,及时发现问题并采取有效的解决措施,减少软件研发风险,规避软件中的缺陷,以确保软件质量。(3)逐级递增测试。一般来说,软件测试要按照单元测试、集成测试、系统测试及验收测试阶段的顺序进行,即遵循从小到大,从小规模测试过渡到大规模测试的原则,并且每个测试阶段都必须是可重复的。(4)科学性与实用性。软件程序的路径组合对应的往往是天文数字,如想覆盖软件测试程序执行过程中的各种可能性,实际测试中是难以操作并且不现实的。但进行有效的程序逻辑兼顾,进而明确软件测试程序设计过程中的各个条件是可操作的。(5)第三方测试。软件开发人员对自己编写的软件进行测试具有局限性,容易受到主观思维的影响,故想要保证软件测试结果准确性和公平性,软件测试应当选择客观独立的第三方或者相对独立的人员作为测试的主体。
3关于云计算的计算机软件测试的主要结构
(1)CLOUD9平台。这个平台是国际商业机器公司提供的云平台作为铺垫,由瑞士一所大学创建的软件测试系统,该系统不但能够将私人云平台运行,而且能够在公共云平台上运行。
与此同时,CLOUD9能够在第一时间内为软件实行全方位的自动智能化测试,根据相关实验结果证明了,在最为高端的符号操作引擎上,速度嫩巩固提升1-2个数量级。除此之外,该平台是一种根据用户需要就可以做出改变的软件测试服务平台,在云计算的环境中,可以在非常大的范围内扩充使用资源。(2)D-CLOUD平台。这个平台是由日本一所大学研发的,在这个平台环境中,早已实现了虚拟故障处理技术的融入,可以实现较大规模的分布形式测试。(3)yesi测试云系统结构。在该项目中,英国的一所大学经过在云平台中开展实践过冬,创建了有关该项目的云测试系统结构,此外,这所大学也对云测试的功能和安全等方面的问日进行了深度的研究。即便以上三种结构类型在现今取得了普遍的应用,但是在当中依然存有很多的缺点,因此需要相关技术人员来将其进一步改善,以提升云计算软件测试的安全平稳。
4应用软件开发的具体方法
首先,是生命周期法。目前应用软件开发的中非常重要的方法就是生命周期法,这种方法主要是从时间的角度来把软件定义,并将开发及维护阶段所产生的问题分解成一个比较小的阶段,以确保每一个阶段都可以严格按照标准进行。在软件开发过程中,要对详细设计、总体设计及编码与测试等环节的内容进行重点地考虑。其次,采用原型化方式,在开发软件的过程当中,还有一种相对使用比较频繁的方法是原型化的方法。在进行软件开发过程中,大多数用户对软件开发的目标较为概括,此时要想顺利的完成目标,就需要明确界定输入、输出及处理的基本需求。还有就是自动形式的系统开发方法。在开发应用软件过程中,借助该方法可以的核心优势就是第四代技术的使用,该阶段软件的开发者只需要详细地说明一切想要达到的目标,并不需要对具体的实现方法进行探索。总之,借助该方法可以顺利完成软件的自动设置、自动分析及编码过程。
5软件测试发展趋势
一是对软件测试周期要求更高。传统的软件测试通常会遵循软件测试流程,但互联网+技术下的软件对即时性要求很高,应对市场需求要有更快的更新速度,因此软件测试周期需更加快捷。二是对数据准确性和可靠性需要求更高。面对概念模糊、格式不一的海量数据,软件测试效率会在一定程度上降低,因此,提升数据准确性和可靠性将有助于减少软件测试频次,提高测试性能。三是软件测试将趋于标准化。在软件测试进程中实现检测标准化后,软件开发人员更容易渗透软件开发和设计的思想,去规范和完善软件测试。四是智能测试工具将得到开发和推广。在新技术环境下手工方式的软件测试将逐渐被智能测试软件所取代,也就需要我们开发出合适的软件测试工具以应对软件测试范围不断扩大的新需求,提升预期和实际数据的一致性。
结束语
软件测试技术已经成为保证软件产品质量的重要组成部分,甚至已发展为推进软件开发和实践应用的重要驱动因素。为满足新时代更多的的软件测试需求,我们需要不断总结成熟的方法,研究新的热点,提出不同的思路,以促进软件测试系统工程的研究和软件产业的快速发展。
参考文献
[1]梁利亭.软件测试对于信息技术发展的影响[J].信息与电脑(理论版), 2019,31(24):71-72+75.
[2]梁利亭.云计算的计算机软件测试技术分析[J].现代信息科技,2019, 3(23):69-70+73.
[3]林晓欲,YuanTommy,雷倩茹.软件测试技术在人机对话系统中的应用研究[J].航空兵器,2019,26(05):87-94.
[4]施莹超.计算机软件测试技术与开发应用探讨[J].信息与电脑(理论版),2019,31(21):88-89+92.
[5]秦怡.大数据背景下软件测试技术面临的挑战及发展方向[J].电子技术与软件工程,2019(18):46-47.