王雨泽
成都东软学院 四川省成都市 611830
摘 要
随着科技的不断进步,人们对于高新科技创新的高涨需求,促成了软件工程的生成发展并日益成熟。在软件实际开发中,虽然软件工程师想尽各种方法,保证软件的质量完美没有缺陷,降低企业成本。但是,考虑到软件硬件的高性能,软件的大型化、复杂化,软件具体投运到使用用户手中避免不了隐藏着不足和缺陷,作为软件工程步骤中的关键阶段--软件测试,成为提高软件工程质量的重要工具,对软件的各个阶段进行充分的测试以保证软件运行中质量的稳定性及可靠性,因此软件测试成为了软件工程中保证质量的重要手段。
关键词:发展软件工程,软件测试,软件测试自动化,发展趋势
1.软件测试技术的起源
在规定条件下对已完成的程序进行操作,准确发现程序中出现的错误、缺陷以及是否满足要求,包括编写语言及软件运行中的逻辑性错误,为程序人员提供准确的信息反馈,来确保软件在使用过程中的稳定性及适用性的技术手段。为软件质量提供了重要保证,测试工作涉及开发整个流程,为每个流程提供技术依据,大大提高过程的高效性,是软件投入使用前的关键步骤。
静态测试源于五六十年代管理人员对文档的质量控制实践,在不用打开被检测软件的前提下,对静态的程序进行检测,主要分为审阅和检查。审阅可以简单理解为由一组人员从不同角度对软件进行检查,发现尽可能多的错误,并进行记录的方法。检查则是对出现的错误进行统计归纳,以避免类似错误发生的方法。
由于动态测试方法的相对于分析对象可以分为众多分析方法,本次我们只针对任何工程都适用的关键方法进行分析,一般分为黑盒测试和白盒测试。
黑盒测试是基于软件的功能及外部特征进行测试,检查程序的各项功能及出现的错误,是一种传统的检测方法。主要应用于一些无法得到源程序的软件可以根据操作说明书进行测试,测试程序是否遗漏,界面是否错误等。但是如果想用黑盒测试检测程序中的错误,则需用输入数据的所有可能性来检查是否都能实现预期的结果,这对于我们来说是完全不可能实现的。
2.软件测试依据和规范
ISO9000质量管理体系是1987年提出的由1980年的TC176(第176个技术委员会)质量保证技术委员更名而来。是对产品的全过程进行控制,为人们建立了一种可接受的衡量标准,在源头上保证每个流程都符合标准,淘汰不合格的产品,最后的结果肯定也符合标准,是标准的统称。经过认证的产品表明各项流程符合规范达到了国际标准。
ISO9000-3是ISO在软件中的国际化质量管理要求和使用指南,其系统的对软件应用标准流程进行规范,对每个过程控制有依可寻,体系结构包括:合同的评审,开发计划,质量计划,设计和实现,测试和确认,验收,安装交付,售后维护等。软件项目的管理是对软件开发过程的管理,所以自订单开始就形成了一套完整的监管体系,规范每个流程科学有序的进行,使得最终流程符合国际通用标准的管理。
CMM(软件能力成熟度模型)概念的形成距今已有60多年的发展历史。CMM是对软件开发维护过程中的控制能力的动态分析,只应用于软件相关的服务。一般有两种方式规范:一种是关注为实现一定范围内特定的活动,开展能稳定改善软件的过程。另一种是通过当前软件的成熟级别分析改进提高软件质量的方式。相比于ISO质量管理CMM相对于软件而言更加符合软件测试的规范,对过程的要求也更加详细工具的使用更加专业。
3.软件测试技术未来的发展方向和趋势
3.1软件测试的现状
随着科技的发展,如今我国在信息化建设方面已取得了不错的发展成就。但是毕竟我国还是发展中国家,如软件发展类的高新技术起步晚,资质尚浅与其他发达国家在各方面技术上还存在很大的差距。
软件开发方面的相关技术还没完全脱离“手工作坊”的落后局面。导致我们很多软件技术没有符合国际化的标准,在软件出口方面尤其薄弱。面对日益发展的需求及软件越来越复杂的趋势,强烈迫使我们开发新的软件测试技术,改变如今落后的现状。
3.2软件测试自动化的发展趋势
软件测试作为保证软件质量的重要技术,目前软件开发越来越朝着复杂化、多元化、放大化、精细化的方向发展,手工测试的工作量随着软件了开发的变化日益繁重不能满足时代背景的发展。手工测试的开发时间、成本及软件测试没有统一的有效的管理手段等缺点日益暴露,为了突破测试技术的瓶颈,自动化技术作为新的技术发展发向可以有效的解决手工测试效率低,人为因素明显,人员技术参差不齐等问题,可以统一测试标准、提高准确性等优点已开始逐渐代替手工测试。
3.3软件测试自动化工具
软件开发过程中每个阶段都需要借助软件测试工具,也可称为软件测试技术的实施方法,实现自动化测试的目的,因为软件测试过程基本从始至终参与开发,而开发设计统一,所以在工具理念上,自动化测试与手动测试一样也分为静态分析工具与动态分析工具。
测试工具管理是对自动化分析工具的管理,因为测试的目标是软件而测试工具也是软件形式最多,软件的主要问题也同样体现在软件测试工具上,如何解决软件的使用,病毒的防护,相关过程程序的保存无意外删除等问题也对软件自动测试的结果有至关重要的影响,所以测试工具的管理同样值得重视,应该交于专业的技术人员合理的管理测试工具,才能让测试工具更好的服务软件工程。
3.4软件测试自动化的实际应用
虽然自动检测基于手动检测的原理,但是却由于技术手段更加先进,借助工具的自动化可以解决绝大多数手动测试的弊端。像大部分的重复性工作可以借助自动化完成。合理选择检测工具可以节省时间、成本、更加满足科学测试的要求,虽然自动化测试还存在很多不足仍需改进但是目前自动化测试技术也得到了越来越广泛的实际应用。应用较为广泛的技术有自动化测试框架编写测试数据和自动化测试用例。
自动化测试用例是测试设计前的预估测试效果的系统测试方案,为了发现隐藏的漏洞而引用的具有代表性的测试运行脚本实现自动生成测试结果。能很好的使测试重点更加突出,降低工作强度,避免盲目的软件测试,指导软件的具体实施方法的选择,测试缩短项目周期等作用。
总结
随着科技的飞速发展,软件已渗透生活的方方面面,软件测试的主要目的就是保证软件的质量和性能。所以制定有效的独立功能模块测试计划 ,从软件开发流程上控制错误的发生。因为软件只要存在一个很小的问题就会带来非常严重的后果如安全缺陷,信息泄露等,所以软件测试在软件开发中就显得尤为重要,虽然现今我国软件发展水平尚且处于起步阶段,软件测试技术还与发达水平有很大的差距,我们得软件发展速度亟待提高,希望随着现代化科技的进程,我们能培养越来多的相关专业技术人才,得到软件开发技术上的提升。在智能化趋势的影响下测试技术得到更多的技术支撑也迎来了更多的挑战,自动化测试技术成为目前的主要发展趋势。
参考文献
[1]甘晨.探析软件工程中软件测试的重要性[J].数字化用户.2019.25(12):99.
[2]刘继华.陈策.软件测试技术的研究进展[J].微计算机信息,2012(10)
[3]周国栋.软件工程中软件测试的应用研究[J].城市建设理论研究(电子版).2014.(18):929-929.
[4]朱家云.浅析软件测试[J].信息工程系统.2012.
王雨泽,1996.2.8,男,汉族,四川绵阳,本科,研究方向:计算机