|
Тесты железа, как их организовать в CVS? |
|
|
|
Jul 18 2006, 11:08
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Вопрос этот мучит меня уже долгое время.
Ситуация: имеется железо, которое мы сами делаем. Вначале оно собирается, спаивается, потом его отлаживает разработчик, потом оно должно быть проверено на соответствие ТУ, потом в нем находятся ошибки, они исправляются и железо пересдается по ТУ. Каждый шаг сопровождается написанием каких-то тестовых программочек. Со временем их становится много и непонятно, что с ними делать.
Я давно веду все проекты в CVS, и в этом деле не новичок, но как организовать тесты в CVS я до сих пор не придумал. Баг-трекер тоже имеется, они даже связаны между собой, но ясности все равно мало.
По идее само тестирование делится на функциональное, нагрузочное, регрессионное и т.п. (по аналогии с софтом). С другой стороны на этапе отладки железа появляются тесты, которые, в принципе, никак не относятся к проверке функционирования по ТУ. А при нахождении в железе ошибок должен появиться набор регрессионных тестов, которые должны быть включены в функциональные тесты (для последующей проверки по ТУ).
Как организовать структуру каталогов в CVS, чтобы было ясно видно, что для чего? Как организовать модули CVS для тестов: должен ли быть один модуль на все тесты (с веточками по ошибкам, или лучше иметь модули для отладочных, сдаточных и регрессионных тестов)? Может быть, CVS вообще не лучшее средство контроля имеено для тестов?
Если налаживать работу с системой управления требованиями, то появляются дополнительные вопросы. Как связать каждое требование к железу с конретным тестом понятно, но вот - с его историей?
Поделитесь опытом, плз!
|
|
|
|
|
 |
Ответов
|
Jul 19 2006, 03:38
|

Странник
   
Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051

|
Цитата(vitan @ Jul 18 2006, 17:08)  Может быть, CVS вообще не лучшее средство контроля имеено для тестов? CVS уже давно не лучшее средство контроля и для исходников. Рекомендую посмотреть на SubVersion (ссылка на мою страничку). У нее более севершенная технология веток и т.п. Посмотри subversion, может твои идеи (пока не очень понятные) на новой платформе лучше реализуются.
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Jul 19 2006, 06:38
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Узнаю... Когда-то давно читал. Спасибо, но вопрос даже не в средстве контроля (SVN у меня есть, согласен, что она лучше, но исторически юзаю CVS), а в организации процесса, так сказать. Вот, к примеру, исходники многих GNU программ организованы по каталогам типа Arch и Common, каждый каталог для своих целей. Как хранить тесты? Вот типичный примерчик. Надеюсь, с ним идеи прояснятся... Пока ошибка отлаживается, тест изменяется, что наводит на мысли о контроле с помощью системы контроля версий. Причем отладка может занимать долгое время... Потом, когда ошибка устранена, как я понимаю, финальная версия теста должна быть включена в общую копилку тестов. Возникает вопрос: как вести эту общую копилку? С помощью той же системы контроля версий, с помощью базы данных (возможно, связанной с системой управления требованиями), или еще как-то? Кто как организовал тестирование своего железа?
Сообщение отредактировал vitan - Jul 19 2006, 06:48
|
|
|
|
|
Jul 19 2006, 19:42
|
Местный
  
Группа:
Сообщений: 215
Регистрация: 18-11-04
Пользователь №: 1 161

|
Цитата(Doka @ Jul 19 2006, 14:01)  to vitan:
я понимаю что абстрагирование от конкретики на каком-то этапе обсуждения - хорошо. но всёже - конкретно что за тесты? Позвольте встрять незнайке. Я как то давно был приучен к тому, что тест железа делается при помощи сигнатурных анализаторов и арбитражных генераторов. Я что то упустил в подходе к тестированию аппаратуры?
|
|
|
|
|
Jul 20 2006, 09:18
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
2 SPF: Ну вот, спасибо, это один из вариантов. Но, честно говоря, какой-то не очень структурированный... Имхо, имея многообразие видов тестов будет тяжеловато... Про виды я ниже поясняю. Если я правильно понял, то предлагается иметь некий "оперативный" репозиторий, из которого переносить устоявшиеся файлы в "главные" в процессе понимания ценности созданного. Это похоже на фаловую помойку, но только выше на один уровень абстракции (с использованием средств контроля версий). Или я не въехал...? 2 Doka: Тесты у нас пока выглядят так. Если имеем плату с CPU, то пишем тесты отдельных частей платы (разных девайсов), которые исполняются этим CPU. В принципе, testbench-ей пока не делаем, хотя на платах и присутствуют ПЛИСы. Кроме того, недавно появилась у нас т.н. КИА (контрольно-испытательная аппаратура), которая позволяет взять плату, воткнуть ее в КИА, подать на нее воздействие и сравнить результат с желаемым. Поэтому тесты теперь будут исполняться не только на целевой платформе, так сказать. 2 ywg: На фоне таких слов сам чувствую себя незнайкой... Если не затруднит, киньте ссылочку, где почитать... 2 vladv: Сии документы я недавно закончил. Они, конечно, помогают в мозгах порядок навести. Но вот мы начали создавать тесты (по плану, по науке), а как за ними следить и организовать? Если CVS/SVN, то какая структура каталогов? Если база данных, то как выглядит? Я понимаю, что у Вас процесс уже отлажен. Расскажите поподробнее, что дальше?
|
|
|
|
|
Jul 20 2006, 10:01
|

