Baixe o app para aproveitar ainda mais
Prévia do material em texto
WBA0446_v1.0 CASE As principais ferramentas no ciclo de desenvolvimento de softwares Teste de Software Bloco 1 André Olímpio O que é teste de software? • Teste refere-se a toda e qualquer atividade desempenhada para avaliar a qualidade de um produto ou serviço, por meio da identificação de defeitos e problemas. • Um teste de software consiste na verificação dinâmica do comportamento de um programa, em um conjunto finito de casos de teste. Etapas do processo de testes de software • Planejamento: elaboração de estratégia e plano de teste, baseando-se em requisitos. • Preparação: definição de recursos materiais e humanos necessários para o ambiente de teste. Etapas do processo de testes de software • Especificação: elaboração/ revisão de casos e roteiros de teste. • Execução: aplicação prática do teste e registro de resultados obtidos. • Entrega: conclusão do processo de teste. Organização para testes de software • Um processo de teste de software pode produzir diversos artefatos que são a base de sua documentação. • São eles: • Caso. • Roteiro. • Script. • Plano. Verificação versus validação • São procedimentos independentes, utilizados em conjunto para verificar se uma funcionalidade atende aos requisitos estabelecidos previamente. Verificação: conformidade com especificações preestabelecidas. Validação: aceite da funcionalidade. SOFTWARE Organização para testes de software • Caso de teste: trata-se de um conjunto de condições, elaborado para identificar defeitos na estrutura interna do software. • Situações que exercitem adequadamente todas as funcionalidades implementadas. • Serve também para garantir que os requisitos sejam plenamente atendidos. Organização para testes de software • Roteiro de teste: é uma maneira estruturada de realizar testes manuais em softwares, definindo parâmetros e ações a serem realizadas. • Esse roteiro é elaborado a partir de documentos de especificação de um caso de uso, como: Descrição das funcionalidades. Guia de interface. Modelagem do banco de dados. Organização para testes de software • Script de teste: é a combinação entre caso de teste, os procedimentos e os dados gerados. • Contém instruções detalhadas para cada coleção de casos existentes em um processo. • É a forma mais detalhada de se documentar um teste. Organização para testes de software • Plano de teste: é um documento que contém uma abordagem sistemática para teste de software. • Consiste em uma modelagem detalhada do fluxo de trabalho durante o processo. • É como se fosse um mapa do ambiente de testes. Tipos de testes de software Bloco 2 André Olímpio Teste Alfa e Beta • Alfa: é um tipo de teste realizado logo após o término do desenvolvimento do software e anterior à sua implantação. • Realizado pelos integrantes da equipe de desenvolvimento, onde estes fazem entradas similares às que serão feitas em ambiente de execução do software. Teste Alfa e Beta • Beta: realizado após o término do teste alfa, onde um grupo restrito de usuários efetua uma bateria de ações no software. • Posteriormente, entrega um feedback dos resultados obtidos. • Não deve contar com a presença da equipe de desenvolvimento. Teste de caixa preta • Avaliação do comportamento externo de um componente de software, sem considerar o ambiente interno. • Os dados de entrada são fornecidos, o teste é executado e o resultado obtido é comparado a um outro previamente conhecido. • O ideal é que todas as entradas possíveis sejam testadas. Teste de caixa branca • Técnica de teste que utiliza a perspectiva interna de um sistema para modelar os casos de teste. • No teste de software, a perspectiva interna é constituída pelo código fonte e demais itens do backend. • No teste de hardware, cada ponto da arquitetura de infraestrutura deve ser testado. Teste de requisitos • Um dos processos mais importantes da Engenharia de Requisitos. • Validação de requisitos em aspectos: Consistência. Precisão. Contextualização. Cumprimento. Análise. Ferramentas CASE para teste de software Bloco 3 André Olímpio Ambiente de teste de software Plano de automação de testes. Elaboração de ambientes/ ferramentas para automação. Construção os scripts. Execução dos scripts. Apresentação de resultados. Selenium • Ambiente integrado de desenvolvimento para scripts de testes automatizados. • Permite gravar, editar e depurar os testes para aplicações desenvolvidas para plataforma Web. • Plataforma: Windows, Linux e MacOS. Selenium • Versões: • WebDriver: troca de dados baseada em navegador, utilizando comandos de scripts. • Selenium IDE: scripts para reprodução de erros, integrando com tecnologias web diferentes. • Selenium Grid: realização de testes em diferentes máquinas. Documentação disponível em: https://www.selenium.dev/documentation/en/guidelines_and_recommendations/improved_reporting/. Acesso em: 7 ago. 2020. https://www.selenium.dev/documentation/en/guidelines_and_recommendations/improved_reporting/ Apache JMeter • Ferramenta de teste utilizada para analisar e medir o desempenho de diferentes serviços e produtos de software. • Open source. • Interface de fácil utilização. • Ótima documentação. • Desenvolvido em linguagem Java. Appium • Scripts de testes para aplicações mobile em plataformas Android e iOS. • Open source. • Multiplataforma. • Testes de aplicativos nativos e de ambiente Web. • Gera scripts aplicáveis em diferentes plataformas. Cucumber • Suíte de testes automatizados, utilizando conceitos de metodologia ágil. • Formato BDD (Behavior Driven Development). • Desenvolvimento dirigido a comportamento. • Favorece a colaboração entre desenvolvedores. Robotium • Estruturas de escrita de casos de teste automáticos para aplicativos Android. • Open source. • Testes funcionais a nível de front-end. • Código fonte em linguagem Java. Teoria em Prática Bloco 4 André Olímpio Sistema: controle de fraudes em transações eletrônicas • Aplicação Web para e-commerce. • Falhas de conexão com alguns bancos após ataque externo. • Controle apresenta problemas. • Comportamento incomum do sistema. Norte para a resolução... • Identificar as ferramentas CASE adequadas a serem utilizadas. • Criar os casos de testes. • Criar o ciclo de execução para cada caso de teste. • Identificar e definir o ambiente de teste deste controle. • O controle deve identificar possíveis erros e fazer as devidas correções. Dica do Professor Bloco 5 André Olímpio Outra ferramenta CASE (Mockito) • Open source. • Desenvolvido em linguagem JAVA. • Estrutura que permite a criação de testes automatizados, com o objetivo de desenvolvimento orientado a teste ou a comportamento. • Integração com o GitHub. Referências SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson Education do Brasil, 2018. FILHO, W. P. P. Engenharia de Software: projetos e processos. 4. ed. Rio de Janeiro: LTC, 2019. FABRIS, P. P. G.; PERINI, L. C. Processos de software. 1. ed. Londrina: Editora e Distribuidora Educacional S.A., 2014. Git How to: tutorial guiado de GIT. 2019. Disponível em https://githowto.com/pt-BR. Acesso em: 11 ago. 2020. https://githowto.com/pt-BR Bons estudos!
Compartilhar