I am working on software which supports different hardware device generations. With each software release all device generations are supported, what means that each device generation is also tested.
To avoid huge amount of test we want to freeze development oft he HW layer for some devices, but continue to add functionality ( Logic / UI ) for those devices. Of course in the UI layer should exists some mechanism to disable features not allowed for current using device.
Is there any known good architecture that support such separation?