计算机软件测试技术研究

2021-11-05 08:03周昱伟
电子技术与软件工程 2021年17期
关键词:黑盒软件测试计算机软件

周昱伟

(河南无线电管理信息系统备份中心 河南省郑州市 450000)

现如今,伴随着软件工程技术的发展,软件上线运行之后要想确保系统的稳定和安全性,就要按照业务需求,同时测试各项功能和运行的质量,也就形成了软件测试技术的稳步发展。在早期软件的发展过程中,由于规模不大,同时非常的复杂,尤其是在软件逻辑功能测试环节,一般都是出现问题开发人员才能完成测试。但是随着软件规模的扩大,同时数据体量也越来越大,整个架构和系统交互也过于复杂,因此就要求有专业的测试人员要针对软件系统展开系统的测试,不但要采用常规的软件测试方法,还要通过一系列的测试工具或者是专项的测试技术,要不间断并且自动化的开展测试,才能让软件运行过程更安全、可靠。

1 计算机软件工程

计算机软件工程,是软件的管理者和工程师通过计算机软件,进行开发和维护系统的一个全过程。当下,计算机软件工程已经和其他的技术实现了有效的融合,和不同的行业也形成了密切的联系,促进了我国各行各业的融合发展。当下,我国的计算软件工程历经了不同的时期,在法律法规和各个方面都有了较深的影响。在现代化的时代下,计算机软件工程不仅成为了社会稳定发展的基础,也为我国的不同领域发展提供了基础上的支撑和帮助,如图1。

图1:图计算机软件工程

2 软件测试技术的发展

2.1 过程化拆分阶段

过程化拆分技术阶段,是软件在开发的前期按照开发的需求,对于用户模型进行的分析和管理;通过软件开发算法可以有效的让计算中复杂过程降低;除此之外,在设计数据库模型中,要给软件开发提供一些基础性参考。

2.2 结构分解重组阶段

和过程化拆分技术阶段进行对比,结构化设计可以实现数据的结构、系统架构设计以及数据的流程分析。

(1)结构化设计,主要是确保软件开发的可行性高,同时降低复杂程度,可以利用分解-重组等技术让开发更加的有效。

(2)软件开发系统中要是让数据类型实现不间断的更新,对于软件开发系统就要完成优化。和过程化技术阶段进行对比,结构化设计和过程化设计应用特点上比较显著,可以按照软件开发的需求做到有效的分析,同时还能制定出完善的开发措施。

2.3 面向对象思维设计阶段

目前,对象思维开发技术已经区域成熟,软件测试技术已经步入到了成熟发展史晦气。对象思维方式以及设计还是应用在开发以及测试环节中,降低了软件在应用中的复杂程度。另外,在面向对象软件开发中,一项重要的技术就是存在的问题,要让软件开发便于理解,便于操作,主要是站在对象的角度和问题上,从实际出发,对于业务数据和实际操作进行检测,也形成了软件检测模型。

3 软件测试方法和技术分析

3.1 结构化的测试用例生成技术

3.1.1 结构化测试技术

利用结构化测试技术,可以实现系统信息路径的相关测试,同时还能完善软件设计过程中系统存在功能不完善问题,确保架构更加的科学、合理性,通过该技术可以真实的将软件测试的现状反应出来。现阶段,软件测试项目类型很多,在开展结构化测试中,需要划分系统结构,然后进行模块化的测试。另外,在测试中要按照软件不同运行情况,将运行中出现的问题及时的记录并反馈,与此同时分析和整理产生的数据。进行完模块的测试后,要开展全面化的分析,可以模仿病毒入侵,确保测试的结果。

3.1.2 对符号执行的检测

在软件测试环节中,要按照实际情况,其中符号执行是软件测试中首要任务。选择路径要建立在数据库基础之上,同时还要按照不同软件功能将匹配到合理的路径。测试过程中,不用采用人工的方式,因为在不同路径测试中,要区分好符号,才能给日后软件的运行做好调控,就能获得齐全的数据流方案,确保软件在日后的数据库选择中发生异常。另外,符号作为计算机设备的一种语言,需要在软件的开发设计环节将符号定义化,同时要确保符号存在的意义。在开展系统保密和安全性测试中,测试的要求要符合,确保软件在日后运行期间不能发生各种问题,同时也能有错误出现,要让软件在病毒的环境下运行,不会造成计算机内部信息和数据的篡改和丢失。使用结构化测试技术,可以提高软件测试安全性,并且检测结果精准,也提高了软件的质量。

3.1.3 计算机符号执行

进行软件测试,计算机要想让软件符号做到有效的执行,就要按照软件设计中框架和交互来实现,其中要将软件安全问题作为关键的点来测试,系统框架设计中涉及到的每一个功能都要健全化,因此就需要开发设计人员共同的配合。软件架构设计若不太科学、合理化,就要通过程序编码来重新设计。另外,在结构化测试中,不同功能的系统都能通过不同的测试方法来完成。尤其是常见的技术方面问题,利用软件结构就能解决,还能让软件上线不会发生系统交互等问题,可以让系统的使用效率得到提升,大大提高了软件在硬件的稳定性。

3.2 单元测试

单元测试也就是现阶段软件设计单位。进行测试中,要确保检查结果的正确性。测试的任务主要就是检测单位中测试的标准是否一致,可以及时的查找出每一个模块中存在的问题,通常所指的就是数据流测试,模块接口进步数据结构测试。另外,在检测出错误时可以做到内部原因的进一步分析,同时确保了每一个模块之间无差错。另外,对于每一个模块之间算法要进行重视,接口之前的流动性要确保准确。尤其是在检查中,需要观察长度、位数等。对于单元测试要利用执行过程展开测试,可以让性能和功能做到有效的降低,确保设计的合理性。

