Вы находитесь на странице: 1из 17

Avaliao de Ferramentas de Apoio ao Teste de Sistemas de Informao

Janielton de Sousa Veloso, Pedro de Alcntara dos S. Neto, Ismayle de Sousa Santos, Ricardo de Sousa Britto Departamento de Informtica de Estatstica - Universidade Federal do Piau (UFPI) CEP 64049-550 Ininga Teresina PI - Brasil {janielton, pasn, ismayle, rbritto}@ufpi.edu.br Abstract. Software testing is the main approach used for assurance of information system quality. However, this activity consumes many resources. It is fundamental to use mechanisms to facilitate its execution. The use of testing tools is a way to achieve this objective, but it is important to select the most suitable tool for the identified needs. This paper presents an evaluation of the main free functional and performance testing tools using a mechanism that allows comparative analysis of the tools to support software testing demands. Resumo. A atividade de testes um dos meios mais utilizados para se garantir a qualidade de um sistema de informao. Contudo, realizar testes demanda tempo e recursos, o que provoca a busca por mecanismos que auxiliem essa atividade. O uso de ferramentas de testes se torna ento fundamental. No entanto, como existem muitas opes, deve-se ter cuidado para adquirir as mais adequadas s necessidades existentes. Este artigo apresenta a avaliao das principais ferramentas de teste funcional e de desempenho/estresse gratuitas utilizando um mtodo para avaliao de ferramentas de teste para sistemas de informao baseado no SQFD. Esse mtodo permite a comparao e seleo da ferramenta de teste mais adequada, a partir da identificao daquilo que considerado mais importante pelos usurios de tais ferramentas.

1. Introduo
No processo de desenvolvimento de sistemas de informao, a atividade de teste fundamental para garantir a qualidade dos resultados. Isso porque os testes de software podem ser usados para revelar a presena de defeitos [Myers 2004]. Contudo, a realizao dessa atividade demanda tempo e recursos, fazendo com que ela seja muitas vezes responsvel por cerca de 50% dos custos do desenvolvimento de um software [Harrold 2000]. Dessa forma, as empresas procuram meios para reduzir custos na realizao dessa atividade, normalmente a partir do uso de ferramentas de apoio aos testes de software. Mesmo com a grande disponibilidade de ferramentas de testes, ainda existem muitas necessidades que no so supridas por completo. Um dos principais problemas, por exemplo, a indisponibilidade de ferramentas adequadas para a gesto das atividades de teste [Weber 2001]. Alm disso, a escolha de ferramentas de testes inadequadas pode trazer desperdcio de tempo, fator relevante no desenvolvimento de software, alm de influenciar negativamente no sucesso do produto caso ela, por exemplo, no tenha sido desenvolvida para identificar os defeitos que tenhamos o propsito de encontrar.

Dessa forma, importante que existam meios para se avaliar e comparar ferramentas de teste. Para isso, os requisitos da equipe de teste, com relao a ferramentas, devem ser identificados e priorizados, de forma a garantir que aquilo que mais importante, na viso dos testadores, ser considerado. Um mtodo bastante difundido para se identificar e priorizar requisitos o QFD (Quality Function Deployment). O QFD pode ser usada para traduzir as necessidades dos clientes em requisitos tcnicos de produto [Akao 1996]. Existe uma adaptao do QFD para o desenvolvimento de software conhecido como SQFD (Software Quality Function Deployment), que busca melhorar o desenvolvimento de software aplicando tcnicas de melhoria de qualidade durante a especificao de requisitos [Haag 1996]. Neste trabalho apresentado uma evoluo do mtodo baseado no SQFD para analisar e comparar ferramentas de testes para sistemas de informao, proposto no trabalho de Veloso [Veloso 2009]. Alm de fornecer aos desenvolvedores de ferramentas de testes um mecanismo para avali-las com relao aos concorrentes, o mtodo proposto auxilia as empresas e os testadores a escolher as ferramentas de testes mais adequadas para atender s suas necessidades. Para validar o mtodo proposto, foi feita a avaliao das principais ferramentas de testes de sistemas de informao gratuitas e os resultados dessa avaliao, bem como uma discusso sobre o prprio mtodo, so apresentados neste artigo. O restante deste artigo est organizado da seguinte forma: na Seo 2 so apresentados alguns trabalhos relacionados; na Seo 3 apresentado o SQFD, bem como o mtodo de avaliao de ferramentas de testes de sistemas de informao; na Seo 4 feita uma discusso sobre a aplicao do mtodo e so apresentados os resultados obtidos na avaliao das ferramentas e, na Seo 5 so apresentadas as concluses e trabalhos futuros.

