总体观点:软件测试领域当前正处在一个急剧变化的节点!
我们访问了12位在业界备受尊敬的、经验丰富的测试领域专家,通过和他们的谈话,我们总结出了软件测试近些年的变化及未来的发展趋势。
我们先来看软件测试近些年的变化
影响软件测试变化的因素来自内部和外部两方面。
来自外部的因素有:
调查显示我们每人每天所使用的
app应用数量在9个以上,再加上电脑
web及其他应用方面的会更多。
2.软件用户对软件质量和体验有了更高的要求。
来自TechBeacon公司的调研数据表明,49%的用户期待app的响应时间在2S以内,80%的用户在使用APP中碰到3次以上的问题就会放弃此APP的使用。
3.用户对软件更新的频率、及新软件发布的速度有了更高的期待。
Amazon每年发布5000万行代码,平均每秒一行的速度;同时敏捷及DevOps模式的应用帮助团队将发布频率提升了30倍。
受这些外部压力的驱使,测试团队需要协助开发、运维等一起用更快的频率发布更高质量的软件产品。这些因素也驱动了测试内部模式的变化。
来自内部的变化有:
当前市场上有1500款不同的软件,支持整个
软件开发周期,从编译到测试再到更后端。
测试软件也越来越多,以支持越来越多的测试类型及不同的质量要求,这些工具软件无疑对我们的测试工作提供了很大的帮助,掌握一些必备的工具软件也变得必不可少。
2.Agile(敏捷)和DevOps的普及对测试团队带来了根本的影响
它们改变了测试工程师什么时候开始测试、如何测试以及与谁一起测试等工作模式。
来自VersionOne的调查发现,约有95%的公司采用了敏捷模式,约有74%的公司采用了DevOps模式,敏捷与DevOps的应用尽管已经比较普及,但仍会继续增高,测试团队必需学会如何适应这种模式。
自动化测试在很多测试过程中将是必备的,这就要求测试工程师去学习新的技能,同时也要学会如何平衡手工测试及自动化测试。
由于外部和内部的变化所驱,软件测试领域当前正处在一个急剧变化的节点!
我们再来看下软件测试的5个未来趋势
1.自动化是测试的未来
Automationisthefutureoftesting!
随着软件发布频率的增高,你不可能有时间每次都能测到所有的功能,你需要自动化测试去覆盖已有功能,然后自己手工去focus在新功能的验证上。
同时专家指出,对自动化测试也不要存在偏见,自动化测试不是要取代手工测试,也不是所有的功能都适合自动化。
2.AI、机器学习、IOT这些未来技术也会对测试产生影响
专家指出,这些新技术的应用让软件变得更复杂,更具交互性,对测试提出了更高的挑战,测试核心的理念不会变,但是测试工具、技术、流程等会由此发生改变。
3.测试工程师必需学会适应这些变化并学习新技能
所有专家都指出:theneedfortesterstobeopentochangean dgetseriousaboutlearningnewskills.
所有测试工程师都应该对趋势关注,包括关注测试论坛或者其它团队的测试趋势。
害怕变化和使用新工具虽然是个很大的挑战,但是测试工程师必需跟上这些趋势来充实自己的知识和技能。
其中编程就是一项必备的技能:testershavetopickupcodingskills或者深入理解他们测试的软件是如何产生的。
4.职位的区分变得越来越模糊
DevOps的应用让职位之间的区分变得越来越模糊。
产品、开发、测试衔接的越来越紧密,区分也变得越来越模糊。
在这种情况下,测试工程师要学会用不同的语言与不同的角色进行沟通,面对产品经理讲产品经理可以听懂的话,面对开发讲开发可以听懂的话。
为了保证团队能快速发布出高质量的产品,识别出沟通中的瓶颈及理解的差异在DevOps就变得很重要,而在DevOps的世界里,测试工程师可以被赋予完成这个使命。
5.不要忘记最根本的测试技能
在软件测试领域仍有很多经受住时间考验的核心技能,比如拥抱变化,渴望学习(opentochange,eagertolearn),这对测试工程师是至关重要的,不管是在2021,2032还是2058年。
再比如好奇心,尝试去怀疑、检查、揭示你所测试的软件。
再比如沟通能力。