Buscar

Engenharia de Software - Atividade 04

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

As leis de evolução de um software podem ser aplicadas em qualquer software, de 
forma geral para momentos de tomada de decisão, de planejamento, desenvolvimento 
e manutenção, conhecidas como as leis de Lehman (SOMMERVILLE, I. Engenharia 
de Software. 9. ed. São Paulo: Pearson Education, 2011). 
Das alternativas abaixo, assinale a que descreve as características de algumas das 
leis de Lehman. 
• .Conservação de familiaridade: no ciclo de vida de um programa, as mudanças são 
diversas, umas menos e outras mais complexas. 
• .Evolução de programa de grande porte: Consiste em saber que o processo de 
evolução de um programa é um processo não regulável. 
• .Mudança contínua: é preciso estar atento às mudanças do ambiente real que 
afetem o sistema ou este se torna progressivamente menos útil. 
• .Complexidade constante: A mudança no sistema tende a fazer com que a 
estrutura seja cada vez mais simples, devido aos recursos adicionados. 
• .Estabilidade organizacional: no ciclo de vida de um programa, a taxa de 
desenvolvimento tem vários altos e baixos. 
 
Resposta correta. As leis de Lehman são aplicadas para qualquer software, em vários 
momentos de seu desenvolvimento e ainda durante a fase de alteração. 
 
 
O uso de sistemas legados ainda é muito utilizado porque permite resolver problemas 
do cotidiano da empresa com sucesso (PRESSMAN, R. Engenharia de Software. 8. 
ed. Porto Alegre: AMGH, 2016). 
Das alternativas abaixo, assinale a que descreve algumas características que devem 
ser consideradas em um software legado. 
• .Não serve à empresa, mais de 20 anos feito, sem pessoal especialista. 
• .Manutenção com baixo custo, com baixo eventos e com facilidade. 
• .Código legível, poucas linhas de código e em uso atualmente. 
• .É complemento para a empresa, uso de tecnologia obsoletas e usa atualmente. 
• .Uso de linguagem nova, arquitetura flexível, e sem documentação. 
 
Resposta correta. Para ser legado, precisa ter características que digam que é 
antigo, com muito tempo, sem especialistas. 
 
 
 
 
 
 
 
 
Para saber se um teste é funcional é preciso estabelecer uma metodologia adequada 
para o que se quer de informação, e assim ter cobertas todas as possibilidades 
desejadas (SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson 
Education, 2011). 
Das alternativas abaixo, assinale a que informa corretamente sobre os tipos de teste 
durante o desenvolvimento. 
• .Ao executar teste de qualidade com uso de valor, não existe limite para ser 
definido, pois assim é possível avaliar o maior número de valores. 
• .Em todos os testes utilizar sempre o mesmo valor como parâmetro pois assim é 
possível saber se o resultado está correto. 
• .Sempre é importante testar o que é correto como resultado e também o que deve 
e precisa estar errado como informação final do teste de qualidade. 
• .O uso do teste de partição e do teste de valor limite são pouco eficazes, pois 
apenas têm-se testes de valores dentro de uma parte delimitada. 
• .Quando precisar analisar um parâmetro, não é necessário dividir o código em 
partes, pois quanto mais testes executar no código, melhor a qualidade do teste. 
 
Resposta correta. Saber se um teste de software 
realmente executa um teste correto consiste em saber os fatos positivos e negativos, 
com variações, por partes acertadas e limites determinados. 
 
 
 
O teste de usuário é o momento que o sistema tem maturidade de uso, depois de 
realizadas algumas sugestões do cliente (GALLOTTI, G. M. A. Qualidade 
de Software. São Paulo: Pearson, 2017). 
Das alternativas abaixo, assinale a que descreve a característica do tipo de teste de 
usuário denominado teste Beta 
• .Momento em que o sistema é disponibilizado para teste para a equipe de 
desenvolvimento para o seu uso de forma não real. 
• .Momento em que o sistema é testado pelo usuário em conjunto com os 
desenvolvedores para estar o máximo próximo dos requisitos. 
• .Momento em que o sistema é disponibilizado para usuários com experiência do 
negócio, mesmo que não esteja acabado. 
• .Momento em que o desenvolvedor testa o sistema, para saber se as 
funcionalidades que ele associou ao código estão corretas. 
• .Momento final quando usuários testam se o sistema pode ser usado, realizado 
em um intervalo definido de tempo. 
 
Resposta correta. Esta versão mesmo que não esteja acabada pode ser utilizada no 
ambiente real e revelar a associação com a infraestrutura. 
 
 
 
 
 
Conseguir ver os testes em execução pode ser importante para a análise do sistema. 
Porém também pode não ter esta importância, pois depende do objetivo que está 
associado ao teste do software. (PRESSMAN, R. Engenharia de Software. 8. ed. 
Porto Alegre: AMGH, 2016). Considerando os tipos de processo de teste durante o 
desenvolvimento, avalie as afirmações a seguir. 
I. O teste de caixa preta importa-se somente com o resultado do teste, o 
resultado que é apresentado em sua saída. 
II. O teste de caixa branca executa testes na parte interna do sistema, com análise 
sobre os fluxos internos. 
III. O teste de regressão analisa como era o sistema antes de uma alteração 
realizada no código. 
IV. O teste de carga verifica que o sistema pode ser ilimitado quanto às linhas de 
código presentes. 
V. O teste de segurança analisa o sistema quanto aos ataques, vulnerabilidades 
ou outro tipo de ameaça. 
Agora, assinale a alternativa que apresenta informações corretas quanto ao processo 
de desenvolvimento de teste. 
• .II, III e IV. 
• .II, IV e V. 
• .I, II, III, IV e V. 
• .I, II e V. 
• .I, III e V. 
 