2. Trabalhos Relacionados
Existem muitos trabalhos que abordam o uso do QFD para diversos fins, como por exemplo, no desenvolvimento de produtos, servios ou processos, na avaliao de qualidade de servios, ou mesmo, no desenvolvimento de software [Karlson 1997, Alves e Padua 2001, Ioannou et al. 2004]. No entanto, pouco foi encontrado com relao aplicao do QFD para avaliao de ferramentas. Na realidade, o nico trabalho diretamente relacionado e considerado relevante com o que apresentado neste artigo o trabalho de Lara [Lara 2001]. Ela especifica um mtodo de comparao entre produtos de software utilizando a Casa de Qualidade do QFD para converso das necessidades e desejos dos clientes em requisitos de pacote de software. Alm disso, ela utiliza a norma NBR 12119 [NBR 12119 1998], que estabelece requisitos de qualidade para pacotes de software, para guiar a avaliao de um pacote de software na rea de sistemas de informao em relao aos requisitos definidos. O mtodo de comparao proposto por Lara se inicia pelo estabelecimento de critrios de medida, os quais so usados para avaliar os pacotes de software. Na definio dos nveis de pontuao faz-se a quantificao de quanto a ferramenta satisfaz os requisitos. Por fim, no julgamento, ocorre a comparao das pontuaes alcanadas por cada ferramenta e a escolha daquela que melhor se enquadra s necessidades do cliente. importante destacar que o mtodo utilizado neste trabalho se diferencia ao aplicar o SQFD juntamente com informaes fornecidas por profissionais da rea de teste com experincia no desenvolvimento de sistemas de informao. Contudo, a forma de avaliao proposta por Lara utilizada para avaliar as ferramentas de teste atravs da definio das mtricas de avaliao, dos nveis de pontuao e da forma de julgamento.

Outro trabalho relacionado [Drea 2008] aborda a avaliao de ferramentas de automao para engenheiros de testes a partir do conhecimento emprico das ferramentas. O trabalho no expe quais mecanismos das ferramentas foram utilizados para elaborar as concluses e nem um roteiro para a avaliao. De modo geral, a avaliao foi totalmente emprica e dificilmente reproduzvel com os mesmos resultados por outras pessoas. Dessa forma, no existe no trabalho uma quantificao das caractersticas das ferramentas, bem como da funcionalidade que os profissionais da rea desejam obter. O trabalho proposto neste artigo, diferente do mencionado anteriormente, possui um embasamento tcnicocientfico capaz de justificar todas as etapas do mtodo ao destacar referncias, estudos anteriores e artefatos utilizados no processo de avaliao. Isso torna o trabalho mais robusto e consistente, facilitando sua utilizao em carter industrial.

3. Metodologia
Esta seo tem por objetivo detalhar os passos do SQFD, bem como apresentar o mtodo de avaliao de ferramentas de testes de sistemas de informao que foi utilizado neste trabalho. 3.1 SQFD (Software Quality Function Deployment) A adaptao do QFD para o desenvolvimento de software deu origem ao SQFD. O objetivo do Software Quality Function Deployment (SQFD) melhorar o desenvolvimento de software aplicando tcnicas de melhoria de qualidade, principalmente durante a especificao de requisitos. Para isso, as necessidades dos clientes so confrontadas com as restries prprias do projeto, e com isso se pode concentrar os melhores esforos nos aspectos com maior importncia [Krogstie 1999]. Essa abordagem prope o desenvolvimento de software centrado no usurio, onde a participao dos usurios do sistema um fator indispensvel para se determinar os fatores de qualidade do produto final. Segundo Haag [Haag 1996], a aplicao do SQFD nas empresas mostra que a tcnica permite a obteno de benefcios considerveis, destacando-se a reduo de custos, a definio mais rpida das caractersticas do produto e quantificao qualitativa dos requisitos do cliente, alm do registro de informaes para a equipe de desenvolvimento e para a manuteno. Vale destacar que a Matriz de Qualidade tradicional utilizada no QFD tambm foi adaptada para o SQFD. Esta aplicada na traduo da voz do cliente (o qu fazer) em requisitos tcnicos (como fazer) e prioriza essas ltimas de acordo com a sua importncia. A aplicao do SQFD feita seguindo os cinco passos numerados na Figura 1: 1) levantamento dos requisitos do cliente; 2) Identificao das especificaes tcnicas do produto a partir dos requisitos que foram levantados; 3) Criao da matriz de correlao entre os requisitos do cliente e as especificaes tcnicas do produto; 4) Priorizao dos requisitos do cliente; 5) Priorizao das especificaes tcnicas. A seguir tem-se um detalhamento destes passos com base no que apresentado em [Haag 1996].

Figura 1. Modelo bsico do SQFD adaptado de [Haag 1996]

Passo 1: a primeira etapa corresponde realizao do levantamento dos requisitos (qualidades exigidas) do cliente. A partir de entrevistas, enquetes ou at mesmo tcnicas de levantamento de idias como o brainstorm, as necessidades dos clientes devem ser identificadas. Perguntas como: que tipo de ferramenta de teste voc gostaria que existisse? e quais foram os problemas que voc j enfrentou usando ferramentas de testes de software?, podem ser utilizadas para auxiliar o levantamento dos requisitos. Aps a identificao dos requisitos, eles so organizados em grupos hierrquicos (nveis), agrupando os que possuem contedo semelhante. Por ltimo, para cada grupo deve ser definida uma expresso que traduza o contedo de todos os seus elementos. Considerando o exemplo de uma empresa interessada em adquirir ferramentas que auxiliem a realizao de testes funcionais de um determinado sistema de informao, o primeiro passo corresponde ao levantamento de requisitos para tais ferramentas junto equipe de teste e o agrupamento desses requisitos para construo da Tabela de Desdobramento das Qualidades Exigidas. A Figura 2 mostra em (a) um exemplo dessa tabela. Nesse caso, tm-se quatro requisitos organizados em dois agrupamentos. Passo 2: em cooperao com os usurios do produto, os requisitos so convertidos para especificaes tcnicas mensurveis, que devem ser registradas na Tabela de Desdobramento dos Elementos da Qualidade. Essas especificaes tcnicas correspondem s funes que as ferramentas de testes devem conter para atender aos requisitos levantados. importante notar que alguns requisitos podem ser convertidos para mltiplas especificaes tcnicas do produto. Aps reunies com a equipe de teste, esta poderia entrar no consenso de que para atender ao requisito Gerao automtica de testes funcionais, por exemplo, a ferramenta deveria ter as seguintes funes: Interpretador de condies modeladas em uma linguagem formal, Gerador de entradas utilizando critrios e Orculo para gerar as sadas esperadas. A Figura 2 mostra em (b) os aspectos tcnicos que poderiam ser levantados com base nos requisitos apresentados na parte (a). Vale notar que da mesma forma que os requisitos, os aspectos tcnicos foram organizados em dois nveis hierrquicos.

