definindo qualidade de software

3
Definindo Qualidade de Software Qualidade sempre foi um tema difícil de definir, e qualidade de software tem sido excepcionalmente difícil. A razão para isso é que a percepção de qualidade varia individualmente e de um objeto a outro. Para a qualidade de software de uma aplicação específica, as percepções de qualidade diferem entre clientes, desenvolvedores, usuários, gestores, pessoal de qualidade de software, testadores, executivos, e outras partes interessadas. Muitas definições têm sido sugeridas ao longo dos anos, mas nenhuma foi totalmente satisfatória ou totalmente adotada pela indústria de software, incluindo as consagradas nas normas internacionais. A razão que a qualidade em termos de qualidade geral e software, em especial, tem sido difícil de definir é porque a palavra "qualidade" tem muitas nuances e tons. Por exemplo, entre os atributos de qualidade podem ser encontrados estes dez: 1. Elegância e beleza nos olhos de quem vê. 2. Capacidade de uso para diversos fins. 3. Satisfação das necessidades dos usuários, explícitos e implícitos. 4. Livre de defeitos, talvez a níveis Seis Sigma. 5. Alta eficiência das atividades de remoção de defeitos. 6. Alta confiabilidade ao operar. 7. Facilidade de aprendizagem e de facilidade de utilização. 8. Clareza dos guias de uso e materiais de ajuda. 9. A facilidade de acesso ao apoio ao cliente. 10. Reparos rápidos de defeitos relatados. Para complicar ainda mais a definição, a qualidade muitas vezes depende do contexto no qual um componente de software ou característica opera. A qualidade de um componente de software não é uma propriedade intrínseca – o mesmo componente pode ser

Upload: fabio-cabral

Post on 09-Aug-2015

68 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Definindo qualidade de software

Definindo Qualidade de Software

Qualidade sempre foi um tema difícil de definir, e qualidade de software tem sido excepcionalmente difícil. A razão para isso é que a percepção de qualidade varia individualmente e de um objeto a outro.

Para a qualidade de software de uma aplicação específica, as percepções de qualidade diferem entre clientes, desenvolvedores, usuários, gestores, pessoal de qualidade de software, testadores, executivos, e outras partes interessadas. Muitas definições têm sido sugeridas ao longo dos anos, mas nenhuma foi totalmente satisfatória ou totalmente adotada pela indústria de software, incluindo as consagradas nas normas internacionais.

A razão que a qualidade em termos de qualidade geral e software, em especial, tem sido difícil de definir é porque a palavra "qualidade" tem muitas nuances e tons. Por exemplo, entre os atributos de qualidade podem ser encontrados estes dez:

1. Elegância e beleza nos olhos de quem vê.

2. Capacidade de uso para diversos fins.

3. Satisfação das necessidades dos usuários, explícitos e implícitos.

4. Livre de defeitos, talvez a níveis Seis Sigma.

5. Alta eficiência das atividades de remoção de defeitos.

6. Alta confiabilidade ao operar.

7. Facilidade de aprendizagem e de facilidade de utilização.

8. Clareza dos guias de uso e materiais de ajuda.

9. A facilidade de acesso ao apoio ao cliente.

10. Reparos rápidos de defeitos relatados.

Para complicar ainda mais a definição, a qualidade muitas vezes depende do contexto no qual um componente de software ou característica opera. A qualidade de um componente de software não é uma propriedade intrínseca – o mesmo componente pode ser de excelente qualidade ou altamente perigoso, dependendo do ambiente em que se insere ou a intenção do usuário.

Esta natureza contextual de qualidade de software é um desafio fundamental e aplica-se a cada um dos dez atributos listados. O que é elegante em uma situação pode ser totalmente inviável em outro, o que é altamente confiável sob certas condições pode rapidamente quebrar em outros.

Isso nos leva à distinção entre testes e qualidade de software. A qualidade do software é muitas vezes vagamente equiparada com as atividades de teste ou garantia de qualidade. No entanto, contextualidade e noção de mutabilidade de software são as razões pelas quais a qualidade do software não pode ser equiparada com o teste ou garantia de qualidade.

Page 2: Definindo qualidade de software

Testes só podem resolver incógnitas conhecidas. Se você não sabe o que você está testando, você não está, por definição, testando. Mas o software está sujeito a incógnitas desconhecidas. Nenhuma quantidade de testes funcionais ou não-funcionais pode ser projetada para detectar e corrigir esses problemas. Por exemplo, o comportamento de aplicação pode mudar quando houver alguma mudança de tecnologia, de ambiente ou atualização de versão.

É impossível conceber testes para estas condições de antecedência. No entanto, com a experiência, sabemos que algumas aplicações são mais robustas e confiáveis do que as outras quando o ambiente ao seu redor muda. Algumas aplicações são muito mais fáceis de modificar ou ampliar, em resposta a necessidades prementes de negócios. Estes atributos de uma aplicação - robustez, confiabilidade, modificabilidade, e assim por diante - são indicadores confiáveis de qualidade da aplicação que vão além dos defeitos identificados durante os testes ou as ineficiências de processo ou lapsos de conformidade identificados na garantia da qualidade. Portanto, a qualidade de uma aplicação pode e deve ser definida de forma a adaptar estes indicadores de qualidade que aqueles identificados no teste e controle de qualidade.

Como os computadores e software são agora as principais ferramentas que operam a indústria e o governo, qualidade de software e segurança de software estão entre os temas mais importantes do mundo moderno. De fato, a importância da qualidade e segurança irá aumentar ao longo da próxima década.

Do ponto de vista econômico, os níveis mais elevados de qualidade de software podem encurtar prazos de desenvolvimento, reduzir os custos de desenvolvimento e manutenção, melhorar a satisfação do cliente, melhorar o moral da equipe e melhorar o status da profissão de engenharia de software, tudo ao mesmo tempo.