软件测试是提高软件质量的保证

(整期优先)网络出版时间:2022-04-23
/ 2

软件测试是提高软件质量的保证

牛步扬 董瑞博 李佩佩 孟婷婷 卢晓宇

北方自动控制技术研究所 山西太原 030006

摘要:计算机软件作为计算机硬件的灵魂载体,已经成为了计算机技术发展的重要基石,硬件的发展速度远高于软件的发展速度,计算机软件已经成为了现当代计算机技术发展的颈口。由于软件产品具有高复杂度和高集成性,必然会存在一定的缺陷和错误,为解决软件产品所存在的这一问题,软件测试运用而生。基于此,文章对软件测试工作进行了相关研究,以供参考。

关键词:软件测试;技术措施;质量管理

1软件测试的必要性分析

软件测试的主要作用包括对软件正确性的检测、对软件可行性的检测等,其中正确性检测是测试软件的基本功能,在此基础上可对软件进行完整性检测,主要包括对代码覆盖率、功能实现的完整性进行检测等;随后要对软件进行质量性检测,以分析、测试软件性能为基础,获得有关数据评估软件可靠性、可运行性。通过测试编制软件可及时发现软件运行错误,提升程序代码覆盖率,初步了解软件性能,保证交付给用户的最终程序质量过关。部分开发领域,存在大量“测试先行”做法,由程序文档的差异性选择编制好的测试用例,以测代写规范程序编制及开发过程,防止出现无效代码。综上可知,软件测试保证软件质量的关键,是必要的评判途径,软件测试有利于提升并保障程序开发质量。

2软件测试的相关技术分析

2.1白盒测试技术以及黑盒测试技术

白盒测试技术又可以称之为逻辑驱动测试,其主要是指对产品内部进行运行检测,判断其动作与说明书的符合性,重视软件检验。此检测技术,可检测逻辑路径、系统程序内的一起逻辑构造,属于穷举路径测试。应用此测试方案时,测试人员务需核实检测程序内部构造,独立路径数通过天文数字进行表示。由于包盒测试技术不可查出违反设计规则的程序,因此此测试法在所测试路径内可能会存在错误。黑盒测试技术又被称之为数据驱动测试技术,其主要是对已知固有产品功能,通过测试验证其功能是否可顺利实施。测试过程中,需要测试人员对程序接口进行测试,验证程序功能是否符合说明书要求、程序接收输入数据的顺畅性等,为准确的信息输出提供检测保障,属于穷举输入测试。此技术的优势只有在输入情况应用一切可能的输入时,凸显出来,此情况下利用此技术可对程序中全部错误检测出来。不仅可有效的检测出一切合法的输入,同时还可测试不合法输入情况。

2.2静态测试和动态测试技术

通过计算机进行辅助测试可称之为区别于机器运行的静态分析法,其通过人工检测技术实现对程序的有效检测。因此相比于其他检测技术,静态分析测试法具有独特的查错优势、分析功能,可及时高效的发展文档中存在的问题。利用静态测试进行代码校验,其具有关键性、自动化的特点。但在运行中的程序难以利用此技术进行检测,即利用静态检测技术难以获取程序执行结果。对运行中的程序进行测试可称之为动态测试技术,输入测试用例,对测试结果与需求进行对比,观察其相符性,进而实现对程序的准确判断,保证程序的稳定性。进行检测时,动态测试技术应用较为广泛,不仅可应用于集成测试单元测试中,同时还可应用在验收测试、系统测试中,测试效果显著。但动态测试不具有明确文档现存问题的局限性,必须要待程序代码完成后才可实施检测,问题感知具有迟缓性,一旦发现问题,需对编码重新设计,大大增加了不良质量成本。

2.3自动化测试技术

在现代化信息技术发展过程中,软件应用范围、软件系统规模都在不断扩大,带来便利的同时,对软件系统测试提出了新的挑战,因此传统专业测试难以满足实际变化需求,自动化测试技术成为发展趋势。在应用程序预设、系统基础预设的基础上,实现自动化检测,提升系统运行测试结果的准确度、便捷性,有效提升评估结果精准性,实现正常条件下、异常条件下的多样化自动检测。利用自动化分析技术,可通过测试脚本、自动化生成用例、测试框架等实现日常检测。利用C语言显示C-ATFM模型对集成环境中的对象进行测试,通过嵌入源码,有效实施软件指令、词法等。

