基于软件测试技术的软件质量保证研究

(整期优先)网络出版时间:2023-03-14
/ 2

基于软件测试技术的软件质量保证研究

李南鸿

工业和信息化部电子第五研究所 511370

摘要:在经济社会发展过程中,计算机使用场景逐渐丰富,已经被运用在人们生产生活各个方面中,因此,社会对计算机软件开发的关注不断加强。在此背景下,如何确保软件质量变化,成为技术人员的重要工作。鉴于此情况,本文将重点围绕基于软件测试技术的软件质量保证加以研究,以此为关注这一话题的人们提供借鉴。

关键词:软件测试;软件质量保证;技术分析

引言:对于应用软件开发来讲,由于对细节要求较高,因此每一阶段都有可能产生开发错误,虽然为保障最终软件效果,会先对软件开展详细测试,然而效果并不理想,依旧存在测试无法发现的微小失误。由此可见,为满足人们生活所需,围绕软件测试技术的软件质量保证加以研究尤为关键,是信息化时代发展的必然要求。故研究此项课题,具有十分重要的意义。

一、软件质量与软件测试技术基本概念分析

一方面,在计算机技术不断发展的背景下,人们对软件质量的要求更加严苛,对于不同的应用场景所接订单的软件质量也有所差异,其主要涵盖以下几方面内容。一是能够满足用户需求,并以需求为核心设计软件。在设计上不仅要满足功能性,而且还要确保软件应用的安全与稳定,给予用户良好的感受。二是界面规划需简便,具有交互功能,使用简单。三是 全生命周期的文件均要满足系统化、完整化,便于后期的升级与优化。

另一方面,软件测试是确保软件质量的关键。测试是指针对软件前期设计规范以及编码进行检查,发现编码的错误并及时加以更正,以上工作会花费一定的技术成本。结合现阶段来看,软件测试工作占据软件前期开发工作的30%~40%左右。此外不同应用场景下的软件在测试过程中也具有针对性,例如对于飞行管控设备来讲,测试的标准化要求更高,直接影响飞行安全。为此在软件前期甚至可能花费60%左右的时间开展测试。总而言之,技术测试便是针对特定的软件程序与功能加以分析,全面寻找软件开发中的技术事务并加以优化。在IEEE标准中,测试工作分为两种形式,分别为手动与自动监测,其核心目的均是为了检查软件开发是否能够满足预期需要,其最终的使用效果与设计方案是否存在差异,是保障软件质量的重点工序[1]

二、软件测试目的性研究

软件测试的核心目的在于通过模拟运行的形式找出技术程序中存在的错误与不足,之后利用优化方案制定与规划的方式加以纠正。通常来讲,软件测试涵盖两个部分:第一,单元模块测试,一般来讲,此工序需要开发人员与测试技术人员一同进行,在单元检测之后还需要开展集成测试,后者则主要是专业机构开展。总而言之,软件测试的核心在于找出软件开发中的程序错误和其他不足,主要形式为软件运行。然而运行过程需在数据的基础上进行,因此前期的测试用例规划十分关键,在测试的过程中很多问题便是来源于测试用例所显露出来。结合现阶段Glen Myers在软件测试中提出的原则来看,需开展以下内容:第一,测试执行质量,核心为发现错误;第二,较差测试用例可能存在的错误;第三,对成功的测试用例加以研究,分析是否仍然存在没有发现的未知错误情况。无论哪一种测试内容,其核心目标均是要在节约成本的基础上找出软件开发存在的不足,以此通常补充和完善提升软件开发水平。

三、应用软件质量保证提升路径

