Sunteți pe pagina 1din 36

Metodesitehnicidetestareaaplicatiilor M t d it h i id t t li tiil software.

Testareasistemelorsoftware embedded
UI3:Testarea software:sisteme software embedded tehnici detestare specifice.
Formator:conf.dr.ing.GabrielaVarvara Formator: conf.dr.ing. Gabriela Varvara Centrul deConsultaniPregtirea ResurselorUmane: Iasi
1

Obiective
Dezvoltarea decompetente p
analiticegeneralereferitoarela
conceptedefinitoriialesistemelorembeddedsidomeniilordeaplicare, conditii si cazuri de testare standarde i conditiisicazuridetestare,standardei documentespecifice procesuluidetestareblackboxbazatpespecificatiiasistemelorembedded

manageriale referitoare la managerialereferitoarela


integrarea proceselor si activitatilor specifice proiectarii testarii pentru sistemele embedded

aplicative referitoare la la
utilizarea corecta atehnicilor detestare descrise manipularea criteriilor deselectie atehnicilor detestare raportarea la standardele specifice de lucru si utilizarea corecta a lastandardele delucru a acestora
2

Echipamente electronice cuscop specific,ce contin macar ounitate centrala de procesare,memorie si programe si nu sunt calculatoare insine. Clasificare inraport cudomeniul deutilizare: Electronice delarg consum:
Monitorizare/avertizare/securizare domestica,masini spalat/gatit/curatat, sisteme audiovideo,masini fax,...

Sisteme embedded context

Echipamente mobile:
Telefoane receptoare GPS PDA camere digitale player MP3 monitoare Telefoane,receptoare GPS,PDA,camere digitale,playerMP3,monitoare cardiace,

Periferice calculator:
Afisaje,tastaturi,scannere,imprimante,discuri retea,sisteme dememorare j p RAID

Dispozitive profesionale:
Roboti,echipamente masura,echipamente aeronautica,sisteme navigatie/telecomunicatie/control satelit,automobile,automatizare i ti /t l i ti / t l t lit t bil t ti domestica
3

Alte exemple sisteme embedded


Sistem ghidare autoprin satelit (receptorGPS16bit)

DVD player DVDplayer.periuta de dinti electrica (Z8) periuta dedinti

