Hi Shahab,
Harness software is a kind of automation framework to help verify Thread Stack implementation functionality.
The whole of system comprises of Harness SW running on Windows OS, sniffer, reference unit (golden device) and DUT (device under test). You can find more information about the framework in the specification--Thread-Test-Harenss-Quick-Start-Guide.pdf, that is located under the Harness installation directory. It's better to go through this spec to learn how to use Harness quickly.
Sniffer -- for capturing the radio packets exchanged in the air between reference unit and DUT. Then generate pcap file for specific packet analysis and validation (Harness use this to decide whether all checking criteria are passed or not)
Reference unit -- As reference hardware, Harness calls THCI API to control its behavior over serial port, to communicate with DUT. Currently there are 3 kinds of reference unit, as you noticed: NXP, ARM and SiLabs, 3 vendors.
DUT -- Your own hardware running Thread Stack (for example, your hardware based on OpenThread)
Above all 3 devices are connected to Harness via serial port (USB port). Harness calls THCI API to control the reference unit or DUT (if you enable AUTODUT feature). For example, set the channel, panid, networkname, master key and etc. Taking example of OpenThread, it's CLI mode (you might notice that THCI API just sends CLI command to hardware over serial port), not NCP.
Here, what I understand is that you want to have one hardware running OT as reference unit and one hardware running OT as DUT. If you just want to verify the functionality of DUT running OT, you do not need to go through the process mentioned in above README.md. What you need to do is just picking up one vendor's hardware as reference unit and program it with corresponding firmware (you can find the firmware under the harness installation directory). Then drag the device in Configure Test Bed panel.
The process mentioned in above README.md is for standalone testing (OT as reference unit VS OT as DUT), since Harness does not support OT as reference unit officially.
Is this explanation clearer?
Thanks,
Xiao