Как к аппаратным интерфейсам программного обеспечения интеграции/модульного теста

Для ленивых, добавьте это в начало вашего кода:

#include <time.h>

// from android samples
/* return current time in milliseconds */
static double now_ms(void) {

    struct timespec res;
    clock_gettime(CLOCK_REALTIME, &res);
    return 1000.0 * res.tv_sec + (double) res.tv_nsec / 1e6;

}

Назовите это так:

double start = now_ms(); // start time

// YOUR CODE HERE

double end = now_ms(); // finish time

double delta = end - start; // time your code took to exec in ms
6
задан guerda 17 June 2009 в 05:38
поделиться

2 ответа

Сначала необходимо определить интерфейс между роботом и программным обеспечением; не обязательно полностью, это можно делать постепенно. Начните с малого, например, с основных движений (вперед, назад), затем, как только он будет полностью протестирован, как изолированно, так и интегрированно, добавьте некоторое поведение (например, поверните налево, поверните направо), повторите тестирование. Таким образом, вся команда сможет использовать то, чему она научилась на протяжении всего проекта, для расширения интерфейса, возможно, минимизируя переделки интерфейса.

В статье Progress before Hardware такой процесс описывается более подробно,

9
ответ дан 9 December 2019 в 22:39
поделиться

Я думаю, это очень интересная ситуация.

Я считаю, что с вашим процессом тестирования нет никаких проблем. Если вы издеваетесь над своим роботом и проверяете его на основе этой имитации, все будет хорошо.
Если аппаратный робот действует иначе, чем ваш смоделированный робот, возникает еще одна большая проблема: Связь .

Интерфейс между программным обеспечением и оборудованием - это спецификация «протокола». На мой взгляд, его нельзя менять без обсуждения. Аппаратные ребята не могут его изменить, и вы, программисты, тоже! Вы можете изменить это только вместе. В вашей ситуации каждый меняет ее самостоятельно.

В вашей ситуации кажется, что ваши команды работают друг против друга. Так что постарайтесь сосредоточить свои усилия на интерфейсе и особенно на общении, а не на интеграционном тесте, который все равно не сработает.

Я предлагаю использовать макет программного обеспечения робота в качестве единственного и неповторимого . Так что вы можете положиться на свой макет, а там ' Когда программисты захотят это изменить, хорошо. Они должны обсудить это с вами, и вы измените макет программного обеспечения. Если оборудование было изменено, а макет - нет, приносим свои извинения, потому что вы разрабатываете в соответствии со своими требованиями.

Удачи!

2
ответ дан 9 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: