9

I'm planning to make STQA as my career option.
I don't like programming at all however I'm good in manual testing and I have knowledge of understanding code(I do write code sometimes)
But in the long term I don't want to be be spending most of my time focusing on coding.

So if I switch to automated testing then do I have to code?
If yes then what level of coding will be required ?
Being a person with less interest in programming, should I go for automated testing?

Thanks.

2
  • 3
    I don't know to interpret "less interest in programming". If you want to make a career out of test automation, you need to be enthusiastic about programming.
    – user246
    Apr 3, 2017 at 12:50
  • 1
    "So if I switch to automated testing then do I have to code?" - Yes. Apr 4, 2017 at 21:48

5 Answers 5

6

Well I believe nothing can replace manual testing.

Because in automation you can check what is expected, not what isn't expected. So manual testing, exploratory testing is important and will stay.

But you can add performance testing, security testing skills. They don't require much programming skills but do need a lot of awareness of the inter connected systems. You'll be adding a lot of value to your application with these skills.

4
  • Thanks Swastik for your prompt response. I had a look into your profile and found it interesting. Please tell me what level of coding is required in selenium?
    – Rita
    Apr 1, 2017 at 18:13
  • 2
    +1 Interesting, maybe there are some areas in test automation where programming is less heavy, like performance testing. Still having programming skills make sense probably. Apr 3, 2017 at 13:38
  • You need to learn Java first. After that, selenium becomes easy. Use these resources, I'm sure you'll learn pretty first too: toolsqa.com/selenium-tutorial. m.youtube.com/user/GlassBoxT
    – Swastik
    Apr 4, 2017 at 1:56
  • With all due respect, how is this upvoted so many times while it doesn't even remotely address the actual question?
    – FDM
    Apr 5, 2017 at 5:40
3

TL;DR: Yes, test automation means programming. If you want to be a good test automator you will need premium coding skills.


So if I switch to automation testing then do I have to code?

No, there are testing frameworks that do not need coding, but record and playback is currently still less maintainable than just plain handed-coded tests.

If yes then what level of coding will be required ?

If you want to be an expert test automator then you will need expert coding skills. Any test code should be the same high-level as any production code. It contains architecture. Also you might need to rewrite production code to make it testable. Some might disagree, but coding tests is not much different than regular coding in the long run.

Personally I have been horrified by a lot of code some testers create for their test-automation. I have said and will repeat it here: "Most test-automations people are the lesser coding gods. If they weren't they would be programmers instead."

Being a person with less interest in programming, should I go for automation testing?

Probably not. Unless you focus on creating test-frameworks that do not need coding, but the problem here is that you probably will need to code this first.

2
  • I think this is the most realistic answer provided so far. I would even argue that, in many situations, automating tests for an application is more demanding from a programming perspective than creating the application itself. Record-and-replay tools typically result in fragile tests. Apr 4, 2017 at 19:10
  • @VanderLinden I think you are right, test automation is more demanding, certainly for teams doing things like TDD, integration testing and lots of refactoring. Still most test automation we talk about here on SQA.SE is replacement of manual testing. E.g. automation of repetitive manual testing. Here average programming skills might be enough. Apr 5, 2017 at 17:13
2

So if I switch to automation testing then do I have to code? If yes then what level of coding will be required ? Being a person with less interest in programming, should I go for automation testing?

Well yes automation by definition means some level of programming. Even when using visual tools to build cases you quickly run into the need to organize tests and test suites and before you know it you are effectively programming.

That said there is some middle ground. For example both seleniumIDE and GhostInspector are tools that can be used very effectively for automation. Ignore their record and play option - that's a non starter from the start. You can build test cases with these tools using good practices such as robust element identification, Page Objects (through js variables) and happy/sad/optional paths.

If you are using an actual programming language / framework to write tests however, for example Ruby-rspec-capybara you will quickly find yourself drawn into your companies coding community and spending less time focusing on representing the customer viewpoint. I have found that there is a trade-off.

You can do both if you make sure you maintain a focus on user experience, usability, accessibility, understanding the business domain and the customers in additional to the demands of programming. It's not easy to do both and many folks find they have to focus on one. The perceived value of an automater over a manual tester in terms of salary is a huge deal - even if a manual tester is actually found to be be finding more bugs.

2

There are a few tools that do not require much programming skills, for example

  • Selenium IDE
  • Test Complete
  • CodedUI

They are record-replay tools. Basically, they record your mouse move-click actions, generate codes and record them as test cases, which you can reuse in the future.

Automated test cases generated by record-replay tools are very easy to be broken as soon as there is one tiny change in the UI you are testing.

For maintenanable and scalable autoamted test cases, you will have to become a developer / tester.

2

The questions posted have been answered. I would like to add my perspective because I have tested software since 2002, and I don't have programming skills.

I've worked to garner respect and trust from each developer and manager I've worked with by finding high value defects that if found in the field would be expensive to fix, and smear the product's and the company's name. My goal has always been to make my manager and my team shine. A "can do" attitude, remaining open to learning, staying flexible and concise but thorough communication are highly valued - anyone can own these. Over time, a top notch detective hat will naturally evolve because of a tester's inquisitive nature. It will get to the point that you have debugged a fair amount prior to the developer seeing the bug for the first time. I'd far rather have a person I've described here on my team, than an automation developer who knows 30 languages and can code in his or her sleep but possesses none or few of these traits.

I wonder if the original poster (Rita) could see herself writing these words. If the answer is yes, then forge ahead and create your career in software testing.

The question remains: Do I think knowing how to code would enhance my career? Yes, I know it would. Do I plan on learning to code? Maybe, but it is not a priority at this time for me. That could always change. Fortunately, I'm a fast study.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.