3软件测试的策略分析

3.1软件测试分类

根据软件测试方法来分,可以分成黑盒测试和白盒测试。如果静态测试指的是不实际运行被测试软件,而只是对测试软件的程序代码、界面或者文档等进行检查,然后发现其中错误的过程。主要包括代码测试、界面测试和文档测试。代码测试主要是通过对代码的检查判断其是否满足规定标准和要求,界面测试则是对被测试软件的实际界面和需求中对于界面的要求进行比较,文档测试主要是对用户手册和需求说明等进行检查,检验这些是否满足用户的实际需求。动态测试指的是实际运行被测试软件,通过测试数据的输入来判断实际输出结果和预期输出结果之间的差别。此外,如果根据测试阶段来划分,软件测试又可以分成单元测试、集成测试、确认测试和系统测试几种。

3.2软件测试策略

软件测试策略是指在掌握了具体的不同种类的测试方法之后,针对什么时间和什么任务应该采取哪种测试方法,或者进行怎样的组合而制定的测试方案。文章主要是针对不同测试阶段对软件测试策略进行简要分析。

3.2.1单元测试阶段

单元测试是指对软件的基本组成单位,如某个模块、某个过程等进行测试,属于动态测试类别,也是动态测试中最为基础和关键的部分。单元测试的目的是为了检测基本组成单位是否正确合理,通过对软件内部程序设计和编码的认识,借助开发测试驱动模块或桩模块来进行单元测试,一般由软件程序员执行完成。在单元测试阶段主要采用的测试方法应该是白盒测试方法,先静态检查代码,然后动态运行代码,检查被测试软件实际的运行结果。

3.2.2集成测试阶段

集成测试指的是在软件系统所开展的测试过程,目的是为了检查软件单位间各个接口是否正确,所组成系统的各个部分是否合理。集成测试阶段的策略主要有自顶向下测试和自底向上测试两种,具体该使用何种策略需要根据实际测试项目的情况制定测试计划,然后在将单元模块或软件单元进行组合集合成为系统的过程中,同时又要对该所形成的系统进行运行检验,判断所形成的系统是否满足要求,其中各个部分是否正确合理。

3.2.3确认测试阶段

在单元测试阶段,往往只能确保软件局部的正确性,对于各个单元模块之间接口的问题无法及时解决。而集成测试则可以使相互独立的不同模块连接起来,形成完整的程序。只有满足客户所需的软件才是合格的,主要测试步骤包括:首先在测试之前先要确认测试的准则,也就是达到什么样的要求才算是合格的,在测试中应该注意哪些问题。此外,要对所开发的软件的配置进行审核评价,检验其是否满足合格性标准。

3.2.4系统测试阶段

系统测试是一种综合性的测试,是对软件系统中的所有组成部分再次进行检验,保证之前所有的测试都满足测试要求,系统中的每一个部分都完成了合理的集成,不管是在功能上、配置上还是结构上都是满足测试标准的。

结语

综上所述,文章对软件测试的方法、软件测试的过程进行了详细的介绍,从中发现软件测试可以有效的减小软件的存错率,提高软件的质量,这对于推动软件行业的健康发展起着至关重要的作用。因此,要求相关从业者提升对软件测试工作的重视程度,并针对实际情况选择具有针对性的软件测试技术方法,以此促进软件测试工作质量的进一步提升。

参考文献:

  1. 刘德寅,薛小东,张舒白.计算机软件测试技术与开发应用研究[J].电子质量,2018(7):5-6,31.

  2. 赵宇,王端荣,陈必泉.软件测试技术现状与发展趋势研究[J].信息与电脑(理论版),2017(16):67-68.

[3]吴迪.软件测试技术的应用及其发展趋势[J].电脑迷,2017(8):76.