4
Software Quality: Case Study on Structural Testing Laboratory for Remote Experimentation Education of Physics - WebLab Lilian Ribeiro Mendes Paiva 1 , Adilmar Coelho Dantas 1 , Gustavo Prado Oliveira 1 , Cricia Zilda Felicio 1 1 Campus Avançado Uberlândia - Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro (IFTM) Av. Blanche Galassi, 150 – Bairro Altamira – Uberlândia – MG – Brazil {lilianpaiva, cricia, gustavoprado}@iftm.edu.br, [email protected] Abstract. This paper reports on the structural performance testing, load and stress, realized WebLab, software that controls the experiments in a laboratory remote access to teaching physics. We use the Internet as a communication in- frastructure and specific hardware consists of stepper motors, various electron- ic components, Arduino board, voltage sources and mechanical couplings. The experiment is controlled through the application, allowing the user to view, electronically collect experimental data and act remotely to determine the load/mass of the electron as in the original experiment of Joseph John Thom- son. Resumo. Este trabalho descreve sobre os testes estruturais de desempenho, carga e stress, realizados no WebLab, software que controla os experimentos de um laboratório de acesso remoto para ensino de física. Utiliza-se a internet como infraestrutura de comunicação e hardware específico composto de motores de passo, componentes eletrônicos diversos, placa Arduino, fontes de tensão e acoplamentos mecânicos. O experimento é controlado através do aplicativo, possibilitando que o usuário visualize, colete eletronicamente os dados experimentais e atue remotamente para determinar a relação carga/massa do elétron como no experimento original de Joseph John Thomson. 1. Aspectos Introdutórios Segundo Pressman (2001), os fatores que afetam a qualidade de software são medidos através de padrões que definem um conjunto de critérios de desenvolvimento e orientam a maneira segundo a qual um software passa pelo trabalho de engenharia. Delamaro (2007) complementa que tais critérios podem ser avaliados de diversas formas como na conformidade aos requisitos de software que são a base a partir da qual a qualidade é definida através dos testes. Nesse contexto, este artigo descreve sobre os aspectos de qualidade do WebLab, software que controla os experimentos de um laboratório de acesso remoto para ensino de física, relatando sobre os testes estruturais de desempenho, carga e stress realizados para validação e avaliação de aceitabilidade dos limites operacionais do sistema de a- cordo com cargas de trabalho variáveis.

Software Quality Software Testing Laboratory

Embed Size (px)

DESCRIPTION

Software Quality Software Testing Laboratory Laboratory

Citation preview

Page 1: Software Quality Software Testing Laboratory

Software Quality: Case Study on Structural Testing

Laboratory for Remote Experimentation Education of

Physics - WebLab

Lilian Ribeiro Mendes Paiva1, Adilmar Coelho Dantas

1, Gustavo Prado Oliveira

1,

Cricia Zilda Felicio1

1Campus Avançado Uberlândia - Instituto Federal de Educação, Ciência e Tecnologia do

Triângulo Mineiro (IFTM)

Av. Blanche Galassi, 150 – Bairro Altamira – Uberlândia – MG – Brazil

{lilianpaiva, cricia, gustavoprado}@iftm.edu.br,

[email protected]

Abstract. This paper reports on the structural performance testing, load and

stress, realized WebLab, software that controls the experiments in a laboratory

remote access to teaching physics. We use the Internet as a communication in-

frastructure and specific hardware consists of stepper motors, various electron-

ic components, Arduino board, voltage sources and mechanical couplings. The

experiment is controlled through the application, allowing the user to view,

electronically collect experimental data and act remotely to determine the

load/mass of the electron as in the original experiment of Joseph John Thom-

son.

Resumo. Este trabalho descreve sobre os testes estruturais de desempenho,

carga e stress, realizados no WebLab, software que controla os experimentos

de um laboratório de acesso remoto para ensino de física. Utiliza-se a internet

como infraestrutura de comunicação e hardware específico composto de

motores de passo, componentes eletrônicos diversos, placa Arduino, fontes de

tensão e acoplamentos mecânicos. O experimento é controlado através do

aplicativo, possibilitando que o usuário visualize, colete eletronicamente os

dados experimentais e atue remotamente para determinar a relação

carga/massa do elétron como no experimento original de Joseph John

Thomson.

1. Aspectos Introdutórios

Segundo Pressman (2001), os fatores que afetam a qualidade de software são medidos

através de padrões que definem um conjunto de critérios de desenvolvimento e orientam

a maneira segundo a qual um software passa pelo trabalho de engenharia. Delamaro

(2007) complementa que tais critérios podem ser avaliados de diversas formas como na

conformidade aos requisitos de software que são a base a partir da qual a qualidade é

definida através dos testes.

Nesse contexto, este artigo descreve sobre os aspectos de qualidade do WebLab,

software que controla os experimentos de um laboratório de acesso remoto para ensino

de física, relatando sobre os testes estruturais de desempenho, carga e stress realizados

para validação e avaliação de aceitabilidade dos limites operacionais do sistema de a-

cordo com cargas de trabalho variáveis.

Page 2: Software Quality Software Testing Laboratory

2. WebLab – Ferramentas e Métodos

O software WebLab integra um kit didático para controle de um experimento real, que

possibilita ao usuário visualizar, coletar eletronicamente os dados e atuar remotamente

através de acesso à web, para determinar a relação carga/massa do elétron como no

experimento original de Joseph John Thomson. O usuário pode também ajustar

diferentes valores de potencial acelerador e de corrente geradora do campo magnético

para obter específicos raios da órbita eletrônica, permitindo, assim, o cálculo da razão

carga/massa do elétron.

O sistema processa e transmite as imagens capturadas por uma webcam, fornecendo

