Académique Documents
Professionnel Documents
Culture Documents
Sumrio
1 Prefcio................................................................................................................................... 4 2 Introduo .............................................................................................................................. 5 Os modelos de maturidade de teste de software ................................................................... 8 Por que no usarmos o MPS.BR ou o CMMI? .......................................................................... 9 3 Objetivo ................................................................................................................................ 12 4 Como comear a implementao do MPT.BR pelo nvel 1...................................................... 13 5 Gerncia de Projetos de Teste de Software (GPT) .................................................................. 14 5.1 Fundamentaes tericas ............................................................................................... 14 5.2 Prticas especficas ......................................................................................................... 15 5.2.1 GPT1 Definir o escopo do trabalho para o projeto ................................................. 15 5.2.2 GPT2 Estabelecer estimativas para o tamanho das tarefas e dos produtos de trabalho do projeto de teste utilizando mtodos apropriados .......................................... 17 5.2.3 GPT3 - Definir as fases do ciclo de vida do projeto de teste ...................................... 18 5.2.4 GPT4 Estimar o esforo e o custo para a execuo das tarefas e dos produtos de trabalho com base em dados histricos ou referncias tcnicas ....................................... 19 5.2.5 GPT5 Estabelecer e manter o oramento e o cronograma do projeto de teste, incluindo marcos e/ou pontos de controle ....................................................................... 20 5.2.6 GPT6 Determinar e documentar os riscos do projeto de teste, assim como seu impacto, probabilidade de ocorrncia e prioridade de tratamento ................................... 20 5.2.7 GPT7 Planejar os recursos humanos para o projeto considerando o perfil e a proficincia necessrios para execut-lo........................................................................... 21 Melhoria de Processo de Teste Brasileiro MPT.BR - v.2
criaram este modelo com o objetivo de manter a compatibilidade com o MPS.BR e com o CMMI e permitir que empresas que implementaram o MPS e o CMMI na sua rea de desenvolvimento, possam, com um pequeno esforo adicional, tambm aumentar e comprovar o nvel de maturidade da sua rea de teste de software. Entende-se que a melhoria da rea de desenvolvimento, por si s, insuficiente para que os resultados melhorem substancialmente. Necessrio se faz uma melhoria de maturidade da rea de teste de software. Por outro lado, entende-se tambm que os processos de desenvolvimento e de teste devem estar fortemente integrados e que esta integrao tambm reflita nos projetos que venham a ser levados adiante usando esses processos. No entanto, sempre bom lembrar, que o projeto de desenvolvimento, a despeito do processo utilizado ou do nvel de maturidade alcanado, crie artefatos com elevados graus de testabilidade e que estes estejam disponveis aps alteraes para testes de regresso. medida que o modelo for evoluindo ou venha a sofrer manutenes sero liberados documentos de suporte para nortear os implementadores e avaliadores, assim como outros documentos relacionados ao modelo. Para obt-los, bastar acessar o site da ALATS ou da Riosoft na rea reservada ao MPT. O Guia de implementao do MPT.BR est subdividido em nveis de maturidade, a exemplo do CMMI e do MPS.BR. O nvel 1 (um) contempla apenas a rea de processo de Gerncia de Projetos. O objetivo atender reas de teste de todos os tamanhos, mesmo aquelas com nmero reduzido de profissionais.
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 4
No caso do MPT temos 7 (sete) nveis de maturidade. No primeiro nvel (nvel 1) a organizao precisa implantar apenas a rea de processo de Gerncia de Projetos de Teste (GPT).Entende-se que empresas que tenham uma equipe de teste de software a princpio estaro no nvel 0, embora possam ter prticas que caracterizem outros nveis de maturidade. Desta forma importante observar que a definio de um nvel de maturidade vai depender de uma avaliao das prticas usadas pela organizao nos seus projetos de teste de software. Considerou-se que o nvel mais alto do modelo ser o nvel 7 (sete) e que o nvel inicial ser o nvel 1 (um), sendo que empresas que ainda no implementaram o MPT estaro de uma maneira geral no nvel 0 (zero). Isso no significa que executem dos testes de forma pouco eficiente, mas que no tm o seu nvel de maturidade reconhecido atravs do presente modelo. De qualquer forma, a implementao do presente modelo no invalida a necessidade da continuao dos testes unitrio e de integrao continuarem a ser executados pela equipe de desenvolvimento. Alm disso, inspees e revises devem continuar a ser feitas. Ou seja, o modelo no elimina nenhuma das outras prticas atualmente em vigor, mas apenas acrescenta outra atividades que iro contribuir para a melhoria do produto final.
2 Introduo At a dcada de 90, quando comeou-se a usar setores de homologao de software, quase todas as empresas ou organizaes que desenvolviam software tratavam o teste como uma atividade inserida no ciclo de vida do desenvolvimento. Mesmo as empresas que usavam setores de homologao, essa atividade era executada via de regra pelos prprios usurios, que no eram testadores qualificados. Quando, no ciclo de vida do
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 5
Embora desde a dcada de 70, como vimos nos pargrafos anteriores, j existissem trabalhos mostrando que o teste precisava ser re-estruturado, essa mudana s comeou a ocorrer de fato no final da dcada de 90. Decidiu-se ento tratar o teste de software no mais como uma atividade do processo de desenvolvimento, mas sim como um processo independente. Desta forma o teste passaria a ser executado por uma equipe de especialistas com o objetivo de diminuir o nmero de defeitos remanescentes que estavam sendo passados para a produo. Na verdade foi acrescida uma etapa de teste, alm dos que j vinham sido feitos pelos desenvolvedores e usurios (teste unitrio, teste de integrao e teste de aceitao). Incluiu-se o teste de sistema executado por tcnicos especializados em teste de software. Essa soluo vem sendo gradativamente adotada pelas empresas, com os resultados esperados, qual seja, softwares com ndices de qualidade melhores. No entanto, essa mudana organizacional, e ainda no completamente absorvida, trouxe tambm novos problemas a serem tratados. No adianta apenas testar, mas sim testar bem. Os custos cairo, mas inicialmente os investimentos so maiores. Se a rea de teste no estiver bem organizada, os problemas aparecem num estgio onde os custos so maiores. Cogitou-se ento em modelos que permitissem rea de teste de software crescer em nveis de maturidade, e assim melhorar cada vez mais os resultados esperados. De qualquer forma, sempre bom lembrar que todas essas mudanas no eliminam a responsabilidade da equipe de desenvolvimento de executar os testes unitrios e de integrao, assim como da continuidade do trabalho de inspeo e reviso dos artefatos. Alm disso, uma equipe de teste nos modelos propostos no elimina a atuao de uma equipe de controle de qualidade. Outro problema que os pesquisadores descobriram foi que quanto mais tarde encontrarmos um defeito muito mais caro ser corrigi-lo. Defeitos encontrados na fase de produo so muito mais caros do que defeitos encontrados na fase de definio dos requisitos. Para resolver esse problema de custos, considerou-se que o teste de software
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 7
A Regra 10 de Myers mostra que quanto mais tarde os defeitos forem encontrados muito mais caro ser corrigi-los. Essa regra mostra numa situao hipottica e de forma ilustrativa como o custo do defeito poder crescer com o tempo. Isso no quer dizer que todos os defeitos se comportem dentro da mesma escala, mas que defeitos tendem a ser mais caros para serem corrigidos quando descobertos na etapa de produo.
Nenhum desses modelos possui alguma organizao que os represente no Brasil, isso significa que implement-los ser bastante difcil. Alm disso, mesmo que o interessado consiga implementar o modelo por conta prpria, sem nenhum apoio tcnico especializado, ser praticamente impossvel, ou no mnimo muito caro, conseguir ser avaliado e ter o seu nvel de maturidade homologado e reconhecido no mercado.
Por que no usarmos o MPS.BR ou o CMMI? A busca por modelos alternativos surgiu porque os tcnicos entenderam que modelos pesados como o CMMI no serviam para a rea de teste, em razo de o seu tamanho ser muito menor do que o da rea de desenvolvimento. Esse pressuposto tambm verdade quando pensamos em usar o modelo CMMI em empresas mdias ou de pequeno porte. O MPS.BR surgiu no Brasil para atender as empresas desenvolvedoras de software com uma
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 9
Gerncia de Projetos de Teste - GPT Gerncia de Requisitos de Teste - GRT Aquisio AQU (opcional) Gerncia de Configurao GCO Garantia da Qualidade - GQA Medio - MED
Nivel 4
Nivel 5
Desenvolvimento de Requisitos - DRE Integrao do Produto - ITP Validao - VAL (opcional) Verificao - VER
Nivel 6
10
Comentrio longo Escrevo esse comentrio antes de ler o restante do texto. Como mencionei no incio e tambm vocs insinuaram quanto mais se demora para encontrar um defeito exponencialmente maior o custo de sua remoo. Consequentemente, o controle da qualidade deve estar imbricado no processo de desenvolvimento. De outra forma o custo de retrabalho intil passa a ser muito elevado. No somente isso, o nmero de defeitos remanescentes tende a ser alto tambm. O Myers (2. edio pgina 20) mostra que o nmero de defeitos remanescentes proporcional ao nmero de defeitos encontrados, e estes obviamente foram introduzidos em algum momento. Isso enfatiza a necessidade da deteco e eliminao de defeitos bem no incio do desenvolvimento de qualquer artefato, seja este elementar ou composto. Um dos grandes problemas est nas especificaes e na arquitetura. importante ento controlar a qualidade desses artefatos. Ou seja, revises e inspees so extremamente importantes. OK, isso pode estar embutido n a Verificao e Validao, mas ocorre muito tarde somente no nvel 5. Tambm acho que deveria estar explcito. Outro problema que vejo o de desenvolvimento visando testabilidade. Aqui o importante desenvolver com forte apoio em ferramentas de apoio ao teste (idealmente automatizado) e boas prticas de design e programao. No consegui observar uma preocupao explcita com isso na lista de reas de processo.
Concordo que existe um custo alto ao introduzir teste automatizado. Mas existe tambm um ganho alto. A minha (pequena) experincia mostra que o ganho muito maior do que o custo. Ser que um processo moderno pode deixar de abordar isso? Em resumo, temos um problema filosfico. Eu sou fortemente favorvel a procurar prevenir defeitos. Por outro lado tenho fortes dvidas quanto possibilidade de se produzir especificaes completas e corretas antes de desenvolver o desenvolvimento de software um processo de aquisio de conhecimento (o de projeto de mquinas sob medida tambm trabalhei durante pouco tempo em uma fbrica alem que produzia mquinas sob medida sou, ou fui?, engenheiro mecnico...). Embora saiba que nem sempre seja vivel, tambm sou partidrio do desenvolvimento incremental, uma vez que isso reduz o impacto dos problemas de especificao. Em virtude disso considero importante o controle da qualidade ocorrer junto com o
11
3 Objetivo A empresa dever implementar o nvel 1 do MPT.BR instalando as seguintes reas de processo: Gerncia de Projetos de Teste de Software (GPT) sempre importante lembrar que esta rea de processo atender aos projetos de teste de software, embora possa ser compartilhada por outros processos, mas para isso seriam necessrias outras adequaes. No caso deste documento, as reas de processos foram direcionadas ao processo de teste de software. O que queremos dizer que a rea de processo de gerncia de projetos de desenvolvimento poderia, com algumas adaptaes, cobrir tambm os projetos de teste de software. Ou seja, se a empresa j tiver o MPS implantado em qualquer nvel, certamente ter uma rea de processo de gerncia de projetos, o que facilitar bastante a implantao do MPT.
Cada rea de processo tem a seguinte organizao: rea de processo o Prticas especficas o Objetivos genricos Prticas genricas
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 12
4 Como comear a implementao do MPT.BR pelo nvel 1 O nvel 1 o primeiro nvel de maturidade do MPT. Exclusivamente no MPT existe um nvel 1 que contempla apenas Gerncia de Projeto de Teste. Ao final da implantao deste nvel a organizao deve ser capaz de gerenciar seus projetos de teste de software, de acordo com os requisitos exigidos neste nvel de maturidade. Evidentemente, a gerncia de projetos de teste dever evoluir medida que a organizao alcance nveis mais elevados de maturidade. Algumas empresas podero sentir-se seguras para iniciar a instalao do MPT pelo nvel 2 (dois), equivalente ao nvel G do MPS.BR, e, neste caso, implantar as duas reas de processo (GPT e GRT). Para esta implementao muito importante que a empresa utilize projetos de teste de software paralelos aos projetos de desenvolvimento de software. Ou seja, ao iniciar um projeto de desenvolvimento de software, a organizao dever ao mesmo tempo iniciar um projeto de teste de software, de forma a que os dois projetos possam caminhar de forma paralela e integrada. Cada projeto dever ter um gerente ou lder de projeto formalmente constitudo. O nvel 1 exige a seguinte rea de processo: Gerncia de Projetos de Teste de Software (GPT) Se tratarmos o projeto de teste como um projeto paralelo e integrado ao projeto de desenvolvimento, no difcil entender que ambos podero se sustentar num processo de gerncia de projetos, que poderia ser nico para os dois ou poderia ser separado. De
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 13
14
5.2.1 GPT1 Definir o escopo do trabalho para o projeto Normalmente o escopo geral do projeto de teste de software testar o software que est sendo desenvolvido. Uma das melhoras formas de estabelecermos o escopo do projeto de teste definir uma WBS (work breakdown structure) ou EAP (estrutura analtica do
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 15
16
Complexidade de requisito uma mtrica adotada por algumas empresas para definir o esforo necessrio para que aquele requisito seja desenvolvido. Essa medida expressa em valores como alta, mdia e baixa. Outras mtricas podem vir a serem usadas. Um histrico do tempo gasto para desenvolver esses requisitos servir depois de base de informao para estimativas futuras. O mesmo modelo pode ser aumentado para suportar o esforo necessrio para testar os requisitos.
17
Ver acima
Por ciclo de vida entendemos o seguinte: Planejar, Especificar, Executar, Terminar. Outros ciclos de vida podero vir a ser usados de acordo com o ambiente e necessidade da rea de teste.
18
5.2.4 GPT4 Estimar o esforo e o custo para a execuo das tarefas e dos produtos de trabalho com base em dados histricos ou referncias tcnicas O tamanho muitas vezes a entrada bsica para a estimativa do esforo, prazo e, conseqentemente, do custo. As estimativas devem ser elaboradas usando um modelo racional formal, de fcil entendimento e uso pelos envolvidos no projeto. Este racional que vai determinar o grau de credibilidade do modelo usado. As estimativas de esforo e custo so, normalmente, baseadas nos resultados de anlises utilizando modelos e/ou dados histricos aplicados ao tamanho, atividades e outros parmetros de planejamento. No caso do projeto no ter nenhuma indicao histrica que possa servir de base para a estimativa, os riscos de erros sero maiores. De qualquer forma, existe uma tendncia, no decorrer do tempo e do desenvolvimento de novos projetos, para que as estimativas sejam cada vez mais acuradas. Inicialmente pode-se usar tcnicas de estimativas como, por exemplo, o Delphi4, usando para isso um grupo de especialistas. A EAP do projeto deve ser usada como base para as estimativas. Uma das tcnicas usadas seria estimar o esforo a partir da complexidade do requisito. Outra tcnica seria medir o tamanho do projeto de teste usando mtodos tais como anlise de pontos de teste, e garantir a calibragem do modelo atravs de dados histricos.
O mtodo Delphi um mtodo de tomada de deciso em grupo que se caracteriza pelo fato de cada
membro do grupo isoladamente, sem contato com os outros, apresentar as suas propostas ou estimativas Um moderador avalia o resultado final e chega ao valores que precisa para o seu objetivo. No nosso caso seriam estimativas para projetos de teste de software numa organizao que ainda no tem uma base histrica de informaes de outros projetos. Os profissionais envolvidos devem ser especialistas de reconhecido conhecimento tcnico sobre o assunto.
19
A figura mostra algum dos elementos envolvidos no que chamamos de ambiente de teste. No nosso caso no vamos considerar recursos humanos e nem documentao como ambiente.
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 22
Os artefatos e dados criados pelo projeto de teste devero estar armazenados de forma segura e confivel, embora no seja exigida, neste nvel, a gerncia de configurao (ver nvel 3). Alm disso, preciso saber quem ir receber cada um dos artefatos criados. Essas atividades normalmente podem fazer parte do plano de comunicao do projeto e do plano de gerncia de configurao. Como no nvel 1 no exigida a gerncia de configurao, pede-se que os dados estejam mantidos de forma segura em ambiente adequado com um controle de verses. Para os demais nveis deve haver um plano de gerncia de configurao. Produtos tpicos: Plano de gerncia de dados Plano de comunicao Requisitos de privacidade e segurana dos dados. 5.2.10 GPT10 Estabelecer os planos para a execuo do projeto de teste e reunir no Plano de Teste Como modelo de plano pode ser considerado o padro exigido pelo PMI. Por exemplo, caso exista um Plano de Escopo separado, o mesmo deve ser integrado ao Plano de Teste.
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 23
24
25
5.2.17 GPT17 Estabelecer aes para corrigir desvios em relao ao planejado e para prevenir a repetio dos problemas, assim como implementar e acompanhar at a sua concluso Ao identificar um problema do projeto, deve ser feito o registro e o seu acompanhamento atravs de aes corretivas. Alguns problemas podero ser registrados e serem resolvidos num tempo futuro a ser determinado. A deciso de no se resolver no momento o problema serve como indicativo de concluso para o momento atual. Produtos tpicos:
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 26
6.1 OG 1 Executar o processo Este atributo uma medida do quanto o processo atinge o seu propsito. Este atributo serve para mostrar que o processo est implantado, que atende aos seus objetivos e que as prticas especficas so cumpridas. 6.1.1 PG 1.1 - Atingir os resultados definidos Para garantir que o processo esteja institucionalizado preciso ter o processo disseminado na organizao e que o mesmo sirva de base para a gerao dos produtos a que se refere. importante lembrar que preciso o comprometimento da alta administrao. Produtos tpicos: Processo definido Processo institucionalizado (GPT)
6.2 OG 2 Gerenciar o processo Este atributo uma medida do quanto execuo do processo gerenciada.
6.2.1 PG 2.1 Estabelecer e manter uma poltica organizacional para o processo Deve ser evidente que a organizao considera o processo GPT muito importante e como tal deve ser seguido por todas as reas envolvidas. Entende-se que a alta gerncia deve
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 27
6.2.2 PG 2.2 Planejar a execuo do processo O processo deve fornecer meios para que seja feito um planejamento para o projeto usando as regras estabelecidas. Entende-se que deve ser tambm monitorado se o processo est sendo considerado no andamento do projeto. O Plano de Teste normalmente uma evidncia de que essa PG vem sendo cumprida para o MPT. O que se quer que seja demonstrado que est sendo cumprido o que dito no processo para o planejamento do projeto. Produtos tpicos: Plano de teste (GPT) 6.2.3 PG 2.3 - Monitorar e controlar a execuo do processo para atender aos planos O processo dever fornecer informaes que garantam o monitoramento do projeto e que as no-conformidades sejam registradas e controladas at a sua concluso. Eventualmente podero ser identificadas inadequaes no prprio processo, que devem ser registradas em documento prprio, e o acerto deve ser monitorado at a sua concluso. Usar o processo uma das formas de gerenci-lo e monitor-lo. O que se quer que seja demonstrado que est sendo cumprido o que dito no processo para a monitorao do projeto. Deve haver um acompanhamento sistemtico da evoluo do processo de forma a evitar que mudanas inesperadas de rumo ocorram. Isso dever ser feito nos diversos nveis de deciso da organizao e no apenas nos nveis tcnicos. Produto tpico: Atas de reunio de acompanhamento do projeto
Melhoria de Processo de Teste Brasileiro MPT.BR - v.2 28
6.2.4 PG 2.4 Identificar e disponibilizar os recursos necessrios para a execuo do processo assim como garantir que as mesmas sejam competentes em termos de formao, treinamento e experincia Para que o processo seja executado atravs do projeto preciso que os recursos necessrios estejam claramente definidos. Por recursos entende-se pessoal, software, hardware, recursos financeiros, ambiente, etc. Produto tpico: Plano de recursos do projeto (GPT) Registros de treinamentos realizados (GRE e GPT), tais como folhas de presena assinadas ou certificados. Treinamentos em estimativas, riscos, planejamento, etc.
6.2.5 PG 2.5 Garantir que as pessoas que executam o processo so competentes em termos de formao, treinamento e experincia A organizao dever assegurar que as pessoas que executam os processos esto habilitadas. Isso vai implicar em treinamentos nos prprios processos como tambm em tcnicas de gerncia de projetos e gerncia de requisitos. No caso do uso de ferramentas especficas dever haver comprovao de que essas pessoas foram treinadas para o seu uso. Produto tpico: Registros de treinamentos realizados (GRT e GPT), tais como folhas de presena assinadas ou certificados. Treinamentos em estimativas, riscos, planejamento, etc. Processo de capacitao e treinamento.
6.2.6 PG 2.6 Garantir a comunicao entre as partes interessadas no processo de forma a manter o seu envolvimento no projeto
29
6.2.7 PG 2.7 - Monitorar e controlar o processo Deve haver um acompanhamento sistemtico da evoluo do processo, de forma a evitar que ocorram mudanas inesperadas de rumo. Isso dever ser feito nos diversos nveis de deciso da organizao e no apenas nos nveis tcnicos. Produto tpico: Atas de reunio de acompanhamento do projeto em diversos nveis (acompanhamento tcnico e gerencial) Plano de Teste Processo de Gerncia de Projetos de Teste
30