Ferramentas open-source para testes de software – uma visão geral

Frameworks e ferramentas open-source para realização dos vários tipos de testes de software (unitário, funcional, regressão, carga e stress) assim como ferramentas para gerenciamento de plano de testes, casos de testes e relato de defeitos são fundamentais  para as empresas que trabalham com desenvolvimento de software. Essas ferramentas preenchem lacunas deixadas pelas ferramentas pagas.

Ferramentas open-source para gerenciamento e execução de testes estão disponíveis há anos, sendo adotadas de diferentes formas: 

1. um uso típico é feito pelos desenvolvedores que buscam resolver problemas específicos, e que possuem conhecimento para integração dessas ferramentas

2. para testes unitários (Junit, Nunit)

3. para acompanhamento de defeitos (Bugzilla)

A utilização do Eclipse IDE como meio de integração das ferramentas, acelera a maturidade das ferramentas. Exemplo disso é que o Mozilla (FireFox) está sendo usado como base para integração de ferramentas através do browser, simplificando o uso.

Na medida em que as empresas são pressionadas para adotar novas tecnologias, com orçamentos mais curtos, faz com que o mercado de open-source continue a ser cada vez mais adotado, podendo com o tempo criar alguma preocupação para o modelo de software pago.

Deve-se buscar áreas de oportunidade de uso dessas ferramentas e manter as expectativas sob controle, pois essas ferramentas são mais eficientes para times de testes com conhecimentos em programação (necessidade de escrever código para criação de testes)

Testes unitários e acompanhamento de defeitos são as ferramentas de maior maturidade, sendo que as mesmas podem direcionar a qualidade mais cedo no ciclo de desenvolvimento, reduzindo o custo total do desenvolvimento e mantendo baixo o custo das ferramentas.

Consulte o site http://www.opensourcetesting.org e saiba mais sobre ferramentas open-source para testes de software

Visão geral do mercado de ferramentas para testes de software

Do ponto de vista dos fornecedores o mercado de ferramentas para testes de software é um mercado em consolidação, pois nos últimos 18 meses ocorreram diversas aquisições entre as empresas: a Borland comprou a Segue Software. A Micro Focus comprou a Borland e a linha de produtos open de qualidade de software da Compuware. A HP comprou a Mercury (líder de mercado). IBM e HP adquiriram ferramentas de software para testes de segurança. A Microsoft continua sua expansão nesse mercado, adicionando ferramentas de gerenciamento e de testes manuais na próxima versão do Visual Studio (2010)

Esse tipo de consolidação do mercado irá continuar na medida que os os fabricantes buscam uma solução completa de ALM (Application Life Cycle Management). Mesmo assim, um crescente número de fornecedores de ferramentas continuam entrando no mercado com foco em ferramentas livres de script (script free), Model-driven, para testes em ambientes cloud computing, para gestão de laboratório de testes, para testes de software SOA, gerenciamento de planos de testes, gerenciamento de casos de teste e defeitos.

Dado o market share dos principais fabricantes, HP e IBM, os fornecedores buscam uma estratégia de coexistência, enquanto os usuários geralmente usam diferentes fornecedores de ferramentas para atender as diversas necessidades de testes e de qualidade.

O mercado de ferramentas de automação para testes de software é um seguimento do mercado de ALM, e é formado por três principais áreas:

1.Gerenciamento de testes : composto pelas ferramentas para gestão e planejamento de atividades de testes e seus resultados,

2. Automação de testes de stress e carga: composto pelas ferramentas que simulam a carga de múltiplos usuários de uma aplicação para medição e ajustes da performance

3 Automação de testes funcionais e regressão – ferramentas de testes que imita um usuário visando a identificação de defeitos

Há ainda outras áreas cobertas pelas ferramentas, tais como: seleção e gestão de dados para testes, teste unitário, testes de segurança, usabilidade

Recentemente tem ocorrido um esforço de melhor integração das ferramentas de qualidade com as demais ferramentas utilizadas no ciclo de desenvolvimento, como a de gestão de requisitos, gestão de configuração, etc.

Integrando-se requisitos com casos de testes, e do processo de geração de build com a execução de suítes de testes e com a geração de relatórios de qualidade, será mais fácil se ter uma visão do estado corrente de um projeto sob a ótica da qualidade e de completude do projeto.

E a sua empresa, quais ferramentas para testes de software utiliza? São ferramentas open-source ou comerciais?

Seis dicas para preparação de massa de dados para testes funcionais

massa

Para determinados tipos de sistemas a preparação de massa de dados é uma das etapas que mais pode consumir esforços e recursos e certamente define a qualidade dos testes funcionais.
Se você é o responsável por esta importante etapa dos testes, veja as dicas abaixo:
1. Direcione a criação de massa de dados através dos casos de testes. O projetista de testes ao desenvolver os casos de testes deve especificar a massa de dados necessária para a execução do mesmo. Assim você terá qualidade e não quantidade na massa de dados.

2. Se o sistema sob teste já tiver versão em ambiente de produção com dados, as bases de produção podem ser utilizadas, com descaracterização dos dados

3. Ao usar dados oriundos do ambiente de produção um processo de ETL – extração, transformação e carga, embora geralmente seja trabalhoso, demande a elaboração de rotinas customizadas para mascaramento de dados, consegue-se uma boa massa de dados para testes. O processo de ETL também é útil para extração de dados não relacional, e que não necessita de mascaramento.

4.  Quando os dados a serem extraídos estão em bases relacionais, um processo manual de ETL já não se demonstra adequado, seja por não se conhecer o modelo relacional das bases e tabelas envolvidas, ou pela complexidade das tabelas envolvidas.

5. Considere o uso de ferramentas de software para apoio na atividade de geração de massa de dados, observando: tipo de banco de dados envolvidos, tipos de software: pacotes ou desenvolvido internamente, segurança dos dados, tipos de seleção dos dados: por período de tempo, por critérios definidos pelo usuário.

6. Dois exemplos de ferramentas de extração e manipulação de dados, são Optim (IBM) e File-Aid (Compuware). Dois exemplos de ferramentas para geração de novos dados são: SQL Data Generator (Red Gate Software) e Visual Studio Team System

E você, utiliza algum tipo de ferramenta para geração de massa de dados para testes?

Histórico da evolução das ferramentas para testes e qualidade de software

As primeiras ferramentas de testes de software surgiram por volta de 1980 e eram focadas em testes funcionais. Eram também baseadas em atividades que eram extensão de debuging do software.

Após essas ferramentas ganharem popularidade, surgiram as ferramentas de gerenciamento de testes que tinham como propósito organizar e manter dados e comandos de testes, organizarem o resultado da execução dos testes, e apresentar relatórios de testes.

Por volta de 1990 os fornecedores passaram a integrar numa suite única ferramentas para testes funcionais e de gerenciamento de testes. Já em 1995 surgiram as primeiras ferramentas para automação de testes de performance que inicialmente eram focadas em medições básicas para algumas plataformas. Posteriormente foram abrangendo diversas plataformas com medições mais complexas de performance.

Em 2000 os fornecedores passaram a oferecer uma suite mais abrangente contemplando funcionalidades de gerenciamento, testes funcionais e performance na mesma suite. Entretanto havia uma limitação dos fornecedores com capacidade para prover esse tipo de ferramenta, e os usuários descobriram limitações nessas ferramentas e passaram a adquirir outras ferramentas para suprir essas limitações. Os usuários descobriram então que não poderiam reutilizar o investimento feito na ferramenta atual, ao migrar para a nova ferramenta.

Os fornecedores então ficaram com um dilema: fornecer caminhos de reutilização da sua ferramenta para outra e permitir que os clientes facilmente abandonassem o uso do seu produto, ou não fornecer esses caminhos e correr o risco de perder as vendas iniciais por desconfiança dos usuários, de estarem presos a uma solução proprietária?

Entre 2002 e 2003 os fornecedores solucionaram esse dilema: todos os fornecedores adotariam uma arquitetura e componentes padrões. Dessa forma seria possível garantir algum tipo de migração entre suites diferentes, e cada fornecedor poderia manter os seus diferenciais através das funcionalidades únicas de seus produtos

Eclipse/Hyades foi a arquitetura e componentes padrões escolhida por empresas como a IBM, Intel e Compuware entre outras. Com isso espera-se reduzir o número de ferramentas para algumas dezenas em vez de centenas.

Consulte o site http://www.eclipse.org/tptp/ para ter mais informações sobre o projeto Eclipse/Hyades

Ferramenta para modelagem de software com UML 2.1

 5008_128x128_thumb A comunidade de software livre tem ao longo dos anos influenciado a indústria de software tradicional, no sentido de forçá-la a oferecer alguma versão dos seus produtos para uso sem custo. Empresas grandes como a IBM já adotaram essa abordagem de ofertar uma versão livre de alguns de seus softwares pagos.
Para a modelagem de software utilizando UML tenho usado para fins acadêmicos o Visual Paradigm Community Edition, que é uma versão sem custo e com algumas limitações em relação à versão paga, como por exemplo, só poder criar um diagrama UML de cada tipo sem que apareça a marca d’água da empresa nos diagramas. Uma outra restrição é a de não ter uma funcionalidade que permita o desenho da interface gráfica (elaboração de protótipos de telas)

Essa versão suporta todos os diagramas da UML 2.1, permite a descrição detalhada de requisitos, análise textual dos requisitos para identificação de classes, análise através de cartões CRC e diversas outras funcionalidades relacionadas à etapa de projeto de software.

O Visual Paradigm Community Edition pode ser obtido a partir do endereço http://www.visual-paradigm.com/product/vpuml/communityedition.jsp

Se é de uma ferramenta para modelagem UML que você procura, vale a pena instalar essa versão e testar suas funcionalidades, antes mesmo se for o caso, de partir para a compra de uma versão paga