Figura 2. Exemplos de a) Tabela de Desdobramento das Qualidades Exigidas. b) Tabela de Desdobramento dos Elementos da Qualidade adaptados de [Veloso 2009].

Passo 3: a partir de perguntas aos clientes, criada uma matriz de correlao identificando os pesos dos relacionamentos entre os vrios requisitos do cliente e as especificaes tcnicas do produto. O grau de correlao pode ser Possvel (com valor 1), Fraco (com valor 3), Forte (com valor 9) ou pode no existir (em branco). Nesse momento a equipe de teste deve se reunir e construir a Casa de Qualidade, uma das matrizes mais utilizadas no QFD. Ela construda a partir da combinao da Tabela de Desdobramento das Qualidades Exigidas e da Tabela de Desdobramento dos Elementos de Qualidade [Akao 1996]. A parte destacada na Figura 3 ilustra a Casa de Qualidade que poderia ser construda com base nas tabelas ilustradas na Figura 2. Nela podemos observar que o requisito Agendamento da execuo dos testes possui correlao Forte com o aspecto tcnico Agrupador e escalonador de testes; correlao Possvel com Gerador de log de execuo de testes; Fraca com Povoador de dados; e no possui correlao com os demais aspectos tcnicos do exemplo. Passo 4: ainda com a ajuda dos clientes deve ser feita a priorizao dos requisitos levantados. Uma forma de se fazer isso solicitar para cada cliente que participou da identificao das necessidades, a atribuio de um peso (uma nota) para cada requisito, gerando assim o seu grau de importncia. Pode-se utilizar como valores para o peso um nmero de um (1) a trs (3), sendo trs o mais importante. Em seguida a mdia dos valores atribudos por cada participante usada como o grau de importncia do requisito em questo. A Figura 4 ilustra como pode ser feita a priorizao dos requisitos da Figura 2, considerando que apenas trs clientes (testadores) participaram do levantamento de requisitos.

Figura 3. Exemplo de Casa de Qualidade com os requisitos e aspectos tcnicos priorizados adaptado de [Veloso 2009].

Figura 4. Exemplo de priorizao dos requisitos adaptado de [Veloso 2009]

Passo 5: as especificaes tcnicas so priorizadas com base no somatrio das multiplicaes dos pesos dos requisitos pelos graus de intensidade da correlao entre os requisitos e as especificaes tcnicas (Frmula 1). Logo, esse clculo pode ser feito em trs etapas: (1) para cada aspecto tcnico, verificar quais so os requisitos com os quais ele possui alguma correlao; (2) multiplicar o grau de importncia do requisito pelo grau de correlao com o aspecto tcnico em questo; (3) somar os valores obtidos, resultando no peso (prioridade) do aspecto tcnico. A Figura 3 completa, incluindo a parte destacada, mostra a Casa de Qualidade com a priorizao dos requisitos e aspectos tcnicos. O clculo do aspecto tcnico Agrupador e escalonador de testes, por exemplo, igual a 9 (grau de correlao dele com o requisito Agendamento da execuo dos testes) x 1 (grau de prioridade do requisito) = 9. Alm disso, os graus de importncia so convertidos em valores

percentuais e para cada grupo do nvel 1 os valores obtidos na penltima linha da matriz so somados resultando nas porcentagens da ltima linha.

(1) Onde: o Pa o peso do aspecto tcnico; o Pr o peso do requisito; o Cra o grau de correlao entre o requisito e o aspecto tcnico; o n o nmero de requisitos identificados.

3.2

Mtodo de avaliao de ferramentas de testes de sistemas de informao

Em um trabalho prvio, foi apresentado um mtodo de avaliao de ferramentas de testes de sistemas de informao [Veloso 2009] que foi criado com base no procedimento proposto por Lara [Lara 2001] para escolha de um pacote de software na rea de sistemas de informao. O mtodo apresentado [Veloso 2009] se diferencia por utilizar como base informaes provenientes dos usurios finais das ferramentas. Para isso, requisitos foram levantados e priorizados de acordo com os passos do SQFD, conforme descrito anteriormente. Contudo, da mesma forma do procedimento apresentado por Lara, esse trabalho utiliza-se da definio de mtricas de avaliao, nveis de pontuao e forma de julgamento para avaliao das ferramentas. 3.2.1 Definio de mtricas de avaliao

Definir as mtricas de avaliao consiste em estabelecer os critrios de medida que sero usados para avaliar o atendimento s caractersticas de qualidade identificadas [Lara 2001]. No caso das ferramentas de testes, isso pode ser feito a partir da elaborao de questionrios para cada grupo de aspectos tcnicos identificados. Considerando a Figura 2, por exemplo, isso significa que para os dois grupos (Executor de testes e Gerador de Dados) deve existir um conjunto de questes que sero usadas para avaliar o atendimento aos aspectos tcnicos reunidos nesses grupos. importante salientar que pode existir mais de uma pergunta para cada aspecto tcnico. 3.2.2 Definio dos nveis de pontuao

Aps a definio das mtricas de avaliao, os nveis de pontuao devem ser definidos, pois eles sero usados para demonstrar o quanto a ferramenta satisfaz os requisitos. Diferentemente do utilizado em [Veloso 2009], neste trabalho foi considerado o uso de trs nveis: 0 (No), indicando que a ferramenta no atende o requisito avaliado; 0,5 (Satisfatrio), no caso da ferramenta atender satisfatoriamente o requisito avaliado; 1, que indica o perfeito atendimento ao quesito avaliado. Contudo, dependendo das questes elaboradas podem ser utilizados apenas 0 ou 1.

3.2.2

Definio da forma de julgamento

Tendo definido o questionrio e os nveis de pontuao, o passo seguinte a definio da forma de julgamento. O aperfeioamento no mtodo apresentado em [Veloso 2009] proposto neste trabalho prescreve trs etapas para o julgamento. Na primeira etapa, deve-se utilizar na prtica as ferramentas de teste de sistemas de informao a serem avaliadas. Na segunda etapa, deve-se aplicar o questionrio definido pelo mtodo. Para cada questo do questionrio aplicada a uma ferramenta de teste necessrio escolher uma resposta dentre as possveis, que por conseguinte ir resultar em um dos trs nveis de pontuao definidos no mtodo. Para cada um dos aspectos tcnicos, os quais so elencados com o uso do SQFD, deve existir apenas um valor resultante das respostas ao questionrio. Se por ventura existir mais de uma pergunta no questionrio para um determinado aspecto tcnico, o avaliador dever tirar a mdia das pontuaes resultantes da resposta de cada pergunta. Para melhor exemplificar esta etapa, vamos considerar a avaliao do grupo Grupo 1 de uma dada ferramenta chamada de Ferramenta 1 (Figura 5). Este grupo possui cinco aspectos tcnicos. Para cada aspecto tcnico existe uma pergunta vinculada no questionrio criado para avaliar uma dada ferramenta, com exceo do Aspecto Tcnico 3, que possui duas perguntas vinculadas no questionrio. Considerando as respostas no questionrio para a Ferramenta 1, teramos as pontuaes para os aspectos tcnicos 1, 2, 4 e 5 respectivamente 1, 0, 1 e 0,5 (considerando os nveis de pontuao especificados). Uma vez que o Aspecto Tcnico 3 possui 2 perguntas vinculadas no questionrio, a pontuao do aspecto tcnico o resultado da mdia das pontuaes das perguntas 3 e 4, respectivamente 0,5 e 1, o que resulta em 0,75.

Figura 5. Resultado da aplicao das perguntas de um questionrio relacionadas ao Grupo 1 da Ferramenta 1. Na ltima etapa, para o julgamento das ferramentas de testes deve-se elaborar uma tabela onde so relacionadas as necessidades dos clientes e os valores decorrentes da aplicao do questionrio em cada uma das ferramentas. Essa tabela constituda pelas colunas Grupos (que descreve os grupos de aspectos tcnicos), Aspectos Tcnicos (enumera os aspectos tcnicos elencados por meio do SQFD), Pesos (apresenta os nveis de necessidade do cliente para cada um dos aspectos tcnicos), Pontuao (contm os

valores decorrentes da aplicao do questionrio definido pelo mtodo) e Atendido (apresenta o quanto da necessidade do cliente em cada grupo de aspectos tcnicos atendida pela ferramenta). Para preencher essa tabela, seguem-se os seguintes passos: 1. Transcrever os grupos de aspectos tcnicos definidos por meio do SQFD para a coluna Grupos. 2. Transcrever as necessidades do cliente em porcentagem para a coluna Pesos. Essas porcentagens esto presentes na linha Grau de Importncia da Casa de Qualidade que fora previamente construda. 3. Transcrever para a coluna Pontuao as pontuaes obtidas para cada aspecto tcnico, aps a aplicao do questionrio nas ferramentas avaliadas. Para cada ferramenta avaliada deve existir uma coluna Pontuao. importante salientar que no caso de existir mais de uma pergunta no questionrio para um determinado aspecto tcnico, na coluna Pontuao dever ser colocada a mdia das pontuaes do conjunto de perguntas vinculadas ao aspecto tcnico em questo. 4. Realizar a multiplicao de cada valor contido na coluna Pesos com os valores de igual posio na coluna Pontuao. 5. Somar os produtos do passo 4 que estejam dentro de um mesmo grupo de aspectos tcnicos (visvel por meio da coluna Grupos). 6. Colocar cada uma das somas de produtos do passo 5 na coluna Atendido. Para cada ferramenta avaliada deve existir uma coluna Atendido. Para se determinar dentro um conjunto de ferramentas qual delas satisfaz mais a necessidade dos clientes, deve-se somar todas as linhas da coluna Atendido de cada uma das ferramentas. Consideremos mais uma vez a Ferramenta 1. Para compor a tabela necessria para o julgamento deste exemplo (Figura 6), foram aproveitadas as colunas Grupos, Aspectos Tcnicos e Pontuao da tabela apresentada na Figura 5. Juntou-se a essas colunas outras duas, a coluna Pesos (que no exemplo possui valores aleatrios) e a coluna Atendido. Aps a construo da tabela, foram executados os clculos descritos nos passos 4 e 5 e os resultados colocados na coluna Atendido. O Grupo 1 representa 7,91% da necessidade total do cliente (encontrada somando todas as linhas da coluna Peso). Aps o procedimento descrito, constatou-se que a Ferramenta 1 atende a apenas 5,58 % da necessidade do cliente dos 7,91% possveis para o Grupo 1, o que gera uma diferena de 2,33%.

