逆天老板要求把代码从python转写Java,是你,你怎么办?

930 篇文章 26 订阅
645 篇文章 0 订阅

我有一个朋友,有一天问我这样的一个问题:“说现在他们公司有五个 python 测试工程师。但是有一天领导要求他把所有的自动化测试代码,全部都转化成 Java 语言。”

虽然说他们在行动上还是接受了领导的任务,但是他一直想不清楚,这个真的有必要吗?

前言

这是一个非常好的问题。至少他比「哪门编程语言才是最好的测试语言?」更好,因为这个问题有具体的语境,有人员的组织结构,以及一些更具象化的场景。实际上这个世界上并不存在什么最好的语言,每一门编程语言的选择,都需要根据公司的具体使用场景、现有人员的组成结构、学习成本以及编程语言的生态等等一系列的问题来考虑。

说实话我不能笼统的说,从 python 语言转化成 Java 语言是有必要的,但是如果你遇到了类似的问题,你可以从以下一些方面来考虑。如果你已经掌握了 python 做自动化测试,在考虑要不要学 Java,也可以从这些方面考虑

首先第一点,做自动化测试是可以同时使用两门语言,甚至是多门语言的。

比如现在你们公司主要用 python 语言做测试。忽然有一天,你们公司的领导甚至是你们公司的老板,要求你们换用 Java。

那么我们首先做了第一件事情,就是当有新的测试代码需要编写的时候,我们可以直接使用 Java 语言, 而已经编写好了的老的代码,继续使用原来的 Python 语言。

这样我们可以在最短的时间下,完成老板交代的任务,也可以少做一些无用功。

第二点,我们需要考虑换编程语言,产生的成本和收益。

如果现有的测试用例本来已经运行得非常好了,这个时候如果我们贸然换编程语言的话,投资回报率是比较低的。我们花了大量的时间切换语言,但是产生的收益非常非常的微小。

但是如果我们使用现在的 python 语言编写的自动化代码运行不够好,测试比较脆弱,或者效率不高,换成 Java 语言能解决这些问题,我认为是值得的。

如果在测试的代码库中有一些运行很正常,而有些不太好,那么我们可以把那些运行不好的代码用 Java 语言重写,而那些正常的代码则继续使用 Python 语言,在合适的时候再考虑全面切换。

第三点,我们需要考虑:目前手工测试人员是否能快速适应自动化任务。

大多数的手工测试员代码水平是不高的,如果我们换成另外的一门编程语言那肯定会增加非常非常高的一些学习成本。

相对来说, python 是非常容易入门的,对初学者也非常友好,所以手工测试上手自动化的速度也会比较快,但是如果我们换成了 Java 语言,手工测试要去适应这一门语言可能需要非常长的时间。

第四点,我们需要考虑:是否能和开发人员进行很好的配合?

很多测试团队选择自动化语言的时候,考虑的是和自己公司或者是自己团队的开发语言保持一致,比如说公司里面使用 Java 语言开发,那么我们就使用 Java 进行自动化测试,这样会比较方便,在适当的时候开发人员也可以运行我们的自动化测试代码。

但是据我所知,国内很少有开发人员有运行测试用例的习惯。甚至有很多的开发团队,瞧不上测试,拒绝做单元测试和自测,对测试的态度非常恶劣。

如果你碰到的是这种情况,那么,把自动化测试的语言换成和开发一致,并不会带来任何的好处。

最后,我们需要清晰地算出,为什么要换语言?

是现在的编程语言,不能支撑已有的测试场景,还是新的语言能够带来非常直观的效益。

比如在一些对性能要求非常非常高的场景下,那使用 python 也可能不是很合适,这时候换成 go 会更合适。有时候我们需要搭建比较强力的测试平台,用 Java 的 Spring boot 可能会更合适。

总之换技术站或者是换编程语言,没有绝对正确的答案,必须要根据我们的业务场景和公司的具体情况进行分析。希望这篇文章对你以后做决策有所帮助。

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值