论文部分内容阅读
摘要:随着现代化科学技术水平的不断提升,软件产品逐渐得到更广泛的应用,为公众的生活、生产都提供了极大程度上的便利。软件测试对于软件性能优化而言属于一种有效措施,同时也是保证软件实现高质量运行的关键因素。本文首先针对软件测试在时下所面临的诸多挑战进行分析,其次对软件测试在未来的发展趋势进行了合理展望,以供各位同仁参考。
关键词:软件测试;挑战;发展趋势
前言:目前,公众已迈入信息化时代,软件研发模式以及软件新技术正在飞速迭代更新,尤其是物联网、云计算、大数据等先进科学技术的应用,为软件测试工作带来了前所未有的嶄新挑战。因此,软件开发测试人员应该对此予以足够的重视,对当下所面临的挑战进行科学合理的分析,然后制定出有针对性的措施对其进行解决,可以为软件行业在未来的高水平发展奠定一个坚实的基础。
1 软件测试时下面临的挑战
软件形态的自然变化催生了软件工程环境的变革,对软件研发的模式和流程以及实践等工作,造成了不同程度的影响,其中最为突出的就是敏捷开发模式的面世。目前,软件开发的节奏日益加快,都在力争做到持续性交付,但是只有做到持续构建、集成、测试,才有可能达到持续性交付。这其中最为困难的一项工作,就是如何做到持续性测试,如何高效、及时的完成软件测试工作,这也是软件测试在当前所面临的挑战。
1.1 敏捷测试挑战
快速支付、快速迭代,促使公众高效的完成软件测试工作,因此,公众开始寄希望于自动化软件测试,因为工具执行时的效率相对较高。但是,针对自动化软件测试调查的具体结果来看,大部分软件公司开展的自动化软件测试工作,目前做的效果并不是很好,大约只有4%的公司,针对软件测试时可以实现高于90%的自动化测试,因此,软件测试通常情况下是敏捷开发工作中的一个重大瓶颈。
软件自动化测试之所以收效甚微,主要原因就是不同团队有不同原因,但根据实际调查结果显示,主要原因是测试工具功能不够强大、测试人员专业能力不足、单元测试功能不足、产品可测试的性能较差、需求变更过于频繁等。
1.2 物联网测试挑战
在工业4.0以及5G时代,万物之间已经实现互联互通,目前已经有超过200亿台的互联网设备投入到工作使用范围中。这么庞大的体系设备接入到物联网中,需要实现异构之间的互联互通,就意味着物联网在应用中需要支持更加广泛的工业协议,并与目前现存的物联网系统之间进行合理连接,从而形成规模体系更大的互联系统,这对于软件测试工作而言必然会带来崭新的挑战,主要有以下几点体现:
1.2.1 软件测试环境的复杂性
例如:软硬件结合时的紧密程度、M2M的互联程度、异构互联等,需要在实验时构建一个全新的仿真环境。
1.2.2 高可靠性的测试
由于系统会涉及到生命安全,因此需要让系统的高可靠性得到有效保障,其中包括可靠性监控、可靠性估算、可靠性模拟等工作。
1.2.3 实时性
例如:实现数据的同步传输、实时数据的采集、时间的敏感网络等,对于测试环境工具都有更高层次的要求。
1.2.4 兼容性测试
例如:MEI/EMC的共存测试,以及各种数据采集方式、通信协议的验证。
1.2.5 网络安全策略以及配置组合的测试
此方面软件测试的工作体量很大,如何对软件测试的高效性、有效性进行合理提高,存在极大程度上的挑战。
1.2.6 其他测试挑战
此外,还需要针对系统在可伸展性、智能特性、大数据的处理性能、协同感知、可扩展性等方面进行测试验证[1]。
1.3 云服务测试
目前,云服务主要包含混合云、公有云、私有云等各种不同的形态,然而软件测试所面临的存储节点、计算节点、复杂配置、系统架构等挑战,复杂程度相对都较高。例如:配置参数在组合数方面是否可以达到几千万甚至到几十亿,如何对这体量庞大的组合进行测试,虽然可以应用两两、三三等方法,对进行组合数进行缩减,但是覆盖率相对过低,在质量方面存在极大风险。
其次,云服务性能的测试也具备一定的挑战,主要体现:
1.海量的云端压力模拟,即将面临高昂的代价,甚至无法进行模拟。
2.需要CDN服务的提供商、网络运营商相互配合以及支持。
3.传统的软件测试工具,很难适应云计算平台,崭新的性能测试工作。
通常应用的替代项,就是用系统中的可伸缩性对其进行验证,避免大规模进行性能测试。而且,云计算平台中的可靠性、容错性测试,会面临更大程度上的挑战。例如:错误类型种类太多、错误信息在表达时不够清晰、HTTP错误码以及业务错误码之间所包含的含义之间出现差异、相同错误在不同云产品中会有不同的表达等。由此诞生出了一门崭新的工程领域,即混沌工程。
2 软件测试在未来的发展趋势
2.1 软件测试规范性逐渐提升
软件测试规范性对于软件测试而言,是精准度的保障以及重要依靠,可以促进测试技术在未来实现更好的发展,技术人员需要对软件测试标准进行优化以及完善,通过对软件测试进行标准化、规范化,从而为软件测试在未来的长远发展奠定一个坚实的基础。在计算机科学技术的推动之下,软件测试技术在未来的应用,会获取不断的改进以及调整,技术应用程度也会日趋成熟,在应用过程中封装性、多态性等特点会日益凸显,在此种环境下,需要针对各种新型软件测试技术进行应用,例如:云测试等,为软件测试工作在顺利开展方面提供可靠的技术性支持[2]。
2.2 软件测试的自动化程度会逐渐提升
现阶段软件行业逐渐开始重视软件测试工作,由此软件测试的任务量也呈现出日趋增加的态势。在此种背景之下,单纯应用手工测试的方法,无法满足目前测试工作的要求,因此自动化的软件测试模式,在未来会得到更加广泛的应用。自动化的软件测试,是针对软件的实施部分、整体开展自动化处理的一种技术,在对软件进行测试的过程中,不需要人为参与到操作环节,可以有效达到降低人工成本以及提升软件开发的效果。相信在日后此项技术会成为软件测试工作中的一项主流技术。
2.3 软件测试的范围会不断拓展
为了保证测试工作的精准度,在日后软件测试工作中,需要对测试范围进行合理拓展,针对软件测试数据进行科学合理的分析,为软件开发的过程提供可靠性的支持以及保障。同时,在对测试范围进行拓展时,需要对事后、事前做好控制、预防的工作,针对安全意识风险进行有针对性的规避,对于测试成本的控制工作也要做好,保证软件测试工作的效率可以得到有效提升。
2.4 物联网云计算的广泛应用
现代化企业对于云计算技术的应用极其重视,大部分企业都会将自身业务数据在云端之中进行存放。就目前用户对应用程序的实际应用情况来看,高于75%的程序都是以云计算作为基础所开展的。但物联网布局模式的推广,也导致业务决策变得更加智能、精准。以物联网云端作为基础所进行的软件测试工作,能够完成安全性分析、可拓展拓性等多项测试,可以对于系统版本的兼容性、授权的精准性等进行检测,然后进行数据评估工作[3]。
结束语:综上所述,在对软件进行测试工作时,相关测试人员需要按照目前软件,在开发设计中的具体现状,针对传统软件测试存在的各种问题进行分析以及研究,并对其进行针对性的解决,从而不断扩大测试的范围,应用先进的现代化软件测试技术,对软件测试标准进行提升,保证软件测试结果的精准性,推动我国软件行业在未来实现可持续发展。
参考文献
[1]朱少民. 软件测试面临的挑战与发展趋势[J]. 测控技术, 2020, 039(001):1-4.
[2]秦怡. 大数据背景下软件测试技术面临的挑战及发展方向[J]. 电子技术与软件工程, 2019, No.164(18):62-63.
[3]秦怡. 大数据背景下软件测试技术面临的挑战及发展方向[J]. 电子技术与软件工程, 2019, No.164(18):62-63.
关键词:软件测试;挑战;发展趋势
前言:目前,公众已迈入信息化时代,软件研发模式以及软件新技术正在飞速迭代更新,尤其是物联网、云计算、大数据等先进科学技术的应用,为软件测试工作带来了前所未有的嶄新挑战。因此,软件开发测试人员应该对此予以足够的重视,对当下所面临的挑战进行科学合理的分析,然后制定出有针对性的措施对其进行解决,可以为软件行业在未来的高水平发展奠定一个坚实的基础。
1 软件测试时下面临的挑战
软件形态的自然变化催生了软件工程环境的变革,对软件研发的模式和流程以及实践等工作,造成了不同程度的影响,其中最为突出的就是敏捷开发模式的面世。目前,软件开发的节奏日益加快,都在力争做到持续性交付,但是只有做到持续构建、集成、测试,才有可能达到持续性交付。这其中最为困难的一项工作,就是如何做到持续性测试,如何高效、及时的完成软件测试工作,这也是软件测试在当前所面临的挑战。
1.1 敏捷测试挑战
快速支付、快速迭代,促使公众高效的完成软件测试工作,因此,公众开始寄希望于自动化软件测试,因为工具执行时的效率相对较高。但是,针对自动化软件测试调查的具体结果来看,大部分软件公司开展的自动化软件测试工作,目前做的效果并不是很好,大约只有4%的公司,针对软件测试时可以实现高于90%的自动化测试,因此,软件测试通常情况下是敏捷开发工作中的一个重大瓶颈。
软件自动化测试之所以收效甚微,主要原因就是不同团队有不同原因,但根据实际调查结果显示,主要原因是测试工具功能不够强大、测试人员专业能力不足、单元测试功能不足、产品可测试的性能较差、需求变更过于频繁等。
1.2 物联网测试挑战
在工业4.0以及5G时代,万物之间已经实现互联互通,目前已经有超过200亿台的互联网设备投入到工作使用范围中。这么庞大的体系设备接入到物联网中,需要实现异构之间的互联互通,就意味着物联网在应用中需要支持更加广泛的工业协议,并与目前现存的物联网系统之间进行合理连接,从而形成规模体系更大的互联系统,这对于软件测试工作而言必然会带来崭新的挑战,主要有以下几点体现:
1.2.1 软件测试环境的复杂性
例如:软硬件结合时的紧密程度、M2M的互联程度、异构互联等,需要在实验时构建一个全新的仿真环境。
1.2.2 高可靠性的测试
由于系统会涉及到生命安全,因此需要让系统的高可靠性得到有效保障,其中包括可靠性监控、可靠性估算、可靠性模拟等工作。
1.2.3 实时性
例如:实现数据的同步传输、实时数据的采集、时间的敏感网络等,对于测试环境工具都有更高层次的要求。
1.2.4 兼容性测试
例如:MEI/EMC的共存测试,以及各种数据采集方式、通信协议的验证。
1.2.5 网络安全策略以及配置组合的测试
此方面软件测试的工作体量很大,如何对软件测试的高效性、有效性进行合理提高,存在极大程度上的挑战。
1.2.6 其他测试挑战
此外,还需要针对系统在可伸展性、智能特性、大数据的处理性能、协同感知、可扩展性等方面进行测试验证[1]。
1.3 云服务测试
目前,云服务主要包含混合云、公有云、私有云等各种不同的形态,然而软件测试所面临的存储节点、计算节点、复杂配置、系统架构等挑战,复杂程度相对都较高。例如:配置参数在组合数方面是否可以达到几千万甚至到几十亿,如何对这体量庞大的组合进行测试,虽然可以应用两两、三三等方法,对进行组合数进行缩减,但是覆盖率相对过低,在质量方面存在极大风险。
其次,云服务性能的测试也具备一定的挑战,主要体现:
1.海量的云端压力模拟,即将面临高昂的代价,甚至无法进行模拟。
2.需要CDN服务的提供商、网络运营商相互配合以及支持。
3.传统的软件测试工具,很难适应云计算平台,崭新的性能测试工作。
通常应用的替代项,就是用系统中的可伸缩性对其进行验证,避免大规模进行性能测试。而且,云计算平台中的可靠性、容错性测试,会面临更大程度上的挑战。例如:错误类型种类太多、错误信息在表达时不够清晰、HTTP错误码以及业务错误码之间所包含的含义之间出现差异、相同错误在不同云产品中会有不同的表达等。由此诞生出了一门崭新的工程领域,即混沌工程。
2 软件测试在未来的发展趋势
2.1 软件测试规范性逐渐提升
软件测试规范性对于软件测试而言,是精准度的保障以及重要依靠,可以促进测试技术在未来实现更好的发展,技术人员需要对软件测试标准进行优化以及完善,通过对软件测试进行标准化、规范化,从而为软件测试在未来的长远发展奠定一个坚实的基础。在计算机科学技术的推动之下,软件测试技术在未来的应用,会获取不断的改进以及调整,技术应用程度也会日趋成熟,在应用过程中封装性、多态性等特点会日益凸显,在此种环境下,需要针对各种新型软件测试技术进行应用,例如:云测试等,为软件测试工作在顺利开展方面提供可靠的技术性支持[2]。
2.2 软件测试的自动化程度会逐渐提升
现阶段软件行业逐渐开始重视软件测试工作,由此软件测试的任务量也呈现出日趋增加的态势。在此种背景之下,单纯应用手工测试的方法,无法满足目前测试工作的要求,因此自动化的软件测试模式,在未来会得到更加广泛的应用。自动化的软件测试,是针对软件的实施部分、整体开展自动化处理的一种技术,在对软件进行测试的过程中,不需要人为参与到操作环节,可以有效达到降低人工成本以及提升软件开发的效果。相信在日后此项技术会成为软件测试工作中的一项主流技术。
2.3 软件测试的范围会不断拓展
为了保证测试工作的精准度,在日后软件测试工作中,需要对测试范围进行合理拓展,针对软件测试数据进行科学合理的分析,为软件开发的过程提供可靠性的支持以及保障。同时,在对测试范围进行拓展时,需要对事后、事前做好控制、预防的工作,针对安全意识风险进行有针对性的规避,对于测试成本的控制工作也要做好,保证软件测试工作的效率可以得到有效提升。
2.4 物联网云计算的广泛应用
现代化企业对于云计算技术的应用极其重视,大部分企业都会将自身业务数据在云端之中进行存放。就目前用户对应用程序的实际应用情况来看,高于75%的程序都是以云计算作为基础所开展的。但物联网布局模式的推广,也导致业务决策变得更加智能、精准。以物联网云端作为基础所进行的软件测试工作,能够完成安全性分析、可拓展拓性等多项测试,可以对于系统版本的兼容性、授权的精准性等进行检测,然后进行数据评估工作[3]。
结束语:综上所述,在对软件进行测试工作时,相关测试人员需要按照目前软件,在开发设计中的具体现状,针对传统软件测试存在的各种问题进行分析以及研究,并对其进行针对性的解决,从而不断扩大测试的范围,应用先进的现代化软件测试技术,对软件测试标准进行提升,保证软件测试结果的精准性,推动我国软件行业在未来实现可持续发展。
参考文献
[1]朱少民. 软件测试面临的挑战与发展趋势[J]. 测控技术, 2020, 039(001):1-4.
[2]秦怡. 大数据背景下软件测试技术面临的挑战及发展方向[J]. 电子技术与软件工程, 2019, No.164(18):62-63.
[3]秦怡. 大数据背景下软件测试技术面临的挑战及发展方向[J]. 电子技术与软件工程, 2019, No.164(18):62-63.