quarta-feira, agosto 29, 2007

Ebook ( Livro Eletrônico ) sobre Automação e Gerenciamento de Testes

O colega Cristiano Caetano acabou de lançar um ebook ( livro eletrônico ) fornecendo interessantes e importantes contribuições referentes à diversas ferramentas open source e gratuitas disponíveis na rede mundial.

Li a versão beta e a oficial recém-lançada do livro e só posso parabenizar os esforços do Cristiano Caetano pelo excelente trabalho de compilação dessas soluções ( muitas delas eu já vinha também divulgando através de meu blog desde o seu início ).

Cada capítulo do livro se refere a uma categoria de ferramenta. Os capítulos são:

1 - Gestão de Defeitos
2 - Gestão de Testes
3 - Gestão de Projetos
4 - Automação de Testes Funcionais e de Aceitação
5 - Automação de Testes de Performance
6 - Controle de Versões
7 - Ferramentas de Apoio

Recomendo fortemente o livro, pois fornece uma visão abrangente das soluções disponíveis no mercado referentes às categorias de ferramentas citadas e por seu custo bem acessível. O conhecimento compartilhado pelo Cristiano Caetano renderá frutos para um melhor entendimento da engenharia de software. O seu investimento no livro com certeza terá um alto retorno!

Acessem o link de aquisição do livro e também leiam o artigo que o descreve.

Marcadores: ,

terça-feira, agosto 28, 2007

Evento IBM Forum Brasil 2007 - Minha palestra

Nos dias 11, 12 e 13 de setembro, a IBM realizará o IBM Fórum Brasil. Além dos Labs e cursos as pessoas inscritas terão o direito de realizar 3 provas de certificação ( inclusive da brand IBM Rational )!!!

Fui escolhido para apresentar uma palestra na sessão "Chamadas de Trabalho". No dia 13 de setembro apresentarei a minha palestra de título "Estratégias de Implementação das Soluções Rational e RUP em uma Organização: Estudo de caso da SEFAZ-SP". Os tópicos serão os seguintes:

- Histórico do estudo de caso da SEFAZ-SP ( Secretaria da Fazenda do Estado de São Paulo )
- Escolhendo a estratégia de adoção de RUP e soluções Rational
- Executando a instalação e configuração das ferramentas
- Escolhendo projetos-piloto
- Boas práticas em Treinamentos
- Boas práticas em Mentoring
- Realizando a melhoria contínua nos processos e ferramentas

Não deixe de comparecer! É uma boa oportunidade de você estar mais próximo das tecnologias e profissionais da IBM. E de quebra pode ir lá me cumprimentar e trocar idéias !!!

Marcadores:

segunda-feira, agosto 20, 2007

Promoção de baselines no Rational ClearCase, CVS e Subversion

Uma pergunta surgiu na lista CMM-Brasil acerca da promoção de linhas de base ( baselines ) em ferramentas de gerência de configuração.

A Pergunta:
Gostaria de saber se algum dos colegas utiliza o CVS em gestão de configuração. A empresa em que trabalho está homologando este sistema para substituir o Rational ClearCase e uma das queixas mais freqüentes diz respeito à promoção de baselines, que não seria facilitada com o CVS. Desta forma, gostaria de saber afinal como fazer promoção de baselines com o CVS.Para constar, há um movimento - apesar de fraco - em prol do Subversion. Entretanto, soube que as tentativas de usá-lo foram frustradas por motivos técnicos, já que aparentemente o sistema não passou nos testes de simulação de carga com uma grande quantidade deusuários em nível nacional. Assim, relatos do uso de Subversion com uma grande quantidade de usuários também são bem-vindos.

A Minha Resposta:
O conceito de baseline do ClearCase na realidade corresponde ao conceito de tag ou label do CVS e do Subversion. O conceito de branches é chamado de branch no ClearCase Base e de Stream no ClearCase UCM.

O conceito de promoção de baseline realmente não existe no CVS. A promoção nada mais é que você definir uma propriedade (ou metadado) descrevendo a estabilidade daquela baseline. Os valores default são: Integration Tested, System Tested, Acceptance Tested, Production.

O Subversion possui uma funcionalidade que pode ser usada para descrever esse conceito de promoção. Essa funcionalidade se chama "Properties". Ela permite que você crie metadados.

De qualquer maneira, há sempre a possibilidade de simular o conceito de promoção de baselines usando a funcionalidade de tags e labels do CVS e do Subversion.

Sobre a questão da performance, existe uma solução (paga) que aumenta radicalmente a performance do Subversion sem afetar a sua forma comum de utilização. Vide: http://www.wandisco.com/php/product_detail.php?lname=subversion

Mas existem muitos relatos no exterior de companhias com equipes distribuídas grandes satisfeitíssimas com o uso do Subversion. Talvez vocês tenham testado a performance com uma versão mais antiga. Na versão mais nova a performance foi melhorada ainda mais. Outras fontes boas de informações são:

