реклама на сайте
подробности

 
 
> Тестирование встроенного ПО, Кто как тестирует?
lamerok
сообщение Dec 30 2004, 06:50
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 22-06-04
Из: Челябинск
Пользователь №: 88



Вопрос возник вот почему. Ездили у нас товарищи на стажировку в америку. Так вот, там тестирование ПО, происходит следующим образом:
1. С помощью скриптового языка создается программная модель перефириии с которым работает контроллер, т.е. все интерфейсы (SPI, I2C, CAN, HARTи т.д) и нижнего и верхнего уровня, всей переферии (индикатора, управляющих портов, кнопок и т.д)
2. Подсоединяется некое устройство которое передает всю иноформацию с выводов контроллера в компьютер на котором запущена программная модель
3. И вся эта бодяга в разных условиях тестируется.. Т.е эмулируется нажатие клавиш, работа и сбои флеша, озу, ацп и т.д. Причем модель поведения тоже задается с помощью скриптов
4. Выводится отчет об ошибках в каких местах, и что надо сделать чтобы устранить.
Все про все занимает не более 8 часов.

Понятно, что такое быстро не сделать, поэтому возникает вопрос, как кто тестирует ПО????
Я вот например, только человечку (Тестеру) даю, передаю документ с алгоритмом работы и он тестирует, т.е. всякие режимы задает, коротит, отказы делает и т.д. Но на это уходит как минимум неделя.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andk
сообщение Jan 17 2005, 07:46
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 199
Регистрация: 17-12-04
Из: Миасс
Пользователь №: 1 519



Абсолютно согласен с one_man_show по поводу приведенного примера smile.gif

Да, не быстро это все. Про это уже писали в треде.
Необходимость и "глубина" тестирования определяется конкретным проектом.
Единственное что хочу сказать - возможно сделать все.
Хочется с компа скриптами - пожалуйста. Хочется сигнатурник - да на здоровье.
Существуют критерии - стоимость - время - целесообразность создания тестового оборудования. И по приколу эти критерии противоречивы - как в той присказке "Качественно, недорого, быстро - выберите два параметра".
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Jan 17 2005, 11:59
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(andk @ Jan 17 2005, 10:46)
Абсолютно согласен с one_man_show по поводу приведенного примера smile.gif

*


Выходит, Вы как раз склоняетесь к моей точке зрения. rolleyes.gif
За то время, пока фирма сумеет наладить стенд автоматизированного
контроля, "добровольные тестеры" юзеры пришлют нам
M претензий мылом, и мы выпустим N новых версий.
И стенд придется делать заново. Непрерывно. И этот
стенд никогда не успеет за реальной жизнью. И если программа
отлажена (а это делается один раз)- зачем вообще стенд отладки программ ?!!! ohmy.gif

Вообще, такой стенд может иметь смысл толька для
примитивного контроля при массовом производстве ГОТОВЫХ изделий
(но не софта).
Тогда действительно он может существенно поднять производительность
труда и качество продукции.
rolleyes.gif


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
lamerok
сообщение Jan 17 2005, 13:29
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 22-06-04
Из: Челябинск
Пользователь №: 88



Цитата(-Tумблер- @ Jan 17 2005, 14:59)
И если программа
отлажена (а это делается один раз)- зачем вообще стенд отладки программ ?!!!  ohmy.gif
*


Собственно, все отладить в сложной программе не удасться...
Стенд он один для всех версий программного обеспечения и всех версий приборов, собственно это всего навсего колодка для снятия сигналов и занесения информациии куда-нить, например в ПК.

Цитата(-Tумблер- @ Jan 14 2005, 14:23)
Так-так..
Я нажал на кнопку и на дисплее должно появиться
"Добрый день" посередине.
А появилось "добрый вечер" на 19 пикселов сбоку..
Создание тестирующего оборудования для нахождения
таких ошибок обойдется подороже, чем найм бета тестеров.
Но это еще цветочки.

*


Вы наверное удивитесь, но именно так Америкосы и проверяют..

Т.е сигналы с индикаторных портов снимаются стендиком и вообще все сигналы снимаются, а прогрмма эмулирует действия пользователя, снимает сигналы с индикатора и смотрит верные ли это сигналы (Согасно ТЗ. т.е анализирует что сигналы действительно соответсвуют "добрый вечер" на 19 пикселов сбоку).
ПРимерно что они(Америкосы) проверяли, Встроенное ПО под управлением OS CMX Tiny, ЖК 160 на 160, CAN (ихний протокол верхнего уровня), HART, FieldBus, флешка по SPI, 10 клавиш, и всякие управляющие сигналы, часы.

