关于软件测试未来发展趋势分析与总结


原始创新梦想IT职业教育2天前我想分享

近年来,中国的软件产业迎来了一个超快的发展时期。软件测试的发展也成为业界关注的话题。越来越多的大学毕业生正在投资软件测试,这表明软件测试可能成为下一个。 IT行业发展的出路。除了软件测试人员和技能经验要求之外,对于测试人员来说,掌握最新的行业趋势并掌握最新的测试技能和知识尤为重要。

随着人工智能(AI),虚拟现实(VR)和增强现实(AR)等新技术的出现,测试人员扩展他们对这些技术的了解将变得更加重要。在基于这些技术测试应用程序时,您需要一种完全不同的思维方式,测试设置,测试环境/基础软件,这可能是2019年测试人员面临的最大挑战。

作为测试人员,我们需要好奇心和开放思想来适应变化,学习和阅读最新的技术趋势,并准备好迎接我们在测试过程中遇到的任何问题。你必须始终对市场充满好奇和热情,顺应潮流,做出改变以跟上时代的步伐。

2019年的新测试趋势大致分为以下几类:

一,人工智能AI +测试

使用AI(深度学习等)系统来辅助测试肯定是近年来最流行的测试趋势,包括测试用例,自动生成测试数据和测试代码,大规模测试结果分析,自动化探索测试和缺陷。定位等,美国许多公司都推出了商业AI测试工具。

碎片的准确性不是很高。

AI辅助测试分为三个步骤:

1.通过深度学习模型自动生成测试用例输入,并手动验证输出。

2.通过深度学习模型自动生成测试用例的输入,并通过规则模型自动接受输出。

3.通过深度学习模型自动生成测试用例的输入和输出,并自动验证输出。

现在行业基本上可以迈出第一步,有些公司已经可以实现第二步,而第三步,只有少数大公司已经实现,而且准确性不是很高,所以AI辅助测试还有很长时间要走的路。

第二,新业务和架构系统的测试

随着人工智能?低常榱矗⒎窈痛笫莸认低车某鱿趾头比伲厥獠馐砸步晌馐粤煊虻囊桓銮魇啤U饨婕耙恍┬碌奶粽健@纾馐訟I系统可能使用与以前完全不同的方法和理论系统;如何在测试区块链时模拟真实环境;微服务变得越来越大在这种情况下,是否有必要使用不同的测试策略和一些特殊的测试技术;大数据系统如何模拟真实的大规模数据并在测试环境中进行业务测试。

第三,测试基础设施

随着软件系统规模的增加,测试环境的构建变得更加复杂和昂贵。在许多实际项目中,对测试环境有一些特定的要求,例如在每轮测试之前回滚上一轮影响的所有数据;或者您可以在群集中的多个节点上快速测试系统。回归到以前的版本等。随着这些需求的增加和成本压力的增加,构建现代高效的测试基础设施已成为大型系统的必然趋势。例如,您可以使用Docker,Ansible等构建高效的测试基础架构,然后它有另一个新名称:TestOps。

四,产品环境下的测试

去年,阿里云和腾讯云遭遇了不同类型的在线故障。其中,阿里巴巴云在2018年6月27日对在线故障的解释中写道:“这个功能在测试环境验证中没有出现问题。在上线到自动化操作和维护系统后,触发了一个未知的代码错误。 “可以看出,对于大规模,高复杂度的服务器系统,仅在测试环境中的测试不能满足质量要求。如何在产品环境中进行测试肯定会在当前和未来的云时代占据重要地位。

V.基于故障注入的测试(混沌工程)

随着云平台变得越来越大,越来越复杂,常见的测试用例难以满足高可用性要求,因此FIT-Failure Injection Testing变得越来越重要。 Netflix甚至在其生产环境中大规模使用FIT,而不仅仅是在测试环境中。 Netflix在他的官方博客上发表了几篇关于故障注入测试的文章。在未来越来越复杂的云系统时代,对于追求质量的系统,基于故障注入的测试绝对必不可少。

六,安全开发流程和自动化安全测试

