Lichess provides an almost perfect way to interactively train your opening repertoire. The only downside? It currently only tests you on the main line. Meaning you would have to split out every variation into a separate chapter to access the feature. If you have a basic opening repertoire, then this isn't an issue. But for those of you that are more ambitious, I'd recommend getting Chess Position Trainer.
Chess Position Trainer helps you to create, manage, learn
and apply your chess opening repertoire. Here is how it helps you:
A position database concept instead of game database is more natural and avoids pseudo games
Easy repertoire management
Unique concept to organize your opening repertoire. You can represent it by using folders, openings, variations and sub-variations
Innovative training mode with almost endless options to suit every training style will ensure that you train your repertoire the way you like it and as efficient as never before at the same time. Meet your next opponent confident that you know your repertoire!
Scheduler shows you when you have to recall learned positions before you are about to forget them!
Blindfold training mode helps you to improve your visual skills
Comprehensive statistics provide an import insights into your repertoire
Customizable user interface State-of-the-art user interface which you can customize to your likings (including skins)
And there is more...
CPT indicates your opening knowledge by a percentage number to give you confidence.
Learn from every game you play (including online blitz), because the key information is no longer more than one click away! Stop your laziness as the author of CPT finally did by using the “Run games against Repertoire” function.
Import any PGN-files to fill-up your repertoire quickly.
Chess engine support to analyse key positions.
Scalable: you have an opening with over 70,000 moves? Don’t worry, CPT won’t slow down!
Powerful functions like the min-max function to automatically calculate forced winning (or losing) lines based on leaf node evaluations.
To download visit the Chess Position Trainer website