我有一个朋友,有一天问我这样的一个问题:说现在他们公司有五个python测试工程师。但是有一天领导要求他把所有的自动化测试代码,全部都转化成java语言。
虽然说他们在行动上还是接受了领导的任务,但是他一直想不清楚,这个真的有必要吗?
这是一个非常好的问题。至少他比「哪门编程语言才是最好的测试语言?」更好,因为这个问题有具体的语境,有人员的组织结构,以及一些更具象化的场景。实际上这个世界上并不存在什么最好的语言,每一门编程语言的选择,都需要根据公司的具体使用场景、现有人员的组成结构、学习成本以及编程语言的生态等等一系列的问题来考虑。
说实话我不能笼统的说,从python语言转化成java语言是有必要的,但是如果你遇到了类似的问题,你可以从以下一些方面来考虑。 如果你已经掌握了python做自动化测试,在考虑要不要学Java,也可以从这些方面考虑
首先第一点,做自动化测试是可以同时使用两门语言,甚至是多门语言的。
比如现在你们公司主要用python语言做测试。忽然有一天,你们公司的领导甚至是你们公司的老板,要求你们换用Java。
那么我们首先做了第一件事情,就是当有新的测试代码需要编写的时候,我们可以直接使用Java语言, 而已经编写好了的老的代码,继续使用原来的Python语言。
这样我们可以在最短的时间下,完成老板交代的任务,也可以少做一些无用功。
第二点,我们需要考虑换编程语言,产生的成本和收益。
如果现有的测试用例本来已经运行得非常好了,这个时候如果我们贸然换编程语言的话,投资回报率是比较低的。我们花了大量的时间切换语言,但是产生的收益非常非常的微小。
但是如果我们使用现在的python语言编写的自动化代码运行不够好,测试比较脆弱,或者效率不高,换成Java语言能解决这些问题,我认为时值得的。
如果在测试的代码库中有一些运行很正常,而有些不太好,那么我们可以把那些运行不好的代码用 Java 语言重写,而那些正常的代码则继续使用 Python 语言,在合适的时候再考虑全面切换。
第三点,我们需要考虑:目前手工测试人员是否能快速适应自动化任务。
大多数的手工测试员代码水平是不高的,如果我们换成另外的一门编程语言那肯定会增加非常非常高的一些学习成本。
相对来说, python是非常容易入门的,对初学者也非常友好,所以手工测试上手自动化的速度也会比较快,但是如果我们换成了java语言,手工测试要去适应这一门语言可能需要非常长的时间。
第四点,我们需要考虑:是否能和开发人员进行很好的配合?
很多测试团队选择自动化语言的时候,考虑的是和自己公司或者是自己团队的开发语言保持一致,比如说公司里面使用java语言开发,那么我们就使用Java进行自动化测试,这样会比较方便,在适当的时候开发人员也可以运行我们的自动化测试代码。
但是据我所知,国内很少有开发人员有运行测试用例的习惯。甚至有很多的开发团队,瞧不上测试,拒绝做单元测试和自测,对测试的态度非常恶劣。
如果你碰到的是这种情况,那么,把自动化测试的语言换成和开发一致,并不会带来任何的好处。
最后,我们需要清晰的算出,为什么要换语言?
是现在的编程语言,不能支撑已有的测试场景,还是新的语言能够带来非常直观的效益。
比如在一些对性能要求非常非常高的场景下,那使用python也可能不是很合适,这时候换成 go 会更合适。 有时候我们需要搭建比较强力的测试平台,用 Java 的 spring boot 可能会更合适。
总之换技术站或者是换编程语言,没有绝对正确的答案,必须要根据我们的业务场景和公司的具体情况进行分析。希望这篇文章对你以后做决策有所帮助。
欢迎来到testingpai.com!
注册 关于