首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java编写测试自动化,而公司域使用C#/.NET

问用Java编写测试自动化,而公司域使用C#/.NET
EN

Stack Exchange QA用户
提问于 2020-01-08 12:36:29
回答 6查看 5.4K关注 0票数 17

我最近在一家公司找到了一份自动化测试人员的工作,该公司基本上只有手动测试人员(除了我)。短期计划是想出一个很好的测试策略来识别哪个系统,以及测试应该自动化的部分。因此,我想出了一个很好的方案来解决这个问题,但我最关心的是:

这里公司的领域语言是C#/.NET,我最擅长的编程语言是Java。如果用Java编写测试,我会遇到任何类型的问题吗?还是我应该学C#?这些选择的利弊是什么?

EN

回答 6

Stack Exchange QA用户

发布于 2020-01-08 12:52:59

我职业生涯中最大的错误之一是为测试自动化选择了一种与开发团队使用的不同的编程语言。

  • 当您遇到编程问题时,您将得不到开发团队的帮助。
  • 开发人员可能不会运行,也不会维护测试,因为他们将更改应用程序,您将在余生中维护和分析测试结果(例如失败)。
  • 开发人员在添加特性时不会添加测试,因此您将经常落后。

主要是因为他们不喜欢在语言(或框架、工具链等)之间进行上下文切换,因为这是一个麻烦。

现在,我总是用团队的语言编写测试,并让他们尽快维护它们。

C#和Java非常相似,这是微软对Java的回答,因此它具有类似的风格,便于切换。标准库语法有点不同。我会说,只要学C#就行了。

团队是否也大量使用JavaScript?(大部分是由于前端框架),这为一些现代测试框架(如柏树、量角器和木偶师 )提供了选择。考虑向开发团队询问输入信息!

票数 39
EN

Stack Exchange QA用户

发布于 2020-01-08 13:09:12

无论在开发中使用哪种语言,您都可以选择任何语言。但是,如果您使用开发中使用的相同的编程语言,则会更好,在您的情况下,将是C#/.NET,原因如下:

  • 您可以利用您的团队使用的现有库。
  • 开发人员可以帮助您,正如您所说的,您将是唯一从事自动化的人。
  • 开发人员还可以维护测试/脚本。

除此之外,根据您想要自动化的模块或功能,尝试找出哪些自动化工具最适合,并查看这些工具支持哪种语言。如果可能的话,选择一个支持C#/.NET的自动化工具,这样您的团队也可以轻松地采用它。

票数 14
EN

Stack Exchange QA用户

发布于 2020-01-08 13:23:57

明确地学习C#。为什么?

  1. 在Selenium测试级别上,它与Java 9基本上是一样的,带有一些语法糖。使用C#不需要超过2周的时间就能跟上进度。
  2. 为dotnet建立了CI/CD和完整的基础设施。如果您不想手动运行这个自动化测试,那么您必须配置整个基础设施来使用Java (并学习它),或者学习C#并使用现有的。
  3. 两种语言总是比一种语言更好。
  4. 让我们假设您需要测试API。您可能已经有了数据模型、api端点以及所有用dotnet编写的东西。将其中一些内容复制到您的框架中就会容易得多。
  5. 当你被抓的时候,你会给谁打电话?你的程序员伙伴们!

我不认为学习新的编程语言有什么坏处。这只需要一点时间。在这种情况下,我要说的是,您在学习Java 6和Java 12之间的差异时所花的时间是一样的;)

票数 9
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/42084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档