Os sistemas de software são compostos por vários componentes interdependentes que desempenham funções distintas, como a interação com o usuário, o processamento de dados e a troca de informações. Durante o processo de desenvolvimento, é fundamental garantir que esses componentes funcionem corretamente de forma individual e integrada, atendendo aos critérios de qualidade estabelecidos para o sistema como um todo. Com base nisso, assinale a alternativa que responde corretamente por que é importante testar os diferentes componentes (cliente, servidor e comunicação) de um sistema de software.
Questão
Os sistemas de software são compostos por vários componentes interdependentes que desempenham funções distintas, como a interação com o usuário, o processamento de dados e a troca de informações. Durante o processo de desenvolvimento, é fundamental garantir que esses componentes funcionem corretamente de forma individual e integrada, atendendo aos critérios de qualidade estabelecidos para o sistema como um todo. Com base nisso, assinale a alternativa que responde corretamente por que é importante testar os diferentes componentes (cliente, servidor e comunicação) de um sistema de software.
Alternativas
A) Avaliar a facilidade de uso do sistema pelos usuários finais.
B) Garantir que o sistema esteja otimizado para uso por usuários autorizados.
C) Medir a capacidade do sistema de lidar com grandes quantidades de dados.
D) Implementar novos recursos para melhorar a usabilidade.
E) Identificar e corrigir vulnerabilidades de segurança presentes em cada componente.
Explicação
Para um sistema de software funcionar com qualidade, é necessário testar cada componente isoladamente (cliente, servidor e o meio de comunicação) e também a integração entre eles. Isso porque cada parte pode introduzir falhas próprias — e, em especial, brechas de segurança — que não aparecem apenas olhando o sistema “por cima”.
- Cliente (ex.: app/web): pode ter falhas de validação de entrada, exposição de dados, armazenamento inseguro de credenciais etc.
- Servidor (API/serviços): pode ter falhas de autenticação/autorização, tratamento inadequado de requisições, lógica vulnerável etc.
- Comunicação (rede/protocolo): pode sofrer ataques como interceptação (MITM), uso de criptografia fraca, ausência de integridade/confidencialidade, entre outros.
Testar esses componentes separadamente e em conjunto é importante para encontrar problemas específicos em cada um e evitar que vulnerabilidades em um ponto comprometam todo o sistema.
As demais alternativas (A, B, C, D) tratam de usabilidade, otimização, desempenho/carga ou implementação de funcionalidades, que podem ser objetivos de testes, mas não explicam diretamente a necessidade de testar cliente, servidor e comunicação como componentes distintos e interdependentes.
Alternativa correta: (E).
Travou em outra questão? A gente resolve.
Crie sua conta grátis e resolva 3 questões por dia com explicação passo a passo, por texto ou foto.