蚌埠学院 233030
摘要:软件测试是软件质量保证的重要手段,可通过软件测试发现软件缺陷,以便修改缺陷,提高软件质量,软件测试不仅需检测工具,更需测试人员的判断,对业务知识的掌握程度和测试用例的设计能力、知识及经验。基于此,本文详细探讨了软件测试技术与测试管理。
关键词:软件测试;测试技术;测试管理
1、软件测试的必要性
从软件测试的功能角度而言,其具有三方面作用,其中正确性是最为基本的测试保障,脱离了软件的正确性保障任何测试都无意义;而完整性则从代码覆盖率、功能实现的完整性等角度予以探讨;质量性是通过分析、测试软件性能,获得软件运行的可靠性保障。通过对编制的软件进行测试可发现软件运行错误,实现有效程序代码高覆盖率,对软件性能获得初步的了解,是交付给用户最终程序的质量保障。甚至在一些开发领域,“测试先行”的做法也大量存在,根据程序文档编制好测试用例,以测代写的程序编制过程,从而规范了程序开发过程,避免无效代码的出现。总之,软件测试十分关键,应重视软件测试对程序开发质量的保障。
2、软件测试技术的应用与优势
2.1降低成本,提升质量。软件测试技术通过数据采集及测试分析,对软件系统的性能与速率进行准确评估,帮助设计人员找出软件存在的漏洞与问题,提高设计人员的开发效率,同时,帮助使用者评估软件产品的安全等级。软件测试技术可帮助软件系统的设计人员了解项目中的问题,提高软件系统的整体质量,降低软件开发成本,有利于提高软件系统的核心竞争力。
2.2提高软件等级。计算机信息技术的发展迅猛,已发展出了很多功能全面、结构复杂的软件产品,这些庞杂的系统带来了大量的网络安全隐患,软件测试技术能提高软件的稳定性,保证网络通信与计算机数据库的安全,同时,软件测试技术还能促进软件基础设施的发展。计算网络的发展给软件系统带来了更大的挑战,计算机网络呈现的开放性,导致计算机网络更加的依赖软件的维护。软件测试技术可验证软件是否达标,确保网络底层的软件产品功能、性能等要素。同时,网络也需具备一定的软件检测能力,判断软件的安全性,从而保证软件的安全。
3、软件测试的相关技术
3.1白盒测试。白盒测试关心软件内部逻辑结构、测试覆盖率,是由逻辑驱动的测试,也称结构测试或逻辑驱动测试。它知道产品内部工作过程,检测产品内部动作是否按规格正常进行,按程序内部的结构测试程序,检验程序每条通路是否都能按要求正确工作。白盒测试期望达到的目的是:1)所有独立路径至少都能测试一遍;2)所有逻辑判断都能测试True和False两条路径;3)所有循环结构都能测试到边界和循环域内的情况;4)所有的内部结构都能被测试以确保其有效性。白盒测试主要方法包括:基本路径覆盖测试和控制结构测试。
3.1黑盒测试。它又称为功能测试,数据驱动的测试或基于规格说明书的测试。黑盒测试可从软件的功能为起始,根据功能的需求说明测试所用的方式,并依据该方式的需求来运行被测试的程序。从名字上来解释,就是将软件看成是不透明的黑盒子,对盒子内部的结构不理会,只关注软件的实用功能,并对这些功能进行测试。
3.3 静态测试和动态测试技术。通过计算机进行辅助测试可称之为区别于机器运行的静态分析法,其通过人工检测技术实现对程序的有效检测。因此相比于其他检测技术,静态分析测试法具有独特的查错优势、分析功能,可及时高效的发现文档中存在的问题。利用静态测试进行代码校验,具有关键性、自动化特点。但在运行中的程序难以利用此技术进行检测,即利用静态检测技术难以获取程序执行结果。
对运行中的程序进行测试可称之为动态测试技术,输入测试用例,对测试结果与需求进行对比,观察其相符性,进而实现对程序的准确判断,保证程序的稳定性。进行检测时,动态测试技术应用较为广泛,不仅可应用于集成测试单元测试中,同时还可应用在验收测试、系统测试中,测试效果显著。但动态测试不具有明确文档现存问题的局限性,必须要待程序代码完成后才可实施检测,问题感知具有迟缓性,一旦发现问题,需对编码重新设计,从而增加了不良质量成本。
3.4 自动化测试技术。基于持续拓展软件应用范围和扩大软件系统规模的影响下,软件系统的测试变得日益困难化,这样一来,传统的测试业已难以实现实际测试的要求,因此出现了自动化测试技术。自动化测试技术是基于预设基础实现应用程序与系统的运行,以及对运行结果进行有效评估,这涵盖异常条件及正常条件。自动化分析的重点在于自动化的用例生成、测试脚本技术、测试框架技术等。同时,借助资料基于C语言显示C-ATFM模型,针对对象集成环境,借助嵌入的源码,对软件的一些指令、代码、词法等进行有效研究。
4、软件测试管理
4.1 采用B/S结构。B/S结构能在网络服务器中实现对软件的测试,促进软件测试的自动化和现代化,测试人员可在任何时间和地点进行软件测试,打破了传统软件测试管理在时间和空间上的局限性。测试人员可利用互联网登录到软件工作页面中,输入测试人员的账号与密码登录网页进行软件测试,给测试人员的工作带来了很大便利,提高了软件测试效率和质量。
4.2 资源共享。在软件测试管理过程中,软件开发负责企业会提供以往测试用例数据库资料和软件缺陷的数据库,负责软件开发的相关技术人员可申请访问权限,从而共享和使用这些资料。通过对以往软件管理成功经验的吸取及对失败经验的反思,才能进一步开发出优质的软件,提高软件测试技术,并提高软件测试管理水平。
4.3 加强工作人员的沟通。软件测试人员可在任意时间地点查看测试资料、成功用例和软件缺陷等信息,可针对软件测试信息数据进行讨论,并积极发表自己的意见,从而有效增强软件测试相关工作人员的团队能力和协作精神,营造一个良好的工作氛围。
综上所述,软件测试是软件生命周期中的关键环节,是保证软件质量的关键因素,同时也是软件工程的组成部分之一,另外,软件测试也是软件开发人员和用户验证软件产品是否合格的重要手段。
参考文献:
[1]崔哲.软件测试技术与测试管理[J].电子技术与软件工程,2018(04):40
[2]赵坤.软件测试技术与测试管理研究[J].电子测试,2016(23):141+134