Prévia do material em texto
TESTES DE SOFTWARE – AULA 11 Prof. Ulisses Sperle Graça TESTE NA IMPLANTAÇÃO DO SISTEMA TESTE DE MIGRAÇÃO 1. Compreender as técnicas de teste na migração de dados e na substituição de um sistema; 2. Definir estratégia de testes na migração de dados e na substituição de um sistema; 3. Implementar e avaliar testes na migração de dados e na substituição de um sistema. 3 OBJETIVOS DESTA AULA Vivemos em um mundo que muda rapidamente. As deman- das por funções de negócio e a TIC que as suporta estão mudando em um ritmo que impõe enorme pressão competitiva em todas as organizações. É por essa razão que o software deve ser mantido continuamente para atender a um ambiente em mutação. 4 INTRODUÇÃO Nesta aula iremos estudar o conceito do teste de migração e a sua importância para a continuidade das atividades que eram tratadas pelo sistema anterior (sistema que estará sendo substituído) e agora serão processadas por este novo sistema. 5 INTRODUÇÃO A migração de dados é o processo de transferência de dados entre diferentes tipos de armazenamento, formatos, e/ou sistemas de informação. É necessário quando as organizações realizam mudança em seus sistemas de informação ou upgrade para novos sistemas. 6 INTRODUÇÃO É importante percebermos a necessidade da adequada sintonia entre os dados tratados pelo sistema anterior e os dados sob novo formato, com tecnologia atualizada, tratados pelo novo sistema, pois podem aumentar muito a probabilidade de uma integração de software bem sucedida. 7 INTRODUÇÃO Desta forma iremos estudar as etapas executadas durante o projeto de migração e que devem considerar: A verificação dos procedimentos operacionais e legais para a migração. A validação do novo formato de dados. O teste de migração dos dados. E a simulação do novo sistema em substituição ao sistema antigo. 8 INTRODUÇÃO Independentemente do domínio da aplicação, tamanho ou complexidade, o software continuará a evoluir com o tempo. Após seu desenvolvimento um sistema pode ficar operacional, ou seja, em produção por anos ou até mesmo décadas. Porém durante este período o próprio sistema ou seu ambiente operacional podem ser corrigidos, modificados ou completados. 9 TESTE DE MIGRAÇÃO Desta forma os caso de teste de migração de uma plataforma a outra, podem incluir testes operacionais do novo ambiente tanto quanto a mudança de software. Já os testes de migração para retirada de um sistema pode incluir testes de migração de dados. O processo de migração pode fracassar se não for bem planejado e orquestrado ! 10 TESTE DE MIGRAÇÃO É o processo de transferência de dados entre diferentes tipos ou formato de armazenamento, ou ainda de diferentes sistemas computacionais. É normalmente realizada através de um processo de migração automatizado, consequência de uma troca de sistemas computacionais ou upgrade para novos sistemas. 11 MIGRAÇÃO DE DADOS A maioria dos projetos de migração são demorados, requerem o envolvimento de muitos recursos e tem um custo muito elevado. Além de necessitar de recursos eficientes e de um ótimo planejamento é muito importante o uso inteligente de ferramentas de apoio ao projeto e acima de tudo a adoção de um conjunto de testes completo e complexos para garantir o que o projeto seja bem sucedido. 12 MIGRAÇÃO DE DADOS Os dados são armazenados em diferentes mídias, normalmente através de arquivos ou bases de dados. Estes dados são gerados ou consumidos por aplicações de software, que por sua vez apoiam os processos de negócio da organização. 13 MIGRAÇÃO DE DADOS A necessidade de transferir e/ou converter os dados normalmente é impulsionado por um requisito de negócio ou uma evolução tecnológica. Existem basicamente quatro tipos possíveis de migração: Migração de mídias de armazenamento; Migração de base de dados; Migração de aplicação; Migração de processo de negócio. 14 MIGRAÇÃO DE DADOS Migração de mídias de armazenamento Normalmente é motivada pela racionalização dos meios físicos e pela possibilidade de maior vantagem e eficiência da utilização de modernas tecnologias de armazenamento. O que irá resultar no deslocamento blocos físicos de dados de uma fita ou disco para outra, muitas vezes usando técnicas de virtualização. 15 MIGRAÇÃO DE DADOS Migração de mídias de armazenamento (cont.) O formato de dados e conteúdo geralmente não são alterados neste processo e pode, normalmente, ser alcançado com um mínimo ou nenhum impacto para a camadas acima. 16 MIGRAÇÃO DE DADOS Migração de base de dados Em alguns casos pode ser necessário adotar uma nova versão ou atualização do SGBD utilizado e até mesmo a mudança de fornecedor de software. Normalmente na atualização do software praticamente não existe migração de dados, porém podendo ocorrer em grandes atualizações (quando o software está em uma versão muito antiga e troca-se para uma atual). 17 MIGRAÇÃO DE DADOS Migração de base de dados (cont.) No caso de adoção de uma nova plataforma de banco de dados pode ser necessária a migração física dos dados uma vez que o formato da base de dados podem mudar significativamente. Esta migração pode ou não afetar o comportamento da camada de aplicação, dependendo em grande parte se ocorrerá mudança na linguagem ou protocolo de manipulação de dados. 18 MIGRAÇÃO DE DADOS Migração de base de dados (cont.) Vale ressaltar que as aplicações modernas normalmente são desenvolvidas de formas a serem agnósticas à tecnologia de banco de dados (Sybase, Mysql, DB2, SQL Server, Oracle, etc.) para que a mudança de bases de dados, só exijam um ciclo de teste para validar o aspecto de desempenho dos requisitos funcionais e não funcionais. Não saber, ignorar (fonte: Dicionário Houaiss da Língua Portuguesa) 19 MIGRAÇÃO DE DADOS Migração de aplicação Ocorre quando a organização decide implementar uma nova aplicação ou mesmo alterar de fornecedor uma aplicação já existente, como por exemplo, uma nova plataforma CRM ou ERP implica necessariamente em uma transformação substancial de toda aplicação ou conjunto de operações no modelo de dados do software do novo fornecedor. 20 MIGRAÇÃO DE DADOS Migração de aplicação (cont.) Com o objetivo de permitir a utilização de seus produtos por um número maior de empresas, normalmente estes pacotes de produtos são configurados para cada cliente utilizando metadados. Customer Relationship Management Enterprise Resource Planning 21 MIGRAÇÃO DE DADOS Migração de aplicação (cont.) Amigração vai importar dados. Logo, você precisa saber: Onde buscar qual dado (banco, tabela, atributo) Como transformar o dado original (converter formatos) Como lidar com ausência de dados (valor default) Nome e apelido (Ex: pCod1 Código do Produto) Dentre outras informações Metadados são informações estruturadas que descrevem, explanam, localizam, ou facilitam recuperar, usar ou gerenciar um recurso de informação (HODGE, 2001). 22 MIGRAÇÃO DE DADOS Migração de processos de negócio Processos de Negócios operam através de uma combinação de ações humanas e de sistemas de aplicação, sendo normalmente orquestrada por ferramentas de gestão de processos de negócios. Neste caso as alterações podem exigir a transferência de dados de um meio de armazenamento, base de dados ou aplicação a fim de refletir as alterações da organização e informações sobre os clientes, produtos e as operações. 23 MIGRAÇÃO DE DADOS Migração de processos de negócio(cont.) São exemplos deste tipo de migração: fusões e aquisições de empresas, otimização dos processos de negócio a reorganização dos processos como forma de atacar novos mercados ou responder a alguma ameaça competitiva. 24 MIGRAÇÃO DE DADOS Migração de Dados é geralmente o termo utilizado para descrever um projeto em que os dados serão transferidos ou copiados de um ambiente para outro, e removidos ou desativados na origem. Durante a migração (que podem realizar-se ao longo de meses ou mesmo anos), os dados podem ser migrados em múltipla direções e lugares simultaneamente. 25 FASES DA MIGRAÇÃO DE DADOS O projeto de migração é normalmente dividido nas seguintes etapas ou fases: 26 FASES DA MIGRAÇÃO DE DADOS PROJETO DESIGN EXTRAÇÃO LIMPEZA CARGA VERIFICAÇÃO Projeto (design) Nesta etapa são levantadas as funcionalidades de software e hardware, e se for o caso, identificados os dados que serão migrados. Neste momento podemos ter duas situações de mapeamento dos dados: o layout da origem e do destino são os mesmos, o layout da origem e do destino são diferentes. 27 FASES DA MIGRAÇÃO DE DADOS Projeto (design) (cont.) Embora o mapeamento de mesmo layout na origem e destino apresente uma migração mais simples, é muito comum as equipes responsáveis enxergarem este momento como uma ótima oportunidade para consolidar e/ou otimizar o desempenho e/ou a capacidade de utilização dos dados. Quando o mapeamento é realizado com layouts diferentes está cenário já é o comum. 28 FASES DA MIGRAÇÃO DE DADOS Extração Esta fase envolve a extração dos dados dos diferentes sistemas de origem. Cada sistema separadamente pode utilizar um formato e organização diferente de dados. O objetivo desta fase é converter os dados em um formato único adequado para o processo de transformação. 29 FASES DA MIGRAÇÃO DE DADOS Extração (cont.) Uma parte intrínseca na envolve a análise de dados extraídos, resultando na verificação se os dados satisfazem um padrão esperado ou estrutura. Caso não satisfaçam devem ser rejeitado totalmente ou em parte. 30 FASES DA MIGRAÇÃO DE DADOS Limpeza Um processo de limpeza de dados manual ou automatizada é comumente realizada na migração para melhorar a qualidade dos dados, eliminar informações redundantes ou obsoletas, e a adaptação as exigências do novo sistema. 31 FASES DA MIGRAÇÃO DE DADOS Carga A fase de carga carrega os dados para um destino específico. Em função dos requisitos da organização, este processo varia muito. Em alguns casos os dados podem sobrepor os dados existentes com informações acumulativas, frequentemente a atualização de extração de dados é realizada diariamente, semanal ou mensal. 32 FASES DA MIGRAÇÃO DE DADOS Carga (cont.) Em outros caso poderá ser necessário acrescentar novos dados. O escopo e a periodicidade para substituí-la ou inclusão dependem do tempo disponível e da necessidade do negócio. Outra opção é a utilização de uma fase de pré-carga, através do estabelecimento de um conjunto mínimo de dados com os requisitos necessários para a carga no sistema novo. 33 FASES DA MIGRAÇÃO DE DADOS Carga (cont.) Este processo de validação é aplicado quando deseja-se garantir que o destino realmente possui os critérios de ambiente e as especificações de arquivo pré-definidos e antes do processo de carga total. Uma estratégia alternativa pode ser também a utilização de uma validação denominada de on-the-fly, utilizada com o objetivo de reportar os erros de rejeição enquanto a carga avança. 34 FASES DA MIGRAÇÃO DE DADOS Verificação Após o carregamento para o novo sistema, os resultados são submetidos a uma etapa de verificação dos dados para determinar se os dados foram corretamente migrados, se ocorreu de forma está completa. Durante a verificação pode ser necessário um execução de processo de execução em paralelo de ambos os sistemas para identificar áreas de disparidade e evitar erros de perda de dados. 35 FASES DA MIGRAÇÃO DE DADOS Verificação dos procedimentos operacionais e legais Uma importante etapa no processo de migração é a preparação prévia dos procedimentos operacionais a serem adotados. Esta etapa deve considerar a simulação e a verificação dos procedimentos operacionais, financeiros e legais usados no sistema antigo e seu rebatimento no novo sistema. 36 FASES DA MIGRAÇÃO DE DADOS Verificação dos procedimentos operacionais e legais Um outro aspecto importante a considerarmos nesta etapa é a concordância do usuário gestor, face a questão básica da manutenção do negócio, ou seja, mudar para melhor dentro dos requisitos de negócio estabelecido. 37 FASES DA MIGRAÇÃO DE DADOS Validação do novo formato dos dados Para alcançar uma efetiva migração, os dados do sistema antigo devem ser mapeados para o novo sistema através do levantamento dos requisitos e formatos dos dados do novo sistema, sendo realizado através de dois momentos: da extração de dados, onde os dados são lidos a partir do sistema antigo e da carga dos dados, onde os dados são escritos no novo sistema. 38 FASES DA MIGRAÇÃO DE DADOS Validação do novo formato dos dados (cont.) Nesta fase procedimentos de controle devem ser definidos para garantir que todos os dados de entrada sejam completa e precisamente convertidos. Esses procedimentos podem consistir em uma verificação manual de todos ou de uma amostra dos dados antes e depois da conversão ou ainda através da verificação manual dos relatórios criados a partir dos dados. 39 FASES DA MIGRAÇÃO DE DADOS Exatidão dos Dados Após a migração dos dados, os dados resultantes podem nem sempre precisar ser completamente exatos, uma vez que a exatidão completa pode ser pouco econômica ou impossível. Desta forma é necessário definir o nível de exatidão aceitável no contexto organizacional. 40 FASES DA MIGRAÇÃO DE DADOS Exatidão dos Dados (cont.) Para aplicações de moderada ou alta complexidade as fase de migração de Dados: (design, extração, limpeza, carga, e verificação) são normalmente repetidas várias vezes antes do novo sistema ser implantado. 41 FASES DA MIGRAÇÃO DE DADOS É importante observarmos a importância de se elaborar o novo formato do banco de dados para o novo sistema com base no formato do banco de dados do antigo sistema de forma a facilitar a migração dos dados. Para os novos campos de dados no sistema novo que não existem no banco de dados antigo, deverá ser elaborada uma estratégia de povoamento desses campos. 42 TESTE DE MIGRAÇÃO DE DADOS É recomendável a utilização de equipes de teste com perfis distintos para elaboração, execução e validação das etapas de migração: Equipe de teste de aceitação; Equipe de teste operacional; Equipe de teste de legado. 43 TESTE DE MIGRAÇÃO DE DADOS As equipes de teste de aceitação e operacional irão realizar o teste de concepção e execução em paralelo em duas plataformas completamente diferentes (ideal) e com objetivos e propósitos diferentes. Já a equipe de teste de legado irá trabalhar com cada um dos outros grupos separadamente. 44 TESTE DE MIGRAÇÃO DE DADOS Equipe de teste de aceitação A principal tarefa deste grupo é a definição, execução e análise dos resultados de todos os casos de teste de negócio possíveis. Embora pareça uma tarefa trivial, ela não é, pois existe um grande desafio na elaboração dos testes de migração, já que os cenários de negócio são novos para os testadores e será a primeira vez que irão utilizá-los. 45 TESTEDE MIGRAÇÃO DE DADOS Equipe de teste de aceitação (cont.) Uma vez que os resultados dos cenários de negócio são muito importantes e devem ser exatos, quase não existe tolerância a ocorrência de um erro. A equipe de teste de legado deverá trabalhar em estreita colaboração com a equipe de aceitação. 46 TESTE DE MIGRAÇÃO DE DADOS Equipe de teste de aceitação (cont.) Na prática a equipe de legado deverá aprovar ou não cada resultado de caso de teste que a equipe de aceitação irá executar e produzir. Sem estas aprovações o sistema será considerado como não migrado. 47 TESTE DE MIGRAÇÃO DE DADOS Equipe de teste de aceitação (cont.) As equipes de aceitação e legado irão verificar os resultados dos cenários de negócios a nível de bits e bytes, ou seja no detalhe, quanto a exatidão dos valores, dados, relatórios, cálculos, estruturas de arquivos, botões de trabalho, arquivos de entrada e etc. 48 TESTE DE MIGRAÇÃO DE DADOS Equipe de teste operacional É composta de usuários que irão utilizar o sistema. O grupo operacional irá realizar testes em paralelo com a equipe de aceitação mas com um objetivo completamente diferente. Este grupo irá trabalhar na futura plataforma e no ambiente sob todos os aspectos que não sejam sob o ponto de vista do negócio, ou seja, de conectividade e interoperabilidade. Irá testar interfaces, desempenho, sistema de back-ups e demais elementos da nova plataforma. 49 TESTE DE MIGRAÇÃO DE DADOS Equipe de teste operacional (cont.) Uma vez que a equipe de legado tem o conhecimento das características internas e externas e o comportamento geral do sistema antigo, eles poderão comparar e aprovar os resultados produzidos pela equipe operacional. 50 TESTE DE MIGRAÇÃO DE DADOS Equipe de teste de legado É composta por pessoas da área de negócio que estão familiarizadas com o sistema antigo. Esta equipe irá trabalhar com cada um dos outros grupos separadamente, ou seja, 50% com a equipe de teste de aceitação e 50% com a equipe Operacional. 51 TESTE DE MIGRAÇÃO DE DADOS Nesta etapa a equipe de testes dependendo da situação deverá escolher e aplicar os tipos de testes já estudados nas aulas anteriores. O grau de validação requerido depende do quão críticos sejam os dados a serem convertidos. Teste de migração de uma plataforma a outra pode incluir testes operacionais do novo ambiente tanto quanto a mudança de software. 52 TESTE DE MIGRAÇÃO DE DADOS Simulação do novo sistema em substituição ao antigo Nesta etapa do processo, deverá ser realizada um simulado do novo sistema em condições reais de funcionamento em paralelo ao antigo sistema, para que o usuário gestor possa avaliar possíveis necessidades de ajustes do fluxo operacional e computacional de forma a trazer benefícios com a instalação do novo sistema. 53 TESTE DE MIGRAÇÃO DE DADOS Simulação do novo sistema em substituição ao antigo (cont.) Deve ser dada uma atenção especial aos dados migrados automaticamente para garantir que não haja erros no software de migração. Os dados migrados devem ser verificados para garantir que um nível de exatidão apropriado tenha sido alcançado. 54 TESTE DE MIGRAÇÃO DE DADOS Simulação do novo sistema em substituição ao antigo (cont.) Quando os resultados ultrapassarem o limite de exatidão aceitável, devem ser identificadas as causas e aplicado procedimentos corretivos, como por exemplo: As correções requeridas nos dados de origem e a execução novamente da conversão. 55 TESTE DE MIGRAÇÃO DE DADOS Simulação do novo sistema em substituição ao antigo (cont.) Identificação das correções para o software de conversão de dados automatizado (normalmente através da criação de um Controle de Mudança), e a execução novamente da conversão, tendo em vista a correção do software. A observação dos erros de dados para a correção manual no novo sistema. 56 TESTE DE MIGRAÇÃO DE DADOS