quinta-feira, 3 de maio de 2012

CMMI (Capability Maturity Model Integration for Development)


O gerenciamento de projetos ou processos de software se refere à aplicação de conhecimentos, habilidades.
O gerenciamento de projetos ou processos de software se refere à aplicação de conhecimentos, habilidades, ferramentas e técnicas às atividades do projeto a fim de satisfazer seus requisitos, e é realizado com o uso de processos tais como: especificação, implementação, testes, manutenção e evolução (CITS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE, 2008).
Para auxiliar neste gerenciamento temos como opção seguir o padrão  CMMI (Capability Maturity Model Integration for Development) foi criado pelo SEI - Software Engineering Institute, sendo reconhecido mundialmente por atestar a maturidade dos processos de desenvolvimento da organização. Reúne diretrizes e boas práticas, tanto acadêmicas quanto de mercado, as quais devem ser incorporadas pelas empresas em seus processos (CITS - CENTRO INTERNACIONAL DE TECNOLOGIA DE SOFTWARE, 2008).
Ele possui cinco níveis de maturidade que especificam o desenvolvimento dos seus processos de desenvolvimento de softwares:
  • ·         Inicial;
  • ·         Gerenciado;
  • ·         Definido;
  • ·         Quantitativamente Gerenciado;
  • ·         Otimizado.



O CMMI abrange 25 áreas de processo divididas em 4 categorias:
·         Gerenciamento de projetos:
·         Definição do processo organizacional;
·         Foco no processo organizacional;
·         Treinamento organizacional;
·         Desempenho do processo organizacional.
·         Gerenciamento de processos:
·         Gerenciamento quantitativo de projeto;
·         Gerenciamento de risco;
·         Gerenciamento integrado de projeto;
·         Gerenciamento de acordo com fornecedor;
·         Monitoramento e controle de projetos;
·         Planejamento de projetos;
·         Gerenciamento integrado de fornecedores.
·         Engenharia:
·         Validação;
·         Verificação;
·         Integração de produtos;
·         Solução técnica;
·         Desenvolvimento de requisitos;
·         Gerenciamento de requisitos.
·         Suporte:
·         Gerenciamento de configuração;
·         Garantia de qualidade de processo e produto;
·         Medição e analise;
·         Análise e tomada de decisão;
·         Análise de causas e resolução;
·         Ambiente organizacional para integração.

ISO/IEC 14598 - Engenharia de Software - Avaliação da Qualidade de Produto de Software



A Norma ISO/IEC 14598-5 define um processo de avaliação da qualidade de produto de software, onde se define as principais características de um processo de avaliação (repetibilidade, reproducibilidade, imparcialidade e objetividade) (GOMES, 2000).
As etapas são:
·         Estabelecer os requisitos de avaliação: analisar os requerimentos para identificar o propósito da avaliação;
·         Especificar a avaliação: define o escopo e métricas da avaliação e as medições a que o produto será submetido.
·         Projetar a avaliação: com base nas especificações do produto elaborar um plano de avaliação no qual estejam relacionados os componentes do produto de software a serem avaliados e os métodos de avaliação;
·         Executar a avaliação: consiste na inspeção, medição e teste dos produtos e seus componentes de acordo com o plano de avaliação;
·         Conclusão da avaliação: consiste no relatório de avaliação e liberação dos dados obtidos na fase anterior.
Outra visão da norma:



Figura 4. Visão Geral do processo – ISO 14598-1 (COLOMBO, 2007).

sábado, 24 de março de 2012

NBR ISO/IEC 12119 (atual ISO/IEC 25051)


Norma que estabelece os requisitos de qualidade para pacotes de software e instruções de como testar um pacote de software com relação aos requisitos estabelecidos (GOMES, 2000).
Estes requisitos são:
·         Descrição do produto – informações sobre o produto e suas principais funcionalidades têm como finalidade ajudar o usuário ou o comprador a avaliar se o produto atende suas necessidades;
·         Documentação do usuário – documentação de fácil compreensão identificando o conhecimento necessário para a utilização da aplicação;
·         Documentação do produto e dados – são os requisitos de programas e dados necessários para seu funcionamento.
Os testes definidos nesta norma são para validar os itens citados acima e seguem a seguinte estrutura:

Figura 3. Estrutura da Norma ISO/IEC 12119.

domingo, 12 de fevereiro de 2012

Certificações para as empresas de desenvolvimento de software

NBR ISO 13596


