As you noticed, Destruction is pretty straightforward. Each cast and while continued casting, you will increase skill, but this has a caveat: only if you are attacking someone. If you're fizzling your spell in the middle of town, it's not going to increase it.
Alchemy is also straightforward: each potion created will increase your skill. As dpatchery notes, eating ingredients for effect determination will also increase your skill by a small amount.
With Enchanting, each enchant (or disenchant, as LessPop_MoreFizz notes) as will increase skill. dpatchery also notes that you can increase your skill by recharging items with soul gems.
Restoration, namely the healing spells, only increase skill if your health is below its maximum. The others only work if you're in combat or near hostile enemies: this includes spells like Steadfast Ward.
For summoning spells (essentially most things in the Conjuration school), you won't get a skill up for the summon until you enter the range of hostile mobs and, in the case of summoned creatures (like the Atronach and the Familiar), they do some damage. With bound weapons, entering range of hostile mobs is all that's necessary to gain Conjuration skill; however, using them in combat will increase their appropriate weapon skill, not Conjuration.
Alteration and Illusion spells that are targeted towards messing with hostile mobs need hostile mobs within range to skill up. Buffs, like Oakflesh, don't increase skill without hostility as well. Others, like Candlelight and Muffle, are recastable without hostility but only increase skill by a small amount.