0

Vida ou morte, conheça o System Integration Testing

Vagner Bellacosa
Vagner Bellacosa

Uma conversa sobre System Integration Testing.



Salve jovem padawan, em nosso artigo de hoje, iremos falar um pouco sobre QA, introduzindo o tema de testes. Começaremos em grande, falarei de Teste de Sistema Integrado, um dos momentos mais tensos em toda a atividade de Programação, carreiras por um fio, rescisão de contratos e indenizações milionárias, confusão na certa principalmente por envolver outros sistemas.


Muitas vezes alterações mal planejadas impactam toda a cadeia de processo, uma simples alteração da estrutura de um registro, poderá gerar cancelamentos e abends em toda a cadeia de Jobs.


Ao fazer uma implantação devemos ter muito cuidado e atenção, por isso além dos testes unitários, devemos planejar com redobrada atenção, convidando todos os envolvidos e ouvindo os analistas dos outros sistemas.


Recomendo a leitura do TBS Bank para conhecerem e acompanharem do impacto gerado uma implantação descuida. Como analistas e programadores de Sistema da Informação temos muita responsabilidade, nossos atos são responsáveis pela saúde financeira de uma empresa e os empregos associados.


Na década de 80 do século passado um software, que gerava recomendação de compra e vendas de ações, muito popular devido a engenhosidade da codificação e os retornos envolvidos em suas predições, até ai tudo bem, porém um bug ocultou gerou um efeito em cascata em que os maiores Bancos/Seguradoras e Corretoras que utilizavam derrubaram a Bolsa de New York, que veremos brevemente em um novo artigo.



O que é um System Integration Testing.



O Teste de Integração de Sistema, em linhas gerais simplificadas é definido como um tipo de teste de software realizado em um ambiente integrado de hardware e software para verificar o comportamento de todo o sistema. 


Em mainframe é um teste realizado no sistema completo, literalmente de cabo a rabo e integrado com outros sistemas, usado para avaliar a conformidade do software entregue com seus requisitos especificados nos documentos de aceite.


O SIT é executado para verificar as interações entre os diversos JOBs, Transações CICS e Áreas de memorias de um sistema de software. 



Ele lida com a verificação dos requisitos de software de alto e baixo nível existentes na Especificação / Dados de Requisitos de Software e no Documento de Design de Software, normalmente ocorrem discrepâncias, principalmente devido a evolução das especificações no decorrer da Etapa de Desenvolvimento.


O SIT tem como principal função  verificar a coexistência de um sistema com outros e testar a interface entre os módulos do aplicativo de software. Nesse tipo de teste, os módulos são testados primeiro individualmente e depois combinados para formar um sistema. Verificando a total integração do Software atualizado com o Sistema Legado e em Produção. 


Por que fazer o teste de integração do sistema?



Caro Padawan, imagine as inúmeras interligações de um sistema, a comunicação via parâmetros, arquivos, stored procedures, base de dados, aplicações online e outros mais.


Quando evoluímos um software, infelizmente a equipe de programadores, tem uma visão limitada do Sistema, gerando testes locais, viciados para resolver o presente. O SIT entra em ação, justamente para verificar a conformidade e um funcionamento próximo da realidade do Sistema.


Principais vantagens do SIT



  • Ajuda a detectar Abends precocemente
  • Um possível feedback anterior sobre a aceitabilidade do módulo individual estará disponível
  • O agendamento de correções de defeitos é flexível e pode ser sobreposto com o desenvolvimento
  • Fluxo de dados correto
  • Fluxo de controle correto
  • Tempo correto
  • Uso correto da memória
  • Correção com os requisitos de software
  • Teste em cadeia, permitindo ver o fluxo da informação e a qualidade da mesma.


Como fazer um teste de integração do sistema?



É uma técnica sistemática avançada, envolvendo inúmeras equipes para construir uma réplica de estrutura similar a Produção, normalmente chamada de ambiente de Qualidade, que diariamente é alimentada com dados mascarados da Produção e executa todos os processamentos, espalhados.


As vezes ocorrem erros no processamento e a correção de tais erros é difícil porque as causas do isolamento são complicadas pela vasta expansão de todo o sistema e a qualidade da extração dos dados de produção.


Assim que esses erros forem retificados e corrigidos, um novo aparecerá e o processo continuará continuamente em um loop infinito. Em algumas situações a solução e remover os registros, pois o ambiente de Teste Integrado não possuem todos os registros necessários. Muitas instalações ocupam-se de extrair as regras de negócios e alguns registros de movimento, faltando o dados pré-processamento.


Para evitar essa situação, outra abordagem é usada, Integração Incremental,


Existem alguns métodos incrementais, como os testes de integração realizados em um sistema baseado no processador de destino. 


A metodologia utilizada é o Black Box Testing. Pode-se usar a integração ascendente ou descendente.


Passo a passo para iniciar um SIT



Tarefas para início do SIT



  • Conclusão do Teste de Unidade
  • Cópia dos executáveis dos Sistemas a serem integrados no teste
  • Criação de massa de teste fidedigna
  • Atenção especial a Lei Geral de Proteção de Dados, evitando expor nomes de clientes e outros dados sensíveis
  • Enviar convites a todos os envolvidos
  • Estimar os tempos de execução, consumo de CPU, espaço em Disco e memória RAM
  • Criar um check-list e validar com a Área Usuária
  • Dividir as atividades


Entradas:



  • Dados de requisitos de software
  • Documento de Design de Software
  • Plano de Verificação de Software
  • Documentos de integração de software


Coisas a considerar ao projetar casos de teste para integração Hardware / Software



  • Aquisição correta de todos os dados pelo software
  • Escala e intervalo de dados conforme esperado de hardware para software
  • Saída correta de dados do software para o hardware
  • Dados dentro das especificações (faixa normal)
  • Dados fora das especificações (faixa anormal)
  • Dados de limite
  • interrompe o processamento
  • Cronometragem
  • Uso correto da memória 
  • Transições de estado


Conclusão


Caro padawan, abordei de forma ligeira um tempo serio e importante no mundo dos Deploys, se bem feito catapulta uma carreira de forma brilhante, porem usado de maneira desleixada enterra os sonhos de qualquer DEVs.


Seja cauteloso, verifique bem as especificações, faça os levantamentos corretamente, use e abuse das técnicas de entrevista, não sofra da síndrome do Dr. Ivon Saf, prepare-se e faça bons planos. 


Quanto maior e bem produzida a documentação, a preparação e atenção nos Testes Unitários e boa vontade das outras equipes tudo dará certo e correra da melhor forma, boa sorte em seu primeiro STI.


Espero ter ajudado ate o próximo artigo.


 

Mais momento jabá, para distrair, visite meu vídeo e veja para onde fui desta vez: https://www.youtube.com/watch?v=O45xrIT26bY


Bom curso a todos.


 https://www.linkedin.com/in/vagnerbellacosa/


 https://github.com/VagnerBellacosa/


Pode me dar uma ajudinha no YouTube?


 https://www.youtube.com/user/vagnerbellacosa

0
3

Comentários (2)

0
GILBERTO DAMACENA

GILBERTO DAMACENA

06/10/2021 12:50

Gostei muito desse artigo, principalmente pela forma objetiva, e ao mesmo tempo didática, que o tema é apresentado...


Seus artigos sempre enriquecendo e fortalezendo a comunidade DIO, parabéns!

1
Thiago Guedes

Thiago Guedes

16/09/2021 13:28

Ótimo artigo, tiozão do mainframe!

Analista Programador dinossauro IBM Mainframe

Brasil