ao usuário a percepção de um experimento em tempo real. A Figura 1 apresenta a inter-

face do sistema que foi desenvolvido em diferentes linguagens de programação, a saber,

HTML, CSS, PHP, ActionScript e Java Script, segundo os padrões computacionais tipi-

camente empregados ao desenvolvimento Web.

Figura 1: Página do experimento relação carga/massa do elétron visualizada pelo usuário

2.1 Arquitetura do Laboratório Remoto

A arquitetura do laboratório de experimentação remota em física experimental possui os

equipamentos ilustrados na figura 02, onde as informações são transferidas para rede,

passando por um firewall, e então é encaminhada através de rotinas ao servidor web,

disposto de três bases de dados para cadastro, usuários online e um chat. O servidor

também é responsável pela comunicação entre o sistema de captura das câmeras e o

Arduíno, que é uma plataforma de hardware open source, para a criação de dispositivos

que permitam interação com diversos ambientes, possibilitando a comunicação serial.

Figura 2: Disposição dos equipamentos do laboratório de acesso remoto

Page 3: Software Quality Software Testing Laboratory

O ambiente de experimentação real que é controlado pelo sistema de forma

direita e assíncrona, integra os seguintes itens: placa Arduino, três motores de passo,

componentes eletrônicos diversos para montagem de circuito eletrônico de

condicionamento dos sinais trocados entre a placa Arduino e as fontes de tensão e os

acoplamentos mecânicos empregados para atuação nos potenciômetros das fontes

anteriormente citadas. O circuito eletrônico e o acoplamento mecânico entre os motores

de passo utilizados para gerar os sinais de posição enviados ao kit didático foram

desenvolvidos no laboratório do Núcleo de Pesquisa em Tecnologias Cognitivas

(NUTEC) do Instituto de Física da Universidade Federal de Uberlândia.

3. Uma Abordagem para Avaliação do WebLab

Assim, como recomendado por Delamaro (2007) e Koscianski (2006), para investigar

os requisitos elucidados pelo WebLab, verificou-se a adequação aos testes estruturais,

com foco aos testes de Desempenho, Stress e Carga, visando garantir que o mesmo

esteja adequado internamente e, consequentemente, funcionando corretamente.

Inicialmente, buscou-se responder às perguntas:

- Teste de Desempenho: O WebLab suporta quantas transações por minuto, com qual

quantidade de usuários simultâneos?

- Teste de Carga: Quantas transações serão suportadas por minuto quando aumentamos

os usuários simultâneos?

- Teste de Stress: Quantas transações por minuto solicitadas por inúmeros usuários

simultâneos, são suportadas pela aplicação sob condições não especificadas do WebLab

e até mesmo do próprio hardware?

Para execução dos testes utilizou-se o JMeter, ferramenta free, integrante do pro-

jeto Jakarta, da Apache Software Foundation. A mesma disponibiliza diversos tipos de

requisições e assertions para validar os resultados, além de controladores lógicos como

loops e condicionais para a construção de planos de teste.

Foram inseridos grupos de usuários virtuais responsáveis por enviarem as requi-

sições e os dados implementados nos testes, além do tempo de inicialização. A represen-

tação de requisições HTTP possibilitaram a medição e acompanhamento de todo o pro-

cessamento da carga, do nível e do limite médio de usuários, que o servidor suportou.

Os resultados foram gerados em relatórios, gráficos e tabelas.

Figura 03: Processamento de requisições para 100 e 400 usuários

Page 4: Software Quality Software Testing Laboratory

A figura 03 ilustra os gráficos para 100 e 400 usuários, requisitando o mesmo

servidor para medição de quantas solicitações são processadas por segundo e a figura

04, apresenta os gráficos para 100 e 400 usuários, requisitando o mesmo servidor para

verificar a latência quanto ao tempo de espera do usuário para que a requisição fosse

processada.

Figura 04: Latência para 100 e 400 usuários

Dentre os resultados obtidos em um cenário usual de produção, pode-se consta-

tar que o desempenho do sistema em uma situação normal de uso foi satisfatório, com

retornos às requisições dos recursos de hardware e tempo de espera entre as ações e

transações. Porém, a partir de 450 usuários simultâneos houve algum tipo de falha do

servidor relacionado à sobrecarga de processos do mesmo. Contudo, como o experimen-

to visa atender à demanda média de 30 alunos simultaneamente, a taxa de 1 a 400 usuá-

rios mostra-se satisfatória.

4. Conclusões

Este trabalho descreveu uma abordagem de avaliação de qualidade, apresentando os

processos de execução de testes estruturais do software WebLab. Conclui-se, que os

mesmos permitiram identificar o limite máximo de requisições suportadas pelo

experimento em condições normais e extremas. Ressalta-se, que essas condições podem

variar conforme o esgotamento de recursos do sistema, como memória, ciclos de

processador, largura de banda de rede e capacidade de disco para uma carga excessiva

devido ao uso de padrões imprevisíveis, comuns em aplicações web. Destacam-se,

adicionalmente, as vantagens de se utilizar uma metodologia de testes automatizada

para projetos Web, facilitando a organização e estruturação das atividades de teste.

References

Pressman, R. S. (2001) “Software Engineering: A Practitioner's Approach”, pages 390-

562. McGraw Hill,7ª edição.

Koscianski, A.(2006) “Qualidade de Software”, p 374. São Paulo: Novatec, 2ª edição.

Delamaro, M, E. Et al.(2007) “Introdução ao Teste de Software”, p 408. São Paulo:

Editora Campus, 1ª edição.

Sommerville, I. (2007) “Engenharia de Software”, pages 568 São Paulo: Addison Wes-

ley, 9ª edição.