For disks just use shred -vzn1 /dev/... to write random garbage then zeros to the card, then do a blkdiscard, then use nvme tool under Linux to read out smart log to see if any errors happened. For HDD a smartctl offline long test (many tens of minutes to many hours depending how large it is) would be appropriate.
For CPU board and RAM I always recommend Passmark's Memtest, because it will also show ECC RAM errors from the controller, not just plain RAM errors.
For stability, establish 50% of RAM as swap and then use "nice stress-ng --vm $(nproc) --vm-bytes 86% --vm-keep --vm-populate --vm-madvise willneed --verify -v -t 4h --tz --perf" (see my post
https://forums.servethehome.com/index.php?threads/ram-error.36932/#post-341921) to torture the system. If you have ECC RAM, start rasdaemon to get reports of errors into system log.
Finally I have observed that compiling the Linux kernel on all cores+HT cores (24C/48T -> -j48) will produce 10-50 watts more load than stress-ng alone. So you can do that as a final step to see if your power stages on the board hold up or blow up.