http://blogs.open.collab.net/svn/

http://subversionee.blogspot.com/

http://svk.bestpractical.com/view/HomePage

Marcadores: ,

quarta-feira, agosto 15, 2007

O Glossário do RUP e do OpenUP: Um Ser Incompreendido!

O artefato Glossário, contido na disciplina de requisitos do Rational Unified Process e do OpenUP, costuma ter pouca utilização prática dentro das empresas. Pouca gente conhece sua potencial utilidade e, neste artigo, tratarei sobre esse assunto. Provavelmente essas idéias ajudarão muitos analistas de requisitos e analistas de sistemas a melhorar a qualidade de seus requisitos.

As informações que passarei foram sumarizadas e baseadas no livro Use Case Modeling de Bittner e Spence, no livro Patterns for Effective Use Cases de Cockburn et al e na apostila do treinamento oficial "Mastering Requirements Management with Use Cases" da IBM Rational.

Quando a técnica de modelagem de casos de uso é utilizada para especificar requisitos funcionais de um sistema, muitos analistas de sistemas acham que a definição todos os atributos, tamanhos e domínios das entidades não está sob sua responsabilidade. Mas é claro que esses elementos fazem parte dos requisitos a se levantar junto com os usuários.

Por exemplo, vamos supor que se esteja definindo os requisitos de um sistema de e-commerce. Se o analista de requisitos disser em um caso de uso que o cliente pode alterar as informações de perfil de cliente, porém não incluir quais são essas informações, o que o desenvolvedor fará? Ele irá perguntar para o analista de requisitos. E o analista de requisitos fará o que? Perguntará para o usuário :-) !

Portanto esses atributos e seus respectivos tamanhos e domínios precisam estar documentados. Mas se eu inserir estas informações na especificação de caso de uso o que ocorrerá?

Problemas

Exemplo de especificação de caso de uso "complicada":
...
Passo 4 - O cliente informa ao sistema os dados de Nome, Endereço e Sexo do Perfil do Cliente.
Passo 5 - O sistema valida os dados do Perfil do Cliente. Nome deve ter 40 posições - alfanumérico; Endereço deve ter 2 linhas de 60 posições cada uma - alfanumérico; Sexo deve ter 1 posição - caractere - domínio: F para Feminino ou M para Masculino.
...

Terei dois problemas graves:

1 - Especificações de casos de uso gigantes, com dezenas de páginas.

2 - O mais grave: quando você utilizar uma entidade em vários casos de uso você gerará duplicação de informações em diferentes artefatos. Essa falha levará a sérias dificuldades na manutenção dessa documentação e ocasionará possíveis erros quando alguém esquecer de alterar um atributo em todos os casos de uso que o referenciam.

Solução

Coloque, além de uma definição simples acerca da entidade, TODOS os atributos e seus respectivos tamanhos e domínios dentro do Glossário. Dessa forma você centralizará essas informações em um único artefato. O Glossário então se tornará um elemento essencial para o desenvolvimento do sistema e atuará também como uma espécie de dicionário de dados do negócio.

Exemplo

Exemplo No Glossário:
Entidade Perfil do Cliente -> entidade que representa as informações básicas de um cadastro realizado pelo próprio usuário do site de e-commerce.
Atributos:
Nome: 40 posições - alfanumérico
Endereço: 2 linhas de 60 posições cada uma - alfanumérico
Sexo: 1 posição - caractere - domínio: F para Feminino ou M para Masculino
...

Na especificação de caso de uso a dica é usar algo para realçar uma entidade que está descrita no Glossário. Defina um padrão para seu projeto. No exemplo abaixo eu padronizei que todas as entidades descritas em uma especificação de caso de uso estarão em itálico.

Exemplo em uma especificação de caso de uso:
...
Passo 4 - O cliente informa ao sistema os dados do Perfil do Cliente.
Passo 5 - O sistema valida os dados do Perfil do Cliente.
...

Portanto, usem o glossário como uma ferramenta essencial da documentação de requisitos. Vocês notarão a melhoria no entendimento dos casos de uso e a facilidade de manutenção que essa técnica proporcionará.

Marcadores: , , ,

quinta-feira, agosto 02, 2007

OpenUP 1.0 finalmente lançado!!!

O OpenUP 1.0 foi finalmente lançado oficialmente no dia 01 de agosto de 2007. É recomendável que todos passem a usar a nova versão, que corrigiu e fechou cerca de 416 defeitos e requisições de mudança.

Faça o download da biblioteca de métodos e do site do OpenUP 1.0.

Caso você queira apenas navegar no site do OpenUP 1.0, a equipe do EPF disponibilizou-o em um wiki.

Marcadores: ,


Veja as Estatísticas