BT

Uma Introdução à Qualidade de Software

por Abel Avram , traduzido por Marcelo Costa em 11 Mai 2012 |

Em dois artigos recentes, David Chappell, CEO da Chappell & Associates, descreve os diferentes aspectos de qualidade de software (funcionais, estruturais e de processo), os grupos de pessoas diretamente interessadas na qualidade (usuários, desenvolvedores e patrocinadores), e o resultado que os defeitos no software causam, sejam eles externos ou internos, ao longo do tempo.

No artigo Os Três Aspectos da Qualidade de Software: funcionais, estruturais e de processo (PDF), Chappell apresenta três aspectos da qualidade de um software: funcional, estrutural e de processo, onde cada um está relacionado de alguma forma aos três grupos de pessoas diretamente interessadas no produto final ou serviço: usuários, desenvolvedores e patrocinadores.

Qualidade funcional expressa o quão bem o software executa as tarefas solicitadas por seus usuários. Chappell distingue quatro atributos desse tipo de qualidade de software:

  • O software atende aos requisitos especificados
  • Possui poucos defeitos
  • Possui um desempenho razoável
  • É fácil de aprender e de usar

Qualidade estrutural mede o quão bem o software é organizado, sendo definida pelos seguintes atributos:

  • Testabilidade do código
  • Manutenibilidade - facilidade para realizar manutenção do código
  • Clareza - facilidade em se entender o código
  • Eficiência do código - gerencia os recursos (memória, conexões de rede) eficientemente ?
  • Segurança do código - é capaz de impedir as ameaças de segurança mais comuns?

Enquanto a qualidade funcional e a estrutural "recebem a fatia do leão nas discussões sobre qualidade de software", Chappell considera que a qualidade do processo também é muito importante, em que seus principais atributos são:

  • As datas de entrega são cumpridas?
  • Está dentro do orçamento ?
  • Há um processo de desenvolvimento de software replicável? Um que entregue software de qualidade de forma confiável e previsível?

Chappell acredita que os usuários estão mais interessados em qualidade funcional, e possuem algum interesse no atributo "datas de entrega" da qualidade do processo. Já os desenvolvedores se importam principalmente quanto a qualidade estrutural, porque este item possui um impacto direto no resultado do seu próprio trabalho, mas também estão interessados em qualidade funcional, só que não tanto quanto os usuários, e na qualidade do processo porque "fornece muitas das métricas com as quais o seu trabalho é medido". Já os patrocinadores de um projeto devem se preocupar com todos os aspectos de qualidade de um software, cientes de que cada aspecto tem um impacto importante sobre os resultados finais.

No artigo O Valor para o Negócio da Qualidade de Software (PDF), Chappell discute o impacto do software de baixa qualidade em um negócio. Ele distingue dois tipos de softwares: softwares visível externamente (aqueles utilizados pelos clientes de uma empresa) e softwares visível internamente (aqueles utilizados pelos próprios empregados de uma empresa).

Chappell lembrou dos danos que ocorreram em decorrência da falha de segurança na PlayStation Network da Sony, em abril de 2011, quando 70 milhões de contas foram comprometidas devido a exploração de uma vulnerabilidade de segurança já conhecida de um determinado banco de dados. Também citou uma falha no sistema de backup que afetou clientes da RIM no mundo inteiro durante três dias em outubro de 2011. Tais defeitos de qualidade tem o seguinte impacto nos negócios ao longo do tempo, de acordo com Chappell:

  • Perdas financeiras devido a vendas não concretizadas;
  • Perdas financeiras devido aos reparos necessários;
  • Perdas financeiras devido a perda de clientes;
  • Perdas financeiras devido a processos judiciais
  • Perda de valor da Marca.

Já a falta de qualidade em um software usado internamente pode conduzir aos resultados a seguir ao longo do tempo:

  • Adoção mais lenta pelo usuário;
  • Redução de benefícios para o negócio;
  • Maiores dificuldades para os líderes de TI;
  • Baixa moral do departamento de TI e baixa confiança das outras áreas neste departamento;
  • Maiores chances de se terceirizar o software.

Todos os três aspectos da qualidade precisam ser respeitados (funcional, estrutural e de processo) tanto para softwares visíveis internamente quanto para aos visíveis externanemte, para se alcançar um bom resultado.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Ameaças Comuns? by gustavo bitencourt

o que seria considerado por você "é capaz de impedir as ameaças de segurança mais comuns?" ?
Excelente Post, parabéns.

Re: Ameaças Comuns? by Fernanda Barros

O Valor do teste de software ainda não é considerado tão importante na maioria das organizações. O "tempo" de execução gasto na qualidade do produto independente do custo da mão de obra é incomparado ao retrabalho de desenvolvimento e reteste quando estes são requisitados, e são quase sempr,e pelos clientes insatisfeitos e já imbutidos em seus conceitos como um sistema inconsistente.

Sobre o Post: Muito bom!

Ameaças Comuns? by Fernanda Barros

O Valor do teste de software ainda não é considerado tão importante na maioria das organizações. O "tempo" de execução gasto na qualidade do produto independente do custo da mão de obra é incomparável ao retrabalho de desenvolvimento e reteste quando estes são requisitados, e são quase sempre são, pelos clientes insatisfeitos e já imbutidos em seus conceitos sobre o produto como um sistema inconsistente.

Sobre o Post: Muito bom!

Re: Ameaças Comuns? by Fernando Lozano

Há vários ataques conhecidos que exploram falhas básicas da aplicação, como por exemplo não validar o texto fornecido pelo usuário, e permitir que se digite texto contendo tags HTML e comandos Javascript, que depois serão executados pela aplicação em outra página. Ou então, permitir que um mesmo cliente fique tentando senhas sem gerar um atrazo antes da próxima senha, nem bloquear o login por excesso de logins falhos, de modo que se podem tentar adivinhar senhas por "força bruta".
Você pode visitar o site www.owasp.org e procutar pelo "top 10" para ver mais exemplos e o que uma aplicação deve fazer para impedir estes ataques.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

4 Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT