super(A,self).test()means: call the method of the testobject after A in the selforder of the method resolution (mro).
using D.__mro__, you see that the resolution order of the method:
<class '__main__.D'>, <class '__main__.A'>, <class '__main__.B'>, <type 'object'>
So, testof Bis called.
Python 3 super().test(), , . Python 2 : super(D,self).test()