Figura 6. Resultado do julgamento do Grupo 1 da Ferramenta 1. importante salientar que a forma de julgamento apresentada neste trabalho um aperfeioamento da apresentada em [Veloso 2009]. Tal aperfeioamento foi necessrio uma vez que no mtodo original poderiam existir distores na avaliao das ferramentas. O mtodo anterior calculava o nvel de necessidade do cliente atendido por determinada ferramenta utilizando os valores contidos na ltima linha da Casa de Qualidade

(Necessidade do Cliente) e os pontos advindos da aplicao do questionrio. Os dados contidos na linha Necessidade do Cliente se referem a grupos de aspectos tcnicos, e o questionrio contm perguntas relacionadas a cada aspecto tcnico individualmente, o que os coloca nveis diferentes de granularidade. As distores na avaliao de ferramentas poderiam ser geradas pelo fato do mtodo calcular o nvel de necessidade atendido por uma dada ferramenta multiplicando valores de granularidades diferentes. O aperfeioamento apresentado neste trabalho utiliza, para calcular a necessidade do cliente atendida por dada ferramenta, os valores contidos na linha Grau de Importncia e os valores advindos da aplicao do questionrio (utilizando a mdia caso exista mais de uma pergunta para um dado aspecto tcnico). Uma vez que os valores utilizados esto em um mesmo nvel de granularidade, a possibilidade de distores na avaliao de ferramentas de teste por meio do mtodo proposto foi removida.

4. Resultados
Objetivando analisar a situao atual das ferramentas de testes de sistemas de informao, alm de avaliar os aperfeioamentos efetuados no mtodo proposto em [Veloso 2009], foi realizada uma avaliao comparativa entre as principais ferramentas gratuitas de apoio ao teste funcional e ao teste de desempenho no contexto de sistemas de informao para Web. Foram selecionadas inicialmente essas duas categorias de testes devido grande variedade de ferramentas existentes que apiam estes testes, dificultando a escolha da ferramenta adequada. O teste funcional feito para verificar se as especificaes funcionais (comportamento) foram corretamente implementadas [IEEE 2004]. As ferramentas de apoio a este teste so, em geral, ferramentas do tipo record-and-playback, ou seja, elas gravam as aes executadas pelo testador gerando um script dos passos executados. As aes gravadas podem ento ser re-executadas e, alm disso, o script pode ser alterado, permitindo uma alterao nos testes sem a necessidade de realizar nova gravao. O teste de desempenho, por sua vez, verifica o atendimento aos requisitos de desempenho como tempo de resposta e quantidade de usurios simultneos que o sistema pode atender [IEEE 2004]. Ferramentas de apoio ao teste de desempenho, em geral, so preocupadas em auxiliar o testador a montar requisies HTTP1, as quais so submetidas ao sistema sob teste para verificar o tempo de reposta e quantas requisies o sistema consegue responder simultaneamente. A seguir so apresentados os resultados da aplicao do SQFD na priorizao dos aspectos tcnicos de ferramentas de testes de sistemas de informao, bem como descrita a forma como foram avaliadas as principais ferramentas de testes de sistemas de informao gratuitas. Alm disso, feito na sub-seo 4.3 uma discusso sobre a avaliao realizada e sobre mtodo de avaliao utilizado. 4.1 Aplicao do SQFD no contexto de ferramentas de testes de sistemas de informao Conforme mencionado anteriormente, para aplicarmos o mtodo preciso fazer um levantamento das necessidades dos clientes utilizando o SQFD. Para a avaliao das ferramentas descritas neste trabalho, os dados da aplicao do SQFD utilizados foram extrados de [Santos et al. 2010], onde o cliente foi uma equipe formada por profissionais de Belo Horizonte (MG). Os profissionais desta equipe eram ligados ao desenvolvimento de
1

Hypertext Transfer Protocol

sistemas de informao, sendo a mesma composta por arquitetos de software, testadores, gerentes de projeto, engenheiros de requisitos e engenheiros de usabilidade, totalizando 17 pessoas envolvidas. A aplicao do SQFD no contexto de ferramentas de testes est descrita em
detalhes em [Santos et al. 2010].

