У овом упутству ћете научити
- Шта су уграђени системи?
- Шта је уграђено тестирање?
- Типови тестирања уграђеног софтвера
- Разлика: уграђено тестирање и тестирање софтвера
- Изазови: Тестирање уграђеног софтвера
Шта су уграђени системи?
Уграђени системи су електронски контролисани уређаји у којима су софтвер и хардвер чврсто повезани. Уграђени системи могу садржати низ рачунарских уређаја. То су рачунари уграђени у друге уређаје за рад функција специфичних за апликацију. Крајњи корисник обично није ни свестан свог постојања.
Уграђено тестирање
Уграђено тестирање је поступак тестирања за проверу функционалних и нефункционалних атрибута софтвера и хардвера у уграђеном систему и осигуравање да коначни производ нема грешака. Главна сврха уграђеног тестирања је да верификује и потврди да ли коначни производ уграђеног хардвера и софтвера испуњава захтеве клијента или не.
Тестирање уграђеног софтвера проверава и осигурава да је одговарајући софтвер квалитетан и да испуњава све захтеве које треба да испуни. Тестирање уграђеног софтвера је одличан приступ за гарантовање сигурности у критичним апликацијама попут медицинске опреме, железница, ваздухопловства, индустрије аутомобила итд. Строго и пажљиво тестирање је пресудно за давање сертификата за софтвер.
Како извршити тестирање уграђеног софтвера
Генерално, тестирате из четири разлога:
- Да бисте пронашли грешке у софтверу
- Помаже у смањењу ризика и за кориснике и за компанију
- Смањите трошкове развоја и одржавања
- Да бисте побољшали перформансе
У уграђеном тестирању изводе се следеће активности:
1. Софтвер има неке улазе.
2. Извршен је део софтвера.
3. Примјећује се стање софтвера и провјеравају се излази у погледу очекиваних својстава, попут тога да ли се излаз подудара с очекиваним исходом, усклађености са захтјевима и одсуства пада система.
Типови тестирања уграђеног софтвера
У основи, постоји пет нивоа тестирања који се могу применити на уграђени софтвер
Тестирање софтверске јединице
Модул јединице је или функција или класа. Јединствено тестирање врши развојни тим, првенствено програмер и обично се врши у моделу рецензије. На основу спецификације модула развијају се тест случајеви.
Испитивање интеграције
Интеграционо тестирање може се класификовати у два сегмента:
- Тестирање интеграције софтвера
- Тестирање интеграције софтвера / хардвера.
На крају се тестира интеракција хардверског домена и софтверских компоненти. Ово може укључивати испитивање интеракције између уграђених периферних уређаја и софтвера.
Развој уграђеног софтвера има јединствену карактеристику која се фокусира на стварно окружење у којем се софтвер покреће, а обично се ствара паралелно са софтвером. То ствара непријатности за тестирање, јер свеобухватно тестирање не може бити изведено у симулираном стању.
Тестирање системске јединице
Сада је модул који треба тестирати пуни оквир који се састоји од комплетног софтверског кода, као и свих оперативних система у реалном времену (РТОС) и делова који се односе на платформу, као што су прекиди, механизми задатака, комуникација и тако даље. Протокол Поинт оф Цонтрол више није позив на функцију или позив методе, већ порука послата / добијена користећи РТОС редове порука.
Системски ресурси се посматрају како би се проценила способност система да подржи извршавање уграђеног система. За овај аспект, фаворизована метода тестирања је тестирање у сивој кутији. У зависности од организације, тестирање системске јединице је или дужност програмера или наменског тима за интеграцију система.
Тестирање системске интеграције
Модул који се тестира започиње од скупа компонената унутар једног чвора. Тачке контроле и осматрања (ПЦО) представљају комбинацију мрежних комуникационих протокола и РТОС-а, као што су мрежне поруке и РТОС догађаји. Поред компоненте, виртуелни тестер такође може играти улогу чвора.
Тестирање валидације система
Модул који се тестира је подсистем са комплетном имплементацијом или комплетним уграђеним системом. Циљ овог завршног теста је да задовољи спољне функционалне захтеве ентитета. Имајте на уму да спољни ентитет може бити особа или уређај у телекомуникационој мрежи или обоје.
Разлика: уграђено тестирање и тестирање софтвера
Тестирање софтвера | Уграђено тестирање |
---|---|
Тестирање софтвера односи се само на софтвер. | Уграђено тестирање повезано је како са софтвером, тако и са хардвером. |
У просеку 90% тестирања у свету је чисто ручно тестирање црне кутије. | Уграђено тестирање се врши на уграђеним системима или чиповима, то може бити тестирање црне или беле кутије. |
Примарна подручја тестирања су ГУИ провјере, функционалност, провјера ваљаности и одређени ниво тестирања базе података. | Примарна подручја испитивања су понашање хардвера за бр. инпута који су му дати. |
Тестирање софтвера се углавном врши на клијент-сервер, веб и мобилним апликацијама. | Уграђено тестирање које се углавном изводи на хардверу. |
нпр. Гоогле Маил, Иахоо Маил, Андроид апликације. | нпр. Машине из домена здравствене заштите, Микроконтролери који се користе у рачунарима. |
Изазови: Тестирање уграђеног софтвера
Неки од изазова са којима се човек може суочити током тестирања уграђеног софтвера:
Зависност хардвера
Зависност хардвера је једна од главних потешкоћа са којом се суочавају током тестирања уграђеног софтвера због ограниченог приступа хардверу. Међутим, емулатори и симулатори можда неће прецизно представљати понашање стварног уређаја и могу дати погрешан осећај перформанси система и употребљивости апликације.
Софтвер отвореног кода
Већина уграђених софтверских компоненти су отвореног кода, нису креиране у кући и због тога што им за њих није доступан комплетан тест. Постоји широк спектар комбинација тестова и резултујућих сценарија.
Дефекти софтвера и хардвера
Следећи аспект је када се развија софтвер за свеже створени хардвер, током овог процеса може се утврдити висок омјер хардверских недостатака. Пронађени недостатак једноставно није ограничен на софтвер. Може бити повезано и са хардвером.
Поновљиви недостаци
У случају уграђеног система теже је репродуковати / поново створити недостатке. То приморава уграђени поступак испитивања да вреднује сваку појаву квара знатно више него у стандардном случају, осим прикупљања онолико података колико би могло разумно бити потребно да се систем промени како би се пронашао темељ квара.
Континуирано ажурирање софтвера
Уграђени системи захтевају редовна ажурирања софтвера као што су надоградња језгра, безбедносне исправке, различити управљачки програми уређаја итд. Ограничења идентификована утицајем ажурирања софтвера отежавају идентификацију грешака. Поред тога, то повећава значај поступка израде и примене.
Резиме
Постоје одређене потешкоће у тестирању уграђеног софтверског тестирања што га чини тежим од редовног тестирања софтвера. Најосновније питање је чврсто ослањање на хардверско окружење које се припрема истовремено са софтвером и које је редовно потребно за поуздано тестирање софтвера. Понекад је чак тешко тестирати софтвер без прилагођених алата, што усредсређивање на тестирање у касним фазама чини изузетно примамљивим.
Једна од најважнијих ствари је оно о чему бисте требали размислити је чињеница да се често требате одлучити за аутоматизовано тестирање софтвера. Уграђено аутоматизовано тестирање је бржи поступак који би требао потрајати неколико сати и на тај начин се решава проблем вашег софтвера.