Все действия задавились скриптом (нажатия клавиш, отказы, прерывания готовности каждые несколько мс, запрос мастера по каналу(CAN, HART ) в рендомазное время, неговоря уже про просто проверки отказов и т.д)...

Действительно на создание оборудования ушло у них около 4 лет и дохрена баксов, но сейчас для проверки нового ПО в новых устройствах, они уже тратят буквально не больше дня!!!! Причем для проверки ПО от разных устройств занят 1 человек, который вам через сутки скажет, что в вашей программе неправильно. И что надо поменять. Точнее скажет не он а программа.
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Jan 18 2005, 12:34
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(lamerok @ Jan 17 2005, 16:29)
Вы наверное удивитесь, но именно так Америкосы и проверяют..


*


Не удивлюсь. Судя по качеству Виндоус. biggrin.gif

Цитата(lamerok @ Jan 17 2005, 16:29)
..тратят буквально не больше дня!!!!


*



Даааа ? Полагаю, что и этого много.
И что значит "не больше дня" ? Этот скриптописец ошибется
и не выявит ошибку. Вертолет упадет. huh.gif
Вы также забыли , чтобы такое ТЗ для скриптописца написать
не один человеко-недель понадобится.

У нас на фирме в этом деле занято 0 человек и тратят они 0 дней.
Просто сам программист (инженер разработчик) должен выдать
готовый продукт "и все". Иначе ни в какие бюджеты не влезешь...
Как же он отлаживается ? Единственным способом - степ-бай-степ.
huh.gif


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
lamerok
сообщение Jan 21 2005, 08:58
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 22-06-04
Из: Челябинск
Пользователь №: 88



TMX
Собственно со всем согласен, так оно похоже у всех и делается.
У нас это делает все один человек. Т.е. на один прибор - один человек, который и пишет все блоки для этого устройства или берет уже готовые.
На все блоки своя дока.

Цитата(-Tумблер- @ Jan 18 2005, 15:34)
Даааа ? Полагаю, что и этого много.
И что значит "не больше дня" ? Этот скриптописец ошибется
и не выявит ошибку. Вертолет упадет. huh.gif
Вы также забыли , чтобы  такое ТЗ для скриптописца написать
не один человеко-недель понадобится.

У нас на фирме в этом деле занято 0 человек и тратят они 0 дней.
Просто сам программист (инженер разработчик) должен выдать
готовый продукт "и все". Иначе ни в какие бюджеты не влезешь...
Как же он отлаживается ? Единственным способом - степ-бай-степ.
huh.gif
*


1. Скриптописец ошибиться не может. Так как даже если он ошибся, то программа выдает все действия которые выпоняет скрипт. И всегда можно проверить, почему вышло не так как хотелось. Это пишется в отчете.
2. Для тестирования ПО, обычно пишется программа испытаний(тестирования), собственно срипт практически и описывает эту программу.
Поэтому написание программы испытаний и скрипта - это одна и таже работа, делающаяся за одно и тоже время. И скрипт не коим образом, не увеличивает трудоемкость.
3. Про 0 человек. Нельзя проверить все пошагово в сложной программе. Отладка в основном идет блочно как сказал TMX, сложные большие куски например, ГУИ отлаживаются и вовсе просто на Компе (как например ГУИ От Микриума uC/GUI).
Естественно перед этим все алгоритмы уже описаны в виде блок схем и диаграмм. Т.е проработано практически все до мелочей. И создана дока, например API для такого-то блока (где указано, что функции должна делать). Реализация API функций - это уже дело программиста.
4. Программист по доке и алгоритмам пишет ПО, отлажиает его у себя. Отдает, как ему кажется , готовое ПО тестеру, который паралельно написанию ПО, уже написал программу испытаний и создал скрипт для этого ПО.
5. Тестер за 1 день тестит, отдает обратно программисту с результатами.
Программер меняет что-то по результатм тестов, возможно указывает ошибки самого тестера. После этого повторяет шаг 4.
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Jan 24 2005, 12:24
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(lamerok @ Jan 21 2005, 11:58)
..собственно срипт практически и описывает эту программу.

*



Вот ОНО !!!

