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.
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