arrow_back_ios

Main Menu

arrow_back_ios

Main Menu

arrow_back_ios

Main Menu

Declaração: Práticas de Validação de Software Padrão da ReliaSoft e QA

 

A ReliaSoft frequentemente recebe perguntas/solicitações de clientes/terceiros sobre validação de software (geralmente relacionadas aos requisitos da FDA). Este documento foi criado para atender a tais solicitações.


 

Declaração Geral

Todos os produtos de embalagem a vácuo da ReliaSoft são rigorosamente testados e completamente validados antes do lançamento comercial. Nosso rigoroso processo de validação, juntamente com nossa extensa documentação sobre o uso do software e a matemática subjacente, garante (com uma probabilidade muito alta) que todos os resultados fornecidos pelas aplicações da ReliaSoft são válidos e corretos.

 

Os procedimentos de validação e garantia de qualidade (QA) da ReliaSoft foram desenvolvidos independentemente dos requisitos de validação da Administração de Alimentos e Medicamentos (FDA). Embora acreditemos que os testes de validação da ReliaSoft sejam de uma natureza muito mais ampla e muito mais intensiva do que os requisitos da FDA, é claro que é responsabilidade de cada organização determinar se o uso do software da ReliaSoft estará em conformidade com quaisquer diretrizes regulatórias às quais possam estar sujeitas. Esperamos que este documento forneça a maior parte das informações sobre os procedimentos da ReliaSoft que serão necessárias para você conduzir sua avaliação.

 

Validação Independente do Usuário Final

Com todos os produtos padrão de embalagem a vácuo, a ReliaSoft fornece extensa documentação na forma de guias do usuário, arquivos de ajuda e livros didáticos teóricos. O objetivo da documentação é apresentar as metodologias utilizadas (equações e formulações), fornecer exemplos e familiarizar o usuário final com a teoria subjacente.

 

Um usuário final pode fazer o seguinte:

 

  • Confirmar independentemente que a aplicação se comporta conforme descrito nesses guias.
  • Use os livros didáticos fornecidos para realizar validações independentes adicionais dos resultados do software, seja utilizando as formulações dadas ou utilizando os muitos exemplos e soluções fornecidos dentro desses livros didáticos (muitos dos quais são de artigos publicados).

Além disso, comparações entre os resultados numéricos da ReliaSoft e os resultados publicados (por outros autores) também são fornecidas com a documentação impressa.

 

Alguns desses livros didáticos estão postados no wiki público da ReliaSoft. Especificamente, as seguintes referências estão disponíveis:

 

As seções a seguir apresentam uma visão geral dos requisitos para o desenvolvimento de software na ReliaSoft.

 


Formulação Teórica e Desenvolvimento de Teoria

Toda teoria e formulações criadas ou implementadas pela ReliaSoft devem ser teoricamente sólidas e corretas, aceitas pela academia e especialistas da indústria, e também devem ser rigorosamente validadas antes de se tornarem parte de um produto de software padrão (SSP).

 

Teorias e formulações que não são criadas pela ReliaSoft devem atender aos seguintes padrões:

 

  • Devem ter sido publicadas em periódicos acadêmicos ou livros didáticos respeitáveis e devem ter tido tempo suficiente para revisão por pares.
  • Devem ter sido re-derivadas e validadas por cientistas da ReliaSoft para garantir a correção do trabalho original.
  • Todas as suposições feitas durante a formulação devem ser examinadas, bem documentadas e compreendidas.
  • Devem ser revisadas e aprovadas pelo comitê de revisão teórica da ReliaSoft e por pelo menos um outro especialista acadêmico independente sobre o assunto.

Teorias e formulações que são desenvolvidas por um cientista da ReliaSoft devem atender aos seguintes padrões:

 

  • Devem documentar todas as suposições feitas durante a formulação.
  • Devem ser revisadas e aprovadas pelo comitê de revisão teórica da ReliaSoft e por pelo menos dois outros especialistas acadêmicos independentes sobre o assunto.
  • Se a liberação da formulação não for considerada uma vantagem competitiva, então deve ser publicada em periódicos acadêmicos respeitáveis para revisão por pares. Se existir uma vantagem competitiva, então deve ser publicada após o lançamento do produto, seja em periódicos ou em livros didáticos da ReliaSoft.

Desenvolvimento de Código

Todos os produtos e componentes de produtos desenvolvidos pela ReliaSoft devem aderir aos padrões aceitos pela indústria para o desenvolvimento de aplicações orientadas a objetos baseadas em Windows, incluindo padrões da indústria para interfaces gráficas de usuário (GUIs). Múltiplos autores, incluindo publicações da Microsoft e Microsoft Press, oferecem uma ampla gama de artigos e livros que detalham práticas aceitas. Além disso, tal desenvolvimento de código deve aderir às diretrizes para desenvolvimento de software conforme o documento interno da ReliaSoft "Práticas e Procedimentos de Codificação para Software SSP," e às práticas, métodos e documentos atuais postados na seção de Desenvolvimento da intranet da ReliaSoft.

As diretrizes da Microsoft para o desenvolvimento de aplicações Windows (conforme detalhado em vários documentos, como "Especificação de Aplicação para Microsoft® Windows® 2000") são seguidas. Desvios, se houver, dessas diretrizes devem ser aprovados pelo comitê de revisão técnica da ReliaSoft e as razões para o desvio devem ser documentadas.

Revisões de design periódicas são realizadas com membros da equipe de desenvolvimento de código, redatores técnicos e garantia de qualidade. Além disso, são realizadas comissões de revisão teórica e técnica.


Gerenciamento de Código Fonte

As diretrizes implementadas pela ReliaSoft para gerenciamento de código fonte são as seguintes:

  • Todo código fonte, incluindo modificações no código, é rastreado e controlado através do uso de software de controle de versão de terceiros.  Em nenhuma circunstância o código que não é rastreado através do controle de versão pode ser introduzido na aplicação.
  • Todas as compilações de produtos são versionadas usando um esquema de numeração padrão Major.Minor.Revision (por exemplo, 3.1.2).
  • Todo código compilado (componentes) usado nas aplicações da ReliaSoft é controlado através dos processos de configuração e controle de versão da ReliaSoft. Todos os componentes são capazes (através de um evento ou propriedade) de identificar sua versão e compilação para uma aplicação host.

 

Visão Geral de QA e Procedimentos de Teste

A ReliaSoft sempre aderiu aos mais altos padrões de qualidade e confiabilidade para todos os seus produtos e serviços de software. Os procedimentos de garantia de qualidade (QA) e testes para todos os produtos da ReliaSoft, incluindo software personalizado, são baseados em uma estrutura ágil escalonada que é facilitada usando o CA Agile Central. O processo ágil escalonado envolve esforços de teste detalhados e abrangentes por múltiplos indivíduos e equipes ao longo de iterações específicas; documentação minuciosa de todos os problemas identificados durante cada iteração; e validação independente de todos os métodos, teorias e resultados calculados.

Teste de Unidade

Esses testes incluem testes de baixo nível nos níveis 'unidade' e 'integração'. Eles geralmente testam bibliotecas etc. e, portanto, são realizados por desenvolvedores. Seu objetivo é garantir que o software produza os resultados corretos (por exemplo, 2+2 = 4). Eles devem ser concluídos antes que os Testes de Sistema possam ser finalizados. Esse teste de unidade garante que componentes e modelos funcionem como pretendido e também garante robustez. Esse teste é responsabilidade dos desenvolvedores individuais e envolve um processo de testar-analisar-e-corrigir (TAAF).

Teste de Integração

Os testes de integração envolvem testadores procurando por bugs nas relações e interfaces entre um par de componentes ou grupo de componentes. (Um exemplo é como Weibull++ é integrado com ALTA.) Os testes de integração não são necessários se a aplicação for composta por utilitários individuais que não compartilham dados ou invocam uns aos outros. No entanto, se o software usa API, compartilha dados ou passa controle de um componente para outro, então os testes de integração se tornam um método importante para verificar se os componentes estão funcionando juntos corretamente. Os testes de integração exigem que o testador tenha uma compreensão firme de como os componentes devem trabalhar juntos.

Teste de Sistema

Uma vez que todos os módulos/componentes tenham sido testados, compilados e vinculados sem erros ou avisos, testes mais amplos são implementados na aplicação ou sistema completo. Registros formais das atividades de teste de sistema são mantidos em nosso sistema de Registro e Rastreamento de Bugs - CA Agile Central. Em geral, quaisquer e todos os problemas encontrados são corrigidos à medida que são identificados e os testes são retomados imediatamente com a versão corrigida para garantir que a correção não criou problemas de regressão. Ênfase especial é dada ao componente ou problema que foi corrigido. Isso é repetido em cada iteração da fase de desenvolvimento.

Teste de Instalação e Ambiental

A última fase de testes é o teste de instalação e configuração. Isso é feito internamente em múltiplos sistemas de teste, incluindo a maioria das versões do Windows® (por exemplo, Windows 7 e 8.1, Windows 10). Quando apropriado, feedback também é obtido de testadores externos. No caso de software que alcançará mercados estrangeiros, testes de sistemas operacionais estrangeiros também são realizados (por exemplo, Windows chinês, Windows coreano).

Teste de Validação de Resultados

Em paralelo com os testes de funcionalidade do software, múltiplos engenheiros, cientistas e estatísticos trabalhando de forma independente realizam testes e validação de todos os resultados calculados. Resultados validados são minuciosamente documentados e muitos dos exemplos são então ilustrados em livros didáticos que são lançados com o software. Quaisquer problemas encontrados são corrigidos, re-testados e re-validados usando múltiplos cenários de dados.

Decisão de Lançamento

Quando a ReliaSoft lança um produto, ele foi testado minuciosamente e a ReliaSoft tem alta confiança em sua qualidade e confiabilidade. Depois que todos os problemas foram resolvidos e validados, uma decisão de lançamento é tomada. Essa decisão é baseada no número e na frequência de problemas encontrados. Antes que o lançamento do software possa começar, o Gerente de Lançamento deve garantir que toda a documentação de teste tenha sido aprovada (e a aprovação para o lançamento tenha sido dada) pelo Gerente de Testes.

Considerações Finais

No caso de sistemas personalizados, esperamos que o cliente teste o produto para garantir que o sistema esteja funcionando conforme o esperado no ambiente do cliente. Para sistemas que incorporam um banco de dados não ReliaSoft para suportar funcionalidades e cálculos, o cliente é responsável por tomar medidas para manter a integridade dos dados armazenados no banco de dados. Uma visão geral dos procedimentos de teste empregados pela ReliaSoft é apresentada na próxima tabela.


Tabela Resumo de Testes de Software (QA)

 

Fase de Teste Tipo de Teste Responsabilidade Detalhes do Teste

Fase de Desenvolvimento

Teste de Unidade

Teste de Integração

Desenvolvimento

QA

Teórico

Realize testes unitários contínuos durante o desenvolvimento. Isso envolverá testar componentes individuais à medida que são desenvolvidos. Nesta fase, os componentes individuais serão testados quanto à correção dos cálculos, bem como à interação com outros componentes.

Fase de Teste Geral

Teste de Processo

Teste de Integração

Teste de Sistema

QA

Desenvolvimento

Teórico

Documentação

Valide os resultados do processo quanto à correção. Acompanhe a ocorrência e resolução de todas as questões anômalas. Teste o desempenho dos componentes quando estiverem totalmente integrados.

Fase de Teste de Instalação

Teste de Instalação e Ambiental

QA

Desenvolvimento

Teste o sistema interna/externamente sob vários ambientes de instalação. Para sistemas personalizados, trabalhe com o cliente para testar o sistema no local de implantação.

Fase de Validação de Cálculo

Validação de Cálculo

Teórico

Valide uma amostra representativa dos cálculos do sistema realizando cálculos idênticos de forma independente e comparando os resultados.

Fase de Liberação

Testes Modais

QA

Desenvolvimento

Teórico

Documentação

Teste de unidade, processo, integração e funcionalidade, usabilidade e implantação.

Os testes em cada fase são cíclicos, utilizando um processo de testar-analisar-e-corrigir (TAAF). Todas as questões após a fase de desenvolvimento inicial são comunicadas, documentadas e resolvidas utilizando o CA Agile Central.


Processo de Rastreamento e Resolução de Problemas

O CA Agile Central rastreia todas as questões encontradas para cada produto desde a fase de desenvolvimento e ao longo de seu ciclo de vida. Este sistema integrado forma a base dos nossos procedimentos de QA. Todas as questões são registradas no CA Agile Central como incidentes e são rastreadas desde a criação até a resolução. Cada defeito é registrado para a equipe apropriada abordar. Os defeitos podem incluir sugestões de clientes, funcionários, bugs encontrados durante os testes, etc. Uma vez que o defeito foi tratado pelo desenvolvimento, ele deve ser testado pelo grupo de QA para garantir que a resolução empregada aborda corretamente a questão e não introduz problemas de regressão adicionais. O CA Agile Central facilita o trabalho em equipe entre desenvolvedores, especialistas teóricos, redatores técnicos, QA e gestão para criar uma aplicação confiável e robusta.

A próxima figura mostra uma das interfaces de relatório de defeitos dentro do CA Agile Central.

Interface de Relatório de Defeitos dentro do CA Agile Central


Implantação de Software

Uma aplicação de software não é considerada pronta para implantação até que o candidato a lançamento tenha sido aceito pelo grupo de QA da ReliaSoft. O grupo de QA deve estar satisfeito com o estado atual da aplicação com base nos resultados dos testes.

Uma vez que um produto está pronto para implantação:

  • Um mestre é construído para duplicação subsequente.
  • O sistema de controle de versão é atualizado para incluir a configuração final do produto e o código-fonte para a construção e é então congelado.
  • Cópias de segurança do código-fonte, componentes de construção e configuração da máquina usados para a construção de lançamento são feitas, e as versões dos componentes são documentadas (incluindo componentes não ReliaSoft). O armazenamento e a localização de cópias de segurança redundantes são feitos de acordo com os Protocolos de Recuperação de Desastres da ReliaSoft.
  • A máquina usada para a construção é então isolada e congelada e não pode ser usada para qualquer propósito além de construções subsequentes (revisões) da mesma versão da aplicação.