Встроенная в устройство программа - сложный автомат
с огромным (значительным) числом состояний.
Протестировать ее - значит создать не менее сложный
(а на самом деле значительно более сложный) автомат
состояний.

И время его создания и отладки .. гм-гм.. мы уже это обсуждали.

В худшем случае (большой проект) проверить устройство
теоретически
невозможно.

Пример - тестирование автомата "Процессор INTEL 8080".
Он тоже имеет внутри программы (микропрограммы)
Если на проверку одного состояния этого процессора
затратить 1 мкс, на все тестирование уйдет время
превышающее возраст нашей Вселенной. sad.gif

То о чем Вы все время говорите - это простейшее тестирование готовых
устройств на "грубый отказ".
smile.gif


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
bialix
сообщение Jan 24 2005, 16:39
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 4-11-04
Из: zp.ua
Пользователь №: 1 046



Цитата(-Tумблер- @ Jan 24 2005, 14:24)
Встроенная в устройство программа - сложный автомат
с огромным (значительным) числом состояний.
Протестировать ее - значит создать не менее сложный
(а на самом деле значительно более сложный) автомат
состояний.

И время его создания и отладки .. гм-гм.. мы уже это обсуждали.

*


Я так понимаю, что Ваш абсолютный скептицизм, основан на том, что Вы пишите программы на ассемблере, для которого не существует нормальных методик автоматического тестирования программ. В индустрии производства ПО давно разработаны методики оценки правильности работы модулей программ на основе unit-тестов. Т.е. никакой модуль и не тестируется на всем возможном многоообразии входных данных: тестируются на среднестатистических данных и на граничных данных, а также проверяется устойчивость к неверным (ложным) данным. Если модуль проходит тестирование на такой ограниченной выборке тестов, которая тем не менее корректно отображает его поведение на возможных наборах - то нет смысла тестировать Intel 8080 на всех комбинациях регистров.
Это законы больших чисел.

Не собираясь Вас переубеждать, тем не менее попрошу более терпимо высказываться насчет реально работающих методик, а не рассказывать про то, что на тестирование тратится 0 дней 0 часов. Это просто смешно.


--------------------
Имей мужество пользоваться своим собственным разумом! (с) И.Кант
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Jan 26 2005, 11:21
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(bialix @ Jan 24 2005, 19:39)
Я так понимаю, что Ваш абсолютный скептицизм, основан на том, что Вы пишите программы на ассемблере, для которого не существует нормальных методик автоматического тестирования программ


Это вы ошибаетесь
1. я практически не пишу на ассемблере.
2. нет разницы, на чем пишесшь с точки зрения отладки.

Необходимо проверить состояния программы и переходы между ними
у программного автомата. Не так ли ? А это значит все равно на чем
написана программа. хоть на коболе.

Цитата(bialix @ Jan 24 2005, 19:39)
тестировать Intel 8080 на всех комбинациях регистров.
Это законы больших чисел.


Да я сам держал в руках мобильный телефон, который работал
совсем хорошо. Только в случае, когда вызов поисходил
когда не был запущен скринсейвер...
Запущенный скринсейвер + вызов - > глюк.

Вот вам пример - во всех состояниях и переходах состояний устройство функционирует нормально.
И лишь в одном из переходов происходит (проявляется!)сбой.
И неважно почему,важно что такое "вот оно", на самом деле существует.

Цитата(bialix @ Jan 24 2005, 19:39)
Не собираясь Вас переубеждать, тем не менее попрошу более терпимо высказываться насчет реально работающих методик, а не рассказывать про то, что на тестирование тратится 0 дней 0 часов. Это просто смешно.
*


Что значит "более терпимо" ? Не могу я с вами согласиться и все.
Мое мнение не является истинной в последней инстанции,
можете не соглашаться. Разрешаю. <_<
Ни каких внешних приличий ведения беседы нарушено не было с моей стороны.

И действительно я никогда не отлаживаю программ - есть же
доказательство, что это бесполезно. И это действительно так.
Не отладка, а само производство программы осуществляется
"СТЕП БАЙ СТЕП". То есть, когда автомат (или их совокупность)
еще "малы" и тривиальны есть теоретическая и практическая
возможность их точно отладить полностю. Что и приводит
к качественному результату.
Конечно, при росте проекта обязательна "интерференция", связь
между старым и новым. Главным образом по захватываемым
(и высвобождаемым) ресурсам. И это главный недостаток
такой технологии. Но эти ресурсы во встроенной технике
можно непрерывно контролировать..стек например/
wink.gif


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
bialix
сообщение Jan 27 2005, 13:38
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 4-11-04
Из: zp.ua
Пользователь №: 1 046