3.3 嵌入式动态测试

嵌入式软件运行,其中一项重要的条件就是动态测试,和静态测试技术形成对比。动态测试技术主要就是在嵌入式计算机软件中对比开发的目标和预期的目标,将二者之间的差距检测,同时分析二者之间存在的内容差异,就能测试出对象的质量以及运行的质量,可以大大提高计算机的性能。动态测试技术,可以为其他的测试做好技术上的帮助,同时这些测试之间都是相互联系的。另外,进行动态测试技术应用中可以利用软件代码,展开性能上的测试,可以掌握执行能力。与此同时,动态测试技术在形式上多种多样,可以检测到软件存在的缺陷,同时也能分析软件的设置。动态测试技术还能帮助软件开发,内存配置等,还能让嵌入式计算机软件系统得到很好的优化。

3.4 集成测试

集成检测也就是组装检测和联合检测,其中将单元检测作为检测的一项基础,结合组装的不同要求将模块组成成为全新的系统。集成测试工作通常分为两个方式,一个是一次性拼装,另外一个是建增式组装。集成测试的目的,就是将每一个板块实现连接,同时每一个模块中数据信息不能存在缺少;模块和模块两者之间存在的功能要检测,并且数据结构之间是否能够正常的运行;另外,每一个模块之间出现的误差,要合理的控制在规定的数值内。集成测试最大的优势还有一点就是,在短期内出现的错误可以做到尽快的修复和调整,利用集成测试可以将整个测试过程完善,也能让测试的结果更加精准性。

3.5 自动化测试工具

自动化测试需要有自动化测试的工具作为辅助。自动化测试工具也就是Python 语言开发的一种测试工具,可以在平台中将被测试的参数和数据流做到有效的测试,同时做好测试数据分析,也就形成了变成脚本,同时还能将各种测试参数做好合理的配置。另外,在搭建自动化软件测试平台过程中,通过Python 语言可以让年轻的团队加入到搭建和维护平台中,在日后的数据维护和更新上,Python 语言不仅具有多边形,还有很强的灵活性。对于软件的输入数据展开测试,可以形成测试的报告,对于整个自动化测试流程起到了优化和梳理。最近几年,国外对于Python 语言研究加大了力度,在未来的几十年里,Python 语言将是语言中最受关注的一种工具。另外,Python 语言还可以实现多种平台和编程的语言,各种浏览器都能实现兼容,具有很强的开放性。与此同时,还能集成各种开发平台;作为插件的工具使用,还能扩宽其他的功能。

3.6 系统测试

系统测试主要就是确保系统是客户做需的。要想让用户满意度上升,就要开展测试活动,活动包括了系统的功能性测试,系统的性能测试,安装和验收等环节测试。系统功能测试。主要是针对系统中各项功能展开的测试。尤其是软件编程系统中检测环节中,对于用户的需求要做到划分,找出不同的问题。功能测试通常就是利用黑盒测试。在进行性能测试中,也就是检测运行的速度、精确性、安全性等。

3.6.1 黑盒测试与白盒测试

现阶段,在计算机软件测试中,最常见的测试方法就是黑盒和白盒测试。黑盒测试也就是功能测试法,可以将计算机程序中理想和具体功能要求是否一致性进行检测,完成黑盒测试之后会出具测试的结果,可以将功能的运行情况直接的反应出来,同时在计算机软件测试中采用黑盒测试还能及时的查找出功能存在的漏洞,也能完善和优化计算机功能。和黑盒测试进行对比,白盒测试主要是对于软件中循环变量进行检测,可以查找出计算机程序中是否存在逻辑性错误,还能检查是否存在书写和印刷错误。

计算机软件测试环节中,采用黑盒和白盒测试都会出现程序错误,程序性错误也是分为不同等级的,通常情况下计算机软件测试错误等级都是分为四个级别,通过四个级别可以将计算机系统具体运行的情况真实的反应出来,此时计算机测试人员和开发人员,通过等级的错误信息,就能判断出修改的顺序。通常情况下,计算机软件测试中出现错误都是属于一级错误,其中一级错误主要包括了功能和系统错误,出现一级错误主要是因为软件在开发中不到位,后期的检验环节也有所忽视。

3.6.2 多平台软件测试方法

结合现阶段计算机软件市场的发展情况,计算机软件测试平台一般都是通用化平台,但是因为具体的环境和条件不同,在测试中会遭到很多方面的影响,并且会影响到计算机软件测试的针对性,软件用户在无法体验到预期的效果,同时体验感下降。另外,计算机软件测试是利用通用化的测试平台,针对系统内所有的软件展开功能上的测试,但是计算机软件在设计环节中容易结构有很大的差异,很多同样的计算机软件在测试平台上不同,也会导致测试的结果有很大差异性。因此,就要从具体情况出发,在测试计算机软件过程中就要选择合理的软件平台,才能大大提高计算机软件的效率,确保测试的质量,另外,软件用户利用计算机软件测试可以低于计算机软件加强管控,按照不同的需求提供个性化的服务。

4 结论

综上所述,伴随着计算机软件技术的迅猛发展,因此开展测试工作要从基础性上进行分析,通过测试可以大大提高软件的功能和性能,还能满足不同用户的需求,并且对于计算机软件开发有很强的助推作用,已经应用到了各个行业中。

猜你喜欢
黑盒软件测试计算机软件
一种基于局部平均有限差分的黑盒对抗攻击方法
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
关于软件测试技术应用与发展趋势研究
浅谈基于C语言的计算机软件程序设计
软件测试工程化模型及应用研究
基于计算机软件开发中分层技术的应用