Showing posts with label Quality Assurance (QA). Show all posts
Showing posts with label Quality Assurance (QA). Show all posts
Monday, June 11, 2012
Sunday, June 10, 2012
O Custo da Qualidade de Software
Muito se fala sobre o custo elevado
das atividades de teste e dos procedimentos que buscam garantir que um
software tenha qualidade. Mas como um software adquire qualidade e
quanto custa às organizações para que seus produtos atinjam um nível
superior de excelência?
É
possível que um software adquira qualidade tanto por uma construção que
utilize processos maduros e bem definidos, como pela identificação e
resolução dos problemas do software, antes que ele seja entregue aos
usuários. Essa qualidade pode ser também atingida com a estabilização
pós-implantação do software, considerando nesse caso, a possibilidade de
alguns ciclos desgastantes de ocorrência de falhas, identificação e
correção de defeitos, com a liberação de novas versões da aplicação.
A cada uma dessas alternativas,
está associado um custo específico. Esses custos, somados, constituem o
custo da qualidade. O custo da qualidade é parte do custo total de
produção do software, que contempla também os custos de sua construção.
Fonte: QAI - Quality Assurance Institute
Custo de Prevenção
– Mais que um custo, é um investimento realizado para se evitar erros e
fazer o trabalho certo na primeira tentativa. É um investimento com
retorno a médio ou longo prazo e que contempla a criação de métodos e
procedimentos, a melhoria de processos, a capacitação dos profissionais,
a aquisição de ferramentas e o planejamento da qualidade. Esse custo
ocorre antes da criação do produto.
Custo de Avaliação – Esse custo refere-se ao que é gasto em procedimentos de verificação e em testes dos produtos de software para identificação de defeitos, após a sua construção e antes que sejam disponibilizados para uso ou implantados em produção. Contempla tanto produtos intermediários, como documentos de requisitos, modelos de dados ou especificações, como também o produto de software final.
Custo de Falhas – Envolve todos os custos associados a produtos defeituosos, que já foram entregues aos usuários ou disponibilizados em produção e que geraram algum tipo de falha. Esses custos referem-se ao retrabalho para reparação de produtos defeituosos, ou a prejuízos decorrentes das falhas no software. Incluem-se nesta categoria, também os custos associados à manutenção de um Help Desk.
Considerando as categorias de custos que compõem o custo da qualidade, podemos perceber que ao investirmos estrategicamente na prevenção e na detecção de defeitos, os custos de falhas podem ser sensivelmente reduzidos, com reflexo direto sobre o custo da qualidade. Dessa forma, o custo total de produção de um software pode ser também diminuído, acompanhando a redução do custo da qualidade. Ponto para os processos de Garantia da Qualidade e de Testes de Software, que estruturam importantes atividades de prevenção e detecção de defeitos.
Custo de Avaliação – Esse custo refere-se ao que é gasto em procedimentos de verificação e em testes dos produtos de software para identificação de defeitos, após a sua construção e antes que sejam disponibilizados para uso ou implantados em produção. Contempla tanto produtos intermediários, como documentos de requisitos, modelos de dados ou especificações, como também o produto de software final.
Custo de Falhas – Envolve todos os custos associados a produtos defeituosos, que já foram entregues aos usuários ou disponibilizados em produção e que geraram algum tipo de falha. Esses custos referem-se ao retrabalho para reparação de produtos defeituosos, ou a prejuízos decorrentes das falhas no software. Incluem-se nesta categoria, também os custos associados à manutenção de um Help Desk.
Considerando as categorias de custos que compõem o custo da qualidade, podemos perceber que ao investirmos estrategicamente na prevenção e na detecção de defeitos, os custos de falhas podem ser sensivelmente reduzidos, com reflexo direto sobre o custo da qualidade. Dessa forma, o custo total de produção de um software pode ser também diminuído, acompanhando a redução do custo da qualidade. Ponto para os processos de Garantia da Qualidade e de Testes de Software, que estruturam importantes atividades de prevenção e detecção de defeitos.
Tipos de teste
Tipo de Teste
|
Descrição
|
Teste de Unidade
|
Teste em um nível de componente ou classe. É o teste cujo objetivo é um “pedaço do código”.
|
Teste de Integração
|
Garante
que um ou mais componentes combinados (ou unidades) funcionam.
Podemos dizer que um teste de integração é composto por diversos
testes de unidade*1
|
Teste Operacional
|
Garante que a aplicação pode rodar muito tempo sem falhar.
|
Teste Positivo-negativo
|
Garante que a aplicação vai funcionar no “caminho feliz” de sua execução e vai funcionar no seu fluxo de exceção. *2
|
Teste de regressão
|
Toda vez que algo for mudado, deve ser testada toda a aplicação novamente.
|
Teste de caixa-preta
|
Testar
todas as entradas e saídas desejadas. Não se está preocupado com o
código, cada saída indesejada é visto como um erro.
|
Teste caixa-branca
|
O objetivo é testar o código. Às vezes, existem partes do código que nunca foram testadas.
|
Teste Funcional
|
Testar
as funcionalidades, requerimentos, regras de negócio presentes na
documentação. Validar as funcionalidades descritas na documentação
(pode acontecer de a documentação estar inválida)
|
Teste de Interface
|
Verifica se a navegabilidade e os objetivos da tela funcionam como especificados e se atendem da melhor forma ao usuário.
|
Teste de Performance
|
Verifica se o tempo de resposta é o desejado para o momento de utilização da aplicação.
|
Teste de carga
|
Verifica o funcionamento da aplicação com a utilização de uma quantidade grande de usuários simultâneos.
|
Teste de aceitação do usuário
|
Testa
se a solução será bem vista pelo usuário. Ex: caso exista um botão
pequeno demais para executar uma função, isso deve ser criticado em
fase de testes. (aqui, cabem quesitos fora da interface, também).
|
Teste de Volume
|
Testar a quantidade de dados envolvidos (pode ser pouca, normal, grande, ou além de grande).
|
Testes de stress
|
Testar
a aplicação sem situações inesperadas. Testar caminhos, às vezes,
antes não previstos no desenvolvimento/documentação.
|
Testes de Configuração
|
Testar se a aplicação funciona corretamente em diferentes ambientes de hardware ou de software.
|
Testes de Instalação
|
Testar se a instalação da aplicação foi OK.
|
Testes de Segurança
|
Testar
a segurança da aplicação das mais diversas formas. Utilizar os
diversos papéis, perfis, permissões, para navegar no sistema.
|
Wednesday, February 01, 2012
Ferrementas & Frameworks para QA
A "suite" que estamos estudando
http://seleniumhq.org/
http://cobertura.sourceforge.net/
http://pmd.sourceforge.net/
http://checkstyle.sourceforge.net/
http://jmeter.apache.org/
http://www.junit.org/
http://jameleon.sourceforge.net/
http://testng.org/doc/index.html
http://cukes.info/
Site com ferramentas de QA
http://www.softwareqatest.com/qatweb1.html
http://seleniumhq.org/
http://cobertura.sourceforge.net/
http://pmd.sourceforge.net/
http://checkstyle.sourceforge.net/
http://jmeter.apache.org/
http://www.junit.org/
http://jameleon.sourceforge.net/
http://testng.org/doc/index.html
http://cukes.info/
Site com ferramentas de QA
http://www.softwareqatest.com/qatweb1.html
Subscribe to:
Posts (Atom)