Home
JPlavisFSM: Manual de InstruÇões - ICMC-USP
Contents
1. Figura 3 3 JPlavisF 5M Menu Properties 3 4 Menu View O menu View Figura 3 4 possibilita a alterac o do layout da MEF em edic o 3 5 Menu Configuration Para a geracao de sequ ncias de teste a ferramenta utiliza o conceito de separadores de entrada uma vez que uma entrada pode ser representada por um nico caractere ou por uma palavra No menu Configuration Input Separator Figura 3 5 poss vel escolher qual separador ser utilizado durante a edi o de se es de teste Esta op o visa facilitar a inclus o de casos de teste gerados por fontes externas a ferramenta padronizando o tratamento das sequ ncias O usu rio pode escolher utilizar o separador 1 padr o virgula 2 ponto 3 nenhum considerando entradas como caracteres ou 4 outro sendo que o usu rio deve informar qual o caractere a ser utilizado Figura 3 6 21 CAP TULO 3 A FERRAMENTA File TestSession Properties Configuration Save Current Graph Layout E X e Is Restore Saved Graph Layout ps Move Vertices b Apply A Random Layout Algorithm Apply A Specific Layout Algorithm gt A NN e IPlavisFSM Logger Figura 3 4 JPlavisF 5M Menu View File Test Session Properties View init Separator Automaton Size Ue IPlavisFSM Logger erre Figura 3 5 JPlavisFSM Menu Configuration 22 CAP TULO 3 A FERRAMENTA Input Separator C
2. 2 Jo MM Me nue t0 t a x E AE Roe e EORR E m ee We E AS JPlavS FSM Menu dll snes EEE HEE ERE ES JPlavisFSM Menu Properties ssa RR 6 tj t OR Re een JPlavis FoM Menit Views 52 ux EREA E EEE AE E de RO Res JPlavisFSM Menu Configuration lt lt 2 les JPlavisFSM Separador de entradas lll Tela inicial da JPlavisFSM Edi o de MEFs rs C nacao de ESTACI NS aue ge decuit qe e one T one qf Fr dcos 5M Fr co AG Alterando nome de um estado lt lt lt lt lt lt lt lt 4 n Marcando o estado inicial da MEF Criando uma transi o entre dois estados Informando a entrada sa da da transi o lt lt LL BENA EE sen oe aid Dari dE od DE dA Salvando Una MEE ama arts ese eR 13 up r My m e AO o DS o e a JPlavisFSM Sess o de Teste en JPlavisFSM Criar Sess o de Teste lt lt lt lt 2002000084 JPlavisFSM Aba New Test Session lt lt lt lt 4 oen JPlavisFSM M todos de Gera o 4 JP Tavisp lyls Load dps most qe BS Sow US E ee RRS Formato de arquivo para importar casos de teste Formato de arquivo para importar casos de teste JP la BSM Run INpuls do quse seed Rr S Rite A Sci Ce E JPlavisFSM Nova sequ ncia de teste lt lt lt lt lt lt lt lt lt lt lt 4 JEV EOM Jd OI m pad ES dd Bebi bn A eSB ed dedemeiv JPlavisFSM
3. e Completude uma MEF dita completamente especificada ou completa se ela trata todas as entradas pertencentes ao dom nio de entrada X em todos os estados S tal que D S x X Caso contr rio a MEF parcialmente especificada ou parcial e Conectividade uma MEF fortemente conexa se para cada par de estados s 8 existe um caminho que leva s a sj ou seja existe alguma sequ ncia de entrada que executa um caminho de transi es com origem em s e destino a s T CAP TULO 2 CONCEITOS Caso seja poss vel atingir todos os demais estados a partir do estado inicial a MEF dita inicialmente conexa e Determinismo uma MEF determin stica quando h uma nica transic o para uma dada entrada e qualquer estado do conjunto que permita a transic o para um pr ximo estado Caso contr rio a MEF dita n o determin stica e Equival ncia um estado s dito equivalente a s se para todo p Qu s a Qu s A s p A s p Isto dois estados s o equivalentes se n o existe nenhuma sequ ncia de entrada que ao ser executada a partir dos respectivos estados gere uma sequ ncia de sa da diferente Utiliza se a nota o s s para estados equivalentes e e Minimalidade uma MEF reduzida ou minimal se n o existem dois estados equivalentes Caso contr rio a MEF dita n o reduzida Na Figura 2 1 pode se observar um exemplo de MEF completa reduzida fortemente conexa e
4. f AMO C BE tst met Nome de arquivo ts1_mef ptf Arquivos de tipo Plavis Test File M Automaton Size Abrir arquivo selecionado 60 49 Save est Section 25 07 2011 11 59 00 Generate Mutants START 25 07 2011 11 59 00 Generate Mutants 38 mutants END Figura 5 19 JPlavisFSM Abrir sess o de teste A sess o de teste salva todos os testes que estavam na tabela mesmo que inativos Ao reabrir a sess o o status de muta o anteriormente alcan ado com os testes carregado e pode ser visualizado na aba Mutants mesmo antes de se re executar os testes Figura 5 20 ATEN O Sempre salvar a sess o de teste antes de finaliz la pois os dados n o s o salvos automaticamente E poss vel fechar uma sess o de teste sem salv la antes 44 CAP TULO 5 SESS O DE TESTE File TestSession Properties View Configuration Input Result tb ba db b b b b a a tb a b b a b a a Jababb lab b a la b b b b Ja a a la a b b b b a a gb b b b a a ba b b wo jr Load Inputs Run Inputs Clear Inactives Clear All rete stow nutans n complete TC Cont Figura 5 20 JPlavisFSM Sess o de teste carregada 45 46 CAP TULO 5 SESSAO DE TESTE Agradecimentos Agradecimento s ag ncias Capes e FAPESP pelo apoio financeiro ao programa de p s gradua o do ICMC USP S
5. L2 CAP TULO 2 CONCEITOS m todo em rela o sua aplicabilidade que exige que a MEFs sejam determin sticas completas inicialmente conexas e minimais O m todo W se baseia nos conjuntos W conjunto de caracteriza o e P transition cover A partir do conjunto W gerado um novo conjunto W que cont m um conjunto de sequ ncias capaz de identificar qual o estado testado da m quina Para isso necess rio estimar o n mero de estados que a MEF J implementa o tem a mais do que a MEF M especifica o Considerando n o n mero de estado da MEF M estima se m como sendo o n mero de estados para a MEF Sendo assim temos W Uo X W em que X e e X X X 77 Para o caso n m temos que W W Definido o conjunto W as sequ ncias obtidas s o concatenadas com o conjunto P isto Tw P W Logo ao obter as sequ ncias de teste estas s o executadas uma a uma na m quina gerando as respectivas sa das que ser o analisadas a procura de inconsist ncias entre as MEFs Como o W um m todo completo Chow 1978 caso nenhuma falha ocorra pode se afirmar que a MEF J est adequada a especifica o Para o exemplo da MEF M da Figura 2 1 considerando o caso n m temos W W a bb P a b ab bb ba aa aba abb e Ty aaa baa bba aabb abaa abba babb bbbb ababb abbbb Por m como dito anteriormente o conjunto de teste formado apenas por sequ ncias
6. Seguir m todos de desenvolvimento e utilizar ferramentas de engenharia de software po dem ajudar no processo de cria o de software por m n o excluem a chance de falhas no produto final Desta forma atividades de Verifica o Valida o e Teste VV amp T po dem ser realizadas a fim de minimizar ao m ximo os poss veis problemas no software O objetivo dessas atividades garantir tanto a conformidade do produto final com a sua especifica o quanto a qualidade do processo envolvido As atividades s o basica mente divididas em 1 est ticas e 2 din micas Atividades est ticas s o as que n o precisam de artefatos execut veis para serem realizadas tais como inspe o de software e revis es t cnicas As atividades din micas por sua vez necessitam de artefatos que possam ser executados para serem verificados A atividade de teste se enquadra nessa segunda categoria 2 2 Teste de Software O foco da atividade de teste analisar o comportamento que o programa ou modelo venha a apresentar confrontando o com o determinado na sua especifica o Assim um teste bem elaborado aquele que encontra defeitos uma vez que o fato de n o encontrar pro blemas n o garante que o software est correto Em outras palavras um bom conjunto 3 CAP TULO 2 CONCEITOS de teste aquele que leva o programa a falhar Neste contexto pode se listar alguns dos principais termos usados em teste de software como
7. Execu o dos testes lt lt 0 JPlavisFSM Marcando testes como inativos JPlavis FSM Clear indies c a tr got e Qu dd Se ee he nd JPlavisFSM Aba Mutants quo dio pah Bead Bead amp owas ili 5 15 JPlavisBESM eve TS on A AE EEE RA de ARE MT AA 41 5 16 JPlavisFSM Resultado do Count TC aplicado a Figura 5 15 42 5 17 Habilitando a ferramenta n Complete lt lt lt lt lt lt lt lt lt 4 0048 43 9 19 JPlavisE SMEs neComplel s ane eee BROKER ORE ESR RRS EO 43 5 19 JPlavisFSM Abrir sess o de teste lt lt lt lt lt lt lt lt lt 44 5 20 JPlavisF SM Sess o de teste carregada lt lt lt lt lt lt lt lt lt ee 45 Lista de Tabelas 2 1 Tabela de transi o da MEF da Figura2 1 ls 5 2 2 W Sa das obtidas para a MEF da Figura 2 1 12 vi Cap tulo 1 Introducao 1 1 JPlavisFSM A ferramenta JPlavisFSM uma nova vers o da antiga plataforma PLAVIS resultado do projeto PLAVIS Plataforma para Valida o e Integra o de Software em Sistemas Espaciais financiado pelo CNPq e desenvolvido entre os anos de 2002 e 2004 A primeira vers o da plataforma integrava as ferramentas MEGASET CONDADO e uma implementa o do algoritmo UIO respons veis pela gera o de casos de teste a partir de M quinas de Estados Finitos MEFs Al m disso foi integrado a ferramenta ProteumFSM que possui
8. File T ession Properties View Configuration Edi New Ctrl C Open Ctrl T e V Automaton Size eme IPlayisFSM Logger Figura 3 2 JPlavisF 5M Menu Input 3 3 Menu Properties No menu Properties Figura 3 3 poss vel verificar algumas propriedades das MEFs criadas na ferramenta como 1 a exist ncia de n o determinismo Highlight Nonde terminism 2 a exist ncias de transi es espont neas ou seja sem a necessidade da ocorr ncia de um evento de entrada Highlight Transitions 3 se a MEF comple tamente especificada evidenciando os estados incompletos Highlight Partially Specified Ver Se o 2 3 1 20 CAP TULO 3 A FERRAMENTA States 4 se a MEF inicialmente conexa apontando quais os estados n o podem ser alcan ados a partir do estado inicial Highlight Inicially Disconnected States e 5 sea MEF reduzida indicando quais estados aos pares s o equivalentes entre si Highlight Equivalent States unreduced FSM 5 JPlavisFSM lt untitled gt BAX File Test Session Properties View Configuration Editor Highlight Nondeterminism Highlight A Transitions s z gt eda Partially Specified States Highlight Inicially Disconnected States Highlight Equivalent States unreduced FSM Ctrl M E Automaton Size meme JPlavisFSM Logger tensas
9. 1 M todos de Gera o A ferramenta disponibiliza cinco m todos de gera o W UIO HSI SPY e Switch Cover Para carregar os casos de teste gerados pelos m todos implementado na ferramenta basta selecionar a op o desejada no ComboBox Figura 5 4 e clicar em Load Inputs Figura 5 5 Como o m todo W somente aplic vel a MEFs completamente especificadas h a op o de auto completar a MEF A funcionalidade auto complete insere self loops nos estados parcialmente especificados o que corresponde a transi es com origem e destino nos estados com entradas faltantes Para cada entrada faltante gerada uma transi o com sa das vazias simbolizadas pela palavra Empty Desta forma a MEF comple tada artificialmente sem perda de altera es sem nticas ou seja o comportamento da 33 CAP TULO 5 SESSAO DE TESTE JPlavisFSM mef j t File Test Session Properties View Configuration Mew Test Session Ir Table Text Size w v toaa mputs Run inputs 25 07 2011 11 41 18 G 25 07 2011 11 42 24 Create Test Section CiDocuments and aiiesktopiPlavisits1 mef ptf Figura 5 4 JPlavisF 5M M todos de Gera o nova MEF continua equivalente a MEF original H tamb m as op es HSI compl e SP Y compl que a aplica o da funcionalidade auto complete antes da execu o dos m todos HSI e SPY respectivamente OBSERVACAO Na vers o atual da ferramenta os m t
10. 26 4 2 Alterar Nome de um Estado lt lt lt lt lt lt 2 0 00000 00 08 26 4 3 Informar Estado Inicial da MEF 27 4 4 Criar Transi es Entre os Estados lt lt lt lt lt lt lt lt 4 lt 4 2 5 Sess o de Teste 31 5 1 Criar sess o de teste i Bite oe Mae oe Be Vad ERAS E 31 do LOGUHINDUUS om 6 Je xe Bu Za S br SS eder DEAL BH E DATA 33 ol Metodosde GOFACAOS x RE AE mcm E AE RAE AE ORE AA A AA 33 Dele LUST ERE 34 B2 M Odo ETON O e no sp ds dE 850380 E E DE E E DEDE a uae 35 Seo MA UES oa e anda RE dad da ea a ede aa A e ao 36 KEERN sameer e Baie veh dy dpe O es AA RN DR da Of 5 5 Clearinachvuese Clear All oi spa kee OR d eke eK Rn eS 37 DO OV S ie i ee b See te ac ee dr t e ee ie bU n he ee ee 39 Del OS DO a Bc ok RE Bw Aho Se O NOK Ge Bid O oh eS Bw ee ee ed 39 Oe ak rt da Bi AA dir od de A AR dec RUD Sr J AC die ar Ghd hs G 42 DO DOE Ds a ds ree CM SESS a AAS Ee ed ua 42 KIO DeC OTDIG TES acri aa qu de wh Ug Ge wh ip ee ee ee ee 42 5 11 Abrir Sess o de Teste 2 6 eee RE Ros 43 Refer ncias Bibliogr ficas 50 il 2 4 22 2 3 3 1 3 2 3 3 3 4 3 0 3 6 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 9 1 9 2 9 9 9 4 9 0 9 6 5 7 9 8 9 9 9 10 5 11 5 12 5 13 5 14 Lista de Figuras Exemplo de NEP mb doa so Rd Se AA es A DE a MEF parcial nao reduzida nao deterministica n o inicialmente conexa a Erro de Opera o b Erro de transfer ncia
11. 6 n complete32 n complete64 script sh 7 JPlavisFSM Methods mv n complete64 n complete 8 JPlavisFSM Methods ls 9 n complete n complete32 script sh 10 JPlavisFSM Methods rm n complete32 11 JPlavisFSM Methods ls 12n complete script sh 13 JPlavisFSM Methods chmod x n complete 14 JPlavisFSM Methods chmod x script sh 15 JPlavisFSM Methods Figura 5 17 Habilitando a ferramenta n Complete JPlavisFSM mef jff OBS File TestSession Properties View Configuration Editor Test Session Ir Table Text Size i input Result n Complete set JOS 1 The test setis complete wo f Load Inputs Run Inputs Clear Inactives Clear All NE Prefix Show Mutants n Complete TC Counter Save TS Export TS UU 27 Load Mutants Status 25 07 2011 12 00 50 Show Mutants 25 07 2011 12 01 25 n Complete START Figura 5 18 JPlavisFSM n Complete 5 11 Abrir Sess o de Teste Se o objetivo retomar uma sess o de teste anteriormente salva basta escolher a op o Test Session Open Ser o listados apenas os arquivos gerados pela ferramenta Figura 43 CAP TULO 5 SESSAO DE TESTE 5 19 pois toda sess o de teste salva gera um arquivo que armazena o status dos mutantes evitando assim a necessidade de processar novamente todos os mutantes S JPlavisFSM mef jff Em File TestSession Properties View Configuration x Editor
12. O objetivo das t cnicas de teste sistematizar o processo de defini o de conjunto de teste de forma a verificar a adequa o do software sua especifica o garantindo maior qualidade e seguran a ao produto final O teste baseado em m quinas de estados a t cnica de interesse deste trabalho e abordada em detalhes a seguir 2 3 M quinas de Estados Finitos Uma M quina de Estados Finitos MEF do ingl s finite state machine uma represen ta o de uma m quina composta por estados e eventos que correspondem a transi es entre os estados Uma transi o caracterizada por dois eventos um de entrada e um de sa da A m quina pode estar em apenas um estado por vez Ao ocorrer um evento de CAP TULO 2 CONCEITOS entrada a m quina pode responder com um evento de sa da e uma transic o para outro estado podendo ser para o mesmo estado Existem dois tipos de MEFs 1 Mealy e 2 Moore Na m quina de Mealy os eventos de sa da est o associados s transi es ou seja ao ocorrer um evento de entrada o evento de sa da ocorre durante a mesma transi o Na m quina de Moore os eventos de sa da est o associados aos estados sendo assim o evento de sa da ocorre ao final da transi o no seu estado destino As m quinas diferem na forma de representa o do evento de sa da mas para cada m quina de Mealy existe uma m quina de Moore correspondente Para m todos de gera o de sequ nc
13. Pearson Education 2008 Petrenko A Yevtushenko N Lebedev A Das A Nondeterministic state machines in protocol conformance testing In Proceedings of the 6 International Workshop on Protocol Test systems VI IFIP TC6 WG6 1 Amsterdam The Netherlands The Netherlands North Holland Publishing Co 1993 p 363 378 Pimont S Rault J C A software reliability assessment based on a structural and behavioral analysis of programs In Proceedings of the 2nd international conference 49 REFER NCIAS BIBLIOGR FICAS on Software engineering ICSE76 Los Alamitos CA USA IEEE Computer Society Press 1976 p 486 491 Sabnani K Dahbura A A protocol test generation procedure Computer Networks and ISDN Systems v 15 n 4 p 285 297 1988 Sim o A Petrenko A Checking completeness of tests for finite state machines IEEE Transactions on Computers v 59 n 8 p 1023 1032 2010 Vuong S Chan W Ito M The UIOv Method for protocol test sequence generation In Proceedings of the 2 Workshop Protocol Test Systems 1989 p 161 175 90
14. Space Nothing Other Ml 25D 7172011 11 34 23 Configuration START 25 07 2011 11 34 53 Configuration DEFAULT Figura 3 6 JPlavisF 5M Separador de entradas 29 24 CAP TULO 3 A FERRAMENTA Cap tulo 4 Edi o de MEFs Esta se o descreve como utilizar a tela de edi o Figura 4 1 de MEFs para construir o modelo a ser testado File TestSession Properties View Configuration Editor k 2 2 e f Automaton Size L Tee JPlavisFSM Logger t Figura 4 1 Tela inicial da JPlavisFSM Edi o de MEFs 25 CAP TULO 4 EDI O DE MEFS 4 1 Criar Estados de uma MEF Para criar uma MEF primeiro necess rio que sejam criados os estados Para isso utilize o segundo bot o da aba Editor tecla de atalho s e clique na rea de edi o como apresentado na Figura 4 2 Enquanto o bot o de cria o de estados estiver selecionado a cada novo clique na rea de edi o um novo estado ser gerado Repita esta opera o at que todos os estados necess rios para representar o modelo sejam criados JPlavisFSM lt untitled1 File TestSession Properties View Configuration Automaton Size A M M M Reese die devise Logger Tamm Figura 4 2 Criacao de estados 4 2 Alterar Nome de um Estado Caso queira renomear os estados selecione o primeiro bot o da aba Editor tecla de atalho a e clique so
15. T um conjunto finito de sequ ncias ou testes tal que n o existam duas sequ ncias a 0 T com a lt 5 O conjunto de todas as sequ ncias de entrada poss veis a partir do estado s da MEF M denotado Qm s Caso deseje denotar o conjunto de sequ ncias para so pode se omitir o estado correspondendo apenas a Oy Para um conjunto de teste T a nota o pref T corresponde ao conjunto de todos os prefixos dos casos de testes contidos em T isto pref T a B T a lt B Para executar cada sequ ncia do conjunto de teste T necess rio que a MEF esteja em seu estado inicial Sendo assim uma opera o que leve corretamente a MEF de volta para 6 CAP TULO 2 CONCEITOS O seu estado inicial antes que a pr xima sequ ncia venha a ser executada deve existir o chamado reset confi vel Como uma opera o essencial para a aplica o das sequ ncias de teste o seu custo deve ser considerado representando o por meio do s mbolo r no in cio de cada sequ ncia O custo da execu o de um caso de teste medido pelo tamanho da sequ ncia somado a opera o de reset assim temos w a o 1 Por exemplo se um conjunto de teste dado por T aa bbb bab temos o conjunto final sendo T raa rbbb rbab de tamanho 11 O custo de execu o do conjunto de testes T denotado w T dado pela soma do tamanho de todas as sequ ncias contidas em T Outras nota es relativas ao contexto de MEF tam
16. determin stica Na Figura 2 2 observa se um exemplo de MEF parcial dado que o estado s5 n o trata o evento de entrada b 2 n o reduzida pois os estados s e 54 s o equivalentes 3 n o determin stica uma vez que o estado s5 possui duas transi es poss veis para o evento de entrada a e 4 desconexa pois n o poss vel alcan ar o estado S5 partir de nenhum estado Figura 2 2 MEF parcial n o reduzida n o determin stica n o inicialmente conexa 2 3 2 Testes Baseados em M quinas de Estados No contexto de teste de software o teste baseado em m quinas de estados finitos tem o objetivo de confrontar uma MEF M reduzida com n estados com a MEF J que corres ponde a MEF implementada Para tanto a MEF tamb m deve ser uma MEF reduzida A redu o uma caracter stica importante uma vez que garante a inexist ncia de uma CAP TULO 2 CONCEITOS outra MEF equivalente com m estados tal que m n De acordo com Chow 1978 uma MEF minimal M que representa a vers o correta da MEF especificada se comparada com a MEF I podem exibir os seguintes erros e Erros de sa da e M diferem na sa da obtida para um dado teste Para tornar I equivalente a M deve se modificar a fun o de sa da de T e Erros de transfer ncia quando n o equivalente a M e J Pode se tornar equivalente a M ao alterar a fun o de transi o de I e Erro de transi o termo geral para erro de sa da e o
17. interessante para se utilizar nas fases de teste de unidade e integra o Como a an lise de mutantes se baseia fortemente nos enganos comumente cometidos e em operadores de muta o sobre o artefato a ser testado outra possibilidade aplicar an lise de mutantes em modelos de software Devido flexibilidade do crit rio pode se aplic lo em qualquer tipo de artefato execut vel n o apenas em programas Delamaro et al 2007a Dessa forma basta definir os operadores de muta o pertinentes ao novo dom nio de teste e um modo de avaliar se o resultado produzido pelo artefato original o mesmo de cada um dos seus mutantes Para o contexto de MEFs foram definidos nove operadores de muta o sendo Fabbri et al 1999 e OutAlt sa da trocada Altera a sa da gerada pelos eventos pelas demais sa das existentes e OutDel sa da faltando Este operador remove o s mbolo de sa da associado a cada evento e StaDel estado faltando Suprime um estado e TraArcDel arco faltando Este operador exclui um arco da MEF 17 CAP TULO 2 CONCEITOS e TraDesStaDel destino trocado alterado o estado destino associado a cada um dos eventos pelos demais estados existentes na MEF e TraEveAlt evento trocado trocado cada evento da MEF pelos demais eventos existentes e TraEveDel evento faltando exclu do um evento por vez que provoque a transi o entre dois estados e TraEvelns evento ext
18. representando o por meio do s mbolo r no in cio de cada sequ ncia Por exemplo se um conjunto de teste dado por T faa bbb bab temos o conjunto final sendo T raa rbbb rbab de tamanho 11 Como os m todos de gera o de casos de testes ou sequ ncias de teste s o fortemente baseados em sequ ncias b sicas primeiramente s o apresentadas algumas das sequ ncias importantes para a aplica o dos m todos tratados no decorrer desta se o 2 4 1 Sequ ncias B sicas Sequ ncias b sicas possuem propriedades interessantes que s o exploradas para a gera o de conjuntos de teste Algumas definem um caminho que passe por todos os estados pelo menos uma vez ou que execute todas as poss veis transi es da MEF Outras tem por objetivo garantir que ao serem executadas na MEF possuam respostas diferentes para 10 CAP TULO 2 CONCEITOS cada um de seus estados Existem ainda sequ ncias que levam a MEF para determinados estados Mais de uma sequ ncia b sica podem ser encontradas em uma MEF e comumente aconselh vel selecionar a menor sequ ncia b sica Por m nem sempre a menor sequ ncia encontrada a respons vel pelos melhores resultados Exemplificando com base na Figura 2 1 as sequ ncias mais citadas na literatura s o e State Cover Q um conjunto de n sequ ncias de entrada incluindo a sequ ncia vazia em que n corresponde ao n mero de estados da MEF M que ao serem execu
19. 1 0 1 0 0 Result 01 1 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 3 0 1 0 0 Figura 5 13 JPlavisFSM Clear Inactives CAP TULO 5 SESSAO DE TESTE File TestSession Properties View Configuration Editor New Test Session Mutants MUTATION Total 48 Dead 38 Alive O Equivalent 0 SCORE 1 00 1 Dead Initial State zl js a 1 sl s0 b O gt s2 js1 a 0 sl msl b70 gt 83 j52 8 0 sl js2 b 1 sO 3 8 0 sl 2 3 b 1 32 Test Cases Leder TE Mutation Dead 320 Alive U Equiv ID 25 07 2011 11 44 08 Mutation SCORE 1 0 25 07 2011 11 45 05 Show Mutants Figura 5 14 JPlavisFSM Aba Mutants File TestSession Properties View Configuration Editor New Test Session Text Size C Input Result b b a b b b b b a a fb a b b la b a a la b a b b a b b a ab b b b Ja a a la a b b w Tr ioadinputs Run inputs clear inactves Clear an Prefix snow mutants Complete TC Counter Save TS Export TS Documents and Settings arineiza DesktopiPlavisits1_mef ptf START 25 07 2011 11 50 21 Save Test Section END Figura 5 15 JPlavisFSM Save TS 41 CAP TULO 5 SESSAO DE TESTE 58 Count TC O bot o Count TC exibe o n mero de sequ ncias de teste contidos na tabela apresentando o n mero total de testes e a respectiva quantidade de testes ativos e in
20. JPlavisFSM Manual de Instru es Arineiza Cristina Pinheiro Adenilso da Silva Simao Sum rio 1 Introdu o 1 Lb xS as oe en bejn SE en ew PA ee we Ou AE E E 1 2 Conceitos 3 2 1 Conceitos B sicos 4 6 gd do BE hn Se Br nh Be eh ce HE edet dvd 3 2 2 Teste de Software lt lt lt lt lt less 3 2 9 NM qui as de Estados Finitos e s s woe E ER Wok ROUES AS RAS 4 2 04 Propriedades e Caracter sticas we x xx eeu ELSE RCE cues ede M i 2 3 2 Testes Baseados em M quinas de Estados 8 2 4 M todos de Gera o de Casos de Testes 10 2 4 1 Sequ ncias B sicas sea ma bed amp dh a Gem Bk AO Go tir mo v e A 10 241 2 NICLOdO VV e aa ab e A ab te DA e n ab gr BA BG 12 Dec ME In Rl XII 13 Ln Metodo N O 14 PAO Metodo OY ss uu doute A d Dew A d s Dew Be De PCR et A a d d 15 Pade Metodo A E opes bE OS BOS UE DSS AE ATE ES 15 ZA Metodo witch CONVERT tae EC ie OR ee SE Ses 16 Zor Leste ce NA O vou eked ws ered ws ele mers deep as Go ae ee djl 16 3 A Ferramenta 19 SARA EEES e an a a EEES 19 02 JMenitJT65525638601V sp dad s A Rie Ada a eds dE sk tele AA es He 19 So Mena T TODOS xou sy doo Fa O ect Re ORES edi e wee 20 Oe Menu VIC i us sow do ow iR id SR mese SE dy mee Rr m eee AS 21 30 Monu Cor O0UTALLON a sost k Ad amp De A Rb E AA E AES 21 4 Edi o de MEF s 25 4 1 Criar Estados de uma MEF
21. a a capacidade de criar mutantes de especifica o em MEFs executar uma MEF com rela o a um conjunto de casos de teste e avaliar conjuntos de casos de teste tamb m incorporada a PLAVIS A nova ferramenta entitulada JPlavisFSM foi desenvolvida no contexto do trabalho de mestrado da aluna Arineiza Cristina Pinheiro com apoio financeiro do Capes e da FAPESP Processo 2010 04001 3 O objetivo da evolu o da plataforma consiste em implementar melhorias de usabilidade identificadas durante o processo de maturidade da vers o anterior al m de incorporar a possibilidade de integra o com novos m todos sem a necessidade de recompila o A JPlavisFSM foi desenvolvida em Java e disponibiliza os m todos W UIO HSI SPY e Switch Cover Foi incorporado tamb m a gera o de mu tantes para MEFs e a ferramenta n Complete Sim o e Petrenko 2010 que implementa outra maneira de se avaliar os conjuntos de teste manipulados na ferramenta CAP TULO 1 INTRODU O Este documento est organizado da seguinte forma na Se o 2 s o apresentados alguns dos principais conceitos relacionados rea de testes baseados em MEFs na Se o 3 apresentada a ferramenta JPlavisFSM na Se o 4 discutido como utilizar a nova interface de edi o de MEFs e finalmente na Se o 5 exibida a nova interface de cria o e edi o de se es de teste em detalhes Cap tulo 2 Conceitos 2 1 Conceitos B sicos
22. a abbb Na fase 2 s o gerados os conjuntos R bbo bay aa abay abba em que os ndices de cada sequ ncia indicam o estado final atingido por cada uma delas e Tr bba baa babb aaa aabb abaa ababb abbbb Ao final realizada a uni o de Tr com Tro eliminando as sequ ncias que s o prefixos e inserindo a opera o de reset antes de cada sequ ncia selecionada temos Twp rbba rbaa raaa rbbb rbabb raabb rabaa rababb rabbbb de tamanho 43 2 4 4 M todo UIO O m todo UIO foi originalmente proposto por Sabnani e Dahbura 1988 como um m todo completo Por m Vuong et al 1989 apresentaram um contra exemplo que desmostrou que o m todo UIO n o garante a cobertura completa de defeitos para todas as MEF s O m todo baseado em sequ ncias UIO e realizado em apenas uma fase correspondente a fase 2 do m todo W pertinente a fase de teste das transicoes Da mesma forma que o m todo W a aplicabilidade do m todo UIO esta restrita exist ncia das sequ ncias UIO e MEFs que sejam determin sticas inicialmente conexas completas e minimais A fase de gera o do conjunto de teste definida por e Fase gerar as sequ ncias formadas por r P UIO em que PQUTO Uperip UIO tal que 1 definido pelo estado final da execu o da sequ ncia p Para exemplificar o m todo UIO considerando a MEF da Figura 2 1 temos P 1 0 01 bz ab3 bbo bay aa abay abbo em que os ndice apresentados nas sequ ncia
23. ada pressione a tecla TAB e ent o informe qual a sa da da transi o finalizando com a tecla ENTER Figura 4 6 Caso deseje criar uma transi o em que o estado origem e o estado destino correspon dem ao mesmo estado basta clicar sobre o estado que uma auto transicao ser criada 27 CAP TULO 4 EDI O DE MEFS File TestSession Properties View Configuration Mobl2 Change Label Clear Label Clear All Labels Set Name Automaton Size ese IPlavisF Sh Logger Figura 4 5 Criando uma transi o entre dois estados 28 CAP TULO 4 EDI O DE MEFS JPlavisFSM lt untitled1 gt File TestSession Properties View Configuration lo i Automaton Size sere JFIavisFeM Logger Figura 4 6 Informando a entrada sa da da transi o Repetindo os passos de acordo com objetivo final temos a MEF exemplo apresentada na Figura 4 7 Ap s a edi o basta salvar a MEF em File Save Figura 4 8 A ferramenta salvar um arquivo em formato pr prio chamado JFLAP 4 File jff Desta forma a MEF pode ser recuperada posteriormente para que sejam realizados novos testes 29 CAP TULO 4 EDI O DE MEFS 4 b SS EO T ee JPIavisFSM Logger Figura 4 7 MEF final RR Ra x File Test Session Properties View Configuration Editor Bol ls alvar Nome de arquivo mef Arquivos de tipo JFLAP 4 File IFI 34 23 Con
24. ara visualizar os mutantes gerados ao clicar no bot o Show Mutants aberta uma nova aba que exibe os mutantes seus status e o score de muta o Ao terminar de visualizar os mutantes fechar a aba para voltar a aba da sess o de teste 5 Save TS O bot o Save TS atualiza o arquivo gerado para armazenar tanto o conte do da sess o de teste quanto o status dos mutantes Ao salvar uma sess o de teste os espa os em branco da tabela s o suprimidos ATEN O Sempre salvar a sess o de teste antes de finaliz la pois os dados n o s o salvos automaticamente E poss vel fechar uma sess o de teste sem salv la antes 39 File TestSession Properties View Configuration Ir Table Text Size Editor New Test Session AU Run Inputs Pa aa ita a b h bh db b b b h a a ba b b labaa a b a b h lab lab b b b Ja aa 25 07 2011 11 48 40 Mutation Dead 36 0 Alive 2 0 Equiv 0 0 25 07 2011 11 48 40 Mutation SCORE 0 94 736944 File TestSession Properties View Configuration Editor New Test Session 40 40 Mutation Dead 25 07 2011 11 48 40 Mutation SCORE D 94 736944 BU Ave 25 0 772011 11 48 30 Clear Inactives Test Cases oba ob ibaa dba bb Jaboa a a b a bb fab ba a b b b b aaa Input Input CAP TULO 5 SESS O DE TESTE Result 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1
25. ativos Figura 5 16 Test Cases Generated CE _ TOTAL 10 Actives 10 Inactives 0 Figura 5 16 JPlavisFSM Resultado do Count TC aplicado a Figura 5 15 5 9 Export TS O bot o Export TS exporta a sess o de teste aberta criando um arquivo texto na pasta onde se encontra o execut vel da ferramenta com os testes presentes na tabela e suas respectivas sa das caso tenham sido geradas 5 10 n Complete O bot o n Complete verifica se o conjunto de teste apresentado na tabela completo Figura 5 8 OBSERVA O Na vers o atual da ferramenta esta funcionalidade pode ser execu tada apenas em ambiente Linux OBSERVA O 2 Para Habilitar a ferramenta n complete na JPlavisFSM neces s rio 1 ir at o diret rio raiz da ferramenta onde o jar est 2 Entrar no diret rio Methods 3 Escolher qual vers o da ferramenta utilizar 32 ou 64 bits ver qual arquitetura o seu computador 4 Renomear a vers o desejada para n complete 5 Remover a outra vers o da ferramenta n o utilizada Ver ltimo par grafo da Se o 2 3 42 CAP TULO 5 SESSAO DE TESTE 6 Executar os comandos chmod x n complete e chmod a script sh para habilitar a ferramenta Na Figura 5 17 ilustrado o procedimento descrito acima 1 cd JPlavisFSM 2 JPlavisFSM ls 3JPlavisFSM jar ManualJPlavisFSM pdf Methods 4 JPlavisFSM cd Methods 5 JPlavisFSM Methods ls
26. b m s o utilizadas Dois estados s de M et de I sendo a MEF I T to X Y C A A s o ditos distingu veis se existe uma segii ncia de entrada y Qu s A OQ7 t chamada de sequ ncia de separa o tal que A s y A ti y Duas MEFs I e M s o ditas distingu veis ou distintas se todo par de estados s Sm sendo s Sr e sm Sm distingu vel Analogamente considerando dois estados s e s de M diz se que s o equivalentes se para todo a Qu s O Qm s se A s a A s a Tamb m existe equival ncia entre m quinas M equivalente a outra MEF J caso seus estados iniciais sejam equivalentes Estendendo esse conceito para MEFs parcais temos o conceito de quasi equival ncia Dada a MEF parcial J dita quasi equivalente a M se Qm D Qr Um dom nio de erro 3 M o conjunto de todas as implementa es poss veis de M definidas sobre o alfabeto de entrada X Similarmente 3 M denota o conjunto de todas MEFs completas definidas sobre o alfabeto de entrada X com no m ximo n estados O conjunto de teste T dito n completo para a especifica o M se para todo I 3 M tal que I distinguivel de M existe pelo menos uma sequ ncia o T que distingue J de M Se T possui uma nica sequ ncia essa sequ ncia chamada de sequ ncia de verifica o checking sequence 2 3 1 Propriedades e Caracter sticas MEFs possuem algumas propriedades importantes quanto a sua estrutura como
27. bre o estado escolhido com o bot o direito do mouse Figura 4 3 Selecione a op o Set Name e ent o diga qual o novo nome que deseja dar ao estado Caso deixe o campo em branco e pressione OK o estado assumir seu nome inicial quando foi criado 26 CAP TULO 4 EDI O DE MEFS j JPlavisFSM lt untitled1 gt Jeg Ed File TestSession Properties View Configuration x Initial Change Label Clear Label Clear All Labels Input a new name or set blank to remove the name s0 Automaton Size me eee sss eee PlavisFSM Logger Figura 4 3 Alterando nome de um estado 4 3 Informar Estado Inicial da MEF Com o primeiro botao da aba Editor selecionado tecla de atalho a clique sobre o estado escolhido com o bot o direito do mouse e selecione a op o Initial Figura 4 4 Apenas um estado por MEF assumir essa op o sendo assinalado com um marcador seta branca de estado inicial a sua esquerda 4 4 Criar Transi es Entre os Estados Para criar uma transi o entre dois estados selecione o terceiro bot o da aba Editor tecla de atalho t Com o bot o esquerdo do mouse clique e segure o bot o sobre o estado de origem da transi o arraste at o estado destino e solte o bot o Figura 4 5 Dois campos de edi o ser o exibidos o primeiro corresponde ao s mbolo de entrada da transi o e o segundo ao s mbolo de sa da Digite no primeiro campo a entrada desej
28. cos podem ter sido inseridos acidentalmente pelos programadores por m esses defeitos alteram a sem ntica do software Delamaro et al 2007a Quanto hip tese do efeito de acoplamento assume se que erros complexos est o relacionados a erros simples Uma vez que experimentos emp ricos evidenciam a veracidade dessa hip tese Delamaro et al 2007a espera se que casos de teste que encontrem defeitos simples tamb m sejam capazes de encontrar defeitos complexos O crit rio explora essas duas hip teses assumindo que ao criar varia es simples do artefato de teste por meio da inser o de pequenos defeitos sint ticos a execu o de testes que s o capazes de identificar essas altera es nos novos artefatos gerados tamb m ser eficiente para identificar problemas mais graves que podem existir no artefato original Segundo Mathur 2008 o crit rio pode ser utilizado como t cnica caixa preta Neste caso pode ser realizada muta o de especifica o e no dom nio de aplica es web muta o de mensagens entre cliente e servidor Por outro lado ao considerar o crit rio de muta o que requer acesso a todo ou parte do c digo fonte este considerado como uma t cnica caixa branca ou baseada no c digo Pode se aplicar o crit rio para avaliar e melhorar teste para unidades de programas e tamb m aplic lo em teste de integra o de um conjunto de componentes Portanto an lise de muta o uma t cnica
29. culado o score de muta o como pode ser observado no log na rea inferior da ferramenta Figura 5 8 Esta funcionalidade ainda est limitada para o caso de entradas como caracteres 36 CAP TULO 5 SESSAO DE TESTE 4 JPlavisFSM mef jff File TestSession Properties View Configuration Editor New Test Session Table Text Size Result a RUA inputs 25 07 2011 11 44 08 Mutation Dead 38 0 Alive 0 0 Equiv 0 0 25 07 2011 11 44 08 Mutatian SCORE 1 0 Figura 5 8 JPlavisF SM Run Inputs 5 4 Prefix O bot o Prefix marca como inativo os casos de teste que correspondam ao prefixo de outras sequ ncias ou redund ncias casos de teste id nticos Um caso de teste inativo sinalizado por um um no in cio da linha Por exemplo na Figura 5 9 exibido a tabela de entradas com dois casos de teste identicos primeira e ltima linha Ao pressionar o bot o Prefix o caso de teste da primeira linha marcado como inativo Figura 5 10 Quando re executados os casos de teste apenas a linha ativa tem a sua sa da calculada Figura 5 11 5 5 Clear Inactives e Clear All Existem duas op es para limpar a tabela implementadas 1 eliminar os testes inativos Clear Inactives e 2 eliminar todos os testes Clear All No exemplo da Figura 5 12 foram marcados como inativas a primeira e a segunda sequ ncia de teste Ao pressionar o bot o Clear Inactives os testes
30. dos demais Desta forma a diferen a entre os conjuntos W e H est na forma como s o constru dos Enquanto W obtido a partir do conjunto W o H constru do a partir de sequ ncias de separa o 15 CAP TULO 2 CONCEITOS que distinguem cada par de estados da MEF O m todo HSI consiste basicamente na aplica o das fases e Fase 1 gerar as sequ ncias formadas por r Q HSI em que HSI Uscotg H tal que definido pelo estado final da execu o da sequ ncia q e Fase 2 gerar as sequ ncias formadas por r P HSI em que P amp HSI U eptp H tal que definido pelo estado final da execu o da sequ ncia p Com rela o MEF da Figura 2 1 temos 9 1 b2 ab3 P 0 a1 b2 ab3 bbo ba1 aa1 aba1 abbo Ho a b H bb H5 a b e Ha bb Desta forma temos na primeira fase Tr a b abb ba bb abbb e Ty a b abb ba bb abbb bba bbb babb aabb ababb abba abbb Ao final do processo obtem se o cojunto de teste Tz s rbba rbbb rbabb raabb rababb rabba rabbb de tamanho 34 2 4 7 M todo Switch Cover O m todo Switch Cover Pimont e Rault 1976 usa uma abordagem de busca em pro fundidade e percorre todas as combina es de transi es pelo menos uma vez O m todo Switch Cover utiliza o conceito de rvore de transi o transition tree na qual a raiz o estado inicial para cada transi o desenhado um galho e para cada pr ximo estado adicio
31. e Dominio de entrada o conjunto de todos os poss veis valores que podem ser utilizados para executar o programa P ou sistema em teste SUT system under testing e Dado de teste um elemento do dom nio de entrada ou seja um valor de entrada do sistema e Caso de teste um par entrada sa da esperada de P Um dado de teste junta mente com o resultado esperado do programa para aquele dado de teste e Conjunto de teste tamb m chamado de conjunto de casos de teste o cojunto de todos os casos de teste usados durante a atividade de teste em quest o e Or culo o mecanismo de decis o utilizado para decidir se a sa da obtida para um determinado teste corresponde sa da esperada Pode ser uma ferramenta automatizada ou o pr prio testador Na literatura poss vel encontrar defini es distintas para defeito engano erro e falha Segundo Delamaro et al 2007b um defeito fault definido como sendo um passo processo ou defini o de dados incorretos Um engano mistake a a o humana que resulta em um defeito Um erro error decorre da execu o de um defeito gerando um estado inconsistente ou inesperado no programa como valores incorretos de vari veis mem ria ou do apontador de instru es Por fim pode ocorrer uma falha failure no sistema em decorr ncia de um erro que torna vis vel o problema para o observador por meio de um resultado inesperado do sistema
32. e entrada sa da nica para cada estado s que pode tamb m n o existir como as demais sequ ncias de separa o apresentadas Com a aplica o da sequ ncia UIO poss vel distinguir o estado s de qualquer outro estado pois a sa da produzida espec fica do estado si Uma sequ ncia DS uma UIO para todos os estados Por m como o objetivo utilizar sequ ncias menores pode ser mais apropriado gerar UIOs pois em geral poss vel obter sequ ncias mais curtas Para a MEF exemplo da Figura 2 1 temos UIO a UIO bbb UIO bb e UIO bb 11 CAP TULO 2 CONCEITOS e Conjunto de Caracteriza o W como DS e UIO o W utilizado para dis tinguir aos pares os estados de uma MEF um conjunto de sequ ncias de entrada tal que para dois estados distintos quaisquer s e s existe a W tal que Am s 0 Amlsi a A a uni o de todas as sequ ncias UIO formam um conjunto W assim como a DS representa um W unit rio Por sua vez o W pode gerar um conjunto menor que as demais sequ ncias descritas Para a MEF de exemplo temos W a bb Como pode se observar na Tabela 2 2 a sequ ncia bb apenas distingue os estados S e s3 Por m ao aplicar em conjunto a sequ ncia a os estados sg e s passam a ser distingu veis ou seja geram sa das diferentes Tabela 2 2 W Sa das obtidas para a MEF da Figura 2 1 Estados a b b e Conjunto de Identifica o W um subconjunto de W defin
33. e foi definido a fim de prover cobertura completa para defeitos em MEFs o m todo UIOv pode ser considerado um caso especial do m todo Wp Isso se torna verdade quando o conjunto W possui somente uma sequ ncia simples UIO para cada estado s da MEF tornando o m todo Wp equivalente ao m todo UIOv Para a MEF da Figura 2 1 temos a b ab P 0 1 b2 ab3 bb0 bay aay abas abb em que os ndice apresentados nas sequ ncias correspondem ao estado final alcan cado por cada uma na primeira fase UIO a UIO bbb UIO bb e UIO bb Assim na primeira fase obtem se Try a bbb bb bb aa abbb abb abb ba bbbb bbb bb aba abbbb abbb abbb e Tr bba babbb aabbb ababbb abbbb Desta forma ao final de todo o processo de uni o e redu o temos Turov rbbbb rbba rbabbb raabbb rababbb rabbbb de tamanho 34 2 4 6 M todo HSl O m todo HSI Petrenko et al 1993 assim como a maioria dos m todos propostos foi proposto como uma melhoria para o m todo W Al m de gerar conjunto de teste completo o m todo apresenta um grau de aplicabilidade maior do que os demais m todos pois pode ser aplicado tanto em MEFs completas quanto em MEFs parciais Desta forma o m todo consegue cobrir um n mero maior de especifica es com um custo menor quando comparado com o m todo W Fazendo um paralelo entre os m todos Wp e HSI ambos tem sequ ncias de separa o por estado que possuem o objetivo de distinguir o estado s
34. enta Figura 5 7 30 CAP TULO 5 SESSAO DE TESTE File Edit View Terminal Help arineiza phoenix Desktop Plaviss ls A JPlavisFSM jar mef jff Methods arineiza phoenix Desktop Plavis E k Ji Figura 5 7 Formato de arguivo para importar casos de teste A ferramenta reconhece automaticamente o novo m todo colocado nesta pasta O m todo deve ser desenvolvido em Java ou seja aceita execut veis jar A JPlavisFSM executa uma chamada externa seguindo o padr o java jar newMethod jar fsm txt O formato do arquivo de entrada fsm txt segue o padr o estado origem entrada sa da gt estado destino Por exemplo MEF com 3 estados entradas a e b sa das 0 e 1 com estado inicial s0 completamente especificada determin stica inicialmente conexa e minimal s0 a 0 gt sl s0 b 1 s2 sl a 0 gt s2 sl b 0 gt s1 s2 a 1 gt s0 s2 b 0 gt sl O estado inicial determinado pelo estado origem da primeira transic o do arquivo de especifica o da MEF ou seja no exemplo acima corresponde a s0 O arquivo de sa da deve ser gerado com nome de fsmOUT txt e respeitar o formato descrito na Se o 5 2 2 A ferramenta JPlavisFSM ao executar o novo m todo implementado verifica se o conjunto gerado completo 5 3 Run Inputs Para calcular as sa das para as sequ ncias de teste listadas na tabela necess rio pressio nar o bot o Run Inputs Ao executar as entradas tamb m cal
35. figuration STAR m 25 07 2011 11 34 53 Configuration DEFAULT E 25 07 2011 11 34 53 Configuration END Figura 4 8 Salvando uma MEF 30 Cap tulo 5 Sess o de Teste Nesta se o s o apresentadas as funcionalidades disponibilizadas nas sess es de teste bem como as funcionalidades de criar nova sess o de teste Test Session New Figura 5 1 e abrir uma sess o existente Test Session Open 5 1 Criar sess o de teste Ao selecionar a op o de criar uma nova sess o de teste a ferramenta solicita ao usu rio o local onde deseja salvar a sess o e o nome do arquivo Figura 5 2 SUGEST O Salve a sess o de teste com um nome que a relacione com a MEF em teste por exemplo tsl mef uma vez que a MEF em teste foi salva como mef jff N o preciso adicionar extens o ao arquivo a ferramenta salva em um formato pr prio denominado Plavis Test File ptf Na Figura 5 3 apresentado o ambiente de uma sess o de teste da JPlavisFSM Nesta aba est o implementadas algumas funcionalidades que guiam a atividade de teste A esquerda est a representa o da MEF em teste A direita a tabela de casos de teste na qual apresenta a sequ ncia de entrada na primeira coluna e a respectiva sa da na segunda coluna No canto inferior direito est o dispon veis duas barras de bot es cujas fun es ser o explicadas a seguir OBSERVA O poss vel entrar manualmente com dados de teste
36. ias de teste a m quina mais amplamente utilizada a de Mealy a qual corresponde ao foco deste trabalho A representa o de uma MEF pode ser feita por um diagrama de estados em que c rculos representam os estados e arcos direcionados as transi es Essa representa o se assemelha a de um aut mato finito com sa das Outra representa o poss vel no formato de tabela de transi o em que os estados s o representados por linhas e os estados por colunas Na Figura 2 1 apresentada uma MEF de quatro estados e oito transi es representada por um diagrama de estados e na Tabela 2 1 representado a mesma MEF em forma de tabela de transi es Figura 2 1 Exemplo de MEF Tabela 2 1 Tabela de transi o da MEF da Figura 2 1 EE DDD Formalmente pode se definir uma MEF como uma tupla M S 89 X Y D A 0 sendo CAP TULO 2 CONCEITOS e S conjunto finito n o vazio de estados so estado inicial tal que sy S e X conjunto finito n o vazio de s mbolos de entrada e Y conjunto finito n o vazio de s mbolo de sa da e D dominio da especifica o tal que D C S x X e A fun o de sa da tal que A D gt Z e 0 fun o de transi o tal que 0 D S Considerando a MEF da Figura 2 1 tem se que para o estado so A so a le A so b O fun es de sa da e so a s e so b so fun es de transi o Pode se estender essas nota es
37. ido para cada estado s de M que distingue o estado s dos demais sendo W C Qu s o conjunto de seq ncias de entrada definidas para o estado s se para qualquer outro estado s existe a W N Qy s tal que Ay s a A Am s a Por exemplo para a MEF da Figura 2 1 a sequ ncia a distingue o estado sy de todos os demais ent o Wo a Da mesma forma a sequ ncia de entrada bb distingue tanto o estado so quanto s3 sendo W W bb Por m o estado s n o distingu vel apenas com a sequ ncia a ou com bb mas distingu vel com o conjunto W a b e Conjunto de Identificadores Harmonizados H um conjunto de identifi cadores de estados tal que para dois estados quaisquer s s S i 9 existe a H e y W que t m um prefixo comum f tal que 8 Qu s N Qy s e Aus B A Am s B Sendo assim temos para a MEF da Figura 2 1 Ho a b H bb Ho a b e Hz bb 2 4 2 M todo W Um dos m todos mais difundidos para a gera o de sequ ncias de testes o m todo Auto mata Theoretic ou como ficou mais conhecido m todo W foi proposto por Chow 1978 O nome atribu do ao m todo originou se devido refer ncia feita por Chow 1978 ao conjunto de caracterizacao utilizado pelo m todo como conjunto W O m todo W pode ser considerado o m todo cl ssico e precursor da rea uma vez que a maioria dos trabalhos seguintes foram baseados no m todo W Uma restric o quanto ao
38. marcados como inativos s o apagados Figura 5 13 of CAP TULO 5 SESSAO DE TESTE File Test u Configuration Editor New Test Session Table Text Size i Input Result Jaaa 1 0 0 Ja a b b 1 0 0 1 bh ERES bd b b 0 1 0 1 lhaa 0 0 0 p a b 0 0 0 1 labaa 1 0 0 0 a b a b b 1 0 0 0 1 Jadbboa 1 0 1 0 boob RKK Jw e SET AX T8 Mutation Dead 38 0 Alive U Equi TO 25 07 2011 11 44 08 Mutation SCORE 1 0 25 07 2011 11 45 05 Show Mutants File Test Session View ET Editor New Test Session Ir Table Text Size Result Toba bb bb ibaa dba bb a b a a Jada Jabba ove Mutants 25 07 2011 11 46 19 Prefix CF START 25 0 772011 11 46 19 Prefix CF END Figura 5 10 JPlavisFSM Prefiz 38 CAP TULO 5 SESSAO DE TESTE 4 JPlavisFSM mef jff File TestSession Properties View Configuration Editor New Test Session Ir Table Text Size Result im tons sun put Pren show Mutants TC Counter 25 07 2011 11 47 32 Mutation Dead 38 0 Alive 0 0 Equiv 0 0 25 07 2011 11 47 32 Mutation SCORE 1 0 I I dias Runinputs Figura 5 11 JPlavisFSM Execu o dos testes OBSERVA O uma sequ ncia pode ser marcada manualmente como inativa clicando duas vezes na linha desejada e digitando um no in cio da sequ ncia 5 6 Show Mutants P
39. na primeira coluna da tabela uma vez que seja respeitada a configurac o dos separadores de entrada e as entradas sejam digitadas corretamente 31 CAP TULO 5 SESSAO DE TESTE Properties View Configuration Fim rp M k este IP avisFSM Logger Figura 5 1 JPlavisFSM Sess o de Teste E JPlavisFSM mef jff Que ES File TestSession Properties View Configuration Nome de arquivo tz1 mef Arquivos de tipo Plavis Test File M M Automaton Size TTD 3453 Contiguration EML E 25 07 2011 11 38 54 FSM file C iDacuments and SettingstarineizaiDesktopiPlavisimer jf 25 07 2011 11 38 54 FSM Saved 8 Figura 5 2 JPlavisFSM Criar Sess o de Teste 32 CAP TULO 5 SESSAO DE TESTE 4 JPlavisFSM mef jff File TestSession Properties View Configuration Editor New Test Session Ir Table Text Size Result TTD 41 18 Generate Mutants 25 07 2011 11 41 18 Generate Mutants 38 mutants EMD 25 07 2011 11 42 24 Create Test Section CiDocuments and SettingsiarineizaiDesktopiPlavisits1_ met ptt Figura 5 3 JPlavisFSM Aba New Test Session 5 2 Load Inputs O botao Load Inputs esta vinculado ao ComboBox que est a sua esquerda Com esse botao possivel importar casos de teste a partir 1 do m todo W j implementado na ferramenta 2 From file que importa os casos de teste de um arquivo de texto qualquer 3 de algum m todo externo 5 2
40. nado um n Em caso de loops considerado apenas uma itera o O n folha o estado inicial ou um estado j adicionado na rvore Esse procedimento repetido at todas as combina es de transi es serem exercitadas Esse m todo exaustivo pois ele cobre todos os caminhos ating veis pelo estado inicial enquanto os demais m todos se baseiam somente nas transi es conjunto P O conjunto de teste gerado por esse m todo cresce exponencialmente com o tamanho da MEF por m n o exige que a MEF seja completamente especificada O m todo n o requer uma fase para identifica o dos estados sequ ncia de separa o como os demais m todos como o m todo W que necessita calcular o cojunto de caracteriza o para gerar o conjunto de teste Com rela o MEF da Figura 2 1 um poss vel conjunto gerado pelo m todo Switch Cover Tus raabbbabbbabbbaabbbabbbabb de tamanho 26 2 5 Teste de Muta o O Teste de muta o ou an lise de mutantes baseia se em duas hip teses Delamaro et al 2007a 1 do programador competente e 2 do efeito de acoplamento A hip tese do 16 CAP TULO 2 CONCEITOS programador competente assume que programadores experientes desenvolvem programas corretos ou pr ximos do correto Desta forma o crit rio de mutac o parte do princ pio que o programa a ser testado muito pr ximo do correto e que pequenos defeitos que n o geram erros sint ti
41. o Carlos e ao INCT SEC pela estrutrura fornecida e a Profa Dra Ana Maria Ambr sio pelo apoio durante a fase de desenvolvimento da ferra menta e pela utiliza o da JPlavisFSM em disciplinas do programa de p s gradua o do INPE OS M FAPESP Ss USSR Micas RS INCT z AT 48 CAP TULO 5 SESS O DE TESTE Refer ncias Bibliogr ficas Chow T S Testing software design modeled by finite state machines IEEE Transactions on Software Engineering v 4 p 178 187 1978 Delamaro M E Barbosa E F Vincenzi A M R Maldonado J C Teste de muta o In Delamaro M E Maldonado J C Jino M eds Introdu o ao Teste de Software Elsevier p 9 25 2007a Delamaro M E Maldonado J C Jino M Conceitos b sicos In Delamaro M E Maldonado J C Jino M eds Introdu o ao Teste de Software Elsevier p 1 7 2007b Fabbri S C P F Maldonado J C Masiero P C Delamaro M E Proteum FSM A tool to support finite state machine validation based on mutation testing In Proceedings of the 19 International Conference of the Chilean Computer Science Society Washington DC USA IEEE Computer Society 1999 p 96 104 Fujiwara S Von Bochmann G Khendek F Amalou M Ghedamsi A Test selection based on finite state models IEEE Transactions on Software Engineering v 17 p 591 603 1991 Mathur A P Foundations of software testing v 1
42. odos HSI SPY UIO e Switch Cover estao dispon veis apenas para ambiente Linux 5 2 2 From File Para importar casos de teste a partir de algum arquivo de texto necess rio seguir algumas regras Figura 5 6 Na primeira linha do arquivo deve estar descrito qual o separador de entradas que deve ser utilizado para ler as sequ ncias de teste DEFAULT para v rgula SPACE para espa o em branco NOTHING quando deve se considerar entradas como caracteres e ou o pr prio s mbolo do separador para o caso de n o ser nenhum dos descritos anteriormente 34 CAP TULO 5 SESSAO DE TESTE JPlavisFSM mef jff File TestSession Properties View Configuration x Editor New Test Session Ir Table Text Size Input Result om Prefix show mutants TC Counter Export TS Load Inputs v Method 25 07 2011 11 43 07 Load Inputs Config File DEFAULT 25 07 2011 11 43 07 Load Inputs v Method END Figura 5 5 JPlavisFSM Load Inputs 2 Nas demais linhas as sequ ncias de teste uma por linha File Edit Search Help b a b a Figura 5 6 Formato de arguivo para importar casos de teste 5 2 3 M todo Externo Se a op o for importar casos de teste a partir de um m todo externo ele deve gerar um arquivo de texto com as sequ ncias geradas da mesma forma que apresentado na Figura 5 6 O m todo externo deve ser colocado em uma pasta Methods junto ao execut vel da ferram
43. os como equivalentes Entretanto al m do problema da equival ncia outro grande problema para a aplica o do crit rio an lise de mutantes est relacionado ao seu alto custo de execu o uma vez que o n mero de mutantes gerados pode ser muito grande o que dispende um alto tempo de execu o Delamaro et al 2007a 18 Cap tulo 3 A Ferramenta Esta sec o apresenta as funcionalidades b sicas disponibilizadas pela ferramenta Ser dedicado posteriormente sec es mais detalhadas sobre as principais funcionalidades como Edi o de MEFs Se o 4 e Criac o Edic o de Sess es de Teste Se o 5 3 1 Menu File No menu File Figura 3 1 est o disponibilizadas as funcionalidades de gerenciamento dos arquivos de MEF da ferramenta extens o jff poss vel por exemplo abrir uma nova rea de edi o de MEFs Neuw abrir um arquivo de uma MEF salva Open ou Salvar una MEF Save e Save As 3 2 Menu Test Session No menu Test Session Figura 3 2 pode se criar uma nova sess o de teste ou abrir uma sess o existente para consulta edi o Na Se o 5 ser apresentado em detalhes como criar editar uma sess o de teste 19 CAP TULO 3 A FERRAMENTA JPlavisFSM lt untitled1 gt e TestSession Properties View Configuration Automaton Size temer IPlavisF SM Logger Figura 3 1 JPlavisFSM Menu File JPlavisFSM lt untitled1 gt
44. para sequ ncias de entrada considerando uma sequ ncia de entrada a a aplicada a partir do estado s ent o 6 s a a d 0 s a a e A s a a A s 0 A s a a Por exemplo para o estado so dada a sequ ncia de entrada abba temos A so abba 1010 e so a s que define uma sequ ncia de entrada que antige o estado s a partir do estado inicial gerando a sequ ncia de sa da 1010 Outra nota o empregada para representar as fun es de sa da e de transi o s r y sj que representa uma transi o com entrada x e sa da y do estado origem s ao estado destino sj sendo s s 5 z E Xe y Y Para representar uma sequ ncia finita de s mbolos de entrada pode se utilizar a mesma nota o sem a necessidade de representar a sequ ncia de s mbolos de sa da obtidos por exemplo temos que sy abba s A nota o o representa a concatena o de duas sequ ncias de entrada sendo a 5 X em que X representa todas as sequ ncias do dominio de entrada A nota o AB representa a concatena o de conjuntos tal que AB ab a A B B Dadas duas sequ ncias o e 5 a dita prefixo de O denotado a lt D se G aw para algum w A sequ ncia a um prefixo pr prio de O denotado a lt D se au para algum w sendo que representa a sequ ncia vazia Uma sequ ncia de entrada chamada de um caso de teste ou apenas teste Um conjunto de casos de teste
45. que n o sejam prefixo de outras Desta forma pode se reduzir o conjunto de teste Tw para Ty aaa baa bba aabb abaa abba babb bbbb ababb abbbb de tamanho 39 Considerando as opera es de reset temos Tw raaa rbaa rbba raabb rabaa rabba rbabb rbbbb rababb rabbbb de tamanho final 49 2 4 3 M todo Wp O m todo W parcial Wp do ingl s partial W foi proposto por Fujiwara et al 1991 como uma melhoria do m todo W A partir do conjunto W criado o conjunto de identifica o W que extrai um subconjunto do conjunto W capaz de identificar cada estado da MEF dependendo do estado final s que foi alcan ado pela sequ ncia Desta forma o m todo Wp se baseia nos conjunto Q P e W sendo realizado em duas fases e Fase 1 gerar as sequ ncias formadas por r Q W e Fase 2 gerar as sequ ncias formadas por r R amp W em que R P Q e ROW Uper p W tal que i definido pelo estado final da execu o da sequ ncia p 13 CAP TULO 2 CONCEITOS Para a utiliza o do m todo Wp a MEF deve apresentar as propriedades determi n stica completa inicialmente conexa e minimal Da mesma forma que o m todo W o Wp foi provado ser completo e por na segunda fase concatenar as sequ ncias com um subdom nio de W apresenta um conjunto final 7 menor Para a MEF da Figura 2 1 temos a b ab P e a b ab bb ba aa aba abb Wo a Wi a bb Wo bb e Wa bb Assim na fase 1 temos Try aa ba bb ab
46. ra E inclu do em cada arco da MEF cada um dos outros eventos existentes que n o provoca a transi o entre os estados relacionados ao arco considerado e e TralniStaDel altera o do estado inicial da MEF de forma que em cada mutante um dos outros estados passa a ser o estado de inicializa o Eventualmente algum mutante e o modelo original podem apresentar sempre o mesmo resultado para qualquer caso de teste elaborado Cabe ao testador verificar e determinar se h equival ncia entre os artefatos Em caso afirmativo o mutante classificado como equivalente Ap s a execu o dos mutantes e a an lise de equival ncia calculado o escore de muta o O objetivo estimar a adequa o dos casos de teste utilizados em uma escala de O a 1 fornecendo uma medida objetiva de qu o pr ximo o conjunto est da adequa o do crit rio Dado o programa P e o conjunto de teste analisado T calculado o escore de muta o ms P T como Delamaro et al 2007a nsP T ss onde DM P T n mero de mutantes mortos pelo conjunto de casos de teste T M P n mero total de mutantes gerados a partir do programa P e EM P n mero de mutantes gerados que s o equivalentes a P O escore de muta o obtido a partir da raz o entre o n mero de mutantes mortos pelo conjunto 7 e o n mero de mutantes que se pode matar dado pela diferen a entre o n mero total de mutantes gerados e o n mero de mutantes classificad
47. rros de uma implementa o A Se o 2 4 apresenta alguns dos m todos de gera o de casos de testes propostos para MEF s 2 4 M todos de Gera o de Casos de Testes M todos de gera o de sequ ncias de teste t m por objetivo verificar se uma implemen ta o est correta com sua especifica o por meio da execu o de atividades de teste e valida o em sistemas descritos por modelos Fujiwara et al 1991 Apesar de todos definirem procedimentos para a gera o de testes a principal diferen a que os evidenciam o custo da gera o dessas sequ ncias e a capacidade de detec o de defeitos efetivi dade Desta forma deve se levar em conta a rela o custo benef cio de cada m todo O foco principal consiste em promover a detec o do maior n mero poss vel dos defeitos existentes em uma implementa o levando em conta o tamanho do conjunto gerado para que esse fato n o inviabilize a sua aplica o pr tica A maioria dos m todos n o gera conjuntos unit rios de teste isto com uma nica sequ ncia Para executar cada sequ ncia do conjunto necess rio que a MEF esteja em seu estado inicial Sendo assim uma opera o que leve corretamente a MEF de volta para o seu estado inicial antes que a pr xima sequ ncia venha a ser executada deve existir o chamado reset confi vel Como uma opera o essencial para a aplica o das sequ ncias de teste o seu custo deve ser considerado
48. s correspondem ao estado final alcan ado por cada uma UIOo a UIO bbb UIO bb e UIO3 bb Ap s a fase de gera o do conjunto de teste elimi nando as sequ ncias que s o prefixos e inserindo a opera o de reset obtem se Tyro rbbb rbba rbabbb raabbb rababbb rabbbb de tamanho 33 Outros m todos que utilizam a sequ ncia UIO como sequ ncia de separa o foram propostos mas tamb m nao garantem a cobertura completa de defeitos Apenas no trabalho proposto por Vuong et al 1989 que houve a preocupa o de se estabelecer uma prova formal para uma melhoria do atual m todo UIO chamado de M todo UIOv a ser trabalho a seguir 14 CAP TULO 2 CONCEITOS 2 4 5 M todo UIOv Como uma variac o do m todo UIO o m todo UIOv UIO variation foi proposto por Vuong et al 1989 A soluc o apresentada inclui uma fase a mais no processo de gerac o de testes em que seriam aplicada todas as sequ ncias UIO a todos os estados pelo menos uma vez ou seja a sequ ncia UIO ser aplicada em cada estado s atingido a partir do conjunto Q tal que 1 0 nt e j 10 n Desta forma o m todo UIO difere do m todo UIOv na aplica o da primeira fase do processo e Fase 1 gerar as sequ ncias formadas por r Q UIO e Fase 2 gerar as sequ ncias formadas por r P amp UIO em que P UIO Unep p UIO tal que i definido pelo estado final da execu o da sequ ncia p Devido a esse novo processo qu
49. tadas a partir do estado inicial terminam em cada um dos estado de M uma vez Para a Figura 2 1 um exemplo do conjunto State Cover seria Q a b ab e Transition Cover P um conjunto de sequ ncias de entrada que exerci tam cada uma das transi es de M a partir do estado inicial O Transition Cover pode incluir o State Cover pois para incluir todas as transi es neces s rio que todos os estados sejam visitados Para a MEF de exemplo temos P a b ab bb ba aa aba abb e Sequ ncia de Sincroniza o SS uma sequ ncia de entrada a X que permite alcan ar um dado estado independente de qual estado a MEF esteja inici almente A sequ ncia SS pode n o existir e n o necessariamente nica Para o exemplo dado s o sequ ncias de sincroniza o SS abbb SS a SS abb e SSo ab respectivamente para os estados de mesmo ndice e Sequ ncia de Separa o s o sequ ncias que diferenciam um estado s de outro estado s Dado que o conjunto formado por todas as sequ ncias poss veis para um estado s representado por Qm s deve existir uma sequ ncia a Qm s N Qm s tal que A s a A s a Essas s o as sequ ncias b sicas nas quais se baseiam os m todos de gera o de casos de teste Existem diversos tipos de sequ ncias de separa o a serem descritas nos t picos a seguir e Sequ ncia nica de Entrada e Sa da UIO uma sequ ncia d
50. u de transfer ncia e Erro de estado inicial e M n o s o equivalente Por m basta alterar o estado inicial de para solucionar o erro e Estados extras quando possui estados a mais que que M Para tornar I equivalente a M basta modific la diminuindo o n mero de estados e Estados ausentes erro oposto ao de estados extras em que n o equivalente a M por possuir um n mero de estados inferior Para torn la equivalente a M basta alterar J acrescentando estados Na Figura 2 3 s o exemplificados erros de opera o e transfer ncia respectivamente em rela o a MEF apresentada na Figura 2 1 que possui a transi o so b 1 gt so al Figura 2 3 a Erro de Operag o b Erro de transfer ncia Para se identificar os erros descritos acima uma op o seria a realiza o de teste exaustivo O conjunto X que representa todas as sequ ncias de entradas poss veis seria aplicado com o objetivo de verificar se as sa das de equivalem as sa das de M Por m invi vel realizar o teste exaustivo uma vez que o conjunto X infinito CAP TULO 2 CONCEITOS Diversos m todos de gera o de casos de testes tem sido propostos para a t cnica de teste baseado em MEFs com o objetivo de encontrar um conjunto de sequ ncias que garanta a equival ncia das MEF s O m todo ideal seria aquele que gera o menor conjunto de teste e que seja suficiente para revelar todos os poss veis e
Download Pdf Manuals
Related Search
Related Contents
Polaris 9919820 Offroad Vehicle User Manual Mode d`emploi Ultra Derm Facial-Spray-Control Sitecom Wireless Modem Router 54g Panasonic TY-ST65VX300 Shuttle SG41J1 barebone HRR 1 Manual de instalación y uso Protégé™ - Scott Safety Copyright © All rights reserved.
Failed to retrieve file