金培勋
(贵阳幼儿师范高等专科学校 贵州 贵阳 550014)
随着我国数字信息技术的成熟,社会已经进入了信息化时代,但信息化不仅仅意味着掌握了更多的信息,更重要的是有能力对相关信息数据等进行对应且专业的处理。信息化时代展现出信息数据量庞大,数据类型繁杂,数据价值密度下降等特征,其中还含有很多无关的信息,如何对这些信息进行深度挖掘和提高信息处理速度,是当前需要关注的问题。在信息化社会背景下,很多软件形态产生了巨大且深刻的变化,这就要求软件测试技术的深入研究。
一般而言,软件测试在软件开发工程当中贯彻头尾,并且在软件工程中的各个环节都具有非常重要的作用。
在这个阶段当中,软件测试相关人员要充分了解系统需求并对其进行比较深入的研究,并且为后续的软件测试计划和开发工程奠定坚实基础[1]。
在这个阶段当中,软件测试相关人员要充分了解系统流程,并且依据测试的要求进行规划测试方案,同时确认测试方法、对象、范围等,详细审查软件工程开发的文档,从而保障软件工程设计和流程的合理性。
软件测试工作人员要依据软件工程的具体情况,将软件分成多个相对独立的子系统,然后将每个子系统进行相应的检测,同时也会有针对性的案例进行相应的测试,如用例测试,这种方式能够直接影响软件测试成果,所以工作人员要关注用例测试过程和结果[2]。
在软件测试当中,相关工作人员要依据测试计划,合理使用测试用例,从而完成软件软硬件环境的检测。
在软件通过测试流程之后,工作人员要完成软件工程的软件测试报告。同时,将测试中发现的各种问题以及相关的思路等,详细地写在测试报告当中,最终也会根据测试的结果综合判断软件工程最终合格与否。
随着我国信息技术的快速发展,各种软件测试技术层出不穷。但就测试过程中程序执行状态,则可以将软件测试大致分为动态、静态测试;按照软件结构、算法等进行分类,则可以分为黑盒、白盒、灰盒测试;就测试执行方式分类,则可以分成人工和自动两种[3]。
动态、静态测试按照程序只从状态进行区分,动态测试大致有3个步骤构成,构建测试实例、执行测试、分析结果。动态测试会利用测试程序的有效运行,然后置入预制实例,得到最终的测试结果进行分析,从而得到软件的性能、效率、准确度等。
静态测试则不需要运行软件程序,仅仅依据分析,或者对软件中的程序过程、语句等进行检查,从而确定程序有没有问题。一般情况下,软件测试中工作人员会审查软件源程序结构、规格等内容寻找软件的漏洞,进而完成软件的测试工作[4]。
黑盒测试是指测试过程中,被检测的程序无法打开,处于黑盒状态,所以测试工作人员要在不考虑程序内部和特性的情况下,依据程序的说明书进行实例设计测试,同时也要检查软件程序中的各种功能,从而确定这些功能符合说明书的要求范围。黑盒测试技术一般是测试软件功能或者界面,进而确认软件程序的最终质量[5]。
白盒测试不同于黑盒测试,在白盒测试当中,工作人员一般会通过软件程序内部的信息数据、逻辑关系等,对软件内部的工作活动等进行相应的检查,进而确定软件是否符合预先设定的规划,同时也需要检查软件通路工作状态,并进行分析。白盒测试一般是从软件程序内部的结构入手,而且检测过程中重点检查逻辑结构,从而确认软件中各个模块的结构等是否符合标准。
灰盒测试是介于白盒、黑盒测试中间的技术,该技术关注的是软件内部,并将其作为检测的核心。测试软件工程的应用完整和详细的相对有限性,通过部分外在表现和特点进行分析,从而判断软件运行情况,但这种检测方式最终的精度不高。大多情况是内部结果有问题,但输出结果正确的情况下,才会选择使用灰盒测试方法,不过这种方式有比较强的效率和实用性,所以在具体的使用过程中具备一定的价值。
一般在进行测试试用实例设计之后,才会进行人工测试,依据预先设计的内容执行,最终得到测试的结果并进行分析,从而确定实际结果和预期结果一样。自动测试是软件自动化测试,依据预定设置的前置条件运行,从而分析程序运行情况。
我国信息技术的快速提升,为当下软件测试技术的发展奠定了基础,但在具体发展过程中,软件测试技术仍旧会面对很多问题,只有解决了这些问题,满足当下社会的具体需求,才能有效推进软件测试技术发展。
软件的发展会经历完全编码、构建、服务等阶段,尤其是服务阶段,是发展历程中非常重要的环节,因为服务阶段软件数量快速攀升,这就给软件测试了巨大的压力和困难。
(1)完全编码过程。这个过程是软件工程中的开始阶段,其主要内容就是代码编写。软件测试系统中数据库系统足够优秀,且有足够强的测试性能,才能让软件检测性成为现实。
(2)构建化过程。其工作是立足设计组织系统数据库之上,同时结合部分工作特征进而形成相应的工作组件,并且组件职能在当地运作,具备很强的契合度。只有这样,测试工作人员才能掌控相关的组件,但这些组件只能测试相关的机构和成分,不能有效完成软件内核的测试[6]。
(3)服务过程。需要将调动的当地组件转换成远程服务,并依据实际掌控的外部服务进行运行,但在这个过程当中,部分软件测试技术员对软件服务的实际情况没有足够的认知,无法充分掌控软件测试,所以只能借助服务输出、输入来掌握软件服务情况,这就造成最终的软件测试难度提升,也会让工作内容越发繁杂。
在软件工程中,软件测试技术的杀虫剂效应是因为基本病毒无线传播引起的。在网络环境中,软件测试种类非常多,在具体运行当中,因为具备非常强的病毒免疫力,就像农业领域中用的杀虫剂,如果在生产过程中长期使用同一种杀虫剂,那么病毒就会同害虫一样产生非常强的抗药性,杀虫剂就无法杀死害虫,病毒也就获得了免疫力。所以,在软件工程开始之初,就要不断地完善软件中的各种缺陷,不断优化软件内部,让软件更加完善,有效提升软件的各种性能。所以,在软件测试当中,杀虫剂效应能够推动软件测试技术不断提升和发展,这对提升系统处理技术有非常具体的意义。另外,杀虫剂效应的出现,也会让软件测试技术的发展更加完善和健全,进而形成抵抗力比较强的软件测试体系[7]。
在软件测试技术当中,规范化能够为测试结果的精度提供重要保障,同时也可以有效促进软件测试技术的健康有序发展,所以相关技术人员要不断地将软件测试进行标准化,通过规范软件测试技术,从而奠定该技术持续稳定发展的基础。同时,在数字信息技术的发展下,软件测试技术在具体应用中也会不断地进步发展,并逐步走向成熟,其应用当中的多态性、封装性等特征就会显现,也为软件测试技术的发展提供相应的保障。
在软件测试当中,测试用例在其中有着重要作用。随着软件工程的发展以及软件领域对软件测试的关注,软件测试工作量也会快速增加。因此,在这个环境下人工或者手工检测、测试等,已经无法满足当下软件行业领域的发展,所以自动化软件测试会得到更广泛的使用[8]。自动化的软件测试是对软件进行全自动或者部分自动化测试,在这个过程中人为操作的元素越来越少,甚至不需要人工元素的参与,就能完成软件的测试,从而明显提升软件测试效率。未来,自动化软件测试技术将会成为主要的发展方向。
为了确保软件测试能够有足够的精确度,在软件测试当中就要不断拓展测试范围,同时也要科学分析得到的测试数据,提升软件工程全流程的可靠性。另外,在拓展软件测试范围过程中,也需要预防和控制工作,有意识地规避各种风险和缺点,从而提升成本控制提升软件测试效率。
综上所述,随着我国信息科技的快速进步,各种技术发展不仅呈现出发展加快,也出现多元化的特征,对于软件工程中软件测试技术的研究而言,不仅是压力和挑战,也是该技术能够持续发展创新的动力。在软件工程开发当中,为了避免软件测试中出现漏洞,就需要合理利用各种软件测试技术。同时,随着网络的发展,软件数量的增多,未来软件测试技术发展趋势必然是逐步走向自动化、智能化,这样才能适应我国软件工程的发展。