1. Software Quality: Case Study on Structural Testing
Laboratory for Remote Experimentation Education of
Physics - WebLab
Lilian Ribeiro Mendes Paiva1, Adilmar Coelho Dantas1, Gustavo Prado Oliveira1,
Cricia Zilda Felicio1
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,
adilmarcoelho@hotmail.com
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.
2. 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
3. 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
4. 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.