Soldiers gain experience from killing enemies. At what experience levels do the soldiers advance to the next rank?
As this wiki page suggests (game mechanism tuning, did not tested myself), there is a XP chart for your soldiers:
Soldier XP Levels (Rookie, Squaddie, Corporal, Sergeant, Lieutenant, Captain, Major, Colonel) - m_iSoldierXPLevels=0 - m_iSoldierXPLevels=90 - m_iSoldierXPLevels=300 - m_iSoldierXPLevels=510 - m_iSoldierXPLevels=745 - m_iSoldierXPLevels=1100 - m_iSoldierXPLevels=1560 - m_iSoldierXPLevels=2150
Though kills does not make all. It does bring experience, as stated in Does the type of kill matter for promotion?, but all your promoted soldiers did not necessarily killed a target. It can be assumed that participating to a kill also grants some experience.
Furthermore, I think there is a mission bonus awarded to each surviving soldier.
There are also bonus that can be bought through the soldier academy: wet work that increase the amount of experience gained and the new soldier auto-squaddie promotion come to my mind.
The XP chart for promotions is correct. However - you don't have to kill to earn points. For example: A Sectoid kill gives you 30pts. A successful abduction mission gives you 80pts.
Make 1 Kill, survive, accomplish mission = 110pts aka Squadie promotion. Don't make a kill, survive 2 accomplished missions = 160pts
I had a colonel after 29 kills that just hadn't been on that many missions, she was a psi and i had a large dry spell of psi soldiers. My primary goal in every mission for my team was to get her as many kills as possible as quickly as possible. I have also had colonels early game with much fewer kills (high teens i think is my lowest...mebe 19...not verified) simply because they were along for the ride as my overwatched squadsight sniper got 1/3+ of all kills. I have definitely had soldiers level up from mission completes without getting a kill.
In order for a soldier to rank up, he/she has to kill a set number of aliens. I do not know if it has to all be on one mission, but anecdotal evidence through my playthough indicates that it is kills in total, not kills in one mission, and that which type of alien is killed doesn't matter. My Colonel (the highest rank) with the least number of kills has 24 kills across all missions. My Major (second highest rank) with the most kills has 18 across all missions. I believe that recruit to squaddie is 1 kill, and squaddie to Corporal is 3 kills. Not definite about any others.