APP下载

关于标准中软件测试相关术语的辨析

2021-11-24黄晓

科学与生活 2021年18期
关键词:软件测试辨析标准

摘要:进入21世纪以来,我国信息技术有了很大进步。软件测试这一术语是当今软件工程领域使用频率很高的术语。计算机软件测试技术是为检测程序运行的缺陷,帮助软件安全运行。为了加深计算机的运行多样化,方便进行相关操作,计算机的软件程序要进行精准的测试,确保软件运行程序的准确性,帮助检查软件运行的错漏,并进行程序的优化。除此之外,对计算机软件进行检测还可以解决其中存在的病毒,保证软件安全。因此进行其软件的深度开发,可以确保其运行的安全稳定,提升计算机的使用价值,否则计算机就只是一个空壳,该文从计算机软件测试技术与深度开发模式来分析。

关键词:标准;软件测试;相关术语;辨析

引言

伴随着全球范围内计算机技术的迅速进步,各行业领域针对各类软件的应用已经变得越来越普及,软件在使用过程中的整体性能质量也越来越被人们所重视,而在这一过程中,针对软件进行测试时了解软件整体质量的一种重要手段。因此,对于从事相关领域工作的人员来说,了解当前较为常见的软件自动化测试方法,认识软件自动化测试环节中常出现的相关问题,对一些不建议采用软件自动化测试的情境有所了解,便成为了其所必须要关注的课题。

1研究背景

软件测试一直都是提升产品质量的重要手段,从20世纪70年代开始就已经在软件行业被广泛应用。发展到现在,软件测试已经发展成了一个非常独立的学科。有关数据显示,只有通过运用正确的测試方法才能够在第一时间降低软件使用时发生故障的风险。在一些大型的软件公司,其软件测试人员的数量较多。我国早在1995年就发布了类似《GJB2423软件测试和评估的通用要求》,后又在2004年直接改名为《GJB 141 军用软件测试指南》,实际也明确了软件测试的内容、方法和程序,为的是更好地保证软件使用的质量。但是随着军用软件开发的规模变得越来越大,其应用的范围也在不断地扩大,势必会对软件质量提出更高的要求。

随着信息技术的不断发展,不同的软件生产者和使用者都生存在竞争较为激烈的环境中。多数软件开发商都会为了占有市场而不断地提升产品的质量,以便不在激烈的竞争中被淘汰出局。

2软件测试发展概述

什么是软件测试?最常见的回答就是发现软件产品中的bug(缺陷)。但是,也有人会认为软件测试就是:检查软件产品是否符合设计要求;确认软件产品需求、设计和实现的一致性;对软件产品质量的全面评估;揭示软件产品的质量风险等等。关于软件测试术语会有很多不同的理解,这是由于软件测试是伴随着软件的产生而产生的,类似软件的发展历史一样,也有其自己的发展史,主要经历了以下五个发展阶段:

(1)1957年以前,以调试(Debugging)为主的阶段。在这个早期阶段,软件规模小、复杂程度低,开发人员将测试等同于“调试”,经常是等到软件产品基本完成时由开发人员自己完成测试,此时,“软件测试”还未有明确的定义。

(2)1957~1978年,以证明(Demonstration)为主的阶段。1957年,软件测试开始与调试区别开来,作为一种发现软件缺陷的活动。1975年,JohnGoodEnough和SusanCerhart给出了软件测试的通用定义“证明软件的工作是正确的活动”,这个理念被简称为“证实”。

(3)1979~1982年,以破坏(Destruction)为主的阶段。1979年,GlenfordJ.Myers的代表论著《软件测试艺术(TheArtofSoftwareTesting)》一书出版,对软件测试重新进行了定义,认为软件测试是为了“发现错误而执行的活动”,这个理念又被称为“证伪”。

(4)1983~1987年,以评价(Evaluation)为主的阶段。1983年,BillHetzel在《软件测试完全指南(CompleteGuideofSoftwareTesting)》一书中指出“测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量”。此时,软件测试不仅是发现错误的过程,还包含了软件质量评价的内容。

(5)1988~至今,以预防(Prevention)为主的阶段。人们已经开始意识到,软件测试不应该仅是事后用来证明软件是对的或是不对的,而应该走向前端进行缺陷预防。在2002年,Rick和Setfan在《系统的软件测试》一书中进一步对软件测试定义为“测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期”,该定义进一步丰富了软件测试的内容。