Foram levantados 43 requisitos e a partir deles e com a participao da equipe de teste foram identificados 67 aspectos tcnicos. Foi ento elaborada a matriz de correlao e os requisitos e aspectos tcnicos foram priorizados, os quais podem ser vistos com mais detalhes em [Santos et al. 2010]. Esses aspectos tcnicos correspondem s caractersticas que as ferramentas de testes devem ter para atender aos requisitos que foram levantados. Dentre os grupos de aspectos tcnicos destacam-se os grupos Executor de testes com 16,82% e Modelos de testes com 14,52%. Isso demonstra um maior desejo dos testadores com respeito a funes que auxiliem a execuo do teste e a ferramentas que utilizem modelos. Por outro lado, os grupos ligados avaliao de testes (Avaliador de testes) e ao auxlio fornecido pela ferramenta (Auxilio da ferramenta) representam os aspectos tcnicos menos relevantes na opinio dos testadores entrevistados. 4.2 Avaliao de ferramentas de testes de sistemas de informao Para avaliar as ferramentas, utilizamos um questionrio feito com base na tabela de aspectos tcnicos priorizados extrada de [Veloso 2009]. Para cada aspecto tcnico foi elaborada uma ou mais perguntas, as quais verificam se a ferramenta de teste a ser avaliada atende ou no ao aspecto tcnico em questo. O questionrio extenso e cobre todos os aspectos desejados pelos profissionais entrevistados para ferramentas de teste, independente de categoria. Por conta do tamanho do questionrio apenas um excerto do questionrio exibido na Figura 7. importante salientar que algumas perguntas admitem apenas No ou Sim como resposta, enquanto outras aceitam tambm a opo Satisfatrio, indicando um meio termo entre um totalmente satisfeito (Sim) e no satisfeito (No). Os questionrios completos encontram-se disponveis para consulta a partir do endereo http://www.ufpi.br/pasn. importante ressaltar que alguns agrupamentos no foram utilizados nas avaliaes descritas nesta seo, devido ausncia de correlao com a categoria de ferramentas avaliada.

Figura 7. Trecho do questionrio utilizado da avaliao das ferramentas de teste funcionais, adaptado de Veloso [2009] Quanto execuo da avaliao, uma equipe composta por trs participantes utilizou as ferramentas e, em conjunto, atriburam respostas ao questionrio. A maioria das respostas

foi consensual e nos casos de discordncia uma anlise mais profunda foi realizada at que se chegasse a um consenso. Assim, o resultado obtido reflete a adequao das ferramentas aos requisitos expostos pelo SQFD. 4.2.1 Avaliao de ferramentas de apoio ao teste funcional Com relao ao teste funcional, foram analisadas trs ferramentas: Selenium2, Badboy3 e Canoo4. O Selenium um conjunto de ferramentas Open Source que pode ser usada para criao de testes funcionais automatizados para aplicaes Web. Atualmente as principais ferramentas que compem o Selenium so: Selenium-IDE, Selenium-RC e Selenium-GRID. O Selenium-IDE um ambiente de desenvolvimento integrado para construo de casos de testes. Ele opera como plug-in do FireFox, sendo uma ferramenta do tipo record-andplayback que prov interfaces amigveis para o desenvolvimento e execuo de sutes de testes (conjunto de testes). O Selenium RC (Remote-Control), por sua vez, possibilita uma maior exibilidade ao testador, pois permite a construo de lgicas de teste mais complexas, a partir do uso de uma linguagem de programao. Por fim, o Selenium-Grid permite distribuir os testes em mltiplas mquinas, reduzindo assim o tempo gasto na execuo de uma sute de testes. O Badboy Web Tool uma ferramenta que auxilia no teste e desenvolvimento de aplicaes dinmicas complexas. Dentre as suas caractersticas destacam-se a interface de captura/reproduo e os relatrios detalhados. Por fim, tem-se o Canoo WebTest, que uma ferramenta Open Source para testes automatizados de aplicaes web. O diferencial desta ltima ferramenta que os testes podem ser feitos com arquivos XML ou como cdigos escritos na linguagem Groovy. A Tabela 1 ilustra o resultado da avaliao realizada. Com base nela, pode-se notar que a ferramenta Selenium se adequou mais s necessidades identificadas ao conseguir 16,45%, em relao s outras duas: Badboy, com 12,18% e Canoo, com 13,88%. importante salientar que para maior legibilidade na apresentao dos resultados, fui suprimida da Tabela 1 os grupos de aspectos tcnicos que no tiveram a necessidade do cliente atendida por nenhuma das ferramentas avaliadas. 4.2.2 Avaliao de ferramentas de apoio do teste de desempenho

Na categoria de teste de desempenho foram selecionadas para anlise as seguintes ferramentas: JMeter5, Webload6 e The Grinder7. Essas ferramentas so amplamente utilizadas na verificao, por exemplo, do tempo de resposta, rendimento e capacidade do software. O Apache JMeter um aplicao desktop Open Source feita em Java para testes de desempenho. Ele pode ser usado para testar o desempenho tanto de recursos estticos como
2 3 4
5 6 7

http://seleniumhq.org/ http://ww.badboy.com.au/ http://webtest.canoo.com/ http://jakarta.apache.org/jmeter/ http://www.webload.org/


http://grinder.sourceforge.net/

dinmicos (arquivos, servlets, banco de dados, dentre outros). Com ele possvel simular uma carga pesada em um servidor, rede ou objeto. O Webload e o The Grinder, assim como o JMeter, so Open Sources e dedicam-se a auxiliar o testador na verificao dos requisitos de desempenho da aplicao atravs da submisso de vrias requisies aplicao sob teste. Conforme pode ser observado na Tabela 2, a ferramenta Webload mais se adequou as necessidades identificadas ao conseguir 18,71%, em relao s outras duas JMeter, com 14,72% e The Grinder, com 15,77%. Da mesma forma como foi feito com a apresentao dos resultados da avaliao das ferramentas de teste funcional, foi suprimida da Tabela 2 os grupos de aspectos tcnicos que no tiveram a necessidade do cliente atendida por nenhuma das ferramentas avaliadas. 4.3 Discusso

