diff --git a/AtlasTest/ControlTest/test/ProxyProviderSvc_test.cxx b/AtlasTest/ControlTest/test/ProxyProviderSvc_test.cxx
index 8ef9e12a5454fac9ead2a53497411d4da31ffb28..275818242c4ab766585410b978c1b3b64fa8bb9c 100644
--- a/AtlasTest/ControlTest/test/ProxyProviderSvc_test.cxx
+++ b/AtlasTest/ControlTest/test/ProxyProviderSvc_test.cxx
@@ -61,13 +61,8 @@ private:
 CLASS_DEF(FooBar, 8109, 0)
 
 template <typename PROXIED>
-class TestProvider : public IAddressProvider {
+class TestProvider : public implements<IAddressProvider> {
 public:
-  virtual unsigned long addRef() override { std::abort(); }
-  virtual unsigned long release() override { std::abort(); }
-  virtual StatusCode queryInterface(const InterfaceID &/*ti*/, void** /*pp*/) override
-  { std::abort(); }
-
   TestProvider(const std::string& key) :
     m_ID(ClassID_traits<PROXIED>::ID()), m_key(key)
   {  }
diff --git a/Control/IOVSvc/test/IOVSvc_test.cxx b/Control/IOVSvc/test/IOVSvc_test.cxx
index d685b66708e15580f632dea08fc8f983389b1329..a44d3c95c8a1486b65259df03c998dcc20947ea7 100644
--- a/Control/IOVSvc/test/IOVSvc_test.cxx
+++ b/Control/IOVSvc/test/IOVSvc_test.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 /*
  */
@@ -86,15 +86,11 @@ DataObject* TestAddress::dobj()
 
 
 class TestLoader
-  : public IConverter
+  : public implements<IConverter>
 {
 public:
   virtual StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) override;
 
-  virtual unsigned long addRef() override { return 1;  }
-  virtual unsigned long release() override { return 1; }
-  virtual StatusCode queryInterface(const InterfaceID &/*ti*/, void** /*pp*/) override { std::abort(); }
-
   virtual StatusCode initialize() override
   { std::abort(); }
   virtual StatusCode finalize() override 
@@ -143,16 +139,11 @@ StatusCode TestLoader::createObj( IOpaqueAddress* pAddress, DataObject*& refpObj
 
 
 class TestDBSvc
-  : public IAddressProvider, public IIOVDbSvc
+  : public implements<IAddressProvider, IIOVDbSvc>
 {
 public:
   TestDBSvc();
 
-  virtual unsigned long addRef() override { std::abort(); }
-  virtual unsigned long release() override { std::abort(); }
-  virtual StatusCode queryInterface( const InterfaceID& /*ti*/, void** /*pp*/ ) override
-  { std::abort(); }
-
   virtual StatusCode updateAddress(StoreID::type /*storeID*/,
 				   SG::TransientAddress* /*pTAd*/,
                                    const EventContext& /*ctx*/) override