A soldier earns experience during combat. After the mission, the soldier will then earn a random amount of stat increases. What stats are boosted depends on what sort of experience was earned during combat.
The list of experience that a soldier can earn during combat are:
General Hits: This counts how many times you hit an enemy target with any bullets or any area effect weapon such as rockets, grenades and stun bombs. The stats that are influenced by this consist of Time Units, Stamina, Health, Strength and Firing Accuracy.
Melee hits: This counts how many times a melee attack was used against an enemy target. This influences Time Units, Stamina, Health and Strength
Psionic Hits: This counts how many times a psionic attack was successfully used against an enemy target. It influences, Time Units, Stamina, Health, Strength and Psi Skill
Number of times Unit has Panicked: Literally, this counts how many times the unit suffers from severe morale loss. This positively influences Time Units, Stamina, Health, Strength and Bravery.
Number of times Opportunity fire was used: Again, this literally counts how many times a soldier performs a reaction shot. This not only influences Time Units, Stamina, Health, Strength and Reactions, the shot, if it hits, is counted as a general hit. This stat has the potential to do double the work.
Number of times objects were thrown: This experience counter is the simplest of the lot. It counts how many times the soldier has thrown an object. It only influences throwing accuracy.
Take note that a soldier CANNOT increase strength by being overly encumbered.
With the exception of psi skill, all stats can only be trained through combat experience.
Any combat experience earned will influences promotions. The soldier with the highest amount of experience in total will have a better chance of being promoted to the next rank.
More information to follow.