diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py
index a3c3126036..b82c7c7294 100644
--- a/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -137,14 +137,59 @@ class TestImage(OESelftestTestCase):
 
         features = '''
 IMAGE_CLASSES:append = " testimage"
-IMAGE_FEATURES:append = " ssh-server-dropbear"
 IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("IMAGE_CLASSES", "testimage", " + 5120", "", d)}"
 TEST_RUNQEMUPARAMS += " slirp"
 '''
         self.write_config(features)
 
-        bitbake('core-image-minimal')
-        bitbake('-c testimage core-image-minimal')
+        bitbake('oe-selftest-image')
+        bitbake('-c testimage oe-selftest-image')
+
+    def _test_testimage_nfs(self, slirp=False):
+        """
+        Check testimage functionality with an NFS rootfs-dbg image
+        (image-combined-dbg), the same rootfs devtool ide-sdk --nfs=rootfs-dbg
+        boots. runqemu recognizes the rootfs tarball and extracts it itself
+        for NFS boot, the same way test_qemu_can_boot_nfs_and_shutdown
+        (runqemu.py) does. Also installs cmake-example-ptest and runs the
+        ptest suite on top of it.
+        """
+
+        # IMAGE_LINK_NAME/DEPLOY_DIR_IMAGE don't depend on the features below,
+        # so the rootfs-dbg tarball path can be derived before building it.
+        bb_vars = get_bb_vars(('DEPLOY_DIR_IMAGE', 'IMAGE_LINK_NAME'), 'oe-selftest-image')
+        rootfs_tar = os.path.join(bb_vars['DEPLOY_DIR_IMAGE'], '%s-dbg.tar.zst' % bb_vars['IMAGE_LINK_NAME'])
+
+        features = '''
+IMAGE_CLASSES:append = " testimage image-combined-dbg"
+IMAGE_GEN_DEBUGFS = "1"
+IMAGE_FSTYPES_DEBUGFS:append = " tar.zst"
+DISTRO_FEATURES:append = " ptest"
+IMAGE_INSTALL:append = " ptest-runner cmake-example-ptest"
+QB_DEFAULT_FSTYPE = "tar.zst"
+QB_FSINFO = "tar.zst:rootfs-dbg"
+'''
+        if slirp:
+            features += 'TEST_RUNQEMUPARAMS += " slirp"\n'
+        self.write_config(features)
+
+        bitbake('oe-selftest-image')
+        self.assertExists(rootfs_tar)
+
+        bitbake('-c testimage oe-selftest-image')
+
+    def test_testimage_nfs(self):
+        """
+        Summary: Check testimage functionality with an NFS rootfs-dbg image.
+        """
+        self._test_testimage_nfs(slirp=False)
+
+    def test_testimage_slirp_nfs(self):
+        """
+        Summary: Check testimage functionality with qemu slirp networking and
+        an NFS rootfs-dbg image.
+        """
+        self._test_testimage_nfs(slirp=True)
 
     def test_testimage_dnf(self):
         """
