"in the case of testers, until they get the build, what else are they suppose to do?" - In a larger studio there are often multiple projects ongoing, so there should always be a build of something available. Similarly, if you're a publisher then there's always going to be at least one of your developers who has something worth testing. In a smaller studio, on a new project, there might be weeks or months before there's anything worth playing, which is why smaller teams often don't hire dedicated QA team members, and may split QA duties across the team. Alternatively it's possible that a team might employ QA on a short-term contract basis.
"Exactly how long do testers take to test games" - This is unanswerable, just like it would be unanswerable to ask "exactly how long do programmers take to make games". It's a duty that is performed over time, and the amount of time needed depends on many factors - the complexity of the project, the size of the QA team, the quality of the QA tools, the ability of the other team members to respond and act on QA feedback, what level of quality the team are happy to accept before shipping, etc.
"and what is the general work hour?" - Hours for a QA/tester are broadly the same as anyone else's work hours. Here in the UK that's usually 37.5 to 40 hours a week. Some European countries have slightly shorter work weeks. Other countries have slightly longer. Additionally, if there is a crucial deadline coming up it's not uncommon for most or all of the team to do some, or many, extra hours in order to ensure the deadline is hit.
"How can I teach them [ automation testing and unit testing] exists to begin with since they only know Unity?" - how best to educate people is a bit beyond the scope of these forums, but common sense goes a long way. You need to start off with a clear understanding of why you think they need to learn these skills, then politely raise the subject issue with them and be prepared to state why you think it might benefit the project. You should be prepared for them to disagree, and you need to strike a balance between being willing to make helpful suggestions for the good of the team and being willing to accept that other people get to be in charge of their discipline (code, art, design, etc) and have the final say on how to carry it out.
You can also attempt to ask about these things before you join a team. When interviewers say "do you have any questions for us?" this is exactly the sort of thing to bring up.
"If the one I report to is rather shady or exploits me, what should I do being in a lower position than him/her?" - This question is far too vague to give you any concrete advice, since it depends on the situation, such as what exactly you mean by exploitation, whether you are employed or a hobbyist, whether you've signed a contract, which country you live in, etc.
On the whole you have these options:
- Tell that person that you feel exploited by certain behaviour. They may have been doing it by accident, and might be able to rectify their behaviour. Or they might get worse, or fire you. At least you'll find out if anything could be done.
- Tell that person's supervisor that you feel exploited by that person's behaviour. Sometimes this can lead to the situation changing for the better. Other times, nothing changes and your supervisor just gets angry that you reported him or her.
- Ignore it and carry on. Not much fun, but sometimes you don't feel that making a complaint will help, and maybe the project is good enough to make it worthwhile anyway.
- Leave the team/project/company. Sometimes it's best just to have a fresh start, and you can't expect to change or fix everything.