Norma voltada à área de tecnologia da informação – Avaliação de produtos de software, características de qualidade e diretrizes para seu uso. Versão brasileira da norma ISO/IEC 9126.
A definição de qualidade pela norma NBR ISO 13596 é a totalidade das características de uma entidade, que lhe confere a capacidade de satisfazer as necessidades explicitas e implícitas (ABNT - ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS., 1996).
Pontos fortes desta norma:
·         Confiabilidade:
·         Maturidade;
·         Tolerância a falhas.
·         Eficiência – definido pelo relacionamento desempenho x recursos utilizados;
·         Funcionalidade:
·         Adequação;
·         Exatidão;
·         Interoperabilidade;
·         Conformidade;
·         Segurança.
·         Portabilidade:
·         Adaptabilidade;
·         Suporte a várias plataformas.

NBR ISO/IEC 9126


A norma fornece um modelo de propósito geral o qual define seis amplas categorias de características de qualidade de software que são, por sua vez, subdivididas em subcaracteristicas (GOMES, 2000):
·         Funcionalidades – conjunto de funções que satisfazem os requisitos definidos no produto, as subcategorias:
·          Adequação – propões-se a fazer o que é definido nos requisitos?
·         Gerar resultados corretos, conforme definido nos requisitos?
·         Interoperabilidade – é capaz de interagir com os sistemas especificados?
·         Segurança de acesso – evita acessos não autorizados?
·         Conformidade – está de acordo com as normas e convenções previstas em leis e descrições similares?
·         Confiabilidade – o desempenho se mantém em longos períodos, as subcategorias:
·         Maturidade – freqüência de falhas;
·         Tolerância a falhas – comportamento quando as falhas ocorrem;
·         Recuperabilidade – é capaz de recuperar dados após uma falha?
·         Usabilidade – facilidade no uso do software, as subcategorias:
·         Inteligibilidade;
·         Apreensibilidade;
·         Operacionalidade.
·         Eficiência – os recursos e os tempos utilizados são compatíveis com o nível de desempenho especificado nos requisitos.
·         Manutenibilidade – facilidade nas correções, atualizações e alterações, as subcategorias:
·         Analisabilidade – facilidade encontrar erros quando ocorrem;
·         Modificabilidade – facilidade em modificar as funcionalidades;
·         Estabilidade – riscos de bugs quando se faz alterações;
·         Testabilidade – facilidade de testar as alterações.
·         Portabilidade – utilização do produto em diversas plataformas com pequeno esforço de adaptação.

sexta-feira, 3 de fevereiro de 2012

Certificações para o profissional

Certificação Brasileira de Teste de Software (CBTS)


A Certificação Brasileira em Teste de Software (CBTS) foi criada pela Associação Latino Americana de Teste de Software (Alast) com o objetivo de estabelecer padrões para avaliar a qualificação dos profissionais que atuam na área de testes de software (ALATS – ASSOCIAÇÃO LATINO AMERICANA DE TESTE DE SOFTWARE, 2010).
Não a pré-requisitos para a realização do exame, que será exigido os seguintes tópicos:
·                    Introdução ao Processo de Teste;
·                    Processo de Teste;
·                    Ambiente de Teste;
·                    Análise de Risco;
·                    PMBOK do PMI;
·                    Planejamento de Teste;
·                    Elaboração do Teste;
·                    Gestão de Defeitos;
·                    Teste de Aceitação;
·                    Relatório de teste;
·                    Estimativa de teste;
·                    Tópicos especiais em teste de software.
Os assuntos podem mudar de um exame para outro, recomenda-se fazer download sempre da última versão disponibilizada no site da Alast.

Certificações da Quality Assurance Institute (QAI)


As certificações da Quality Assurance Institute (QAI) são internacionais e foram lançadas em 1990, desde sua criação aproximadamente 35 mil profissionais adquiriram a certificação em 43 países (QAI BRASIL, 2011).
As três certificações abaixo são relacionadas à área de testes de software focada ao profissional da área.

Certified Associate Software Testing (CAST)


A primeira de uma série de certificações seqüenciais que representa a evolução dos conhecimentos do profissional da área de testes de software.
Os pré-requisitos para realizar a prova de certificação são:
·         Formação de 3 ou 4 anos em alguma instituição de nível universitário reconhecido;
·         Formação de 2 anos em alguma instituição de nível universitário reconhecido e 1 ano de experiência na área de sistemas de informação;
·         Três anos de experiência na área de sistemas de informação.
A certificação irá exigir 10 tópicos:
·                    Princípios e Conceitos de Teste de Software;
·                    Construindo o ambiente de teste;
·                    Gerenciando o projeto de teste;
·                    Planejamento de Teste;
·                    Execução do Plano de Teste;
·                    Teste de Status, Analysis and Reporting;
·                    Usuário testes de aceitação;
·                    O teste de software desenvolvidos por organizações fora;
·                    Controles de Teste de Software e da adequação dos procedimentos de segurança;
·                    Testar novas tecnologias.

Certified Software Tester (CSTE)


