I am working as a software developer from last 2 years but I am still very slow at programming. My concepts and logical skills are good but I get stressed while completing complex tasks. I am comfortable while completing less complex tasks at good speed. When I review my team members work I easily find bugs in it and enjoy reviewing and testing their work. Should I change my profile to software testing.
TL;DR: Do some research, because you might not know what the actual job of a tester is.
Coder-tester hybrid here. Before you make your decision, there are a few things you should consider:
- If you've only been working as a developer for two years, the stress and discomfort are natural. Learning is uncomfortable and challenging and frustrating. After 2 years on the job, you're still learning. Give yourself some time.
- Finding bugs is not the purpose of testing. Bugs are merely a by-product, and "bug-hunting" is not the biggest part of a tester's job.
- If you get stressed out by complex tasks, you'll be stressed by testing too.
- You'll have to adopt a new mindset.
- You need to do quite a bit of self teaching. The useful information on testing is not properly organized and you have to hunt down the resources for yourself. Having said that, you can ask other testers to give you some tips, including myself.
- Developers are still the stars of the show. Testing is the last step before going live and there's never enough time to do the job properly, partly because of delays in development. That's a lot of pressure and we often still end up as scapegoats for the delays.
One major difference I found between coding and testing, is that while I was working as a developer, I was allowed to focus on a small part of the system, a couple of components at a time. That way I could learn all the nuts and bolts and be more confident. As a tester on the other hand, I had to consider the big picture and have a decent understanding of the entire system I was working on, even those parts which were not being developed within my team/project. It happens all the time when you're working for a large organization with lots of interdependent components scattered across a number of departments. If you're trying to avoid complexity by moving into testing, I think you're moving in the wrong direction.
Talk to the testers you're working with, especially the more experienced ones and try to understand what their actual job is, rather than what you think they do. Testing is really easy, if you're a mediocre tester, but it gets really difficult (and fun) if you put effort into it and believe in the importance of your work.