Robotexplorare planeta Marte (MarsSojournerRover 8bitIntel80C85 Robotic dog (Sony Aibo ERS 110) 64 bit MIPS RISC Roboticdog(SonyAibo ERS110) 64bitMIPSRISC
4

Sisteme embedded definitii, caracteristici embedded definitii,caracteristici


Unitate decalcul construita pentru unscop special Calculatorcuscop precizat,introdus intrundispozitiv,ce ar putea sa nu fi fieuncalculator,ce contine si alte componente l l i i l Ocombinatie hardware/softwarece realizeaza oanumita functie debaza: Caracteristici de baza:
singlefunctioned executa inmodrepetat,unnumar redus de programe,preinstalate,ce nu potfi modificate cuusurinta tightlyconstrained putere mica,capacitateprocesare/memorare g y p , p p / limitata,dimensiune redusa realtime furnizeaza rezultatele fara intarzieri critice reactive reactioneaza permanentlaschimbarile dinmediu dependable fiabilitate,siguranta,disponibilitate,toleranta ladefecte, securitate
5

Componente alesistemelor embedded


Echipament hardware similarcalculatoarelor personale,dar cu unnumar limitat deperiferice intrare/iesire:
Mi Microprocesor 8/16/32/64 biti CISC RISC 8/16/32/64biti:CISC,RISC,cuperiferice i t if i integratesi t i portdebug/testsau microcontroller Dispozitive personalizate ASIC,FPGA,PAL Memorie nevolatila: EEPROM dispozitive flash DiskOnChip nevolatila:EEPROM,dispozitive flashDiskOnChip, Memorie volatila:DRAM,SRAM, Magistrale intrare/iesire personalizate:PCI,ISA,VME,CAN, Controlere intrare/iesire: Ethernet SCSI Video Audio USB TV UART intrare/iesire:Ethernet,SCSI,Video,Audio,USB,TV,UART, Ceas sistem:RTC,ceasuri sistem integrateinmicroprocesor, Interfete intrare/iesire si pentru depanare

S ft Softwareembedded: b dd d
Sistem deoperare embedded(custartup),drivere dispozitive,aplicatii
6

Sisteme embedded structura deorganizare


Dispozitiv iesire ( (ecran) ) program CPU memorie Senzori pentru masurarea parametrilor fizici bus Actuatori pentru controlul t l l echipamentelor fizice

Dispozitiv intrare (tastatura)

Memorie permanenta

Sisteme embedded arhitectura software embedded


Componenta software:
Startup copie si,eventual,dezarhiveaza imaginea SO
configureaza echipament determina configuratie SO echipament,determina porneste kernel.

Drivere dispozitive controlul dispozitivelor deinalta performanta atasate SOembedded ofera mediul deexecutie aaplicatiilor (memorie, proces,intreruperi,) Aplicatie implementeaza unnumar redus defunctionalitati (frecvent doar una)

Sisteme embedded exemplu: dispozitiv navigare GPS embedded exemplu:dispozitiv


Sistem complex(mai multe CPU)ce contine:
RadioGPS primeste semnal sateliti si converteste RF Procesor semnal GPS determina coordonate pozitie curenta GPS Baza dedatecuharti Procesor ce:controleaza display,calculeaza trasee,locatii,puncte interes Procesor imaginevideopentru controlafisaj curent

Computer GPS

Afisaj Procesor P

Baza date harti Senzor atingere


9

Permite: Permite:

Sisteme embedded exemplu:sistem autocomputerizat


Controlcomputerizat almotorului Diagnosticare avansata Simplificarea procesului d Si lifi l i deproiectare si f b i ti i t i fabricatie Adaugarea denoi caracteristici desiguranta Adaugarea denoi caracteristici deconfort /comoditate,etc

Procesoare autodestinate controlului ( d i l l i (ECU electroniccontrolunit) l i l i)


laora actuala,intrunautovehicul exista mai mult de80deECUce controleaza aproape orice:
Operare motor (numit Engine Control Unit) motor(numit EngineControlUnit) Controlviteza uneori combinata cucontrolmotorinmodul control propulsie Controltransmisie (BrakeControlModule ABSsau ESC) Controlairbag Controllumini,blocare usi,ferestre electrice BodyControlModule,etc
10

Sisteme embedded auto unitate de control electronic ECU embeddedauto decontrolelectronicECU


Citeste senzori (temperatura, pozitie pedala, etc) (temperatura,pozitie pedala,etc) si controleaza injectia decombustibil,aprinderea, sistemul deventilatie,etc Comunica pe reteaua CANcualte ECU si dispozitive Furnizeaza semnale de diagnostic dediagnostic AUTomotive OpenSystemArchitecture(AUTOSTAR) standardde descriere modulara si scalabila aarhitecturilor softwarepentru retelele deECU

11

Sisteme embedded comunicatie incadrul sistemelor auto


Prin retele decomunicatie diferentiate pe viteza detransmisie:
Clasa A(viteza datelor <10kbps) trasmitere datedecontrolcu tehnologie lowcost(controllumini,blocare usi,senzor ploie,etc.) retelele LIN TTP/A t l l LIN,TTP/A Clasa B(10kbps<viteza transmisie<125kbps) schimb dateintre ECU pentru areducenumarul desenzori prin partajare informatii J1850, CANdeviteza CAN de viteza joasa Clasa C(125kbps<viteza transmisie<1Mbps) semnale legatedetrenul detractiune CANdeviteza mare Clasa D(viteza transmisie>1Mbps) destinata transmisii multimedia ( p) datedespre sistemul detransport,aplicatii desiguranta critice ce necesita predictabilitate si toleranta ladefecte TTP/C,FlexRay servesc caporti decomunicare intre subsisteme

Arhitectura uzuala aunui vehicul include4retele diferite (LIN, CANlowsi high,MOST)interconectate prin porti (gateways).

12

Dezvoltare sisteme softwareembedded


2directii (paradigme)majore:
1. Dezvoltarea bazata pe cod dezvoltarea clasica cuodemarcatie precisa intre fazele dedezvoltare delaspecificatie prin design catre implementare.
Aplicarea procedurilor,mai alespentru codificare sunt manuale sau bazate pe text.

2.

Dezvoltarea bazata pe model modelul este elementul centralin toate fazele dedezvoltare.
Modelul este executabil si,deregula,grafic. Eleste creat inprimele fazededezvoltare si cuprinde:
Modelul decontrol modelul functional Modelul sistemului controlat Modelul mediului
13

Testarea sistemelor softwareembedded


Pentru dezvoltarea bazata pe cod:
Testare aplicatie control:
pe platforma gazda ( calculator de test) (calculatordetest) pe platforma tinta (sistemul embeddedreal) Testarea integrata asistemului embedded

P t d Pentru dezvoltarea b t pe modelsevor t t suplimentar lt bazata d l testa li t diferitele tipuri demodele:


Design Implementare

Tehnicile detestare sunt cele clasice cuadaptari legatedelucrul cuunmodelexecutabil:


Scenariile detestare vor avea labaza specificatia functionala, interfetele si modelul executabil alaplicatiei embedded.
14

Sisteme embedded Strategia detestare bazata pe model


Urmareste parcurgerea sistematica aurmatorilor pasi:
1. Testarea functionala sistematica lanivel demodel
Sededuc scenarii detestare dinspecificatia functionala,interfete si model p , executabil Semasoara acoperirea structurala pe model daca este atinsa setrece lapasul 4,daca nu lapasul 3

2.

Monitorizarea acoperirii pe model

3.

Testare structurala lanivel demodel


Seidentifica scenarii detestare pentru elementele demodelneacoperite si serevine lapasul 2

4.

Executie teste backtoback


Scenariile detestare sunt repetate pe aplicatie si/sau pe sistemul embedded. Cand se obtine echivalenta functionala se considera ca transformarea modelului seobtine seconsidera catransformarea incodul aplicatiei si introducerea softwareinunitatea decontroleste lipsita de erori.

15

Testarea bazata pe partitionarea echivalenta metoda


Procedura delucru:
Domeniul datelor deintrare si/sau iesire alesistemului testat se divideinpartitii: divide in partitii
Partitiile sunt determinate,deregula,dinspecificatiile decerinte,in raport cuacele valori aleintrarii/iesirii ce influenteaza procesarea sistemului Seproiecteaza cazurile detestare pe baza partitiilor,astfel incat fiecare partitie sa fieexersata macar osingura data

Rezultate:
Clase deerori S t id i t i( d Seturi deintrari (nu doar i t i i di id l ) produc erori sau intrari individuale)ce d i caderi
16

Partitionarea echivalenta intrari si iesiri


Analiza domeniului deintrare:
Seincearca valori individuale pentru fiecare intrare; Se incearca combinatii de intrari pentru cazul in care procesarea se face Seincearca deintrari incareprocesarea seface pe grupuri deintrari Seincearca mai multe combinatii deintrari pentru omai buna acoperire adomeniului Laosingura incercare,sevariaza cumai mult decat osingura intrare fata deincercarea anterioara,pentru omai buna acoperire adomeniului Intrarile vor fi ordonate inraport cumomentul deproducere Seselecteaza inclusiv intrari ce produc iesiri invalide

Analiza domeniului deiesire:


Severifica acoperirea iesirii simultan cuacoperirea intrarii p p Sealeg valori legale pentru iesiri
17

Partitionare echivalenta divizare domenii


Valori echivalente seasteapta caprogramul sa leproceseze in acelasi mod O l Oclasa d deechivalenta contine totsetul d hi l i l devalori echivalente l i hi l Dintroclasa deechivalenta seexecuta,deregula.Osingura valoare,reducand numarul decazuri detestare executat Nivele departitionare:
Valori valide/invalide deechivalenta Creare clase de echivalenta Creare minimuncaz detestare pentru fiectare clasa

18

Partitionarea echivalenta Exemplu


Setesteaza oaplicatie ce determina nota finala aunei discipline, exprimata infunctie denumarul totaldepuncte acumulat deun student,cuvalori student cu valori valide intregi in intervalul [0 100] inintervalul [0,100]. Punctajul total(t)seobtine dinsumarea punctajului dela:
examenul final,cuvalori valide intregi inintervalul [0,75] notarea dintimpul semestrului,cuvalori valide intregi inintervalul [0,25].

Nota finala seva determina astfel:


A pentru punctaj totalcuprins inintervalul [70,100] B pentru punctaj totalcuprins inintervalul [50,70) C C pentru punctaj total cuprins in intervalul [30, 50) totalcuprins inintervalul [30,50) D pentru punctaj totalcuprins inintervalul [0,30)
19

Creare partitii
P titii valide ( Partitii lid (e=punctaj examen,s=punctaj semestru): t j t j t )
Intrare:0<=e<=75 Intrare:0<=s<=25 Pentru iesire minim:A,B,C,Dsi Eroare(pentru t<0sau t>100) ( )

Partitii invalide(cele mai evidente):


e>75,e<0; S>25,s<0;

Intrari invalide,minim:
e,snumere reale sau caractere alfabetic ,

Valori invalide pentru specificatie iesire (subiectiv):


Altalitera decat A,B,C,D(genericnotata E) Grup de 2 caractere A+ de2caractere A+ null
20

Exemplu:numarul totaldepartitii identificate (19)


0<=e<=75 e>75 e<0 0<=s<=25 s>25 s<0 e realE e alfabetic >>iesire A+ s realnull s alfabetic 70<=t<=100 70 100 50<=t<70 30<=t<50 0< t<30 0<=t<30 t<0 t>100

21

Exemplu cazuri testare intrare


Pentru partitiile intrarii e,valori intregi,sepotobtine urmatoarele cazuri detestare:
Testcase Test case Intrare(punctajexamen) Intrare(punctajsemestru) Punctajtotalcalculat Partitietestata punctajexamen Iesireasteptata I i t t t 1 44 15 59 0<=e<=75 B B 2 10 15 5 e<0 Eroare E 3 93 15 108 e>75 Eroare E

Laacestea sepotadauga si 2cazuri detestare pentru valori reale, respectiv alfabetic. Similarseobtin cazuri pentru s,t
22

Exemplu cazuri testare final1


Infinal,prin combinarea mai multor partitii intrare,iesire sereduc cele 19cazuri detestare la11:
Testcase Intrare(punctajexamen) Intrare(punctajsemestru) Punctajtotalcalculat Partitie punctajexamen Partitie punctajsemestru Partitie punctajtotal Iesireasteptata Testcase Intrare(punctajexamen) Intrare(punctajsemestru) Punctajtotalcalculat Partitie punctajexamen Partitie punctajsemestru Partitie punctajtotal Iesireasteptata 1 60 20 80 0<=e<=75 0<=s<=25 70<=t<=100 A 5 10 15 25 e<0 s<0 t<0 Eroare 2 40 15 55 0<=e<=75 0<=s<=25 50<=t<=70 B 6 93 35 128 e>75 s>25 t>100 Eroare 3 25 10 35 0<=e<=75 0<=s<=25 30<=t<=50 C 7 60.5 20.23 80.73 e=numarreal s=numarreal 70<=t<=100 Eroare 4 15 8 23 0<=e<=75 0<=s<=25 0<=t<=30 D 8 P R e=alfabetic s=alfabetic Eroare

23

Exemplu cazuri testare final2

Testcase Intrare(punctajexamen) Intrare(punctajsemestru) Punctajtotalcalculat Partitie punctajexamen Partitie punctajsemestru Partitie punctajtotal Partitie iesire Iesireasteptata

9 10 0 10 E<0 0<=s<=25 T<0 E Eroare

10 100 10 110 e>75 0<=s<=25 t>100 A+ Eroare

11 null null null+null null Eroare

24

Testare prin analiza valorilor de pe frontiera depe


Nu determina,insine,cazurile detestare Completeaza,deregula,tehnica detestare prin partitionare echivalenta,adaugand si alte valori pentru d l i hi l d d i l l i datele intrare si/sau i/ iesire. Sefocalizeaza pe valorile:
depe frontiera unei partitii deechivalenta Dinimediata vecinatate afrontierei

Exemplu:

25

Testarea bazata pe utilizarea tabelelor de decizie dedecizie


Seaplica specificatiilor redactate formalcusintagma ifthen Permitinregistrarea unor reguli complexe debusinessce trebuie implementate si testate i l i Contin:
Reguli (pe coloane):
Regula =combinatie unica deconditii impuse intrarilor Cuprind toate situatiile detest(testcase)

Conditii si actiuni (pe linii)

Permitconversia automatalacod/cazuri detestare:


Conditiile ct u e Actiunile Regulile intrari iesiri es cazuri detestare/cod
26

Testarea bazata pe tabele dedecizie exemplu


Aplicatie ce determina conditiile incareopersoana fizica,posesor deautoturism poate incheia opolita deasigurare amasinii proprii launasigurator: la un asigurator:
Conditii (intrari verificari):
Numar accidente >4 Tipul masinii ==Dacia Varsta masinii >25ani

Actiuni (iesiri teste deexecutat):


A1:refuza asigurarea,afiseaza mesaj,revenire meniu principal A2:accepta asigurarea,selecteaza ratastandard,verifica pret,afiseaza informatii A3:accepta asigurarea,selecteaza rataspeciala,verifica pret,afiseaza informatii
27

Testarea bazata pe tabele dedecizie exemplu


P t ti il posibile d Pentru tipurile ibil decombinatii alecelor 3 bi tii l l 3conditii si ditii i actiunile posibile sestructureaza tabelul dedecizie:
Intrare: conditii C1 C2 C3 Iesire:actiuni 1 2 3 4 5 6 7 8

Y Y Y

Y Y N

Y N N

N N N

N Y Y

N Y N

N N Y

N N N

A1 A2 A3

X X X X X

28

Testarea bazata pe masina finita destari


Modelul masinii finitedestari (MFS)este dedus din:
specificatiile decerinte Extrasdincod(inginerie inversa)

Cea mai utilizata strategie deproiectare atestelor bazata pe tranzitii:


Cuprinde,implicit,oracolul detestare (nu trebuie definiteiesirile p p explicit)

Verificare corectitudine acoperire:


Stari atingerea/vizitarea oricarei stari prin unele cazuri detestare.
Poate fi folosit orice algoritm detrversare anodurilor unui graf

Tranzitii fiecare tranzitie este acoperita prin unele cazuri detestare


Practic severifica toate tranzitiile ce pornesc dinstarea curenta prin combinarea acoperirii starii curente cutoate valorile intrarilor acceptate
29

Testarea bazata pe MFS exemplu (1)


Scop testarea unei aplicatii sofware ce controleaza modul de lucru alunui dispozitiv deafisare ora exacta/datacalendaristica:
sepoate afisa alternativ ora exacta/datacurenta t fi lt ti t /d t t sepoate setaora exacta/datacurenta

Codificari folosite:
Stari:
S1 afisare timp,S2 afisare data,S3 modificare timp,S4 modificare data

E i Evenimente: t
Schimbare modafisaj (SM),resetare pentru modificare setare timp/data(R),setare timp (ST),setare data(SD)

Actiuni: Actiuni:
afisare timp (T),afisare data(D),modificare timp (MT),modificare data (MD)
30

Testarea bazata pe MFS exemplu (2)


Stare1 Eveniment (intrare) (iesire) Actiune(iesire) Actiune Stare2

Asocierea intre elementele MFSsi intrari/iesiri testcase Diagrama de stari: destari:

31

Testarea bazata pe MFS exemplu (3)


Cele 6tranzitii identificate pe diagrama destari determina 6cazuri detestare incazul acoperirii fara comutatie (0 switch):
Testcase Starestart Intrare Iesire asteptata Starefinala 1 S1 SM D S2 2 S1 R MT S3 3 S2 SM T S1 4 S2 R MD S4 5 S3 ST T S1 6 S4 SD D S2

Pentru detectarea defectelor subtile sevor exersa secvente de tranzitii mai lungi (acoperire nswitch) g ( p )
32

Testarea bazata pe MFS exemplu (4)


Tranzitiile exersate pana acum auacoperire incomutatie (valide) Pentru testare avansata serecurge lamodelul tabelului destari ce pune i inevidenta si tranzitiile nule ( id i i iil l (N nu arelocnici otranzitie): l i i ii )
Evenimente Stari S1 S2 S3 S4 SM S2/D 1 S1/T 5 S3/N 9 S4/N 13 S4/N 14 S3/N 10 S4/N 15 S4/MD 6 S1/T 11 S2/D 16 R S3/MT 2 S2/N 7 S3/N 12 ST S1/N 3 S2/N 8 SD S1/N 4

Fiecare dincele 16intrari dintabel reprezinta uncaz detestare:


33

Testarea bazata pe MFS exemplu (5)


Testcase Starestart Intrare Iesire asteptata Starefinala 1 S1 SM D S2 2 S1 R MT S3 3 S1 ST N S1 4 S1 SD N S1 .... 14 S4 R N S4 15 S4 ST N S4 16 S4 SD D S2

Cazuri de testare nou create detestare

Prin comparatie cuacoperirea 0switch,sunt inca 10cazuri de testare nou create(3,4,7,8,9,10,12,13,14,15) (3 4 7 8 9 10 12 13 14 15)
34

Rezumat
I. I Sisteme software embedded: softwareembedded:
1. 2. 3. 3 4. 5. Domenii deaplicare si exemple Arhitectura si standarde specifice Sisteme d Si t decomunicatie si protocoale i ti i t l Procese dedezvoltare bazate pe codsi pe model Sisteme dependabile

II.

Testarea sistemelor softwareembedded tehnici bl k b b i l f b dd d h i i blackboxbazate pe specificatii:


1. 2. 3. 4. Partitionarea echivalenta Analiza valorilor pe f frontiera Tabele dedecizie Bazata pe masina finita destari

35

Bibliografie

DorothyGraham,ErikvanVeenendaal,IsabelEvans,RexBlank. FoundationsofSoftwareTesting ISTQBCertification,Cengage LearningEMEA,ISBN:978184480989S,2008 Capitolul4 Nicolas Navet, Francoise SimonotLion (Editors). Automotive NicolasNavet,FrancoiseSimonot Lion(Editors).Automotive EmbeddedSystemsHandbook,CRCPress,ISBN10:84938026X, RichardZurawski(serieseditor),2009 ParteaIIcap.4,ParteIII cap.10, Partea IV cap. 11 cap.10,ParteaIV cap.11

36

S-ar putea să vă placă și