APP下载

软件测试过程存在的问题及优化策略

2020-11-20许琦

装备维修技术 2020年9期
关键词:软件测试措施问题

许琦

摘要:软件测试作为软件工程中十分重要环节,也是主动发现系统缺陷,提升软件质量十分重要的措施,受到了软件公司的高度关注。基于此,本文在分析软件测试概述的基础上,探讨了当前存在的突出问题以及优化措施。

关键词:软件测试;问题;措施

引言:

随着软件开发技术的发展和软件系统规模的不断扩大,传统的软件测试技术已经很难适应新的需求,造成了许多软件缺陷的漏测,影响了软件产品的质量。在此背景下,各大软件企业纷纷探索新的软件测试方法,并取得了许多成果,进一步丰富了软件测试技术的内涵。本文对近几年发展起来的软件测试新技术进行了总结分析,以期为软件行业的发展提供一个全新的视角。

1 软件测试概述

根据IEEE的定义,软件测试是指通过人工或自动的方式对软件系统进行运行或检测,根据所得的数据来判断并验证其是否满足相关的标准,同时对其偏差进行评价,并进行改进的过程。不难发现,软件测试的概念包含了以下几点核心内涵:第一,软件测试的方式包含人工测试和自动化测试,可以通过代码检测,也可以通过运行软件来进行验证;第二,软件测试的主要内容就是通过测试数据来验证产品是否满足设计指标或用户需求;第三,软件测试的最终目标是要发现软件缺陷,并对其进行完善,提高软件质量。因此软件测试数据是客户选购软件产品的重要参考,软件测试并不是软件工程的辅助手段,而是核心环节之一。

2 软件测试与软件产品质量

软件测试是能力成熟度模型(CMMI,capability maturity model integration)中验证(verfication)与确认(validation)过程域的重要表现形式,是软件生命周期模型中的重要阶段,是保障软件产品质量的重要手段。近年来,随着软件规模和复杂程度的不断提高,软件测试技术也不断发展,软件测试已成为除了评审手段外软件质量保证的重要活动。

软件测试和软件开发构成一个全过程的交互、协作之关系,两者自始至终一起工作,共同致力于同一个目标——按时、高质量地完成项目。V模型能够准确地反映测试活动与分析设计活动的关系,说明软件测试活动和项目同时启动,软件测试的工作很早就开始了,避免了瀑布模型所带来的误区——软件测试是在代码完成之后进行。在V模型中,左边是软件的定义和实现(包括分析、设计和编程),右边是验证(即测试)。右边(测试的工作)是对左边工作成果的检验,以确认是否满足用户的需求。V模型从左到右描述了基本的开发过程和测试行为,非常明确地标注了测试过程存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系,即从4个层次完成软件的验证,即对需求、系统架构设计、详细的产品设计和代码的验证。

3 当前软件测试存在的问题

无论从管理的角度还是从技术的角度来分析,软件测试都有着一定的复杂性。对软件进行测试,并不是简单地操作软件,而是有目的地对软件产品进行全面的检查和验证,这就使软件产品的质量与测试人员、测试设备和测试方法联系了在一起,任何因素的变动都有可能造成软件测试结果的不可靠。总体上看,我国当前的软件测试仍存在着专业人才短缺、测试深度不够、测试资源不足等问题。一些测试人员在制定测试方案之前对软件产品没有足够的了解,未能针对产品制定专门的测试用例,导致在测试过程中出现很多疏忽。在实际工作中,一些企业为了保证软件按期交付,不惜反复压缩软件测试时间,导致测试工作不够深入。测试人员仅仅是通过几个简单的测试用例走个过场,为产品的交付埋下隐患。部分中小企业长期存在着测试人员不足,技术水平不够,时间安排过紧等问题。一些软件测试人员由开发人员兼任,安排非专业技术人员进行软件测试,加班加点疲劳工作等现象非常普遍。这些问题的存在都会对软件测试技术的应用和发展带来不利的影响。

4 软件测试的优化策略

4.1加强对软件质量的重视程度

在接到新的软件产品测试任务时,软件测试负责人应和软件产品的负责人进行充分沟通,使他们尽早认识到软件质量的重要性,软件测试过程对软件质量的保障作用,以及软件测试过程对时间和资源的要求。作为软件测试负责人也应及早进行测试进度的安排,并让相关的测试人员充分了解测试进度的安排。

4.2做好必要的前期准备

软件测试的对象是软件产品,或者软件功能模块,因此要做好软件测试的前提是对软件有一个全面的认识和理解,客观、全面地对分析,明确待测试软件的特性、功能和要求,对软件可能出现问题进行预测,有针对性地制定测试方案,保證在测试实施阶段的效率和质量。

4.3引入充足的测试资源

软件测试资源包括人员、设备和技术等方面,软件企业应注重引进专业人才,培养现有人员,不断提高测试能力。同时,要与时俱进,适时淘汰落后的测试方法,引进先进的测试技术,例如基于大数据的软件测试、基于云端的软件测试、自动化测试技术等等。另外,必须不断创新软件测试技术,采用先进的测试平台释放体力劳动,提高测试工作的灵活性,保证软件测试的效率和质量。

4.4大数据技术应用

软件测试需要耗费大量的资源,如何对这些资源进行高效的调度是软件测试中值得关注的重要问题。正常情况下,人们希望通过最少的资源,实现最好的测试效果。在传统的测试环境中,这是不现实的,因为资源的消耗与测试可靠性是线性关系。在大数据技术背景下,通过数据挖掘技术对大量的资源进行管理,可以有效提高软件测试效率。基于大数据的软件测试技术可以使测试用例的选择更加灵活,使得选取的用例具有典型的特征,只需要更少的用例即可完成测试工作。此外,在软件测试过程中产生的大量bug报告,也可以在大数据技术的应用下实现高效的分析,使测试人员迅速掌握有价值的测试信息,而不必花费过多的时间。可以说,大数据技术的应用,是未来软件测试技术的必然发展趋势。

5 结语

随着信息技术的不断发展,软件行业的竞争呈现出前所未有的激烈状态,软件企业只有高度重视软件测试工作,采用先进的软件测试技术,才能保证软件产品的质量,打造企业品牌,提高产品的影响力,从而保持核心竞争力。不难预测,在未来的软件行业里,新的软件测试技术将层出不穷,人工智能和自动化测试的应用将更加广泛,软件企业只有关于抓住机遇,才能将软件测试工作上升到一个更高的层次。

参考文献:

[1]王煜.计算机软件测试面临的问题与对策[J].电子世界,2019(11):108.

[2]魏琳.软件测试中的自动化开发[J].电信快报,2019(06):36-38.

[3]吴文庆.软件开发中测试驱动开发的运用[J].科技资讯,2019,17(11):19-20.

[4]李奥宸. 软件测试过程管理系统的设计与实现[D].山东大学,2019.

猜你喜欢

软件测试措施问题
解答排列组合问题的几种常用措施
软件测试方向人才培养“1+X”融合研究
大数据背景下软件测试技术的发展
求函数零点个数的措施
解答高中数学问题的几个常用措施
关于 Web 应用系统的软件测试的研究
演员出“问题”,电影怎么办(聊天室)
韩媒称中俄冷对朝鲜“问题”货船
“问题”干部“回炉”再造
软件测试发展现状及前景的探讨