现在,在安全方面,它通常涉及渗透测试或安全保护,例如WFA。很少有人谈论安全开发和开发过程中的安全测试。实际上,安全开发是最有效的安全保护。例如,早在本世纪初,微软就提出了自己的安全开发流程SDL(Security Development Lifecycle),但由于微软的SDL非常繁琐,成本也非常高,导致其互联网时代,目前需要敏捷而快速的软件开发,难以推广。

其中,BSI是一个结合了敏捷方法和实践的安全开发过程,需要在开发过程中嵌入各种类型的安全测试,例如基于业务功能的安全测试,基于威胁建模结构的白盒安全测试。基于各种黑盒自动化的安全扫描和测试,尤其适用于需要持续交付的敏捷团队。

七。可测性分析和设计

现在很少有公司对其系统进行可测试的分析和设计,只有大公司的一些大型系统才能使用它。事实上,可测试性是一个非常古老的话题,就像早在20世纪80年代引入合同测试一样,但由于中小型项目的投资回报率低,很少有公司会使用它。在大规模微服务的出现和普及之前,旧的合同测试测试逐渐成为新的热点。然而,随着软件规模的增加,特别是当云平台等大型系统成为趋势时,提高其可测试性以使其各种测试更有效将成为一种趋势。

八,敏捷测试

敏捷测试可能是许多外国公司(例如Atlassian,Netflix,Google等)的常态,但在国内,它在很长一段时间内仍然是一种奢侈品。测试转发,测试驱动开发(业务功能级别的ATDD)以及预防缺陷等概念和实践优于发现缺陷,实现敏捷测试以有效减少缺陷代码和返工,从而节省开发成本并提高交付速度。软件质量,因此敏捷测试中的各种实践肯定会成为该国的一个趋势。

总结:虽然测试方法,测试分析和测试策略非常重要,但随着技术的发展,测试领域的技术越来越受欢迎。尽管仍需要很长时间才能开发或尚未大规模采用该行业,但大多数都依赖于技术的发展。因此,在未来,如果您想发展成为高级测试工程师或测试专家,除了掌握传统测试方法,测试分析和测试策略之外,技术可能是一项不可避免的技能。

本文为第一作者的原创,未经授权不得转载

收集报告投诉

近年来,中国的软件产业迎来了一个超快的发展时期。软件测试的发展也成为业界关注的话题。越来越多的大学毕业生正在投资软件测试,这表明软件测试可能成为下一个。 IT行业发展的出路。除了软件测试人员和技能经验要求之外,对于测试人员来说,掌握最新的行业趋势并掌握最新的测试技能和知识尤为重要。

随着人工智能(AI),虚拟现实(VR)和增强现实(AR)等新技术的出现,测试人员扩展他们对这些技术的了解将变得更加重要。在基于这些技术测试应用程序时,您需要一种完全不同的思维方式,测试设置,测试环境/基础软件,这可能是2019年测试人员面临的最大挑战。

作为测试人员,我们需要好奇心和开放思想来适应变化,学习和阅读最新的技术趋势,并准备好迎接我们在测试过程中遇到的任何问题。你必须始终对市场充满好奇和热情,顺应潮流,做出改变以跟上时代的步伐。

2019年的新测试趋势大致分为以下几类:

一,人工智能AI +测试

使用AI(深度学习等)系统来辅助测试肯定是近年来最流行的测试趋势,包括测试用例,自动生成测试数据和测试代码,大规模测试结果分析,自动化探索测试和缺陷。定位等,美国许多公司都推出了商业AI测试工具。

碎片的准确性不是很高。

AI辅助测试分为三个步骤:

1.通过深度学习模型自动生成测试用例输入,并手动验证输出。

2.通过深度学习模型自动生成测试用例的输入,并通过规则模型自动接受输出。

3.通过深度学习模型自动生成测试用例的输入和输出,并自动验证输出。

现在行业基本上可以迈出第一步,有些公司已经可以实现第二步,而第三步,只有少数大公司已经实现,而且准确性不是很高,所以AI辅助测试还有很长时间要走的路。

第二,新业务和架构系统的测试