3计算机软件测试技术

3.1Asterisk压力测试

Asterisk有公开的源码,能够实现媒体处理软件,Asterisk可以利用加载,扩展软件编码的算法,数据媒体也可以在核心处理单元中实行中转,而且,媒体通道的管理也能够更加地方便。例如,在point1和poin3之间建立一个处理通道,来进行媒体的处理,而point2就是它们的处理中介。首先,IPPBXcore直接与MediaControler交互,一些媒体处理,也能够在IPPBX系统当中完成,建立媒体通道,或者是拆除它,除此之外,媒体事件有很多,也需要对此进行处理。IPPBXcore与MediaCon⁃troller之间,它们的标准协议有MGCPMegaco/H248。其次,Me⁃diaControler维护所有的逻辑,对于媒体通道的建立,要查询路由表,申请中介端点源。最后,poit1的数据被接收,以此进行功能模块的处理,并根据MediaController提供的路由信息,将一些数据交由中介point2来处理,之后,发送到translator_3当中,这样,数据就能够完成,到达point3当中。

3.2黑盒测试方法

黑盒测试是最常用的软件测试方法,又被称为驱动测试。黑盒测试时可以将测试的对象先看成一个黑盒子,实际也并不应该单独考虑内部程序处理的过程。人们在实际测试时需要同时考虑合法的和不合法的相关内容。

黑盒测试的优点表现在如下几个方面:第一,相比其他测试方法,黑盒测试的方法比较简单,并不需要测试者详细地了解内部的代码;第二,软件内部的内容实际并不存在一定的关系;第三,用户比较容易理解黑盒测试的原理,至少可以知道其需要用到哪些不同的功能。但是黑盒测试过程也不是完全没有缺点,主要包括如下几个方面:第一,不是所有类型的代码都可以用黑盒测试的方法来测试的,所以此种方法使用的覆盖率相对较低;第二,黑盒测试复用性程度较低。

3.3负载测试

我们都知道,计算机在运行状态时,往往会出现多个软件共同运行,为了确保系统的运行良好,对一些信息进行及時的处理,提高计算机的加载能力,就要进行负载测试,便于提高加载服务。例如,可以在海量数据的加载中进行任务调度。运用集中式的调度方法。通过任务调度器,将所有任务进行一系列的调度,然后,以此进行分配并且执行。调度器会进行周期性的运行,与其他的一些软件是同时运行着的。在任务调度器当中,要判断是否能获得一个任务,或者是能否获得一个好的任务,如果不能获得的话,就要进行等待。而在获得的任务Task中,要注册一个结果项;在调用任务执行器时,在资源上执行相关的任务;任务Task的执行结果,需要保存在结果项当中。

3.4面向对象环境中的集成测试

两种不同的策略:基于线程的测试(thread—basedtesting)。基于使用的测试(use—basedtesting)。驱动程序和桩程序:驱动程序和桩程序实现的功能有所不同。驱动程序能够在显示界面前就开始进行系统测试,而且其也能够对类和低层的操作进行测试;而桩程序测试能够在缺少类的情况下对类协作进行测试。

结语

整体来说,软件自动化测试技术在绝大多数场景下,都能够针对软件的性能进行测试,因此具有重要的使用价值,但是作为相关场景工作人员来说,仍然需要区分软件自动测试技术在使用过程中的误区以及不适用情境,只有有效回避这些场景,才能让此项技术得到更为有效的利用。

参考文献

[1]张长华.计算机软件测试技术探讨[J].才智,2020(9):241.

[2]杜娟,骆庆,张泉.计算机软件测试技术与深度开发应用探讨[J].电子测试,2017(19):127,126.

[3]顾吉堂.试析计算机软件测试技术与深度开发应用[J].数字技术与应用,2017(8):225-226.

[4]牟亚飞.浅谈计算机软件测试技术与深度开发模式[J].西部皮革,2017,39(8):14.

作者简介:黄晓(1985-)女,汉族,广西柳州人,本科,主要从事软件工程/软件测试工作。

猜你喜欢

软件测试辨析标准
最新出版团体标准
软件测试方向人才培养“1+X”融合研究
大数据背景下软件测试技术的发展
“论证说理”与“沟通说服”:高考论述类与实用类写作之异同辨析
永远幸福
关于 Web 应用系统的软件测试的研究
党员标准是什么?
正误辨析一例
同义词组辨析练习
软件测试发展现状及前景的探讨