Dois pontos referentes avaliao precisam ser destacados. Em primeiro lugar, todas as ferramentas avaliadas tiveram um baixo atendimento aos aspectos tcnicos levantados. Nem mesmo as ferramentas mais adequadas (Selenium e Webload) atenderam a uma poro significativa. Isso se justifica, em parte, devido ao fato de que todos os aspectos tcnicos levantados foram considerados, muito embora alguns deles no fossem apropriados para a anlise de uma dada categoria de ferramentas. Como por exemplo, pode-se considerar que os aspectos tcnicos do grupo Gerador de testes funcionais no so adequados na avaliao das ferramentas de teste de desempenho uma vez que esse no o objetivo desse tipo de ferramenta. Contudo, alguns aspectos tcnicos importantes, e devidamente apropriados para a avaliao de um determinado grupo de ferramentas, no foram atendidos por nenhuma das ferramentas analisadas. o que acontece com os aspectos do grupo Gerador de teste funcional, na avaliao das ferramentas de testes funcionais, e os do grupo Gerador de dados, na avaliao das ferramentas de teste de desempenho. Assim, pode-se perceber que ainda falta muito a se fazer com relao s ferramentas de apoio aos testes funcionais e de desempenho. Ressalta-se que dificilmente teramos uma ferramenta que atendesse a todos os aspectos tcnicos levantados. Porm, necessidades como aquelas relacionadas gerao de testes funcionais e de dados precisam ser atendidas. Em segundo lugar, embora as avaliaes aqui apresentadas tenham sido feitas com base em necessidades levantadas por 17 profissionais na rea de testes, a definio da melhor ferramenta depende do contexto no qual ela vai ser aplicada. Isso porque dependendo das pessoas que iro utilizar a ferramenta, o peso dos requisitos e at os prprios requisitos podem variar. Contudo, os resultados apresentados neste trabalho podem auxiliar as empresas desenvolvedoras de software a realizarem suas avaliaes, bem como pode direcionar os esforos de pesquisadores e desenvolvedores de ferramentas de testes para atender as necessidades identificadas. Vale destacar que no foi possvel fazer uma comparao entre o mtodo utilizado com o proposto por Lara [Lara 2001] porque este ltimo necessita de uma norma que estabelea os requisitos. Assim, para se fazer uma comparao entre os dois mtodos (fazendo a avaliao das ferramentas com a nossa proposta e com a de Lara) seria preciso que existisse alguma norma explicitando requisitos para ferramentas de testes e tal norma no existe.

Tabela 1. Quadro comparativo entre as ferramentas de testes funcionais Selenium, Badboy e Canoo

Tabela 2. Quadro comparativo entre as ferramentas de testes de desempenho Jmeter, Webload e The Grinder
Grupos Jmeter WebLoad Pesos Questionrio Atendido Questionrio Atendido 0,92 1 1 0,78 0 0 0 1 5,96 7,13 Uso de linguagens de alto nvel 1,17 0 1 Acesso as funes do SO 2,52 1 1 Acesso ao mecanismo de persistncia 2,52 1 1 Integrao com ferramentas para manipulao de requisies e respostas em transaes 0,7 0 0 Verificador de arquitetura 1,25 0 0 Gerador de testes de desempenho e estresse 1,06 1 1,06 1 1,06 Integrao com sistema de varredura de portas 0,7 0 0 Gerador de testes de segurana 1,23 0 0 Aspectos Tcnicos Mecanismo de captura-reproduo Gerador de teste com apoio da especificao Gerador de relatrio com formato definido pelo usurio Gerador de Relatrios Gerador de grficos com fonte de dados e formato definido pelo usurio Acesso a qualquer informao de teste existente no modelo de testes Uso de hiperlinks e agrupadores nos relatrios Uso de software livres Arquitetura da ferramenta Uso de tecnologia Web Seguir um guia de estilo Utilizar terminologia adequada ao contexto Help on-line Auxlio da ferramenta Manual de usurio Stio de apoio com exemplos de uso Curso de formao Gerenciador de grids para execuo distribuda de testes Executor de teste com possibilidade de pausa e retomada da execuo Agrupador e escalonador de testes 1,58 1,06 1,58 0,35 0,47 1,12 0,53 0,88 0,7 0,7 0,7 0,53 0,76 1,76 1,25 0 0 0 0 0 0 1 1 1 1 0,5 0,5 1 0,5 1 1 0 1 1 0 1 0 0 0,5 1 0,5 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0,5 0,5 1 0,5 1 0,5 1 0 1 1 1 0 0 0,5 1 0,5 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2,64 The Grinder Questionrio Atendido 1 0 1 7,13 1 1 1 0 0 1 1,06 0 0 0 0 0 0 0 1 1 1 1 1 0,5 0,5 1 0,5 1 1 0 1 0 0 1 0 0 0 0,5 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

Gerador manual de testes (5,87)

Gerador de testes nofuncionais

2,31

2,31

2,78

1,575

1,93

1,575

Gerador de log de execuo de testes Executor de teste Simulador de interfaces de hardware e software Integrao com uma linguagem de script para configurao do ambiente de teste Comparador de arquivos ignorando padres configurveis Povoador de dados Gerenciador de transaes Analisador de falhas Cadastramento automtico de falhas Gesto dos dados do plano de teste Estimador de complexidade de caso de uso Estimador de prazo para execuo de tarefa de teste Base de dados histrica de projetos Calculador de produtividade Registro de tarefas Alocador inteligente de tarefa Integrao com ferramentas de gerenciamento de projetos

