One of the more important concepts you should use in your training is to isolate specific techniques so you can work on them. At its most simple you work on individual shots, such as a forehand or backhand drive, loop, or push. Most players understand this and spend countless hours perfecting these shots.
However, once these shots are perfected in practice, should you go straight to matches? Probably not. Instead, the next step would be to isolate various combinations. For example, many players regularly loop against backspin, and then follow with a loop or smash against the likely blocked return. First you'd want to develop the loop against backspin, and the loop or smash against block. But once you have these two shots down, it's time to put them together. For example, you do a drill where you serve backspin to your partner's backhand; he pushes it back to a pre-set spot (such as your middle backhand); you loop a forehand (or backhand) to your partner's backhand; he blocks to your forehand; then you loop or smash that ball anywhere, and then it's free play until the rally ends. As simple as this is, this is one of the most important drills for most developing players.
Another example might be to have your partner push and then block to your backhand, and you backhand loop the first (or drive, if that's how you attack backspin), and follow with a backhand loop or drive against the block, then free play. This backhand one-two combo is extremely valuable and comes up in matches all the time, and yet many players fail to practice it.
There are many other example, though opening against a backspin and following up against a block is probably the most common. They key here is that you have to lift some against the backspin, while you don't lift much against the follow-up shot against a block, but unless you practice it, you might find yourself accidentally lifting the second ball and watching it go off the end.
If you are a hitter you might serve fast topspin to your partner's backhand; your partner counter-hits back your backhand; you backhand hit to your partner's backhand (or some other pre-set spot), he counter-hits to your backhand again (not too hard), and you step around and smash a forehand, then it's free play.
You can also add some serve and receive. For example, have your partner serve short backspin to your forehand (or backhand); you push back to a preset spot (and perhaps push short); partner pushes to your backhand; you backhand loop. Or some other version of this.
You can also add some more randomness to the drills. For example, you serve backspin to your partner's backhand, he pushes back randomly anywhere on the table, you loop (forehand or backhand) to his backhand, and he blocks either randomly or to a pre-set spot, and then free play. Or, if you do that drill well, go random on this drill from the start. If you are a hitter serving fast topspin, your partner can return anywhere and you have to follow with a smash, forehand or backhand. (Note - there aren't too many pure hitters at the higher levels anymore, alas.)
Think about your game and what types of shots and combinations you use (or should be using). Isolate two shots that you commonly do in combination. Then design a drill for those two shots and go out and practice!