Цитата(-Tумблер- @ Jan 26 2005, 13:21)
Это вы ошибаетесь
2. нет разницы, на чем пишесшь с точки зрения отладки.

Речь вобще-то не про отладку как таковую, а про тестирование. Программист не может хорошо проводить тестирование своего кода, потому что он его слишком хорошо знает.
Цитата
Да я сам держал в руках мобильный телефон, который работал
совсем хорошо. Только в случае, когда вызов поисходил
когда не был запущен скринсейвер...
Запущенный скринсейвер + вызов - > глюк.

Вот вам пример - во всех состояниях и переходах состояний устройство функционирует нормально.
И лишь в одном из переходов происходит (проявляется!)сбой.
И неважно почему,важно что такое "вот оно", на самом деле существует.

Это пример, что _не во всех_ состояниях устройство функционирует нормально.
Что говорит про то, что не было произведено нормальное тестирование работы скринсейвера. Косвенно может быть признаком того, что такой скринсейвер является чем-то посторонним для основной программы телефона, или был приделан программистами позднее, когда не оставалось времени на нормальное тестирование.

Тестирование != отладка.


--------------------
Имей мужество пользоваться своим собственным разумом! (с) И.Кант
Go to the top of the page
 
+Quote Post
-Tумблер-
сообщение Jan 28 2005, 12:26
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 146
Регистрация: 4-11-04
Из: Московская область
Пользователь №: 1 040



Цитата(bialix @ Jan 27 2005, 16:38)
Это пример, что _не во всех_ состояниях устройство функционирует нормально.
*


Вот и я об этом самом говорю.
Для тестирования потребуется создать программу-автомат
проверяющую ВСЕ состояния и ВСЕ переходы тестируемого
обьекта.
А это еще более сложный автомат.
Если мы сомневаемся в более простой программе, из чего
следует, что мы сумеем сделать значительно более сложную ?

А чего там долго рассуждать.
Возьмите чего-либо попроще. Не надо сразу мобильный телефон.
Возбмите, к примеру ПИД-регулятор температуры.
Распространенная техника, практически стандартный проект.
Температуру измеряем датчиком DS1820 или диодом+ацп. На выбор.
Шим модуляция нагревателя. Дисплейчик, пара кнопок.

1.Попробуйте прикинуть, во что обойдется создание тестирующего
оборудования. С технической точки зрения хотябы.
2. попробуйте предложить это бухгалтеру и директору.
3.А потом это предложение распространите на каждый проект
организации.

Увидите, что вам ответят...


--------------------

- ЗАМЕНЯТЬ ДЕТАЛИ НА ХОДУ ВОСПРЕЩАЕТСЯ !!! -
Go to the top of the page
 
+Quote Post
bialix
сообщение Jan 30 2005, 07:10
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 174
Регистрация: 4-11-04
Из: zp.ua
Пользователь №: 1 046



Цитата(-Tумблер- @ Jan 28 2005, 14:26)
А чего там долго рассуждать.
Возьмите чего-либо попроще. Не надо сразу мобильный телефон.
Возбмите, к примеру ПИД-регулятор температуры.
Распространенная техника, практически стандартный проект.
Температуру измеряем датчиком DS1820 или диодом+ацп. На выбор.
Шим модуляция нагревателя. Дисплейчик, пара кнопок.

1.Попробуйте прикинуть, во что обойдется создание тестирующего
оборудования. С технической точки зрения хотябы.
2. попробуйте предложить это бухгалтеру и директору.
3.А потом это предложение распространите на каждый проект
организации.

Увидите, что вам ответят...
*


Поскольку с такими ПИД регуляторами сталкиваюсь постоянно, то имею и опыт тестирования их. Тестировали его вручную, поскольку в ПИДе адаптивный алгоритм, и состояние выходного сигнала зависит от времени и входных возмущений. Тестировать пользовательский интерефйс -- это одно, а работу ПИД -- это другое. Тем паче, что для начала ПИД еще настроить надо.

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