A segunda de uma série de certificações seqüenciais que representa a evolução dos conhecimentos do profissional da área de testes de software.
Os pré-requisitos para realizar a prova de certificação são:
·         Formação universitária na área de TI, mais dois anos de experiência profissional;
·         Seis anos de experiência profissional;
·         Estão trabalhando, ou que tenham trabalhado em qualquer momento dentro dos últimos 18 meses, na área abrangida pela certificação.
A certificação irá exigir 10 tópicos:
·         Princípios e Conceitos de Teste de Software;
·         Construindo o ambiente de teste;
·         Gerenciando o projeto de teste;
·         Planejamento de Teste;
·         Execução do Plano de Teste;
·         Teste de Status, Analysis and Reporting;
·         Usuário testes de aceitação;
·         O teste de software desenvolvidos por organizações fora;
·         Controles de Teste de Software e da adequação dos procedimentos de segurança;
·         Testar novas tecnologias.

 Certified Software Quality Analist (CSQA)


A segunda de uma série de certificações seqüenciais que representa a evolução dos conhecimentos do profissional da área de testes de software.
Os pré-requisitos para realizar a prova de certificação são:
·         Formação universitária na área de TI, mais dois anos de experiência profissional;
·         Seis anos de experiência profissional;
·         Estão trabalhando, ou que tenham trabalhado em qualquer momento dentro dos últimos 18 meses, na área abrangida pela certificação.
A certificação irá exigir 10 tópicos:
1.      Princípios da Qualidade e Conceitos;
2.      Liderança em Qualidade;
3.      As linhas de base de qualidade (Avaliação e Modelos);
4.      Garantia da Qualidade;
5.      Planejamento da Qualidade;
6.      Definir, construir, implementar e melhorar processos de trabalho;
7.      Práticas de Controle de Qualidade;
8.      Métricas e Mensuração;
9.      Controle Interno e de Segurança;
10.  Prestação de serviços.

Certified Tester Foundation Level - (BSTQB/ISTQB)


Esta certificação é internacional que foi criada no Reino Unido com a British Computer Society´s Information Systems Examination Board (ISEB) em 1998, é reconhecida por uma comissão nacional do International Software Testing Qualifications Board (ISTQB), a principal diferença é que este certificado não expira e não precisa ser renovado (BSTDB, 2010).
Existem dois níveis da mesma certificação e os pré-requisitos são:
·         Certified Tester Foundation Level (CTFL), não há pré-requisitos, mas recomenda-se:
·         Tenha um mínimo conhecimento em qualquer desenvolvimento de software ou teste de software, seis meses de experiências em um sistema ou teste de aceite ou desenvolvedor de software;
·         Fazer o curso que é autorizado pelos padrões do ISTQB (por uma comissão nacional reconhecida).
·         Certified Tester Advanced Level (CTAL) os pré-requisitos são:
·         Dois anos de experiência prática em Teste de Software ou Qualidade em TI;
·         Dois anos dedicados à Pesquisa Acadêmica relacionada à Qualidade de TI em nível de Pós Graduação, ou como instrutor de cursos ou disciplinas relacionadas à Qualidade de TI;
·         Três anos em Desenvolvimento de Sistemas, Análise de Sistemas ou Engenharia de Software;
·         Certificação ISTQB Certified Tester, Foundation Level (CTFL).
Segundo pesquisa do Ministério de Ciência e Tecnologia, cerca de 65% das empresas conheciam as normas ISO/IEC 9126 ou ISO/IEC 12119, e um pouco menos (60%), a ISO/IEC 14598 (MINISTÉRIO DE CIÊNCIA E TECNOLOGIA, 2008).



Figura. Conhecimento de normas da qualidade de produtos (MINISTÉRIO DE CIÊNCIA E TECNOLOGIA, 2008).

quarta-feira, 4 de janeiro de 2012

CERTIFICAÇÕES EXISTENTES


Para o profissional:

Tabela 2. Certificações existentes para os profissionais (elaborado pelo autor).
CERTIFICAÇÕES
VALIDADE
Certificação Brasileira em Teste de Software (CBTS)
Nacional
Certified Associate Software Testing (CAST)
Internacional
Certified Software Tester (CSTE)
Internacional
Certified Software Quality Analist (CSQA)
Internacional
Certified Tester Foundation Level - (BSTQB/ISTQB) -
Certified Tester Foundation Level (CTFL)
Internacional
Certified Tester Advanced Level (CTAL)
Internacional

Para as empresas desenvolvedoras:

Tabela 3. Certificações existentes para as empresas desenvolvedora (elaborado pelo autor).
CERTIFICAÇÕES
VALIDADE
NBR ISO 13596
Nacional
NBR ISO/IEC 9126 (NBR 13596)
Nacional/Internacional
NBR ISO/IEC 12119
Nacional/Internacional
CMMI (Capability Maturity Model Integration for Development)
Internacional