Question: Soldiers gain experience from killing enemies. At what experience levels do the soldiers advance to the next rank?

Answer: 
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?](https://gaming.stackexchange.com/questions/88983/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.
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.