--------------------
Имей мужество пользоваться своим собственным разумом! (с) И.Кант
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- lamerok   Тестирование встроенного ПО   Dec 30 2004, 06:50
- - veark   Немного из другой области но все же похоже... Если...   Dec 30 2004, 08:27
|- - lamerok   veark На сколько я понял от друзей которые ездили...   Dec 30 2004, 09:18
- - bialix   Цитата(lamerok @ Dec 30 2004, 07:50)Вопрос во...   Dec 30 2004, 10:52
- - Andrew2000   Цитата(lamerok @ Dec 30 2004, 10:50)Понятно, ...   Dec 30 2004, 12:10
|- - TMX   [/quote] Обратите внимание на NI TestStand http://...   Jan 20 2005, 12:17
- - -Tумблер-   Цитата(lamerok @ Dec 30 2004, 09:50)1. С помо...   Jan 11 2005, 12:13
|- - lamerok   Цитата(-Tумблер- @ Jan 11 2005, 15:...   Jan 12 2005, 08:59
|- - -Tумблер-   Цитата(lamerok @ Jan 12 2005, 11:59)....легко...   Jan 12 2005, 11:15
|- - lamerok   Цитата(-Tумблер- @ Jan 12 2005, 14:...   Jan 12 2005, 16:08
|- - -Tумблер-   Цитата(lamerok @ Jan 12 2005, 19:08)Речь не и...   Jan 13 2005, 10:06
- - andk   > А теперь попробуйте автомотизировать тестиров...   Jan 13 2005, 12:02
|- - -Tумблер-   Цитата(andk @ Jan 13 2005, 15:02)Скриптом? С ...   Jan 14 2005, 11:23
- - aal   В 88г сам столкнулся с агрегатом для проверки цифр...   Jan 14 2005, 12:12
- - andk   >>Я нажал на кнопку и на дисплее должно появ...   Jan 17 2005, 05:35
- - one_man_show   Хотелось бы слегка остудить пыл коллег, у которых ...   Jan 17 2005, 06:42
||- - TMX   Как поставлен процесс у нас: 1. После получения ТЗ...   Jan 20 2005, 13:43
||- - TMX   Цитата(-Tумблер- @ Jan 24 2005, 15:...   Jan 24 2005, 15:37
||- - -Tумблер-   Цитата(bialix @ Jan 30 2005, 10:10)В нашей ор...   Jan 31 2005, 10:08
|- - one_man_show   Цитата(-Tумблер- @ Jan 17 2005, 14:...   Jan 17 2005, 15:48
|- - stremglav   Цитата(-Tумблер- @ Jan 17 2005, 13:...   Feb 4 2005, 14:29
- - one_man_show   А кому сейчас легко?   Jan 18 2005, 13:20
- - andk   >То о чем Вы все время говорите - это простейше...   Jan 24 2005, 13:29
- - bialix   пару ссылок насчет тестирования: http://russian.j...   Jan 27 2005, 13:50
- - custic   Я думаю, тестирование на стадии разработки не долж...   Jan 29 2005, 15:01
- - bialix   похоже мы с Вами никогда не договоримся до общих т...   Jan 31 2005, 12:15
|- - -Tумблер-   Цитата(bialix @ Jan 31 2005, 15:15)дальше про...   Feb 1 2005, 11:48
- - stremglav   Вопрос, который уважаемое сообщество обсуждает, оч...   Feb 4 2005, 14:04
|- - TMX   Цитата(stremglav @ Feb 4 2005, 17:04)Вопрос, ...   Feb 5 2005, 10:37
- - yornik   Лично я всегда воспринимал разработку и тестирован...   Feb 4 2005, 20:42
- - one_man_show   Может немного подолью масла в огонь, может это и ...   Feb 4 2005, 22:25
- - ASN   one_man_show То, что оба документа утверждаются ...   Feb 5 2005, 03:49
- - bialix   Для тех, кто умеет читать. http://offline.compute...   Feb 11 2005, 13:45
|- - TMX   Цитата(bialix @ Feb 11 2005, 16:45)Для тех, к...   Feb 14 2005, 09:08
- - bialix   От журнальной статьи общего характера наверное и н...   Feb 14 2005, 09:17
|- - TMX   Вот по-моему интересная книжка, правда по Java, од...   Feb 24 2005, 16:35
- - Димыч   Более того, есть сферы, где тестирование ПО являет...   Feb 25 2005, 17:54


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 13:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01608 секунд с 7
ELECTRONIX ©2004-2016