Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Eng.ª do Software - 10. Testes de software

13,883 views

Published on

Testes de software. Unidade de Engenharia do Software I para o curso de METI no ISCTE-IUL no 2.º semestre do ano lectivo de 2009/2010.

Published in: Education
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Eng.ª do Software - 10. Testes de software

  1. 1. Engenharia do Software I<br />Manuel Menezes de Sequeira<br />DCTI, ISCTE-IUL<br />Manuel.Sequeira@iscte.pt, D6.02<br />As apresentações desta série baseiam-se nas apresentações disponibilizadas por IanSommerville, tendo sido alteradas e adaptadas primeiro por  Anders Lyhne Christensen e finalmente por Manuel Menezes de Sequeira.<br />
  2. 2. Na aula anterior<br />Verificação e validação<br />Planeamento da verificação e validação<br />Inspecções de software<br />Análise estática automática<br />Desenvolvimento de software em sala limpa<br />2009/2010<br />2<br />Engenharia do Software I<br />
  3. 3. Testes de software<br />2009/2010<br />3<br />Engenharia do Software I<br />
  4. 4. Sumário<br />Testes de software<br />Teste de sistemas<br />Teste de componentes<br />Desenho de casos de teste<br />Automatização de testes<br />2009/2010<br />4<br />Engenharia do Software I<br />
  5. 5. Objectivos<br />Discutir diferença entre testes de validação e de defeitos<br />Descrever princípios de testes de sistema e de componentes<br />Descrever estratégias para gerar casos de teste para sistemas<br />Compreender características essenciais das ferramentas de automatização de testes<br />2009/2010<br />5<br />Engenharia do Software I<br />
  6. 6. Processo de testes<br />Testes de componentes<br />Teste de componentes individuais do programa<br />Usualmente responsabilidade de desenvolvedor do componente (excepto por vezes em sistemas críticos)<br />Testes derivados da experiência do desenvolvedor<br />Testes de sistema<br />Teste sistemas ou um subsistemas (compostos de componentes)<br />Responsabilidade de equipa de testes independente<br />Testes baseados em especificação do sistema<br />2009/2010<br />Engenharia do Software I<br />6<br />
  7. 7. Fases de teste<br />2009/2010<br />7<br />Engenharia do Software I<br />Testes de componentes<br />Testes de sistemas<br />Desenvolvedor do software<br />Equipa de testes independente<br />
  8. 8. Testes de defeitos<br />Objectivo é descobrir defeitos em programas<br />Teste com sucesso leva programa a comportamento anómalo<br />Mostram presença e não ausência de defeitos<br />2009/2010<br />Engenharia do Software I<br />8<br />
  9. 9. Objectivos do processo de testes<br />Testes de validação<br />Demonstra a desenvolvedor e cliente do sistema que software cumpre requisitos<br />Teste com sucesso mostra que sistema se comporta como pretendido<br />Testes de defeitos<br />Descobre erros ou defeitos no software levando a comportamento incorrecto ou que não corresponde à especificação<br />Teste com sucesso leva sistema a comportar-se incorrectamente, assim expondo um defeito no sistema<br />2009/2010<br />Engenharia do Software I<br />9<br />Um teste que não descubra erros ou defeitos é inconclusivo.<br />
  10. 10. Processo de testes de software<br />2009/2010<br />10<br />Engenharia do Software I<br />Casos de teste<br />Dados de teste<br />Resultados dos testes<br />Relatórios dos testes<br />Desenhar casos de teste<br />Preparar dados de teste<br />Executar programa com dados de teste<br />Comparar resultado com casos de teste<br />
  11. 11. Políticas de testes<br />Testes exaustivos podem mostrar ausência de defeitos<br />Testes exaustivos geralmente impossíveis<br />Políticas de testes definem abordagem a usar na escolha de testes de sistema<br />Testar todas funcionalidades acessíveis em menus<br />Testar combinações de funcionalidades acedidas no mesmo menu<br />Quando for necessário introduzir dados do utilizador, testar todas funcionalidades com entradas correctas e incorrectas<br />2009/2010<br />Engenharia do Software I<br />11<br />
  12. 12. Testes de sistemas<br />Envolvem integrar componentes de modo a formarem sistema ou subsistema<br />Podem envolver testar incremento a fornecer a cliente<br />2009/2010<br />Engenharia do Software I<br />12<br />
  13. 13. Fases dos testes de sistemas<br />2009/2010<br />Engenharia do Software I<br />13<br />
  14. 14. Testes de integração<br />Envolve<br />Construir sistema a partir de componentes<br />Ir testando para revelar problemas gerados por interacção entre componentes<br />Integração deve ser incremental para simplificar localização de erros<br />2009/2010<br />Engenharia do Software I<br />14<br />
  15. 15. Tipos de integração<br />2009/2010<br />Engenharia do Software I<br />15<br />
  16. 16. Testes de integração incrementais<br />2009/2010<br />16<br />Engenharia do Software I<br />T1<br />T1<br />T1<br />A<br />A<br />A<br />T2<br />T2<br />T2<br />B<br />B<br />B<br />T3<br />T3<br />T3<br />C<br />C<br />T4<br />T4<br />D<br />T5<br />Sequência de testes 3<br />Sequência de testes 2<br />Sequência de testes 1<br />
  17. 17. Abordagens aos testes<br />2009/2010<br />Engenharia do Software I<br />17<br />Descendente<br />Facilita validação arquitectónica, i.e., descoberta de erros na arquitectura do sistema<br />Permite demonstração limitada do sistema mesmo em fases iniciais do desenvolvimento<br />Observação dos testes pode exigir código extra<br />Ascendente<br />Facilita muitas vezes implementação dos testes<br />Observação dos testes pode exigir código extra<br />
  18. 18. Testes de lançamento<br />Processo de teste do lançamento do sistema a fornecer a clientes<br />Objectivo principal: aumentar confiança de fornecedor no cumprimento de requisitos<br />Normalmente de caixa preta ou funcionais<br />Baseados só na especificação do sistema<br />Testadores não conhecem implementação<br />2009/2010<br />Engenharia do Software I<br />18<br />
  19. 19. Testes de caixa preta<br />2009/2010<br />19<br />Engenharia do Software I<br />Dados de entrada do teste<br />Entradas causadoras de anomalias<br />Sistema<br />Resultados de saída do teste<br />Resultados reveladores de defeitos<br />
  20. 20. Linhas de orientação para testes<br />Escolher entradas<br />Gerando todas as mensagens de erro<br />Levando a transbordamentos de memória<br />Repetir várias vezes mesma entrada ou sequência de entradas<br />Forçar geração de saídas inválidas<br />Forçar cálculo de valores além dos limites<br />2009/2010<br />Engenharia do Software I<br />20<br />Dicas para equipa escolher testes que revelem defeitos no sistema.<br />
  21. 21. Cenário de teste<br />Na Escócia, uma estudante está a estudar a história americana e foi convidada a escrever um artigo sobre a “mentalidade de fronteira no oeste americano de 1840 a 1880”. Para o fazer, precisa de encontrar fontes bibliográficas numa série de bibliotecas. Assim, autentica-se no sistema LIBSYS e usa o mecanismo de pesquisa para descobrir se pode aceder a documentos originais da época. Descobre fontes bibliográficas em várias bibliotecas universitárias dos EUA e descarrega cópias de algumas dessas fontes. No entanto, para um dos documentos é necessário que a sua universidade confirme que ela é realmente estudante e que a fonte será utilizada para fins não comerciais. A estudante usa o mecanismo do LIBSYS que permite solicitar essa autorização e regista o seu pedido. Se o pedido for concedido, o documento será transferido para o servidor da biblioteca e impresso. Ela receberá então uma mensagem do LIBSYS dizendo que irá receber uma mensagem de correio electrónico assim que o documento impresso estiver disponível para recolha.<br />2009/2010<br />Engenharia do Software I<br />21<br />
  22. 22. Testes de sistema<br />Testar mecanismo de autenticação usando credenciais válidas e inválidas para verificar se utilizadores com credenciais válidas são aceites e se utilizadores com credenciais inválidas são rejeitados.<br />Testar mecanismo de pesquisa usando diferentes interrogações a diferentes fontes de informação para verificar se mecanismo de facto encontra documentos.<br />Testar mecanismo de apresentação para verificar se informação é apresentada correctamente.<br />Testar mecanismo de pedido de autorização para descarregamento.<br />Testar resposta via correio electrónico que indica que documento descarregado está disponível.<br />2009/2010<br />Engenharia do Software I<br />22<br />
  23. 23. Casos de uso<br />Podem ser base para obtenção de testes de sistema<br />Ajudam a identificar operações a testar e ajudam a conceber os casos de teste necessários<br />A partir de diagrama de sequência associado, indentificar entradas e saídas a usar nos testes<br />2009/2010<br />Engenharia do Software I<br />23<br />
  24. 24. Diagrama de sequência da recolha de dados meteorológicos<br />2009/2010<br />24<br />Engenharia do Software I<br />sd data collection<br />: CommunicationsController<br />: WeatherStation<br />: WeatherData<br />getReport()<br />acknowledge()<br />getReport()<br />getSummary()<br />acknowledge()<br />
  25. 25. Testes de desempenho<br />Testes de lançamento podem envolver teste a propriedades emergentes<br />Testes de desempenho<br />Testes de fiabilidade<br />Planear série de testes com carga crescente até desempenho ficar inaceitável<br />2009/2010<br />Engenharia do Software I<br />25<br />
  26. 26. Testes de estresse<br />Sujeitam sistema a cargas superiores a máximo previsto tentando revelar defeitos<br />Aferem comportamento em caso de falha<br />Sistema não pode falhar catastroficamente<br />Falhas não podem levar a perdas inaceitáveis de serviço ou dados<br />Muito relevantes para sistemas distribuídos que podem sofre degradação séria perante rede sobrecarregada<br />2009/2010<br />Engenharia do Software I<br />26<br />
  27. 27. Testes de componentes ou testes unitários<br />Processo de testar isoladamente componentes individuais<br />É processo de teste de defeitos<br />2009/2010<br />Engenharia do Software I<br />27<br />
  28. 28. Componentes ou unidades (de modularização)<br />Rotinas<br />Funções e procedimentos isolados<br />Operações de classes e seus objectos<br />Classes e respectivas propriedades e operações<br />Componentes compósitos com interface definida para aceder à sua funcionalidade<br />2009/2010<br />Engenharia do Software I<br />28<br />
  29. 29. Testes de classes (de objectos)<br />Cobertura completa de classe por testes implica<br />Testar todas as operações<br />Alterar e inspeccionar todas as propriedades<br />Fazer objectos passar por todos os estados representativos<br />Fazer objectos passar por todos os possíveis fluxos de controlo<br />Herança dificulta desenho de testes para classes, pois informação está disseminada<br />2009/2010<br />Engenharia do Software I<br />29<br />
  30. 30. Interface de estação meteorológica<br />2009/2010<br />30<br />Engenharia do Software I<br />WeatherStation<br />+ reportWeather()<br />+ calibrate(instruments)<br />+ test()<br />+ startup(instruments)<br />+ shutdown(instruments)<br />
  31. 31. Teste da estação meteorológica<br />Necessário definir casos de teste para<br />reportWeather()<br />calibrate()<br />test()<br />startup()<br />shutdown()<br />2009/2010<br />Engenharia do Software I<br />31<br />
  32. 32. Teste da estação meteorológica<br />Usando modelo de transição de estados<br />Identificar sequências de transição a testar<br />Identificar sequências de eventos que as causem<br />Exemplo<br />Esperando<br />Calibrando<br />Testando<br />Transmitindo<br />Esperando<br />2009/2010<br />Engenharia do Software I<br />32<br />
  33. 33. Testes de interfaces<br />Detectar anomalias devidas a<br />Erros de interface<br />Suposições inválidas acerca das interfaces<br />Especialmente importantes em desenvolvimento orientado para objectos (classes de objectos definidas pela interface)<br />2009/2010<br />Engenharia do Software I<br />33<br />
  34. 34. Testes de interfaces<br />2009/2010<br />34<br />Engenharia do Software I<br />Casos de teste<br />B<br />A<br />C<br />
  35. 35. Tipos de interfaces<br />2009/2010<br />Engenharia do Software I<br />35<br />
  36. 36. Erros de interface<br />2009/2010<br />Engenharia do Software I<br />36<br />
  37. 37. Linhas de orientação para testes de interface<br />Invocar rotinas com valores extremos dos argumentos<br />Invocar rotinas com argumentos nulos onde parâmetros forem ponteiros ou referências<br />Tentar fazer os componentes falhar<br />Fazer testes de estresse em sistemas com passagem de mensagens<br />Variar ordem de activação de componentes em sistemas com memória partilhada<br />2009/2010<br />Engenharia do Software I<br />37<br />
  38. 38. Desenho de casos de teste<br />Desenho de casos de teste (entradas e saídas) usados para testar sistema<br />Objectivo: criar conjunto de testes eficazes na validação e nos testes de defeitos<br />Abordagens<br />Testes baseados em requisitos<br />Testes de partição<br />Testes estruturais<br />2009/2010<br />Engenharia do Software I<br />38<br />
  39. 39. Testes baseados em requisitos<br />Requisitos têm de ser testáveis<br />Técnica de testes de validação<br />Conjunto de testes derivado para cada requisito<br />2009/2010<br />Engenharia do Software I<br />39<br />Princípio geral da engenharia de requisitos<br />
  40. 40. Requisitos do LIBSYS<br />2009/2010<br />Engenharia do Software I<br />40<br />
  41. 41. Testes do LIBSYS<br />2009/2010<br />Engenharia do Software I<br />41<br />
  42. 42. Testes de partições<br />Entradas e saídas muitas vezes em diferentes classes cujos membros estão relacionados<br />Cada classe é partição ou domínio de equivalência para cujos membros comportamento do programa é equivalente<br />Devem escolher-se casos de teste em cada partição<br />2009/2010<br />Engenharia do Software I<br />42<br />
  43. 43. Partições de equivalência<br />2009/2010<br />43<br />Engenharia do Software I<br />entradas válidas<br />entradas inválidas<br />Sistema<br />saídas<br />
  44. 44. Partições de equivalência<br />2009/2010<br />44<br />Engenharia do Software I<br />3<br />11<br />4<br />10<br />7<br />Número de entradas<br />Menos de 4<br />Entre 4 e 10<br />Mais de 10<br />9 999<br />100 000<br />10 000<br />99 999<br />50 000<br />Valores da entrada<br />Menos de 10 000<br />Entre 10 000 e 99 999<br />Mais de 99 999<br />
  45. 45. Especificação de rotina de pesquisa<br />procedure Search(element : inElement_T;<br /> sequence : inarray (Integer range <>) ofElement_T;<br />elementFound : inout Boolean;<br /> index : inout Integer) is<br />with<br /> Pre => -- the sequence has at least one element<br />sequence'FIRST <= sequence'LAST,<br /> Post => <br /> -- the element is found and is referenced by index<br /> (elementFoundand sequence(index) = element) or<br /> -- the element is not in the sequence<br /> (notelementFoundand<br />not (exists i, sequence'FIRST <= i <= sequence'LAST,<br /> sequence(i) = element));<br />2009/2010<br />Engenharia do Software I<br />45<br />Artificial…<br />
  46. 46. Partição das entradas<br />Entradas<br />Que não cumprem a pré-condição<br />Que cumprem a pré-condição<br />Em que o elemento ocorre na sequência<br />Em que o elemento não ocorre na sequência<br />2009/2010<br />Engenharia do Software I<br />46<br />
  47. 47. Linhas de orientação para testes (sequências)<br />Usar sequências vazias<br />Usar sequências com um único elemento<br />Usar sequências com diferentes comprimentos em diferentes testes<br />Forçar acesso a primeiro elemento, último elemento e elemento central<br />2009/2010<br />Engenharia do Software I<br />47<br />
  48. 48. Partição das entradas<br />2009/2010<br />Engenharia do Software I<br />48<br />
  49. 49. Casos de teste<br />2009/2010<br />Engenharia do Software I<br />49<br />
  50. 50. Testes estruturais<br />Também conhecidos por testes de caixa branca<br />Derivação de casos de teste de acordo com estrutura do programa<br />Conhecimento do programa usado para identificar casos de teste adicionais<br />Objectivo é exercitar todas instruções do programa e não todos possíveis caminhos<br />2009/2010<br />Engenharia do Software I<br />50<br />
  51. 51. Testes estruturais<br />2009/2010<br />51<br />Engenharia do Software I<br />Dados de teste<br />derivar<br />testar<br />Código do componente<br />Resultados do teste<br />
  52. 52. Especificação de rotina de pesquisa binária<br />procedureSearchIncreasing(element : inElement_T;<br /> sequence : inarray (Integer range <>) ofElement_T;<br />elementFound : inout Boolean;<br /> index : inout Integer) is<br />with<br /> Pre => -- the sequence is increasing<br /> (foralli, sequence'FIRST <= i < sequence'LAST,<br /> sequence(i) <= sequence(i + 1)),<br /> Post =><br /> -- the element is found and is referenced by index<br /> (elementFoundand sequence(index) = element) <br />or<br /> -- the element is not in the sequence<br /> (notelementFoundand<br />not (exists i, sequence'FIRST <= i <= sequence'LAST,<br /> sequence(i) = element));<br />2009/2010<br />Engenharia do Software I<br />52<br />
  53. 53. Partição das entradas<br />Entradas<br />Que não cumprem a pré-condição<br />Que cumprem a pré-condição<br />Em que o elemento ocorre na sequência<br />Em que o elemento não ocorre na sequência<br />Sequência vazia<br />Sequência com um único elemento<br />Sequência com um número par de elementos<br />Sequência com um número ímpar de elementos<br />2009/2010<br />Engenharia do Software I<br />53<br />
  54. 54. Partições de equivalência<br />2009/2010<br />54<br />Engenharia do Software I<br />Centro<br />Primeiro<br />Último<br />Centro + 1<br />Centro - 1<br />Inferiores<br />Superiores<br />Classes de equivalência<br />
  55. 55. Casos de teste<br />2009/2010<br />Engenharia do Software I<br />55<br />
  56. 56. Teste de caminhos<br />Objectivo: assegurar que conjunto de casos de teste garante que cada caminho é executado pelo menos uma vez<br />Começar por obter grafo de fluxo do programa mostrando nós representando decisões do programa e arcos representando o fluxo de controlo<br />Instruções com condições são por isso nós do grafo de fluxo de controlo<br />2009/2010<br />Engenharia do Software I<br />56<br />
  57. 57. Implementação da pesquisa binária<br />public <T extends Comparable<T>> <br />void search(final T element, final List<T> sequence) { <br /> 1 indexOfFoundElement = -1;<br /> 2 found = false;<br /> 3 int left = 0;<br /> 4 int right = sequence.size() - 1;<br /> 5 while(left <= right) {<br /> 6 final int middle = (left + right) / 2;<br /> 7 int comparison = sequence.get(middle).compareTo(element);<br /> 8 if(comparison == 0) {<br /> 9 found = true;<br />10 indexOfFoundElement = middle;<br />11 return;<br />12 } else if(comparison < 0)<br />13 left = middle + 1;<br /> else<br />14 right = middle - 1;<br /> }<br />15 }<br />2009/2010<br />Engenharia do Software I<br />57<br />
  58. 58. Grafo de fluxo da pesquisa binária<br />2009/2010<br />58<br />Engenharia do Software I<br />1<br />2<br />3<br />4<br />left > right<br />5<br />left <= right<br />6<br />comparison < 0<br />7<br />13<br />comparison == 0<br />comparison != 0<br />8<br />9<br />12<br />14<br />10<br />comparison > 0<br />11<br />15<br />
  59. 59. Caminhos independentes<br />2009/2010<br />59<br />Engenharia do Software I<br />1<br />1<br />1, 2, 3, 4, 5, 15<br />1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11<br />1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 5, …<br />1, 2, 3, 4, 5, 6, 7, 8, 12, 14, 5, …<br />2<br />2<br />3<br />3<br />4<br />4<br />left > right<br />5<br />5<br />left <= right<br />6<br />6<br />comparison < 0<br />7<br />7<br />13<br />13<br />comparison == 0<br />comparison != 0<br />8<br />9<br />12<br />8<br />9<br />12<br />14<br />14<br />10<br />comparison > 0<br />10<br />11<br />15<br />11<br />15<br />
  60. 60. Caminhos independentes<br />Desenvolver casos de teste que levem a execução de cada um dos caminhos<br />Um analisador dinâmico de programas pode ser usado para verificar que todos os caminhos foram executados<br />2009/2010<br />Engenharia do Software I<br />60<br />
  61. 61. Automatização de testes<br />Testar é caro<br />Bancadas de trabalho para testes ajudam a automatizar o processo<br />Bancadas de trabalho para testes<br />Ferramentas para poupar tempo e custo dos testes<br />Sistemas como JUnit suportam execução automática de testes<br />Maioria são sistemas abertos, assim suportando especificidades das organizações<br />Por vezes difíceis de integrar com bancadas de trabalho fechadas para desenho e análise<br />2009/2010<br />Engenharia do Software I<br />61<br />
  62. 62. Uma bancada de trabalho para testes<br />2009/2010<br />62<br />Engenharia do Software I<br />Gerador de dados de teste<br />Especificação<br />Oráculo<br />Dados de teste<br />Gestor de testes<br />Código fonte<br />Programa em teste<br />Resultados dos testes<br />Previsões dos testes<br />Analisador dinâmico<br />Relatório de execução<br />Simulador<br />Comparador de ficheiros<br />Relatório dos resultados dos testes<br />Gerador de relatórios<br />
  63. 63. Adaptação da bancada de trabalho para testes<br />Scripts para simuladores de interfaces com o utilizador e padrões para geradores de dados<br />Preparação manual de saídas dos testes para posterior comparação<br />Desenvolvimento de comparadores de ficheiros especializados<br />2009/2010<br />Engenharia do Software I<br />63<br />
  64. 64. A reter<br />Testes<br />Revelam erros em sistema<br />Não demonstram ausência de erros<br />De componentes: desenvolvedores<br />De sistema: outra equipa<br />De integração: incrementos a sistema<br />De lançamento: sistema a fornecer<br />Desenhados recorrendo a experiência e linhas de orientação<br />2009/2010<br />Engenharia do Software I<br />64<br />
  65. 65. A reter<br />Testes de interface revelam defeitos em interfaces de componentes compósitos<br />Partições de equivalência para descobrir casos de teste – casos em partição têm comportamento equivalente<br />Análise estrutural analisa programa e deriva casos de teste<br />Automatização de testes reduz custos através de múltiplas ferramentas software<br />2009/2010<br />Engenharia do Software I<br />65<br />
  66. 66. A ler<br />IanSommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006<br />Capítulo 23<br />2009/2010<br />Engenharia do Software I<br />66<br />

×