only a few things are needed to fire an engine.
The piston must be moving up and down. When it moves upward, whatever is in the space above the piston must be compressed.
There must be some fuel and air in that compressed space.
A spark is needed to ignite that air:fuel mixture.
All these things (spark, compression, fuel) can be easily checked to see if they exist or not. If a engine won't fire, one or more of those things is missing.
This sort of problem has to be carefully approached. Sometimes shortcuts are taken that give false results.
For instance, lets say you don't feel like removing the spark plug to check for spark.. after all, it's a pretty good plug and the bike always ran fine with that plug. So, you just hook another plug to the boot and ground it to the engine and see a spark.. and assume that the plug inside the engine is also firing.. But, that could be a false assumption.
So, be systematic about it.. don't assume anything. Double check everything. If there's compression, fuel and a spark, it will fire.