(一)常见测试技术

    首先,以规范为核心的软件测试。此类测试中除了常见的边界分析外,还有其他多种形式,例如决策表技术,便是用来分析设计过程中条件与输出结论逻辑关系是否科学的一种测试形式。其次,以代码为主要内容的软件测试。测试内容包括模型搭建以及数据测试分析等。在具体工作中,技术人员会借助图形代表程序的内部设计控制结构。最后,以故障分析为基础的测试技术。此类测试中,技术人员会运用外界增加故障或者假设故障条件的方式分析系统情况,找出可能存在的不足和漏洞,之后对前期编码程序加以修改。结合现阶段情况来看,此种修改工作能够有效排查不易察觉的故障信息。在计算机软件发展的背景下,部分测试人员还会针对使用状况加以测试,即通过模拟使用场景的方式,搭建测试模型,为现阶段软件工程测试中非常常见的测试形式之一,可保障后续软件的应用质量,减少软件风险[2]

(二)问题与保证路径

针对现阶段软件测试中存在的问题,本文提出了针对性优化路径。首先,软件开发透明度不足,难以对全过程周期加以监管。目前市场上的软件开发以及模块设计的主要工程师军事开发人员自身,从编程到后续的测试升级工作均是一人进行,这种系统化的软件开发和测试工作会导致工作人员难以发现自身程序使用方面存在的不足,严重削弱了软件测试的作用价值。此外,没有第三方测试进行监管,也会加大软件应用风险。第二,测试工具单一,对人工测试的依赖度较高,整体来看智能化水平较低。在传统的软件测试工作中,最为常见的形式便是人工操作,即技术人员结合标准化要求对软件进行试运行测试。此过程不仅耗费大量的资金成本,而且还会由于技术人员水平不一出现质量和效率较差等问题,影响测试的科学性与真实性。例如对于严重的软件错误来讲,若是没有及时发现便会导致在后续执行的过程中出现意外状况。除此之外,人工测试难度较高,工作量大,极易出现披露。第三,传统的软件开发模型搭建中,要求测试应在完成前期软件编码设计之后开始执行,即完成全部前期设计开展测试。然而随着计算机网络技术的不断发展,软件的竞争日益增加,项目类型不断扩大,这种后期测试的方式不仅难以满足预期测试需求,而且所发现错误之后的后期完善成本也更高,会加大软件全周期开发中的时间成本。第四,测试工具的质量会直接影响最终的软件测试效果,工具单一则会制约后续的测试工序开展。与此同时,技术测试的标准是否科学合理,若是不够完善也会影响测试工作。此外,软件测试不应针对软件开发的全周期单元模块、组件等加以测试,检查系统运行等问题,否则不仅加大工作量,而且没有针对性,后期优化难度较大。为此,在后续开展软件开发测试的过程中,为确保整体质量,开发人员应该在编码的过程中便充分结合测试工作强化设计质量,而不是仅仅在后期开展测试。这样便可提前了解开发过程中存在的不足,实现对全生命周期阶段的针对性筛查。具体工作中,第一,测试人员应该在开发前期对各阶段加以测试,并做好准备工作。在测试之前需及时科学制定测试规划,并准备充足的测试用例。第二,通过连续测试的方式,强化测试的质量,减少测试不全面等问题的产生。总而言之,软件测试工作的核心不仅关乎最终开发的质量,而且还要从质量风险管控的形式帮助开发人员规避不利因素,保障质量水准,从而提升软件测试的效率,确保软件设计能够满足前期设定需要。根据数据来看,提前开展测试不仅有助于减少时间成本浪费,而且能够从源头上提升软件质量

[3]

结论:综上所述,本文对软件质量和测试技术开展了详细的研究,并分析了存在的问题,提出合理化建议。结合研究来看,软件测试所耗费的时间成本较为严重,为此必须要提前针对测试难点以及风险开展研究,从而在减少成本的基础上保障效率,为计算机软件开发奠定良好的基础。

参考文献:

[1]孙延浩,金海林,王志南.基于层次分析法的CTC调度命令终端软件质量评价方法研究[J].铁道通信信号,2022,58(04):1-5.

[2]李向东,高甲子.舰船装备系统软件一体化测试技术与质量控制方法研究[J].船舶标准化与质量,2020(05):53-59.