张敏
摘要:随着科学技术的发展,我国的软件测试技术有了很大进展。软件测试技术的提高,不仅能够提高工作效率,也是保障软件高质量运行的关键,基于此,需要相关工作人员不断探索更加有效的技术与管理模式,从而进一步保障软件测试水平不断提高。
关键词:软件测试技术;测试管理
引言
随着我国信息技术的高速发展,软件在各行各业中的作用也越来越重要,为了保证软件的有效运行,必须进行高效高质量的软件测试。当前很多软件的测试都偏重于某一种测试方法,而忽略其他的测试方法能够为产品带来的效益。如:只采用功能测试,而忽略对代码的静态审查和单元测试,导致软件中可能存在隐性缺陷。因此,有必要对软件测试技术及测试管理方面的问题进行深入研究探索,以期在工作中合理规划选择软件测试技术与管理方法,从而保证软件产品的最大效益。
1软件测试的作用与发展
从软件工程的角度看,软件测试是软件开发过程中的重要环节,主要目的是为了提升软件工程项目质量,为研发人员提供出详细准确的信息反馈,同时还需要保证开发出来的软件能够满足用户所提出的各种要求。软件测试的具体工作就是准确的找到程序中存在的错误,这种错误不仅包括语句编写上的错误,甚至还包括软件运行过程中存在的逻辑性错误。软件测试工作如果全部采用手动方式将十分繁琐,尤其是大型软件的测试更是一项浩大的工程,因此软件的自动化测试应运而生,它是指通过复杂的程序设计,对软件开发过程中的计算机语言进行检查,进而来控制被测软件的功能执行,使其依照手动测试的方式来完成自动化的测试工作。自动化测试的使用,将使测试人员从繁杂的软件测试工作当中解放出来,最大限度上缩短了软件测试的周期,保证软件能够达到用户需求,并可以按期交付软件产品给客户。
2软件测试技术的相关分析
2.1白盒测试技术与黑盒测试技术
白盒测试技术又可以称之为逻辑驱动测试,其主要是指对产品内部进行运行检测,判断其动作与说明书的符合性,重视软件检验。此检测技术,可检测逻辑路径、系统程序内的一起逻辑构造,属于穷举路径测试。应用此测试方案时,测试人员务需核实检测程序内部构造,确定程序的独立路径数目。由于白盒测试技术无法查出违反设计规则的程序,因此这种测试方法在所测试路径内可能会存在错误。黑盒测试技术又被称之为数据驱动测试技术,其主要是对已知固有的产品功能,测试验证其是否可顺利实现。测试过程中,需要测试人员对程序接口进行测试,验证程序功能是否符合说明书要求、程序接收输入数据的顺畅性等,为准确的信息输出提供检测保障,属于穷举输入测试。此技术的优势在于当输入进行穷举并且无遗漏时,程序中的全部错误将被检测出来,不仅可有效的检测出一切合法的输入,同时还可测试不合法输入情况。
2.2静态测试和动态测试技术
相比于其他软件测试技术,静态分析测试法具有独特的查错优势、分析功能,可及时高效的发现设计文档及代码中存在的问题。利用静态测试工具进行代码校验,具有规则设置灵活、代码检测自动进行、检测结果准确的特点。但在运行中的程序难以利用此技术进行检测,即利用静态检测技术难以获取程序执行结果。对运行中的程序进行測试可称之为动态测试,它通过输入测试用例,对测试结果与需求进行对比,观察其相符性,进而实现对程序的准确判断,保证程序的稳定性。软件测试中动态测试技术应用较为广泛,不仅可应用于单元测试、集成测试中,同时还可应用在系统测试、验收测试中,测试效果显著。但动态测试具有局限性,它必须要待程序代码完成后才可实施检测,问题感知具有迟缓性,一旦发现问题,需对编码重新设计,极大增加了软件质量成本。
2.3云测试在学术界的应用
目前云计算、大数据已经是时代发展的主流,云测试也可能成为软件测试技术发展的新方向。通过查阅相关资料,我们了解到国外一些高校就云测试方面所做的一些研究,日本驻波大学的一个教授带领他的团队在讨论实践中开发出一个基于云计算的软件测试平台,克服了一般的软件测试平台中不支持故障插入技术的这一缺陷,成为软件测试领域的里程碑。另外,在芬兰的拉普兰塔理工大学的一些学者主要针对在云计算环境下软件测试和预期的软件质量之间的关系做了研究,“测试即服务”这个新的概念模型也正是有他们提出的,之后他们又对此进行进一步完善、补充、应用、实践等环节,此概念模型在云领域下也取得了很好的成就。此外,国内很多学者也致力于研究云计算环境下的软件测试,在关于测试的资源调度和优化处理算法等方面取得了很大的进展。
3软件测试管理分析
3.1测试团队的构建
测试团队中的人员分工合作、各司其职,做每个人最擅长的部分,如区分设计文档审查工程师、白盒测试工程师、功能测试工程师、性能测试工程师、接口测试工程师、信息安全测试工程师等,同时测试负责人应定期组织相应的技术培训,提高团队整体技能,共同打造最高效的测试团队。
3.2测试体系的建立
依据软件方面的国际、国内、行业标准或企业规章制度,建立适合自己的测试体系,制定测试计划、完成设计文档的评审、测试设计、并执行测试用例、最后进行测试总结,在这一整套的过程中,始终要坚持闭环跟踪管理测试的过程,同时也要进行测试的风险管理。
3.3测试技术的选择
一般情况下,软件测试工作都带有比较强的目的性,在测试过程当中需要具有针对性的发现其中存在各种错误。在传统的人工测试方式当中,统计指标虽然可以帮助人们提升测试结果的可信度,但是,因为长时间的机械式检查难免出现人为失误,因此,为了节省人工测试对资源的浪费,得到更为可靠的测试结果上,可以在合适的测试项目中通过对软件测试工作进行总结,并结合软件功能特定检查手段完成自动测试程序模块的编写,从而实现软件的自动化测试。自动化测试工具可以是公司内部自定义开发,也可以是市场通用的自动化测试工具如RobotFramework、QTP等自动化框架,Loadrunner、Jmeter等性能测试工具,SnifferPro等网络测试工具,以及Bugzilla、JIRA等一些缺陷管理平台。
结束语
现阶段,我国社会经济以及科技水平的发展速度在不断加快,各个行业所面临的挑战也有所增加,其中软件的作用至关重要。因此需要对软件测试技术和测试管理进行不断的深入研究,以此保证软件测试的效率及软件产品的质量,从而提高软件整体的应用性。
参考文献
[1]刘德寅,薛小东,张舒白.计算机软件测试技术与开发应用研究[J].电子质量,2018(7):5-6,31.
[2]赵宇,王端荣,陈必泉.软件测试技术现状与发展趋势研究[J].信息与电脑(理论版),2017(16):67-68.
[3]吴迪.软件测试技术的应用及其发展趋势[J].电脑迷,2017(8):76.