O último texto abordou a segregação integrada como o caminho para os testes de sistemas desenvolvidos sob a arquitetura SOA – Service Oriented Architecture. Neste exploramos as necessidades de segregação de ambientes para garantir a qualidade nas diversas instâncias de processamento.
A segregação parece elementar quando nos referimos ao ambiente produtivo, o ambiente operacional dos sistemas e softwares a serviço do negócio. Neste não queremos interferências alheias ao processamento, não cabem aqui a execução de software ou sistemas que não foram testados e homologados pelo usuário ou cliente.
Podemos usar os mesmos argumentos para segregar o ambiente de homologação. Neste, o usuário ou cliente final quer ver como o software ou sistema que ele pretende promover para a produção irá se comportar, sem a interferência do sistema atualmente em produção ou de alterações futuras.
Já a segregação do ambiente de testes, não é tão clara assim. Por exemplo, em nosso último texto falamos da segregação e integração de ambiente de testes para suporte a software ou sistemas sob SOA – Service-Oriented Architecture. Os testes de software ou sistemas por vezes requerem que diferentes porções sejam testadas de forma integrada e, outras, de forma segregada. Assim, temos a necessidade de diversos ambientes para testes.
A mesma necessidade pode ser aplicada à instância de desenvolvimento. Principalmente se o desenvolvimento envolver diferentes tecnologias e propósitos, serão necessárias segregações e integrações de ambientes.
Outros ambientes podem ser necessários, dependendo do tipo software ou sistema envolvido.
Um ambiente para teste e aceite de suporte, que é a instância onde softwares ou sistemas adquiridos são inicialmente instalados e sofrem os testes de aceite, além das customizações para a sua adequação ao ambiente produtivo da organização antes de sua implantação definitiva.
Um ambiente para validação da distribuição de software e sistemas, é principalmente requerido quando o ambiente operacional é distribuído, como ocorre em redes varejistas, ou mesmo em bancos com as suas redes de agências e de auto atendimento (ATM).
Um ambiente de prevenção de falhas em produção, que já detalhamos em outro texto sob o título de Qualidade em TI – O processo de pré-produção, também requer segregação.
Estas segregações visam adequar o isolamento físico e lógico de funções e dados aos ambientes e seus controles, para garantir a qualidade de objetivos de cada instância.
Organizar a distribuição de ambientes do ciclo de vida dos sistemas, segregando funções permite o atendimento aos requisitos de segurança, confidencialidade, rastreabilidade e conformidade às necessidades específicas de cada negócio.
A segregação física e lógica de funções, a segregação de dados e a segregação de ambientes também visa garantir a adequação à Gestão de Mudanças e à Gestão de Ambientes.
É lógico que aqui elencamos a diversidade de ambientes. Isso não significa que todas as organizações necessitem implantar todos estes ambientes para garantir a qualidade de software ou sistemas.
Pequenas organizações podem requerer apenas a segregação dos ambientes de desenvolvimento, testes e produção, enquanto as organizações mais complexas certamente necessitam várias instâncias apartadas para alcançar a qualidade de software e sistemas. A análise da complexidade operacional do negócio é que irá indicar qual a segregação e integração requerida.
Esta análise da complexidade operacional também deve considerar o custo e o benefício da implantação, não só dos diversos ambientes, mas também dos controles, dos processos e das ferramentas necessárias à manutenção e operação destes.
Não é preciso, mas sempre bom lembrar, que a monitoração com a apuração de indicadores, desde o início da implantação dos diversos ambientes, para que se possa evoluir e extrair os benefícios esperados, como:
- Utilização das funções e dados em seus ambientes providos dos controles e segregações adequados;
- Disponibilidade de dados para testes e homologações, sem prejuízo da confidencialidade exigida pelo negócio;
- Conformidade às exigências legais;
- Proteção do ambiente da produção contra acessos indevidos;
- Maior confiabilidade nos resultados de testes e de homologações de mudanças;
- Redução de riscos; entre outros.
Em nosso próximo texto vamos falar sobre Qualidade em TI –Na aquisição de software a qualidade está garantida!
[Crédito da Imagem: ShutterStock]