Странник
   
Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051

|
Цитата(vitan @ Jul 20 2006, 15:18)  2 SPF: Ну вот, спасибо, это один из вариантов. Но, честно говоря, какой-то не очень структурированный... Имхо, имея многообразие видов тестов будет тяжеловато... Про виды я ниже поясняю. Если я правильно понял, то предлагается иметь некий "оперативный" репозиторий, из которого переносить устоявшиеся файлы в "главные" в процессе понимания ценности созданного. Это похоже на фаловую помойку, но только выше на один уровень абстракции (с использованием средств контроля версий). Или я не въехал...? Достаточно близко. Только оперативного репозитория не надо. "Сборник" нужных тестов организуется в специально организованной рабочей копии всего чего надо. Про "тяжесть" ничего не скажу т.к. то сих пор не представляю что надо в конце концов... Про структурность, что может быть структурнее Код test_all/ test1/ common/ src/ makefile test2/ common/ src/ makefile test3/ common/ src/ makefile такое получается при небольших затратах и определяется в первую очередь структурой самих тестов.
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Feb 22 2007, 22:52
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
Позволю себе поднять тему. Прошло некоторое время, и появилось больше ясности, накопилось больше опыта, может, кого заинтересует. Итак, предлагался один из вариантов Цитата(spf @ Jul 20 2006, 10:01)  Про структурность, что может быть структурнее Код test_all/ test1/ common/ src/ makefile test2/ common/ src/ makefile test3/ common/ src/ makefile такое получается при небольших затратах и определяется в первую очередь структурой самих тестов. Пришел к следующей структуре Код / /Lib -- наборы часто используемых функций /Tests /Tests/Debug -- тесты на обнаруженные в процессе жизни изделия ошибки /Tests/Debug/Bug1 /Tests/Debug/Bug1/Test1 /Tests/Debug/Bug1/Test2 ... /Tests/Diagnostic -- тесты функционирования изделия (а точнее - его компонентов) /Tests/Diagnostic/Device1 -- тесты отдельных компонентов (CPU, RAM etc) /Tests/Diagnostic/Device1/Subtest1 /Tests/Diagnostic/Device1/Subtest2 ... /Tests/Performance -- тесты характеристик компонентов /Tests/Performance/Device1 /Tests/Performance/Device1/Speed /Tests/Performance/Device1/Accuracy ... /Tests/Reliability -- тесты устойчивойсти всего изделия к внешним воздействиям (температура, питание etc) /Tests/Reliability/Temperature /Tests/Reliability/Power ... /Tests/Interaction -- тесты взаимодействия компонентов /Tests/Interaction/CPUvsRAM /Tests/Interaction/MICvsPHONES /Tests/Interaction/UARTvsVIDEOCONTROLLER ... /Tests/Approval1 /Tests/Approval2 /Tests/Approval3 -- специальные тесты, разрабатываемые на различных этапах испытаний изделия (после приемосдаточных), типа в составе другого изделия, где-нибудь на объекте и т.п. ... Каждый тест делится на свои стандартизированные каталоги, о них в форуме уже много написано. В принципе, получилось жизнеспособно. Новые тесты для новых испытаний можно легко комбинировать с помощью файлика modules, как оно и задумано. Короче говоря, исходный вопрос решился более тщательным продумыванием и осознанием этапности в разработке, а также необходимости повторного использования наработок (/Lib) как можно более часто, за что спасибо ALL. Связи c требованиями пока нет, как и самой работы с требованиями,  но просматривается возможность создания тестов для каждого требования и расположения этих тестов в репозитории в папках с номерами требований (вместо, например, /Tests/Diagnostic/CPU/Test1 будет /Tests/Diagnostic/CPU/Req1). В общем, появились шансы на победу, с чем я себя и поздравляю накануне праздника!
|
|
|
|
Сообщений в этой теме
vitan Тесты железа Jul 18 2006, 11:08  spf Цитата(vitan @ Jul 19 2006, 12:38) Спасиб... Jul 19 2006, 09:31       vitan Цитата(spf @ Jul 20 2006, 14:01) Только о... Jul 20 2006, 12:04        spf Цитата(vitan @ Jul 20 2006, 18:04) А что ... Jul 20 2006, 16:49         vitan Хм. Действительно, здравая мысль. Спасибо.
Что ж,... Jul 21 2006, 06:52          spf Цитата(vitan @ Jul 21 2006, 12:52) 1) Пос... Jul 21 2006, 07:21           vitan Эх, кабы все было так просто... Десяток проектов в... Jul 21 2006, 09:58            spf Цитата(vitan @ Jul 21 2006, 15:58) Эх, ка... Jul 21 2006, 10:20             vitan Да, эти штуки мне знакомы, спасибо. Они даже полез... Jul 21 2006, 14:05   vladv Цитата(Doka @ Jul 19 2006, 14:01) to vita... Jul 19 2006, 19:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|