Em sistemas de tempo real que usam memória compartilhada ou ...

Próximas questões
Com base no mesmo assunto
Q128147 Engenharia de Software
Em sistemas de tempo real que usam memória compartilhada ou uma interface de passagem de mensagens, pode acontecer do produtor e consumidor de dados funcionarem a velocidades diferentes. Caso haja uma falha de projeto, esse fato pode gerar um erro de timing e o consumidor pode obter informações desatualizadas. O teste aplicável neste caso e que visa prevenir tais ocorrências é o

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - de interfaces.

Para compreender a questão em análise, é importante ter conhecimento sobre sistemas de tempo real e os conceitos de produtor e consumidor em um contexto de memória compartilhada ou de passagem de mensagens. Os sistemas de tempo real são aqueles onde o tempo de processamento é um aspecto crítico e deve ser garantido para evitar falhas ou comportamentos inesperados. Neste cenário, o produtor é responsável por gerar dados enquanto o consumidor é a entidade que os utiliza. Se ambos operam em velocidades distintas, pode haver o risco de o consumidor acessar dados que já não são mais válidos ou que não foram atualizados a tempo, o que é conhecido como um erro de timing.

Um teste de interfaces é projetado para verificar e garantir que a comunicação entre diferentes componentes ou sistemas aconteça corretamente. No contexto de um sistema de tempo real, este tipo de teste é crucial para assegurar que a passagem de mensagens ou o acesso à memória compartilhada entre produtor e consumidor ocorram de maneira sincronizada e sem atrasos que possam resultar em erros de timing. Ao realizar o teste de interfaces, o engenheiro de teste busca validar as especificações da interface, a integridade dos dados transmitidos, e se os mecanismos de sincronização estão funcionando adequadamente.

O teste de interfaces é eficaz na prevenção de erros de timing em sistemas de tempo real, pois permite identificar problemas como latência excessiva, buffers ou filas de mensagem ineficientes, e mecanismos de bloqueio ou sinalização inadequados. Ao assegurar que a interface entre produtor e consumidor está corretamente implementada, o teste ajuda a garantir que os dados sejam consumidos na velocidade apropriada, prevenindo assim que informações desatualizadas sejam utilizadas.

Portanto, a alternativa B é a correta, pois o teste de interfaces é aplicado para prevenir erros de timing ao verificar a correta comunicação e sincronização entre o produtor e o consumidor de dados em sistemas de tempo real.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Como o próprio enunciado diz: interface
A resposta está na pg 151 do livro do Sommerville - 9ed.
Questão retirada da página 152 do Sommerville 9ª Ed:
http://sdrv.ms/18Th3o5
Segundo Sommerville: "Erros de timing ocorrem em sistemas de tempo real que usam memória compartilhada ou uma interface de passagem de mensagens. O produtor e o consumidor de dados podem funcionar em velocidades diferentes. A menos que cuidados especiais sejam tomados no projeto de interface, o consumidor pode acessar dados desatualizados porque o produtor das informações não atualizou as informações de interface compartilhada".

Os outros erros de interface podem ser categorizados em: Mau uso da interface, Mau entendimento da interface.

Engenharia de Software, pág. 363. Cap. 23 - Testes de Software - 8ª Edição. Editora Pearson Adison Wesley.

PS: ** As interfaces de passagem de mensagem são tipos de interfaces que podem ser testadas utilizando testes de interface. Teste de interface, geralmente, são aplicados no desenvolvimento orientado a objetos e baseados em componentes. 

** Fonte: 
Engenharia de Software, pág. 362. Cap. 23 - Testes de Software - 8ª Edição. Editora Pearson Adison Wesley.
Hmm, Ja vi que a FCC segue a visão do sommerville para testes..

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo