fbpx
Escolha uma Página

Norma ISO/IEC/IEEE 29119 Software Testing The international standard for software testing

ISO/IEC/IEEE 29119 Software Testing é um conjunto de normas/padrões para teste de software reconhecidos internacionalmente, com início de publicação em setembro de 2013.

Essas normas podem ser utilizadas com qualquer ciclo de desenvolvimento de software e em qualquer organização.

A família de normas ISO/IEC/IEE 29119 substitui os seguintes padrões de teste de software anteriormente conhecidos:

-IEEE 829 Test Documentation

-IEEE 1008 Unit Testing

-BS 7925-1 Vocabulary of Terms in Software Testing

-BS 7925-2 Software Component Testing Standard

Existem atualmente 5 padrões pertecentes a esse conjunto:

1. ISO/IEC 29119-1: Concepts & Definitions (publicado em Setembro de 2013)

2. ISO/IEC 29119-2: Test Processes (publicado em Setembro de 2013)

3. ISO/IEC 29119-3: Test Documentation (publicado em Setembro de 2013)

4. ISO/IEC 29119-4: Test Techniques (em finalização, publicado em forma de rascunho – draft International Standard (DIS))

5. ISO/IEC 29119-5: Keyword Driven Testing (em produção – Working draft (WD))

ISO/IEC 29119-1: Conceitos e Definições (Concepts & Definitions)

O objetivo dessa norma é apresentar o vocanbulário que será utilizado em todas as normas pertencentes ao conjunto 29119.
Assim, nela são descritas definições, descrição dos conceitos de teste de software e também formas de aplicação de processos, técnicas e documentos.

ISO/IEC 29119-2: Processos de Teste (Test Processes)

O objetivo dessa norma é definir um modelo genérico de processo para o teste de software que pode ser utilizado com qualquer ciclo de desenvolvimento de software. O modelo especifica processos de teste que podem ser utilizados para governar, gerenciar e implementar teste de software em qualquer organização, projeto ou atividade de teste. O processo de teste é baseado em um modelo de processo em três camadas:

1. Especificações de Teste Organizacional (Organizational Test Specifications): políticas de teste da organização, estratégia organizacional de teste, etc;

2. Gerencimanto de Teste (Test Management);

3. Teste Dinâmico (Dynamic Testing).

Uma abordagem de teste baseado em risco é utilizada na norma. Teste baseado em risco é uma melhor prática para gerenciamento de teste, uma vez que essa abordagem permite que o teste seja priorizado com base nas funcionalidades e características mais importantes do sistema sob teste.

ISO/IEC 29119-3: Documentação de Teste (Test Documentation)
ISO/IEC 29119-4: Técnicas de Teste (Test Techniques)
ISO/IEC 29119-5:  Teste Orientado a Palavra Chave (Keyword Driven Testing)

Mais informações

http://www.softwaretestingstandard.org/

http://www.iso.org/iso/home/standards_development/resources-for-technical-work/stages_of_the_development_of_international_standards.htm

http://www.bstqb.org.br/?q=node/973

Normas ISO / IEEE Importantes no Teste de Software

O que são normas técnicas e por quê elas existem?

Normas técnicas são documentos publicados por organizações profissionais responsáveis por padronizar determinadas atividades, processos, dispositivos, produtos, etc.

Nessas normas são descritas as etapas de processos, entradas e saídas esperadas de cada etapa, as formas e conteúdos de documentações, bem como outras informações necessárias a atividade de teste.

O motivo da existência de normas é para que se tenha uma padronização nas formas com que são realizados processos, produzidos documentos, e para que cada termo tenha o mesmo significado e seja entendido em diferentes situações facilitando a comunicação tanto entre as equipes internas de uma organização, quanto entre organizações diferentes.

A utilização de normas garante que todas as organizações que realizam determinada ação a faça de maneira similar, e que a comunicação entre essas organizações seja facilitada devido a essa similaridade. O uso de padrões também facilita a obtenção de um parâmetro de comparação para determinado atributo.

Nesse sentido, no teste de software e na computação em geral, utilizamos normas provenientes de duas instituições:

ISO: “International Organization for Standardization”ou em
português, “Organização Internacional para Padronização”.

IEEE: “Institute of Electrical and Electronics Engineers”, pronuncia-se I-3-e, ou em português “Instituto de Engenheiros Eletricistas e Eletrônicos”.

As seguintes normas são fundamentais para o desenvolvimento de bons processos de teste de software:

ISO 9126-1-Software Quality Characteristics (2003):

Esse padrão define um modelo de qualidade o qual pode ser aplicado a qualquer tipo de software sem fazer especificações sobre os requisitos desse produto. O objetivo desse padrão é proporcionar um framework para avaliação da qualidade dos produtos de software. Assim o modelo de qualidade definido por ele é baseado em seis características:

1. Funcionalidade: é a capacidade que o software tem de prover funções que atendam aos requisitos implícitos e explícitos. Pode ser entendido como “o que o software faz”.

2. Portabilidade: capacidade da transferência de um produto de software de um ambiente para outro.

