Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas
Aprenda as melhores práticas para construir um completo sistema de teste automatizado Dia 29/09/2015 Às 11h Dia 29/09/2015 Às 14h Dia 30/09/2015 Às 11h Dia 30/09/2015 Às 14h Dia 01/10/2015 Às 11h
Avalie o software de gerenciamento de testes Renan Azevedo Engenheiro de Produto de Teste e Medição - Américas
Quem são as pessoas responsáveis pelo gerenciamento de teste? Exemplos de funções: Desenvolvedor de estrutura Define e cria a estrutura do software para toda uma empresa ou dentro de um segmento do mercado. Arquiteto de estação de teste Define a estação de teste comum para uma linha de produtos com base na arquitetura de cinco camadas. Desenvolvedor de teste Desenvolve sequências de teste para DUTs individuais. 4
Necessidades comuns Independentemente da indústria, todas as empresas têm necessidade de testar seus produtos para garantir a qualidade dos mesmos. Uma estrutura de teste automatizado adequada (desenvolvido internamente ou pronto para uso) deve: 1. Oferecer uma arquitetura de teste aberta e flexível. 2. Eliminar a programação de tarefas comuns do executivo de teste. 3. Permitir a reutilização do código de teste. 4. Simplificar atualizações e manutenção em longo prazo. 5. Acelerar o desenvolvimento do sistema de teste. 6. Garantir alto desempenho do sistema de teste. 5
Funções do executivo de testes Função do software de gerenciamento de testes Executivo de testes (sequenciador) Sequenciar os testes Executar e depurar os testes Estrutura de gerenciamento de testes (operações repetidas para cada dispositivo testado) Interfaces do operador Gerenciamento de usuário Monitoramento de unidade Processamento dos resultados (relatórios/registros) Controle do fluxo de teste 6
Gerenciamento de teste dentro de uma arquitetura de sistema 7
Funções do executivo de testes e interações Executivo de testes: Executa uma série de testes rápida e consistentemente em uma progressão pré-definida. Economiza tempo para os desenvolvedores porque eles não precisam escrever o mesmo código para vários dispositivos. Módulos de código: Implementa tarefas como E/S de medição, loop de alta velocidade e análise em módulos de código. Os ambientes de desenvolvimento de aplicações (ADEs) são usados para desenvolver módulos de código (alta coesão e baixo acoplamento). Drivers de instrumentos: Controlam um instrumento programável com um conjunto de rotinas de software (operações como configurar, ler, escrever e trigger). 8
Considerações sobre o executivo de testes Pode automatizar testes escritos em qualquer linguagem LabVIEW, CVI, VisualBasic e C++. Execução de sequência multithreaded. Executivo de teste pronto para ser executado que mantém a flexibilidade de uma solução desenvolvida de forma personalizada. Geração de relatórios de ASCII, HTML/Web, XML e conectividade à base de dados do Access, Oracle e SQL Server. Pode ser totalmente customizado. 9
Software de Gerenciamento de teste TestStand Suporta: LabVIEW, LabWindows /CVI, C#, C++ e VB.NET, oferecendo interfaces de usuário simples e completas. O TestStand Deployment Utility cria um instalador simples com as dependências necessárias. 10
O Ecossistema NI TestStand Mais de 5.000 empresas ao redor do mundo Mais de 10.000 desenvolvedores existentes Mais de 20 produtos parceiros Mais de 100 consultores e integradores 2 níveis de certificação de desenvolvimento Mais de 1.200 novos desenvolvedores treinados anualmente Mais de 40 filiais ao redor do mundo oferecendo suporte 10 linguagens de desenvolvimento de teste suportadas 11
Melhores práticas para usar um executivo de teste Seções de sequência / reutilização Reutilize uma sequência quando há poucas alterações de funções ou especificações. Dica: Separe em três seções: Configuração: inicialize os instrumentos, faça a autocalibração dos instrumentos e verifique as conexões ao DUT. Principal: contém a maior parte das etapas em uma sequência, incluindo as etapas que testam o DUT. Cleanup: etapas que desligam ou restauram o estado inicial dos instrumentos, suportes de teste e o DUT. 12
Melhores práticas para usar um executivo de teste Diretrizes da interface do operador Aplicações que oferecem uma interface de usuário gráfica (GUI) para executar as sequências em uma estação de produção. Deve ser leve ter uma aparência consistente. 1.- Oculte os menus e botões da barra de ferramentas que não serão utilizados. 2.- Use as barras de progresso para comunicar o comprimento de um operador. 13
Melhores práticas para usar um executivo de teste Diretrizes da interface do operador 3.- Crie pop-ups na interface de usuário. 4.- Manipule dinamicamente os controles do painel frontal- inicialize os valores nos pop-ups, oculte controles/indicadores e modifique as propriedades da janela. 14
Melhores práticas para usar um executivo de teste Diretrizes da interface do operador 5.- Aprimore o painel frontal com gráficos. 6.- Configure a tecla de navegação e o teclado - para inserir valores ou realizar ações com o teclado em vez de usar o mouse. 7.- Configure o painel frontal para que ele se adapte às telas da maioria dos usuários. 8.- Use textos em Português o painel frontal e código da janela pop-up. 15
Melhores práticas para usar um executivo de teste Como definir variáveis/parâmetros As variáveis permitem o armazenamento e compartilhamento das informações. Você pode criar e usar variáveis para monitorar seus valores. No NI TestStand, defina as variáveis das seguintes formas: Use variáveis locais Use as variáveis globais dos arquivos de sequência Use as variáveis globais da estação 16
Melhores práticas para usar um executivo de teste Como definir variáveis/parâmetros Convenção de nomenclatura padrão das variáveis Considere desenvolver um padrão para uma equipe de engenharia de teste. Padronização de nomes de limites e faixas 17
Diretrizes para desenvolvimento de módulos de código Encapsule os módulos de código do operador Desenvolver testes modulares que fazem uma única medição e talvez algumas análises conduzem a um código mais legível e reutilizável. Encapsule as funções mais comumente utilizadas: a rotina de análise é executada de forma transparente porque as funções são implementadas no tipo de etapa. 18
Diretrizes para desenvolvimento de módulos de código Crie templates de módulos de código Ajuda seu código de teste a parecer similar entre os desenvolvedores de sistemas de teste. Com os templates, você pode desenvolver o código mais rapidamente porque você tem um ponto de partida comum. 19
Diretrizes para desenvolvimento de módulos de código Implemente uma estratégia para tratar erros/documentar o código Um elemento importante em qualquer sistema de teste é a intercepção e o tratamento de erro. Dica: O cleanup é útil para tratar erros e desligar um sistema de teste. Os desenvolvedores de módulos de código devem fazer uma boa documentação para garantir que a modificação do código seja eficaz. 20
Diretrizes para desenvolvimento de módulos de código Use o controle do código fonte Sem um planejamento e infraestrutura adequada, podem surgir várias armadilhas e ineficiências. Os grandes desafios de desenvolvimento comuns incluem: Monitorar e identificar alterações no código. Distribuir módulos de código às equipes de desenvolvimento. Detectar e solucionar alterações conflitantes no código fonte. Oferecer acesso centralizado a todas as versões do código. Integrar alterações no depósito do código mestre. Os programas de controle do código fonte (SCC) são projetados para gerenciar o desenvolvimento compartilhado do código de teste. Monitoram revisões e protegem para que dois ou mais usuários não façam alterações no mesmo código de teste ao mesmo tempo. São essenciais quando o desenvolvimento é compartilhado entre vários engenheiros. 21
Exemplo do mundo real: Tektronix simplifica o teste de conformidade com o TestStand Desafio Projetar uma estrutura para um teste de conformidade que reduz o tempo de teste e complexidade. Solução Como o TestStand, a Tektronix desenvolveu uma solução de teste de conformidade escalável que pode suportar diversos padrões. A plataforma aberta permitiu a criação de uma interface de usuário personalizada com a aparência e toque da Tektronix. Com o TestStand, a Tektronix reduziu o tempo de teste de conformidade em aproximadamente 70%. 22
Considerações sobre o executivo de testes: Desenvolver ou comprar? Desenvolver (internamente) Prós Atende às necessidades do cliente Aproveita o código de uma solução atual Utiliza a familiaridade do desenvolvedor Comprar (COTS) Prós Cursos de certificação e treinamento Arquitetura flexível Recursos prontos para o uso para geração de relatórios e registro na base de dados Base de desenvolvedores em todo o mundo Contras Manutenção do software Treinamento Maior esforço de desenvolvimento Grupos diferentes muitas vezes criam executivos de teste diferentes Contras Falta de total controle sobre a base do código Preço 23
Próximas sessões Dia 29/09/2015 Às 11h Dia 29/09/2015 Às 14h Dia 30/09/2015 Às 11h Dia 30/09/2015 Às 14h Dia 01/10/2015 Às 11h http://brasil./seminario-online/melhores-praticas-testes-automatizados
Obrigado!