Join 34,000+ subscribers and receive articles from our blog about software quality, testing, QA and security.

Working with external hardware


I am new to Gurock. I haven’t yet downloaded even the trial version.

What I would like to do is use Gurock to test a hardware product. My hardware has a serial port and when I send in certain commands, it sends me some response. If the response is as expected then the test is passed. Also, the response has a timeout, so if the response doesn’t come in some particular time window, the test is failed.

With Gurock, I think I can write all the test cases (there will be hundreds of such) and also any other novice user in the company will be able to write the test cases. But when it comes to execution, I am dependednt on the hardware. Therefore having a serial port access via Gurock would be the best.

In future, my product will also have a TCP/IP port so I can send in the command and get response via IP as well.

So, the question is: Is Gurock the right product for my needs? If not, where should I look at? If yes, are there any more details available?

Thanks a lot,


Hello Gopal,

Thanks for your posting. Our product TestRail (Gurock is the company name) is mainly used for manual testing and integrating automated tests (via TestRail’s API). While you can also trigger automated tests from TestRail, executing the tests directly (e.g. sending commands to your serial interface or via TCP/IP) is not part of the product. So, while TestRail is very useful for managing test cases, collecting test results and displaying them in various ways you would need to use an additional tool to program and execute your automated tests (i.e. sending the commands to your hardware device and analyzing the result/response). Many TestRail users use TestRail in combination with unit testing frameworks such as JUnit, NUnit or other automated testing frameworks for such purposes.

I hope this helps and please let me know in case you have any further questions!



Thanks Tobias for clear reply.
Okay, so on an alternate option, is it possible to do it the following way?

  1. I write a script or a small program (for e.g. in PHP or python or C++, anything for that matter) which takes care of the hardware interfacing to my product.
  2. I write a test case using Gurock in which each step calls a particular script as written in step 1 and executes it.
  3. In one of the steps in this test, the script passes resultant data to the test case and test case says it Pass / Fail after comparing with expected data.

The test case steps should be able to pass data to the script and read data from a script execution.

If this is possible, then I think it will be useful for me.



Hello Gopal,

Thanks for the update and my apologies for the delayed response. Yes, this is possible with one limitation. I would recommend using dedicated test cases instead of single steps to implement this but otherwise this should work. We have an example for a similar scenario available on and this should be a good starting point:

The idea is to trigger your test script from TestRail. The script would then execute your automated tests and report back the results via TestRail’s API:

Please let me know in case you have any questions and I look forward to your reply.