Qualidade de software conceito básico

4
Qualidade de Software Conceito Básico O que é qualidade? Na área da tecnologia da informação, ou simplesmente TI, qualidade não é só quando um software, hardware, ou processo não possuem ou geram erros, mas principalmente quando alcançam os objetivos do cliente sem falhas, atendendo suas necessidades, sem mais, nem menos. Neste documento pretendo me focar na qualidade de software. Qualidade de Software Desenvolvese um software a partir de uma necessidade específica, nunca geral, que possua um caminho com etapas no desenrolar de seus procedimentos. Estes procedimentos possuem início, meio e fim e neles existem entradas e saídas, cálculos, gravações e leituras. Um software é o conjunto disto com o objetivo de atender cada etapa do caminho, dentro de suas regras de negócio. Um software com qualidade, além de atender as necessidades do cliente, tem de ser prático e ter uma usabilidade adequada as condições e desejos do cliente, alem de automatizar os procedimentos existentes. Processos dentro de um software, são eles que dão a diretriz do software exercendo uma lida às variáveis de entrada, sendo elas inseridas em cálculos, ou alteradas dentro de condições estabelecidas, ou deslocadas para gravação, outros processos, ou apresentadas ao usuário. Cada processo tem de ser elaborado e desenvolvido com o mínimo de recursos e buscando ser mais acertivo em sua execução. Processos da área de qualidade, são eles: Teste de Software Unitário Exploratório Integração Funcional Sistema Aceitação Controle de Versão Versão Release Documentação de Requisitos de Arquitetura de Desenvolvimento de Teste Autor: Henrique Neves Analista de Sistemas, especialista em Engenharia de Software [email protected]

description

Conceitos básicos a respeito da qualidade de software

Transcript of Qualidade de software conceito básico

Page 1: Qualidade de software conceito básico

Qualidade de Software Conceito Básico

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

O que é qualidade? Na área da tecnologia da informação, ou simplesmente TI, qualidade não é só quando

um software, hardware, ou processo não possuem ou geram erros, mas principalmente quando alcançam os objetivos do cliente sem falhas, atendendo suas necessidades, sem mais, nem menos.

Neste documento pretendo me focar na qualidade de software.

Qualidade de Software Desenvolve­se um software a partir de uma necessidade específica, nunca geral, que

possua um caminho com etapas no desenrolar de seus procedimentos. Estes procedimentos possuem início, meio e fim e neles existem entradas e saídas, cálculos, gravações e leituras. Um software é o conjunto disto com o objetivo de atender cada etapa do caminho, dentro de suas regras de negócio.

Um software com qualidade, além de atender as necessidades do cliente, tem de ser prático e ter uma usabilidade adequada as condições e desejos do cliente, alem de automatizar os procedimentos existentes.

Processos dentro de um software, são eles que dão a diretriz do software exercendo uma lida às variáveis de entrada, sendo elas inseridas em cálculos, ou alteradas dentro de condições estabelecidas, ou deslocadas para gravação, outros processos, ou apresentadas ao usuário. Cada processo tem de ser elaborado e desenvolvido com o mínimo de recursos e buscando ser mais acertivo em sua execução.

Processos da área de qualidade, são eles:

Teste de Software Unitário Exploratório Integração Funcional Sistema Aceitação

Controle de Versão

Versão Release

Documentação

de Requisitos de Arquitetura de Desenvolvimento de Teste

Autor: Henrique Neves ­ Analista de Sistemas, especialista em Engenharia de Software [email protected]

Page 2: Qualidade de software conceito básico

Qualidade de Software Conceito Básico

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

de Implantação de Suporte do Manual

Metodologia de desenvolvimento

Tradicional Ágil

Teste de Software O objetivo do setor de qualidade é a entrega de um software dentro dos parâmetros

desejados, que atenda todos os requisitos almejados. Para isto ocorrer este setor faz uma varredura no software na busca de falhas e erros. Encontrando algum erro ou falha, este é comunicado aos responsáveis para disponibilizarem a correção do mesmo. Este momento é denominado de Teste de Software que é dividido em diferentes tipos, são ele:

Unitário: neste teste, busca­se testar as unidades do software, como rotinas, subrotinas,

classes, funções, de forma isoladas para encontrar falhas funcionais em pequenas partes do software;

Exploratório: o teste exploratório faz uma varredura em todo o software, desde suas

rotinas, classes e componentes, até sua usabilidade. Este é um dos mais completos e demorados testes;

Integração: neste teste, verifica­se a integração do dados entre componentes do

software, analisando as entradas e saídas destes;

Funcional: é o teste que verifica a funcionalidade do software dentro dos objetivos planejados;

Sistema: este teste visa trazer o mais próximo da realidade de uso do software,

trabalhando o sistema como se estivesse em uso pelo usuário final;

Aceitação: este teste é realizado pelo usuário final, simulando a realidade do dia­a­dia de seu uso e verificando se esta de acordo a solicitação feita. Existem algumas técnicas para executar um teste, numa delas o teste é feito sobre a

estrutura do software, seu código­fonte e interações, esta técnica leva o nome de Caixa­Branca. Outra técnica é quando os testes são feitos sobre a funcionalidade do software atuando como usuário do mesmo, esta é a técnica Caixa­Preta. E existe uma técnica que mescla estas duas, onde o testador tem acesso a estrutura do software e também a sua usabilidade e se chama Caixa­Cinza.

Autor: Henrique Neves ­ Analista de Sistemas, especialista em Engenharia de Software [email protected]

Page 3: Qualidade de software conceito básico

Qualidade de Software Conceito Básico

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Os testes não necessariamente tem de ser executados quando o trecho de código estiver pronto, mas indico começar já na faze de designer do software e terminando no fim de seu ciclo de vida.

Controle de Versão O controle de versão visa organizar as diferentes versões de um documento. Na área de

TI são utilizados softwares para este fim, onde neles são registradas as versões do software, desde sua origem, as mudanças que existem até o momento, quem e quando foram implementadas e implantadas. Para sua ordenação, é utilizada uma codificação sequencial que auxilia o acompanhamento das atualizações. Esta codificação é composta de três conjuntos numéricos, ficando assim: XX.YY.ZZ, onde XX representa a versão ao qual se refere aquela codificação, o YY refere­se ao conjunto de alterações feitas dentro da versão e o ZZ são as releases feitas.

Versão: alteração de funcionalidades; Release: alterações dentro de uma versão.

Documentação Trata­se de diferentes textos que busca explanar a respeito do software desenvolvido,

indo desde seu uso, em forma de manual, passando pelas rotinas de suporte, de implantação, testes e desenvolvimento, arquitetura e seus requisitos.

Documento de Requisitos: neste documento são registradas a idéia para desenvolvimento do software, as regras de negócio, casos de exceção, objetivos e desejos do cliente. Neste documento segue o diagrama de designer do software que busca apresentar um esboço da idéia;

Documento de Arquitetura: este é um documento onde são apresentadas o que é

preciso desenvolver para que os requisitos se tornem realidade. Aqui são descritas as classes, rotinas, cálculos, variáveis, baseadas nas regras de negócio elencadas nos requisitos;

Documento de Desenvolvimento: para o início do desenvolvimento é utilizado o

Documento de Arquitetura, este norteia o desenvolvimento fornecendo o que fazer dando dicas, mas não trás informação de como fazer e isto é feito neste documento como um diário de bordo, onde são relatadas as experiências aplicadas para o desenvolvimento, junto a esta documento segue o código­fonte do software;

Documento de Teste: a documentação de teste inicia, dentro do ciclo de vida do

software, na etapa de arquitetura, onde são analisadas as melhores opções para atender a necessidade do momento, neste momento ela funciona como um diário de bordo, na arquitetura, ainda, são documentados os casos e planos de teste para serem executados, durante e após o desenvolvimento;

Autor: Henrique Neves ­ Analista de Sistemas, especialista em Engenharia de Software [email protected]

Page 4: Qualidade de software conceito básico

Qualidade de Software Conceito Básico

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­

Documento de Implantação: registro do plano de implantação e um relato a respeito da implantação do software no cliente;

Documento de Suporte: existe o documento de consulta rápida ao sistema, onde o

responsável pelo suporte pode sanar as dúvidas existentes e caso não consiga, a então dúvida, torna­se problema e é repassada a um responsável. Durante o suporte são registradas todas as ocorrências existentes, gerando um documento;

Documento de Manual: dos diversos documento citados, é este que é direcionado ao

cliente, onde apresenta­se a funcionalidade, uso e usabilidade do software, nele não é apresentado nenhum documento técnico ou parte dele.

Metodologia de Desenvolvimento Uma metodologia de desenvolvimento de software é a união de métodos que visam o

desenvolvimento de um software de forma coerente. Nela são definidos os papeis de quem faz, como fazer, quando fazer e onde fazer delegando funções aos envolvidos na equipe destinada ao desenvolvimento do software.

O uso de uma, das diversas, metodologias vai depender da estrutura organizacional do projeto e sua abrangência, mas principalmente pela sua adaptação e adequação as atividades propostas e visadas.

No tema das metodologias temos duas vertentes, as metodologias tradicionais e metodologia ágil.

Metodologia Tradicional: baseam­se em processos, rotinas e documentação. São consideradas pesadas e burocráticas dando ênfase ao controle dos processos do projeto;

Metodologia Ágil: são um refinamento das metodologias tradicionais, dando mais ênfase nas pessoas envolvidas no projeto do que nos processos do mesmo.

Autor: Henrique Neves ­ Analista de Sistemas, especialista em Engenharia de Software [email protected]