Pular para o conteúdo principal

Testes no RUP (Parte 1)

Nesse post, falarei sobre a disciplina de Testes dentro do modelo RUP (Rational Unified Process).


Antes de abordar a aplicação da disciplina de Testes no RUP, apresento aqui uma visão geral do processo. A seguinte ilustração sobre o RUP é, por si só, bastante elucidativa:





(fonte: http://www.devmedia.com.br/)


Na imagem acima, temos as fases e as disciplinas que compõem o RUP:


Fases:
  • Concepção
  • Elaboração
  • Construção
  • Transição



Disciplinas:
  • Modelagem de Negócio
  • Requisitos
  • Análise e Projeto
  • Implementação
  • Testes
  • Implantação
  • Gerência de Configuração e Mudanças
  • Gerência do Projeto
  • Ambiente

Como o foco é falar sobre Testes, não entrarei em questões relativas a outras disciplinas. Para outras informações sobre RUP, indico os seguintes links:


http://www.ibm.com/developerworks/rational/library/content/RationalEdge/jan01/WhatIstheRationalUnifiedProcessJan01.pdf
http://www-01.ibm.com/software/rational/


Como nota-se na imagem anterior, a nuvem da disciplina de Testes está presente em cada uma das 4 fases do projeto. Testes começam a surgir a partir da fase de Concepção, atravessa timidamente a fase de Elaboração, aumenta muito sua presença na fase de Construção e se encerra no início da fase de Transição (onde atinge seu período de maior atividade).


Diante da presença de testes nas fases iniciais, levanta-se a seguinte questão:


Por que iniciamos os testes tão cedo e não começamos a aplicar a disciplina quando já existir algo construído?


A resposta está diretamente ligada aos custos de um projeto: Quanto antes for encontrado um defeito, menos ele vai custar. Ou seja, quanto mais tarde um defeito for encontrado, maior vai ser a fatia que ele irá exigir do orçamento do projeto. O gráfico a seguir ilustra tal conceito:







Logo, podemos dizer que, quanto antes começarmos os testes em um projeto (já na fase de Concepção podemos detectar defeitos), antes serão encontrados defeitos e menor será a fatia do orçamento exigida pela correção dos mesmos.


E quais são as finalidades da disciplina de Testes no RUP?


As finalidades dos testes no RUP são:


  • Verificar a interação entre os objetos componentes do sistema;
  • Verificar a integração correta de todos os componentes do sistema;
  • Verificar se todos os requisitos foram implementados de maneira correta;
  • Detectar o maior número possível de defeitos antes da fase de Implantação;
  • Retestar todas as correções de defeitos e garantir que outras partes do sistema não foram afetadas por tais correções.



O modelo Rational Unified Process sugere que seja feita uma abordagem iterativa, ou seja, todo o projeto deve ser testado. Para tal, o projeto deve ser submetido aos diferentes níveis de Qualidade: Confiabilidade, Funcionalidade, Desempenho da Aplicação e Desempenho do Sistema. Além disso, cada um desses níveis deve percorrer, através dos testes, os ciclos de planejamento, projeto, implementação, execução e avaliação.

Comentários

Postagens mais visitadas deste blog

Testes no RUP (Parte 2)

Em muitas organizações, os testes começam muito tarde no processo de desenvolvimento de um software. Muitas vezes, começam tão tarde que o produto é lançado com uma quantidade irrisória de testes executados. Para solucionar esse problema, muitas empresas estão começando a adotar testes como um 'mal necessário'. Como contraste a esse panorama, o RUP modifica a abordagem de testes, distribuindo a mesma no decorrer do ciclo de desenvolvimento do software, agregando valor ao invés de arcar com custos excessivos decorrentes da ausência de testes. No post anterior , justificamos a pergunta 'por que testar cedo e com frequência?' com o gráfico de custos. A seguir vocês podem ver um gráfico similar, retirado do site da IBM (detentora da metodologia RUP): Muitas pessoas ainda veem a disciplina de Testes como algo secundário, por que isso acontece? Talvez porque não esteja diretamente ligado ao desenvolvimento do software e por isso é muitas vezes deixado para o final, depois do

O + do FURPS+

Segue a continuação do assunto FURPS: Posteriormente à definição do modelo FURPS, notou-se a necessidade da inclusão de mais atributos para encorpar e aumentar a cobertura do modelo. A partir dessa extensão, o acrônimo passou a ser mais comumente chamado de FURPS+ . Quais são os atributos do “+”? O + do FURPS refere-se a especificação de restrições que definirão determinados limites que deverão ser atendidos quando construímos um sistema. O + é composto dos seguintes requisitos não-funcionais: Design constraints – restrições de design: design nesse caso refere-se ao projeto, diretrizes e não a layout. A definição da utilização um banco de dados relacional no projeto é uma restrição de design, por exemplo. Implementation constraints – restrições de implementação: relacionado a limites impostos a código e construções. Como exemplo podemos citar a linguagem de programação que será utilizada para a codificação de um sistema. Interface constraints – restrições de interface: diretamente l

FURPS

Olá! Nesse post, pretendo falar um pouco sobre o modelo FURPS para ilustrar atributos que estão envolvidos em Qualidade de Software : Vamos começar pela sigla FURPS: o que significa cada uma dessas letras? Do F temos Functionality, traduzimos como Funcionalidade: Representa basicamente os requisitos funcionais do sistema. Do U temos Usability, traduzimos como Usabilidade: Representa basicamente a interface sistema-usuário. Do R temos Reliability, traduzimos como Confiabilidade: Representa basicamente a eficiência e o índice de falhas do sistema. Do P temos Performance, traduzimos como Desempenho: Representa basicamente tempos de resposta e capacidade de processamento do sistema. Do S temos Supportability, traduzimos como Suportabilidade: Representa basicamente esforços necessários para manutenção e configuração do sistema. As definições acima representam o básico de cada uma das letras que compõem a sigla FURPS. A seguir entraremos em detalhes sobre cada uma das categorias, não ante