Testing a telemetry and telecommand interface

ChrisR
  • Testing a telemetry and telecommand interface ChrisR

    I am currently writing a generic telecommand and telemetry library which I plan to use on Zephyr RTOS.

    Given an input CSV file, it generates some C++ code which can then easily be integrated in the rest of the project. Specifically, it generates a telecommand function and a telemetry function per defined subsystem. Each subsystem has a set of valid TM and TC data points, but those are known only at generation time.

    How should I go about testing that the library can work? I am thinking about defining stub functions which could check that the correct telemetry is read and the correct telecommand is acted upon.

    Are stub methods the usual testing methodology for embedded/IoT device testing? If not, what is the more common practice?

  • This belongs more on the SQA SE, but here there is better context. Usually you would want three levels of testing

    • Unit tests, in your case this can be testing the generated code even without an OS. You can achieve it by mocking whatever is missing.

    • Integration tests, mocking everything will check the generated code but will tell you nothing about how it behaves in a real system using a real OS. Starting from small things like "will the code compile" to more subtle things like sending the correct parameters to external functions, or taking into considerations timing. Integration tests might need to run on the real system and hardware, but will not need external dependencies like a network or servers.

    • End to end or system tests, finally you will really want to see that everything works together using real system and environment. in E2E tests you will find things that are hard to simulate, for example extreme timing conditions, malformed or lost messages, or different input formats.

Tags
protocols testing
Related questions and answers
  • I am currently writing a generic telecommand and telemetry library which I plan to use on Zephyr RTOS. Given an input CSV file, it generates some C++ code which can then easily be integrated in the rest of the project. Specifically, it generates a telecommand function and a telemetry function per defined subsystem. Each subsystem has a set of valid TM and TC data points, but those are known only at generation time. How should I go about testing that the library can work? I am thinking about defining stub functions which could check that the correct telemetry is read and the correct

  • understanding correct: not withstanding the need for a power supply, the add-on switches wirelessly control the 'master' switch in the ceiling? putting the master switch in the ceiling is a dumb idea and I should used something designed for that purpose? If my understanding is correct, can someone please point me in the direction of a device that I can put in my ceiling and the corresponding wall...Dumb Question about Smart Switches I have been reading about smart switches, this article mentions load control switches (master, should be one per light) and add-on switches (non-load controlling

  • understanding correct: not withstanding the need for a power supply, the add-on switches wirelessly control the 'master' switch in the ceiling? putting the master switch in the ceiling is a dumb idea and I should used something designed for that purpose? If my understanding is correct, can someone please point me in the direction of a device that I can put in my ceiling and the corresponding wall...Dumb Question about Smart Switches I have been reading about smart switches, this article mentions load control switches (master, should be one per light) and add-on switches (non-load controlling

  • I am about to set up an MQTT network at home. I want to build up some knowledge by practical exercises. It would be a small network with the broker hosted on my laptop (Windows 7) and some Raspberry Pi powered client. Also I am thinking about making a client on my phone (Android). My goal is to have a simple network on which I can experiment and I want to perform some security testing... user documentation Results reporting and analysis But also I am interested in some more simple practices I can use to verify MQTT security features. What are the simplest ways for a beginner

  • I am about to set up an MQTT network at home. I want to build up some knowledge by practical exercises. It would be a small network with the broker hosted on my laptop (Windows 7) and some Raspberry Pi powered client. Also I am thinking about making a client on my phone (Android). My goal is to have a simple network on which I can experiment and I want to perform some security testing... user documentation Results reporting and analysis But also I am interested in some more simple practices I can use to verify MQTT security features. What are the simplest ways for a beginner

  • codes. If anyone can help. That would be appreciated. Thanks I have code in java script for doing the same task but that is working on command prompt. Can someone convert this code to C for arduino...I am in a middle of an IOT project. I have to design the dashboard. I am facing difficulties in setting up the dashboard. I am using thingsboard.io I want to know how to send data from thingsboard... { client.publish('v1/devices/me/rpc/response/' + requestId, message); } }); function publishTelemetry() { emulateTemperatureChanging(); client.publish('v1/devices/me/telemetry

  • codes. If anyone can help. That would be appreciated. Thanks I have code in java script for doing the same task but that is working on command prompt. Can someone convert this code to C for arduino...I am in a middle of an IOT project. I have to design the dashboard. I am facing difficulties in setting up the dashboard. I am using thingsboard.io I want to know how to send data from thingsboard... { client.publish('v1/devices/me/rpc/response/' + requestId, message); } }); function publishTelemetry() { emulateTemperatureChanging(); client.publish('v1/devices/me/telemetry

  • not interpret the image ...again. Below, I have added the code parts for the encoded sample image (that the browser interpreted as image) and then the camera function (which interpreted them...I have an arducam mini 2MP camera connected to an ESP8266 (12-E) module and I am trying to implement video streaming inside a window with some text and control buttons around it, all in the same... Iframe element. string = "<iframe srcdoc='<img src=\"data:html/text;base64,/9j/4AAQ..... \" > ' > "; My mistake was that I did not use the quotes with the correct order and image data

  • not interpret the image ...again. Below, I have added the code parts for the encoded sample image (that the browser interpreted as image) and then the camera function (which interpreted them...I have an arducam mini 2MP camera connected to an ESP8266 (12-E) module and I am trying to implement video streaming inside a window with some text and control buttons around it, all in the same... Iframe element. string = "<iframe srcdoc='<img src=\"data:html/text;base64,/9j/4AAQ..... \" > ' > "; My mistake was that I did not use the quotes with the correct order and image data

Data information