1,64

3,813333

3,64

2,611667

1,06 0,35 1,23 2,11 3,17 0,57 0,8 1 1,41 1 2 1,47 1,23 0,65 0,82

Gerador de plano de teste

0,615

Satisfao do Cliente

14,718

18,71

15,772

5. Concluses
Este artigo apresenta uma avaliao comparativa entre as principais ferramentas de testes funcionais e de desempenho, utilizando um mtodo para avaliao de ferramentas de teste de software baseado no uso do SQFD. As caractersticas do SQFD permitem focar nos aspectos considerados mais importantes para os profissionais de teste, tornando o resultado da avaliao mais relevante. Tambm foi apresentado neste trabalho um aperfeioamento do mtodo proposto em [Veloso 2009]. O aperfeioamento no mtodo apresentado possibilita a comparao entre diversas ferramentas existentes no mercado, corrigindo possveis distores que eram possveis na primeira verso proposta do mtodo de avaliao. O mtodo proposto pode ser usado para a identificao de qual ferramenta de teste atende melhor s necessidades de uma empresa. Como conseqncia, ao utilizar ferramentas mais apropriadas, os testadores tero maior produtividade, reduzindo assim o tempo gasto na realizao dos testes. Alm disso, avaliar as ferramentas de testes antes de adquiri-las pode evitar prejuzos provenientes do uso de ferramentas inadequadas. Na categoria de ferramentas de testes funcionais, foram avaliadas o Selenium, Badboy e Canoo. Com relao a ferramentas de testes de desempenho foram consideradas: Jmeter, Webload e The Grinder. A primeira avaliao demonstrou que a ferramenta Selenium a mais adequada, levando em conta as necessidades identificadas pelos participantes da etapa de levantamento de requisitos realizada durante este trabalho, conforme descrito no SQFD. Da mesma forma, a ferramenta Webload a mais adequada dentro da categoria desempenho ao cobrir mais necessidades esperadas do que as outras ferramentas. Como trabalho futuros, estamos refinando os questionrios e realizando anlises de diferentes tipos de ferramentas de teste, para identificarmos com mais clareza a adequabilidade do mesmo. Agradecimentos Este trabalho recebeu apoio financeiro do Conselho Nacional de Desenvolvimento Cientfico e Tecnolgico (CNPq) atravs de bolsas de iniciao cientficas do programa PIBIC. Referncias Akao, Y. (1996) Introduo ao Desdobramento da Qualidade. Traduo de Zelinda Tomie Fujikawa Belo Horizonte: Fundao Chistiano Ottoni, 187p. Alves, N. R.; Padua, C. I. P. S. (2001) Especificao de Requisitos de Usabilidade utilizando-se o Mtodo Desdobramento da Funo Qualidade. In: Anais da I Jornada Latino Americana em Engenharia de Software e Engenharia do Conhecimento, Buenos Aires. Drea, Alexsandro D. de Oliveira; Carvalho, F. de S.; Santos, M. T.; Neto, M. C. M.; Moises, D. (2008) Avaliao de Ferramentas de Automao para Engenheiros de Testes. In: Anais do IV Simpsio Brasileiro de Sistemas de Informao, Rio de Janeiro, v. 1., p. 23-34. Haag, S.; Raja, M. K.; Schkade, L. L. (1996) Quality function deployment usage in software development. Communications of the ACM, 39(1):4149, January.

Harrold, M. J. (2000) Testing: Aroadmap. In The Future of Software Engineering, pages 6172. ACM Press. IEEE (2004) Guide to the Software Engineering Body of Knowledge. IEEE Computer Society. Ioannou, G.; Pramataris, K. e Prastacos, G. (2004) Quality function deployment approach to web site development: Applications for electronic retailing. Les Cahiers du Management Technologique, v. 13, n. 3. Karlsson, J. (1997) Managing software requirements using quality function deployment. Software Quality Journal, v. 6, pg 311-326. Krogstie, J. (1999) Using Quality Function Deployment in Software Requirements Specification. Anais do REFSQ'99. Heidelberg, Alemanha. Lara, J. F. (2001) "Um procedimento para escolha de pacote de software na rea de sistemas de informao. In: VI Simpsio de Teses e Dissertaes Defendidas. ICMC-USP. Myers, G. J. (2004) The Art of Software Testing. Jonh Wiley & Sons. 2 edio. NBR 12119. (1998) Tecnologia de Informao Pacotes de software Teste e requisitos de qualidade. ISO/IEC - International Organization for Standardization. Veloso, J. S., Santos, I. S., Santos Neto, P. (2009) Aplicao do SQFD na escolha de uma ferramenta de apoio ao teste de software. In: III ERCEMAPI Encontro Regional de Computao Cear Piau Maranho, Parnaba-PI, outubro. Weber, K. (2001). Qualidade de Software: Teoria e Prtica. Prentice Hall, So Paulo. Santos, I. S.; Santos Neto, P. A., Resende, R. S. F.; Pdua, C. I. P. S. (2010) Requisitos e Aspectos Tcnicos desejados em ferramentas de testes de software: um estudo a partir do uso do SQFD. Aceito para publicao na revista RESI em novembro de 2010.

Вам также может понравиться