3. Confiabilidade: capacidade que o produto de software tem de repetir sua funcionalidade dadas as mesmas condições antes aplicadas. Ou ainda, é a capacidade que um produto tem de executar determinada função sem sofrer desgaste ou envelhecimento.

4. Manutenibilidade: capacidade que o produto de software possui de ser modificado. As modificações incluem correções, melhorias ou adaptações.

5. Usabilidade: capacidade que o produto tem de ser compreendido por diversos tipos de usuários. O quão fácil é para que o usuário aprenda e possa utilizar esse produto.

6. Eficiência: capacidade do produto de apresentar um desempenho satisfatório quando lhe é proporcionado recursos suficientes.

Atualmente, essa norma foi substituída pela Norma ISO/IEC 25000 – SQuaRE. Na família de normas 25000, essas capacidades do sofwawre foram unidas a outras que vieram de outras normas.

ISO 12207 -Systems and Software Engineering – Software Life Cycle Processes (2008):

Essa norma descreve a arquitetura dos processos de ciclo de vida de software, sem especificar os detalhes de implementação ou execução das atividades e tarefas incluídas nos processos.

Esse padrão estabelece ainda um framework para processos de ciclo de vida de software, com terminologias bem definidas, que podem ser referenciadas por desenvolvedores de software. Nele são descritos processos, atividades e tarefas que são executadas durante a aquisição de um produto de software ou serviço, e durante o fornecimento,
desenvolvimento, operação, manutenção e o descarte de produtos de software. Em determinados contextos software pode incluir porções de hardware.

Nesse padrão, as seções que terão mais importância no âmbito do teste são a Seção 6.4.6 na qual é discutido o processo de qualificação de teste de sistema e a Seção 7.1.7 referente ao processo de qualificação de teste de software.

Esse padrão cita ainda o padrão ISO/IEC 15288 que irá substituir o padrão ISO/IEC 12207 muito em breve. Assim é melhor investigar o novo padrão e basear as futuras modificações do processo de teste nesse novo padrão.

Como o novo padrão englobará as oito seções do padrão 12207 com algumas modificações, o padrão 12207 ainda é uma boa fonte de informações sobre os processos de ciclo de vida do software, e é utilizado como base para o desenvolvimento desse projeto

 IEEE 1012 –  Standard for Software Verification and Validation (2004):

O IEEE Std 1012-2004 é um padrão de processo que define os processos de verificação e validação em termos de atividades específicas e tarefas relacionadas a cada um deles. O padrão também define os conteúdos do plano de V&V incluindo exemplos e formas os quais servem de diretivas.

Esse padrão se aplica ao desenvolvimento de software, manutenção e reuso. Os processos da V&V são definidos conforme o padrão ISO 12207 e referencia os processos de ciclo de vida do software, sendo compatível com todos os modelos de ciclo de vida. É importante notar, que nem todos os modelos de ciclo de vida utilizam todos os processos descritos nesse padrão.

Os objetivos desse padrão são:

– Estabelecer um framework para os processos de V&V, atividades e tarefas que contribuam de maneira direta para todos os processos de ciclo de vida de software. Inclusos nesses estão os processos de aquisição, fornecimento, desenvolvimento, operação e manutenção;

– Definir as tarefas de verificação e validação, conjunto de entradas e conjunto de saídas;

 – Identificar as tarefas mínimas de V&V correspondentes a um esquema de integridade de 4 níveis;

Definir o conteúdo de um plano de V&V.

Esse padrão pode ser inserido em todos os contextos de aplicações de software. Quando se conduz os processos de validação e verificação é importante examinar a relação que o software tem com o sistema do qual faz parte.

IEEE 829 –  Standard for Software and System Test Documen-tation (2008):

A IEEE 829 provê um conjunto de padrões reconhecidos internacionalmente em documentação para planejamento de teste. Ela foi desenvolvida especialmente para esse fim e é aplicável a cada fase do ciclo de teste de software, incluindo teste de sistema e aceitação.

Esse padrão descreve um conjunto de documentos básicos, abarcando forma e conteúdo, que devem ser criados juntamente com a execução do processo de teste. A norma define a padronização da documentação de teste tanto em tempo de desenvolvimento, quanto as versões seguintes após completo esse desenvolvimento do produto de
software.

Não são definidos nesse padrão metodologias específicas para se realizar o teste, bem como não são definidas técnicas, nem ferramentas para fazê-lo. A escolha das metodologias, técnicas e ferramentas cabe ao gerente de teste juntamente com a equipe de gerencia de projetos.

Alguns outros documentos de teste não descritos nessa norma podem ser necessários para a composição de uma boa documentação dependendo da metodologia utilizada, nesse sentido, fica a cargo do gerente de teste da instituição optar por quais desses documentos devem ser incluidos.

O padrão 829 é composto por oito documentos divididos em três áreas principais, sendo elas:

Plano de teste;

 Especificação de Teste;

Relatórios.

Atualizado em 26/11/13 – OBS> O conjunto de normas “ISO/IEC/IEEE 29119 Software Testing The international standard for software testing” que a substitui já começou a ser lançado. Em breve todas suas componentes estarão finalizadas. O post que descreve esse novo conjunto de padrões está aqui.