随着人工智能系统,区块链,微服务和大数据等系统的出现和繁荣,特殊测试也将成为测试领域的一个趋势。这将涉及一些新的挑战。例如,测试AI系统可能使用与以前完全不同的方法和理论系统;如何在测试区块链时模拟真实环境;微服务变得越来越大在这种情况下,是否有必要使用不同的测试策略和一些特殊的测试技术;大数据系统如何模拟真实的大规模数据并在测试环境中进行业务测试。

第三,测试基础设施

随着软件系统规模的增加,测试环境的构建变得更加复杂和昂贵。在许多实际项目中,对测试环境有一些特定的要求,例如在每轮测试之前回滚上一轮影响的所有数据;或者您可以在群集中的多个节点上快速测试系统。回归到以前的版本等。随着这些需求的增加和成本压力的增加,构建现代高效的测试基础设施已成为大型系统的必然趋势。例如,您可以使用Docker,Ansible等构建高效的测试基础架构,然后它有另一个新名称:TestOps。

四,产品环境下的测试

去年,阿里云和腾讯云遭遇了不同类型的在线故障。其中,阿里巴巴云在2018年6月27日对在线故障的解释中写道:“这个功能在测试环境验证中没有出现问题。在上线到自动化操作和维护系统后,触发了一个未知的代码错误。 “可以看出,对于大规模,高复杂度的服务器系统,仅在测试环境中的测试不能满足质量要求。如何在产品环境中进行测试肯定会在当前和未来的云时代占据重要地位。

V.基于故障注入的测试(混沌工程)

随着云平台变得越来越大,越来越复杂,常见的测试用例难以满足高可用性要求,因此FIT-Failure Injection Testing变得越来越重要。 Netflix甚至在其生产环境中大规模使用FIT,而不仅仅是在测试环境中。 Netflix在他的官方博客上发表了几篇关于故障注入测试的文章。在未来越来越复杂的云系统时代,对于追求质量的系统,基于故障注入的测试绝对必不可少。

六,安全开发流程和自动化安全测试

现在,在安全方面,它通常涉及渗透测试或安全保护,例如WFA。很少有人谈论安全开发和开发过程中的安全测试。实际上,安全开发是最有效的安全保护。例如,早在本世纪初,微软就提出了自己的安全开发流程SDL(Security Development Lifecycle),但由于微软的SDL非常繁琐,成本也非常高,导致其互联网时代,目前需要敏捷而快速的软件开发,难以推广。

其中,BSI是一个结合了敏捷方法和实践的安全开发过程,需要在开发过程中嵌入各种类型的安全测试,例如基于业务功能的安全测试,基于威胁建模结构的白盒安全测试。基于各种黑盒自动化的安全扫描和测试,尤其适用于需要持续交付的敏捷团队。

七。可测性分析和设计

现在很少有公司对其系统进行可测试的分析和设计,只有大公司的一些大型系统才能使用它。事实上,可测试性是一个非常古老的话题,就像早在20世纪80年代引入合同测试一样,但由于中小型项目的投资回报率低,很少有公司会使用它。在大规模微服务的出现和普及之前,旧的合同测试测试逐渐成为新的热点。然而,随着软件规模的增加,特别是当云平台等大型系统成为趋势时,提高其可测试性以使其各种测试更有效将成为一种趋势。

八,敏捷测试

敏捷测试可能是许多外国公司(如Atlassian、Netflix、Google等)的标准,但在国内,它在很长一段时间内仍然是一种奢侈品。测试前进、测试驱动开发(ATDD用于业务功能级别)以及预防缺陷等概念和实践优于发现缺陷,使敏捷测试能够有效地减少缺陷代码和返工,从而节省开发成本并提高交付速度。软件质量,所以敏捷测试中的各种实践必将成为我国的一种趋势。

综述:虽然测试方法、测试分析和测试策略非常重要,但随着技术的发展,测试领域的技术越来越受到重视。虽然发展时间较长,或尚未被行业大规模采用,但大多依赖于技术的发展。因此,在未来,如果你想成为一名高级测试工程师或测试专家,除了掌握传统的测试方法、测试分析和测试策略外,技术可能是一项不可避免的技能。

为第一作者原件,未经授权不得复制。