300 likes | 628 Views
Técnicas de Caixa Preta. PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELETRÔNICA E COMPUTAÇÃO – PG/EEC-I – ITA 2º SEMESTRE 2013. CE - 229 Teste de Software - Aula 02-1. Prof. Dr. Luiz Alberto Vieira Dias (ITA) Prof. Dr. Adilson Marques da Cunha (ITA)
E N D
Técnicas de CaixaPreta PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELETRÔNICA E COMPUTAÇÃO – PG/EEC-I – ITA 2º SEMESTRE 2013 CE - 229 Teste de Software - Aula 02-1 Prof. Dr. Luiz Alberto Vieira Dias (ITA) Prof. Dr. Adilson Marques da Cunha (ITA) Prof. Dr. LineuMialaret (ITA/IFSP) Colaboração: RenanCavichi (Aluno MSc, ITA/IFSP) CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Técnicas de Caixa Preta • Teste de Classe de Equivalência • Teste de Valor Fronteira • Teste de Tabela de Decisão • PairwiseTesting • Teste de Mudança de Estado • Teste de Análise de Domínio • Casos de Teste (Ivar Jacobsen*) • User Stories CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
O Processo de Teste Sucesso ou Falha Especificação do programa Oráculo Entradas Processamento CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Teste de Caixa Preta CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
O Processo de Teste • Nãoésóparadescobrirbugs de programação! • Procuraver se o software PROPICIA FAZER o que o designer (arquiteto-projetista) propôs • No caso de teste de caixapretaéfundamentalquehajaumaótimadefinição dos requisitos (funcionais, principalmente e nãofuncionais) e/ouUserStories, umavezque o testeéfeitoemfunção deles • O testadornãoprecisaconheceremdetalhesas entranhas do programa CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Definição e Aplicabilidade • DefiniçãoCaixaPreta– Éumaestratégia de testebaseadaapenasnosrequisitose/ou user stories e especificações. • Aplicabilidade –Emtodososníveis de teste do software: • Unidade • Integração • Sistema • Aceitação (do Produto) CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
TESTE DE CAIXA PRETA Oráculo SIM Passou! ResultadoEsperado? Requisitos NÃO Entradas Saídas Falhou! Caixa preta CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Processo de Teste Caixa Preta para SW sob teste (SW Under Test – SUT) • Analisar requisitos e especificações • Escolher dados de entrada válidos e não válidos, baseado nas specs (especificações) • Checar se as saídas são as esperadas • As saídas são comparadas com os resultados esperados, tanto para dados válidos, como para não válidos CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
O Processo de Teste de Caixa Preta Sucesso ou Falha Especificação do programa Oráculo Entradas Processamento CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Vantagens da Caixa Preta • O testadorélevado a selecionarconjuntos de dados relevantespara o testequesejameficientes e eficazesparadetetardefeitos • Estes conjuntosirãodetetarmaisdefeitos do que um testecriado de forma randômicaoubaseado no “sentimento” do testador • Lembrar: exemplobemsucedido da prática, nos USA! Microsoft após VISTA CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Desvantagens da Estratégia de Caixa Preta • Não se sabequanto do SUT foitestado Exemplo: if (name==“Vdias” && numero==1234) { enviecheque(Vdias); // de R$ 30.000 } • Para achartodososdefeitoséprecisocriartodasas combinaçõespossíveis de dados de entrada • Emsistemasquedependem de estadosanteriores o teste tem quelembraros dados de entrada e/ousaídaanteriores! CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Teste de Classe de Equivalência (1/2) • Definição – Éumaestratégiaqueprocuraidentificarclasses (conjuntos) de dados quecubramuma parte representativa do SUT. • Com issoconsegue-se umareduçãosubstancialno número de Casos de Teste • Éumamaneiraintuitiva de testar CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Teste de Classe de Equivalência (2/2) • Exemplo: Uma empresaempregapessoal com as seguinteslimitaçõesetárias (calmapessoal, euseiqueháinconsistências!): • 0 a16 – Nãocontrata • 16 a18 – Sócomoestagiário(a) • 18 a 55 – Contrata CLT • 55 a 99 – Nãocontrata CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Teste de Classe de Equivalência (3) • Emvez de testarcadaidade, testa-se umaidadeemcadaintervalo • Exemplos: John, 17 – Estagiário Peter, 34 – CLT Britney, 18 – ??? Vera Ficher, 59 – Nãocontrata Niemayer, 104 - ??? CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Como testar? • SemClasses de Equivalência: Forçabruta (escolhetodas as idades: 0 a 99) • Com classes de equivalência: Escolhe-se um “range” (intervalo) de idadesEx: if (idade >= 18 && idade <= 55 ) contrataCLT( ); • Usa-se dados de testedentro do range CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Perigo! • Exemplo (difícil de detetar com CaixaPreta): … if (idade >= 18 && idade<= 51) contrata( ); if (idade == 51 && nome ==“Marcos”) ContrataSalarioExcessivo( ); if (idade == 51 && nome <> “Marcos”) contrata ( ); if (idade >= 51 && Idade <= 55) contrata( ); … CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Lembrete: TesteemNível de Maturidade 4 • Testar, nestenível, nãoé um simples ato. Éumadisciplina mental queresultaem SW de baixorisco, com poucoesforço de teste. Nestenível de maturidadeo SW étestadodesdesuaconcepção. A geração do códigoáfeita de tal forma quefacilte a tarefa de testar e de preparar o teste. O software resultanteapresentariscomenor (Copeland, 2007) CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Como testar com Classes de Equivalência 1 – Identifica-se a Classe de Equivalência 2 – Cria-se um caso de teste para cada classe de equivalência 3 – Casos de teste adicionais podem ser criados, para que você se sinta mais confortável, mas raramente eles descobrirão defeitos adicionais CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Escolha de dados de entrada (contratos) Deve-se testarentradasnãoválidas? Depende • 962 • &$#!@ • Ronaldinho • Depende do contrato • Testa-se apenas o que o contratoexige (senãosaimuitocaro!): pré-condições(estado anterior aoteste) e pós-condiçõesdo contrato(estado posterior). CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Escolha de dados de entrada (contratos) • As classes de equivalência podem ser: • contínuas • discretas • Pode-se testar vários dados em um simples caso de uso de teste CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Cheque de crédito para compra de apartamento próprio Condições: 1 – Renda > R$ 2500 2 – Máximo Aps = 1 3 – Tipo AP <> casa 4 – Candidato = Pessos Física CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Casos de Teste • IvarHjalmar Jacobsen criouosCasos de Teste, no contexto do ProcessoUnificado da IBM-Rational (RUP) • Exemploqueciênciadádinheiro, pelomenosnospaisesdesenvolvidos CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Ivar Hjalmar Jacobsen (1/3) (nota histórica) • Ivar Hjalmar Jacobson(born in Ystad, Sweden, on September 2, 1939) is a Swedish Computer Scientist. He got his Master of Electrical Engineering at Chalmers Institute of Technology, in Gothenburg in 1962 and a Ph.D. at the Royal Institute of Technology, in Stockholm in 1985 Referência: JACOBSEN, I. et al. “Object-Oriented System Engineering: A Use Case Driven Approach”. New York, NY: Addison-Wesley, 1992 CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Ivar Hjalmar Jacobsen (2/3) • In 1967 he proposed the use of SoftwareComponents in the development of the new generation of software controlled telephone switches Ericsson was developing • At Ericsson he also invented Use Cases (Casos de Uso ≠ Estudos de Caso) • In October 1995, Ericsson divested (vendeu) the SW Objectory to Rational Software, and Ivar started working with Grady Booch and James Rumbaugh, to first create the UML, and later develop the Rational Unified Process (RUP) • Rational was bought by IBM in 2003 and Ivar decided to quit, but he stayed on until May 2004 as an executive technical consultant CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Ivar jacobsen (3/3)(www.wikipedia.com) • In mid 2003 Ivar formed Ivar Jacobson International (IJI) which is an umbrella company for Ivar Jacobson Consulting (IJC), which operates across 4 continents with offices in the UK, US (West and East Coasts), Scandinavia, China, Korea, Singapore and Australia. CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)
Exercício: Criar um Oráculo com base no exemploabaixo Condições: 1 – Renda > R$ 2500 2 – Máximo Aps = 1 3 – Tipo AP <> casa 4 – Candidato = Pessos Física CE-229 - Profs. Vieira Dias, Cunha e Lineu (c)