Writing test automation in Java, while the company domain uses C#/.NET
I´ve recently got a job as a automation tester in a company, that basically only have manual testers (except me). The short term plan is to come up with a good test strategy for identifying which of the systems, and what parts where the test should be automated. So I have came up with a pretty good plan for how to tackle the problem, but my main concern is this:
The domain language in the company here is C#/.NET and my strongest programming language skill is Java. Will I encounter any types of problems by writing the tests with Java, and what could that be? Or should I just learn C#? What are the pros and cons for these alternatives?
One of the biggest mistakes in my career was to pick a different programming language for the test automation than the development team uses.
- You won't get help from the development team when you have a programming issue
- Developers will probably not run, nor maintain tests as they change the application, you will be maintaining and analysing test results (e.g. fails) for the rest of your life
- Developers will not add tests when adding features, so you will lag behind constantly
Mainly because they will not like context switching between languages (or frameworks, toolchain, etc) as it is a hassle.
Now I always write tests in the language of the team and get them to maintain them as soon as possible.
C# and Java are very similar, it was Microsoft's answer to Java, so it has a similar style for easy switching. The standard library syntax is a bit different. I would say just learn C#.