Resposta correta. O termo caixa preta consiste em não saber a parte interna, ao 
contrário do termo caixa branca. Para o de regressão diz respeito ao teste de 
versões. O de carga é sobre o limite de dados e o de segurança sobre a segurança 
digital. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Os testes devem ser feitos com um planejamento, para se pensar o que vai ser 
testado e preparar dados (SOMMERVILLE, I. Engenharia de Software. 9. ed. São 
Paulo: Pearson Education, 2011). 
Das alternativas abaixo, assinale a que informa corretamente sobre os passos iniciais 
para a produção de teste de software 
com coerência. 
• .Preparar dados de teste; Projetar casos de teste; Executar programa com dados 
de teste; Fazer os relatórios. 
• .Projetar casos de teste; Executar programa com dados de teste; Comparar 
resultados; Fazer os relatórios. 
• .Preparar dados de teste; executar dados de teste; Analisar os dados de teste; 
Comparar resultados. 
• .Projetar casos de teste; Preparar dados de teste; Executar programa com dados 
de teste,; Comparar resultados. 
• .Preparar dados de teste; Projetar casos de teste; Executar programa com dados 
de teste; Comparar resultados. 
 
Resposta correta. Para qualquer projeto é preciso planejar e depois agir e, por fim, 
ver os resultados, inclusive em teste de software. 
 
 
 
Analise as afirmativas abaixo e a relação entre elas: 
I. O processo de mudança e evolução em um software é inevitável 
PORQUE 
II. O software como qualquer produto, tem um tempo de vida. 
Analisando as afirmações acima, conclui-se que: 
 
• .As duas afirmações são falsas. 
• .A primeira afirmação é verdadeira, e a segunda é falsa. 
• .As duas afirmações são verdadeiras, e a segunda justifica a primeira. 
• .As duas afirmações são verdadeiras, e a segunda não justifica a primeira. 
• .A primeira afirmação é falsa, e a segunda é verdadeira. 
 
Resposta correta. Nenhum produto sobrevive sem alterações devido aos novos 
recursos. Para um software 
não é diferente. 
 
 
 
 
 
 
 
 
 
 
 
 
 
Leia as afirmações a seguir e a relação entre elas: 
I. TDD, ou Test-Driven Development, é técnica de implementação 
PORQUE 
II. É um processo comum de desenvolvimento com uso de teste de software. 
Analisando as afirmações acima, conclui-se que: 
 
• .As duas afirmações são falsas.• .As duas afirmações são verdadeiras, e a segunda não justifica a primeira. 
• .As duas afirmações são verdadeiras, e a segunda justifica a primeira. 
• .A primeira afirmação é falsa, e a segunda é verdadeira. 
• .A primeira afirmação é verdadeira, e a segunda é falsa. 
 
Resposta correta. O TDD é uma técnica de implementação e o fato de ser comum não 
justifica o seu conceito de ser técnica de implementação. 
 
 
 
Existem vários tipos de manutenção, com nomes ligeiramente diferentes, porém com o 
mesmo propósito (PFLEEGER, S. L. Engenharia de Software - Teoria e Prática. 2. 
ed. São Paulo: Pearson Addison Wesley, 2004). 
Das alternativas abaixo, assinale a que descreve as características de alguns tipos de 
manutenção de software. 
• .Manutenção evolutiva: é a que mais se evita pelo fato de alterar, incluir e excluir 
as funcionalidades e requisitos que já são aplicados ao sistema. 
• .Manutenção preditiva: consiste em alterar as funcionalidades quando o sistema 
está inoperante, pois assim inclui novos recursos, quando está parado. 
• .Manutenção corretiva: é a mais desejada pelo cliente porque consiste em 
correção dos erros presentes e também inclusão de novos recursos. 
• .Manutenção preventiva: muito utilizada é consiste em ver os erros que podem 
afetar o sistema e que o cliente tem o orçamento alterado para maior. 
• .Manutenção adaptativa: são as alterações que o sistema sofre devido à mudança 
de ambiente, que não estava previsto no início do sistema. 
 
Resposta correta. A evolutiva diz respeito ao acréscimo de novos recursos, a 
adaptativa é sobre adequar-se a uma situação nova. Para a corretiva é ajuste de 
erros que ocorrem. A preventiva é ajuste de erros antes de ocorrerem. A preditiva é 
ajuste devido o limite de tempo de seu uso. 
 
 
 
 
 
 
 
O TDD ( Test-Driven Development - Desenvolvimento Dirigido a Testes) auxilia na 
validação do código e dos requisitos (PRESSMAN, R. Engenharia de Software. 8. ed. 
Porto Alegre: AMGH, 2016). Considerando as boas práticas de aplicação do TDD, 
avalie as afirmações a seguir. 
I. Manter acoplada a implementação do projeto que se deseja desenvolver com o 
teste que vai ser executado neste código. 
II. Usar convenções para facilitar a organização dos blocos de desenvolvimento, 
inclusive com o uso de termos padronizados. 
III. Não existe a necessidade de seguir o TDD à risca, visto que é apenas um 
direcionador de ideias de como fazer. 
IV. Toda vez que qualquer parte de código alterar, executar todos os testes 
novamente, para garantir integridade do todo. 
V. Na execução do teste é sempre importante utilizar de ferramentas que 
permitam a integração contínua entre as partes. 
Agora, assinale a alternativa que apresenta informações corretas quanto o uso das 
boas práticas de uso do TDD. 
• .I, II, III, IV e V. 
• .II, IV e V. 
• .I, II e V. 
• .II, III e V. 
• .II, III e IV. 
 
Resposta correta. Se for um teste, precisa ser utilizado com padrões, de separações 
de módulos, com novos testes para novos recursos e ferramentas que permitam o 
teste de integração.

Outros materiais