• Nenhum resultado encontrado

No primeiro experimento, os testes foram feitos com fluxos de dados, porém os mesmos resultados seriam os esperados para os testes de fluxos de Voz (VoIP) e TV (IPTV). Pois quando algum fluxo é ativado em uma ONU, a máquina de estados desse fluxo na OLT fica parada no estado ATIVO, e só altera quando a ONU ou o fluxo são desativados. Dessa maneira, não existem novas transições que poderiam ser testadas, quando algum dado está sendo transmitido pelo fluxo.

Entretanto, os testes baseados em máquinas de estados não foram realizados para esses serviços, pois na versão testada, esses serviços ainda não estavam implementados.

Posteriormente a esses experimentos, o comportamento do serviço VoIP e IPTV foram analisados quando a ONU é submetida à falhas de comunicação, nesse caso a fibra que estava conectada a ONU foi retirada.

Para o teste de VoIP, uma chamada estava em execução quando a fibra foi retirada. Ao recolocar a fibra e a ONU voltar ao seu estado anterior à falha, o telefone conectado a essa ONU voltou a apresentar tom de linha, porém a ligação anterior foi perdida.

64

Para o teste de IPTV, um canal de TV estava sendo transmitido e a fibra foi desconectada. A transmissão do vídeo foi interrompida até a ONU retornar ao estado anterior à falha. O vídeo voltou a ser transmitido, porém o conteúdo que foi transmitido enquanto a ONU não estava conectada foi perdido.

Os comportamentos observados no teste de VoIP e de IPTV são os esperados para redes que oferecem o serviço triple-play.

6.4 Considerações Finais

Nessa Seção foram descritos dois experimentos de testes baseado em injeções de falhas e testes baseados em modelos de estados aplicados na rede GPON.

O primeiro experimento é uma automação de injeção de falhas, baseado em casos de testes criados a partir de máquina de estados do software da OLT. As falhas são emulações de falhas físicas, que trazem a falta de comunicação entre os dispositivos da rede GPON.

A utilização da validação automática de injeção de falhas nas máquinas de estado trouxe melhorias para os processos de desenvolvimento e depuração do software. Sem a utilização dessa técnica a equipe de desenvolvimento desse software teria tido muito mais dificuldade para a reprodução dos defeitos. Além disso, com a validação automática foi mais fácil rastrear as falhas, já que dessa maneira conhece-se a exata localização da falha.

O segundo experimento também é baseado em injeções de falhas, porém o alvo é o protocolo OMCI para a validação do software da OLT. Nesse caso, a automação só foi utilizada para a criação dos casos de testes, que também foram baseados em modelos de estados, utilizando a ferramenta Condado. A injeção de falhas ocorreu manualmente, através da manipulação do código, quando algumas mensagens eram corrompidas.

Na próxima Seção serão destacadas as conclusões finais de todo esse trabalho, além de ressaltar todas as lições aprendidas com esses experimentos.

65

7 Conclusões e Trabalhos Futuros

Esse trabalho demonstrou que a realização de testes, com injeção de falhas e modelos de estados, de forma planejada e documentada, traz melhoria na qualidade do sistema. Por essas técnicas não terem sido aplicadas anteriormente ao GPON, o esforço para a implementação dessas atividades foi significativo. Principalmente no primeiro experimento que utilizou o robô de testes, foram despendidas, em média, 160 horas para ser readequado para esse experimento. Porém, todo o investimento foi recompensado através dos resultados obtidos (número de falhas encontradas) e da possibilidade de reexecução desses testes em outras etapas do desenvolvimento do sistema.

A utilização das máquinas de estado foi de grande relevância para esse trabalho, pois elas serviram de base para todos os experimentos. As máquinas de estados determinaram os locais de injeção de falhas através da criação de casos de testes baseado nas transições que essas máquinas apresentam.

A eficiência dos testes realizados nesse trabalho pode ser medida através dos resultados do primeiro e segundo experimento, comparados com os resultados dos testes de regressão relatados em FADEL et al, 2011. Os testes de regressão, executados anteriormente a esse experimento, resultaram em 206 defeitos, durante a execução de testes por um período de 1 ano e 6 meses (utilizando 16 versões de software da OLT). Enquanto que, os testes do primeiro experimento desse trabalho resultaram em 47 defeitos encontrados em uma execução que durou 5 dias. O segundo experimento foram encontrados 31 defeitos em apenas 1 dia de execução, ambos os experimentos utilizaram somente uma versão de software da OLT. A técnica utilizada aumentou a probabilidade de se encontrar falhas no GPON. Com a automação de algumas tarefas da atividade de testes, foi possível obter resultados mais precisos em menos tempo.

A técnica de testes utilizada no primeiro experimento aumentou a probabilidade de se encontrar falhas que são difíceis de reproduzir manualmente. As transições de um estado para o outro são de curta duração (milissegundos) e devido ao curto intervalo de transição o teste manual é impraticável, causando uma cobertura inadequada do sistema. Para a equipe de testes

66

ficou evidente a cobertura dos testes, uma vez que as transições de estados foram sistematicamente exercitadas, o que não era possível precisar antes da automação da execução dos testes.

Esses experimentos podem ser utilizados em qualquer aplicação de software embarcado que possa ser representada por máquinas de estados, e onde objetiva-se validar os mecanismos de tolerância a falhas implementadas. A reprodução desses experimentos foi simplificada devido ao padrão de documentação de testes utilizado. Essa documentação facilitou a comunicação entre as pessoas envolvidas nos experimentos e no desenvolvimento desse trabalho.

Com a utilização dos experimentos já descritos anteriormente, os objetivos desse trabalho, descritos na Seção 1.2, foram atingidos. Muitos defeitos foram observados e repassados para a equipe de desenvolvedores, para que os mecanismos de tolerância a essas falhas fossem melhorados, visando atingir o nível de tolerância a falhas esperado. Assim como as técnicas de injeção de falhas e testes baseados em modelos de estados puderem ser difundidas entre os colegas do CPqD.

Documentos relacionados