Who can become good SM? A person with Development background or QA (Testing) background?
@SUMIT AGRAWAL, In my opinion, it would be anyone who can exhibit servant-leadership and has coaching skills. The technical skills aren't mandatory however, it would be a huge plus.
I agree with @Steve Vb. Technical skills really have no bearing on it. I recently worked with a fantastic Agile Coach/Scrum Master. Her background was as an online Community Manager and she had just enough technical experience to understand how computer software worked. But what made her so fantastic was her servant-leader mentality. She was even coaching some of the sales and marketing organization on how to be more agile in their work.
There are times that technical background could hinder a new Scrum Master because unless they can truly step back from the work being done in order to focus entirely on the team dynamics.
Her background was as an online Community Manager and she had just enough technical experience to understand how computer software worked. But what made her so fantastic was her servant-leader mentality.
I once recommended that a Business Analyst become Scrum Master for the same reason. When I first broached the possibility with her, she was surprised, as she did not consider herself to be SM material. It was also contrary to the organization's expectations for a BA to take the SM role. However, her demonstration of servant leadership was clear, being above and beyond, and so that was the recommendation I made.
Technical skills have absolutely zero bearing on whether a person will be a good SM. Personality, drive, how they interact with others, and most importantly, do they willingly and automatically serve others.