Você está na página 1de 8

Universidade Federal de Sergipe – Campus São Cristóvão

Avaliação 2 – Engenharia de Software para SI II


Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira

BOA PROVA!
 A prova é individual e sem consulta.
 Leia atentamente as questões.
 Questões discursivas podem ser a lápis. Preferência que sejam respondidas à caneta. As
questões de múltipla escolha responder à caneta. Confira se todas as questões foram
respondidas.
 Utilize o verso para as respostas. Identifique corretamente as respostas. Responda com muita
clareza estas questões. Cuidado com a ortografia e caligrafia.

I – Questões de múltipla escolha (0,3 ponto cada)


01) Considere o algoritmo a seguir:

Considere a tabela a seguir, montada a partir da observação do algoritmo apresentado:

A tabela representa um exemplo de:


(A) teste de caminho crítico.
(B) teste de interface.
(C) teste de performance.
(D) complexidade ciclomática.
(E) casos de teste.

02) Sistemas de software podem ser testados em diferentes granularidades. Nas granularidades mais altas,
pode-se ter o teste de entradas e saídas de uma função. Em granularidades mais baixas pode -se testar
até interações complexas de todo um sistema com o usuário. Das alternativas seguintes, q ual delas
ordena, da esquerda para direita, da granularidade mais alta para a mais baixa, os diferentes tipos de
testes?
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira

(A) Teste de unidade, teste de sistema, teste de integração.


(B) Teste de unidade, teste de integração, teste de sistema.
(C) Teste de integração, teste de sistema, teste de unidade.
(D) Teste de sistema, teste de integração, teste de unidade.
(E) Teste de integração, teste de unidade, teste de sistema.

03) A integridade de software é medida:


(A) em defeitos por KLOC (milhares de linhas de código).
(B) por sua usabilidade.
(C) pelo mean-time-to-change (MTTC).
(D) por sua conectividade.
(E) pela capacidade do sistema resistir a ataques à sua segurança.

04) A respeito dos testes de software realizados no ciclo de desenvolvimento de um sistema, assinale a
opção correta.
(A) Testes de estresse de um sistema são manualmente realizados durante o desenvolvimento da solução.
(B) Os testes de caixa preta são realizados somente pelos desenvolvedores e devem ser utilizados para validar
os requisitos funcionais do sistema por meio dos testes de caso de uso.
(C) A automatização de testes restringe-se à atividade de implementação, com a criação de testes unitários que
são executados ao final do processo de desenvolvimento.
(D) Os testes denominados caixa branca são frequentemente utilizados pelos analistas com o objetivo de testar
os artefatos e as aderências das regras de negócio ao sistema.
(E) Os testes de aceitação das metodologias tradicionais não constituem uma atividade em separado na
metodologia ágil XP.

05) Considere as seguintes assertivas sobre o teste de sistema:


I. Teste de mutação é um critério de teste da técnica baseada em defeitos.
II. O tempo médio para falhas (MTTF) pode ser utilizado para medir a confiabilidade do sistema;
quanto mais próximo do zero o MTTF, maior a confiabilid ade do sistema.
III. No teste funcional não são considerados os aspectos de implementação do software e por isso
a técnica é também chamada de caixa-preta.
As assertivas corretas são:
(A) somente III.
(B) somente I e II.
(C) somente I e III.
(D) somente II e III.
(E) I, II e III.

06) Dadas as seguintes afirmações:


I. Teste de software é considerado uma técnica dinâmica de verificação e validação de software.
II. Teste é um processo de execução de um software com a finalidade de provar a corretude de
um software.
III. O teste de estresse deve ser feito com o objetivo de avaliar os efeitos da submissão do sistema
a situações com alta demanda por recursos.
Indique a opção que tem apenas as afirmações corretas:
(A) I, II e III.
(B) I e II.
(C) I e III.
(D) II e III.
(E) Somente II.

07) Os clusters de alta disponibilidade são montados de forma a garantir que seus sistemas permaneçam
ativos por um longo período de tempo e em plena condição de uso. Para um cluster de alta
disponibilidade que está sendo monitorado por um analista, foi verificado qu e o MTBF (Mean Time
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira

Between Failures) possui o valor de 980 horas e que o MTTR (Mean Time To Repair) possui o valor de
40 horas. A disponibilidade (%) desse cluster é de, aproximadamente:
(A) 92,16.
(B) 94,00.
(C) 95,92.
(D) 96,08.
(E) 98,04

08) Os testes de aceitação são muitas vezes a última etapa de testes antes de implantar o software em
produção. Seu objetivo maior é verificar se o software está apto para utilização por parte dos usuários
finais, de acordo com os requisitos de implementação definidos. Há três estratégias de implementação
de testes de aceitação: a aceitação formal, a aceitação informal (ou teste alfa) e o teste beta.
Com relação às três estratégias de implementação dos testes de aceitação, é correto afirmar que:
(A) o teste de aceitação informal, ou teste alfa, é conduzido nas instalações do usuário final, geralmente sem a
presença do desenvolvedor;
(B) o teste beta é conduzido na instalação do desenvolvedor por um grupo representativo de usuários finais;
(C) o teste de aceitação formal utiliza todo o conjunto de casos de teste aplicados durante o teste do sistema,
para procurar novos problemas;
(D) o teste beta é focado na busca de defeitos e seu progresso é facilmente medido;
(E) o teste de aceitação formal pode ser realizado de forma automatizada.

09) Trata-se de um teste que desconhece o conteúdo do código fonte. Nesse teste o componente testado é
tratado como uma caixa preta: são fornecidos dados de entrada e o resultado comparado com aquele
esperado e previamente conhecido. Além disso, esse teste pode ser aplicado em diversas fases de
teste. A questão retrata características do teste:
(A) funcional;
(B) de integração;
(C) de desempenho;
(D) de carga;
(E) unitário.

10) Após a finalização de um projeto de desenvolvimento de um sistema, o gestor solicitou, na fase de


homologação, alterações que, de acordo com as suas explicações, não modificariam as regras de
negócio. Nessa situação, considerando-se que o sistema tenha sido desenvolvido orientado a testes,
por meio da metodologia da regressão, é correto afirmar que a solicitação do gestor não modific ará as
regras de negócio se:
(A) os designers propuserem novas interfaces.
(B) a equipe de testes validar todos os módulos do sistema novamente com a expectativa de obter o mesmo
resultado.
(C) a equipe de desenvolvimento implantar as alterações e, no relatório de teste, comparar os resultados.
(D) os testes que tiverem sido implantados, conforme o desenvolvimento orientado a testes, servirem para
validar as alterações.
(E) os analistas, juntamente com o gestor, validarem os requisitos novamente.

11) Considere:
I. Uma Especificação de Requisitos que reflete todas as decisões que foram tomadas e não
contém cláusulas de pendências. Desta forma, contém todos os requisitos significativos relativos
a funcionalidade, desempenho, restrições de desenho, atributos e interfaces externas, além de
definir as respostas do software para todas as entradas possíveis, válidas e inválidas, em todas
as situações possíveis.
II. Uma Especificação de Requisitos em que todo requisito presente possui apenas uma única
interpretação, aceita tanto pelos desenvolvedores quanto pelos usuários chaves. Em particular,
ela é compreensível para todo o seu público alvo e é suficiente para a especificação dos testes
de aceitação do produto.
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira

Os itens I e II descrevem especificações cujos requisitos contemplam, respectivamente , as qualidades:


(A) rastreabilidade e consistência.
(B) completeza e precisão.
(C) correção e completeza.
(D) consistência e priorização.
(E) verificabilidade e precisão.

12) Assinale a alternativa que nomeia um dos princípios básicos da segurança da informação garantindo
que a informação não seja alterada durante seu percurso, da origem ao seu destino.
(A) Confiabilidade.
(B) Integridade.
(C) Disponibilidade.
(D) Autenticidade.
(E) Confidencialidade.

13) É objetivo da política de segurança de informações:


(A) impedir a segregação de funções.
(B) aparelhar a organização com um sistema capaz de assegurar acesso aos ativos de informações, de acordo
com os interesses dos usuários.
(C) aparelhar a organização com um sistema capaz de assegurar a inviolabilidade dos ativos de informações.
(D) impossibilitar quaisquer alterações das bases de dados existentes.
(E) aparelhar a organização com um sistema capaz de assegurar a disponibilidade dos ativos de informações.

14) Assinale a opção correta relativamente à segurança em banco de dados.


(A) O controle de autorização para o acesso de partes específicas de um banco de dados é realizado por meio
da atribuição de contas com senhas aos usuários.
(B) Os algoritmos de criptografia de chave pública são fundamentados em operações sobre modelos de bites.
(C) O controle de acesso para e-commerce e para Web, diferentemente do que ocorre com os SGBDs
tradicionais, deve ser realizado utilizando-se um conjunto de autorizações determinadas por usuário.
(D) Os tipos de medidas utilizadas para tratar problemas de integridade, disponibilidade e confidencialidade são
controle de acesso, controle de inferência, controle de fluxo e criptografia.
(E) O controle de acesso ao sistema de banco de dados é realizado por meio de um sistema de concessão e
revogação de privilégios.

15) Um sistema de informação possui um Mean Time to Repair (MTTR) de 8 horas. Sabendo-se que a
disponibilidade desejada para o sistema seja de 99%, o valor mais próximo da confiabilidade requerida
do sistema como medida pelo Mean Time Between Failure (MTBF) deve ser:
(A) 720.
(B) 808.
(C) 910.
(D) 600.
(E) 792.

16) Em qualquer sistema computadorizado, falhas podem ocorrer e devem ser evitadas, ou numa eventual
ação, corrigidas. Assinale a alternativa incorreta.
(A) O objetivo de ponto de recuperação (Recovery Point Objective – RPO) é a idade dos arquivos que devem
ser recuperados do armazenamento em backup para as operações normais com a finalidade de retornar a
operação caso um computador, sistema ou a rede “caia” como resultado de falha de hardware, de
programas ou de comunicação.
(B) O RPO é expresso para trás no tempo (isto é, no passado) a partir do instante em que a falha ocorre e pode
ser especificado em segundos, minutos, horas ou dias.
(C) O RTO é uma função na medida em que a interrupção perturba o funcionamento normal e a quantidade de
perda de receita por unidade de tempo, como resultado do desastre.
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira

(D) O Objetivo de Tempo para Recuperação (RTO – Recovery Time Objective) é o período de tempo máximo
tolerado durante o qual um computador, sistema, rede ou aplicação pode estar desligado após a ocorrência
de uma falha ou desastre.
(E) MTBR – (Mean Time Between Repair) – é dado como sendo a divisão entre a soma das horas de
indisponibilidade para a operação devido à manutenção (HIM) pelo número de intervenções corretivas no
período (NC).

17) A métrica de software Complexidade ciclomática:


(A) para um fluxo de grafo, é definida como: E – N – 2, onde
E é o número de entidades do grafo e
N é o número de nós do grafo de fluxo.
(B) proporciona uma medida quantitativa da complexidade lógica de um programa.
(C) para um fluxo de grafo é definida como E + N – 2, onde
E é o número de ramos do grafo de fluxo
N é o número de novos elos do grafo de fluxo.
(D) é uma medida cumulativa da complexidade física de um programa.
(E) é uma propriedade dos ciclos de maior complexidade de um programa.

18) Considere as seguintes afirmativas:


I. Em teste funcional, o conjunto de valores de entrada válidos pode ser reduzido por meio
de partição em classes de equivalência, o que torna a quantidade de dados de entrada
finita.
II. Uma abordagem para o projeto de casos de teste consiste em identificar as partições d e
equivalência. Uma partição de equivalência de entrada contém conjuntos de dados que
são processados de modo equivalente.
III. No teste estrutural, que é outra estratégia para projetar casos de teste, se usa o
conhecimento da estrutura do programa através do teste de transição de estados, cujo
objetivo é testar as entradas e saídas de forma independente.
IV. Por motivos que ainda não são completamente compreendidos por autores e estudiosos
de Ciências da Computação, um grande número de erros em software tende a o correr
nas fronteiras do domínio da entrada de dados. Engenheiros desenvolveram uma técnica
de controle de qualidade que leva à seleção de casos de teste que exercitem esses
valores através da análise dos valores de fronteira.
Julgue certa ou errada as afirmativas.
(A) C-C-C-C.
(B) E-C-E-E.
(C) C-E-E.C.
(D) E-E-C-E.
(E) C-C-E-C

II – Questões Discursivas Ver respostas no material de aula.

01) (Vale 0,6) O que é e quais são as técnicas de Programação Defensiva? Explique e exemplifique.

02) (Vale 0,6) O que é e quais são os tipos de Análise Estática? Quais são as motivações para utilizá-la?
Quando devemos aplicá-la? Exemplifique.

03) (Vale 0,6) O que é depuração? Explique e exemplifique o Processo de Depuração.


Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira

III – Questões Práticas

01) Vale (1,0) Considere o seguinte exemplo de código fonte (não preste atenção nos detalhes, pois é apenas
um "loren ipsum"):

public class TesteCiclo {


public double calcular (int parametro1, int parametro2) {
double retorno = 0.0d;
if (parametro1 <= 7) {
retorno = parametro1 * 1.5;
if (parametro2 > parametro1) {
retorno = retorno * 0.75;
if (parametro2 == 1) {
retorno = -1.0d;
}
}
}
return retorno;
}
}

Resolva as seguintes questões:


a) Desenhe o grafo de fluxo.
b) Quantas regiões existem?
c) Qual a complexidade ciclomática (apresente o resultado segundo as 3 formas)?
d) Qual o conjunto base?
e) Defina os casos de testes.

Resposta:

Considerando o código:
Podemos transformar este trecho de código em um grafo, de maneira simples:
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira

A entrada no método "calcular()" conta como um caminho básico. Depois, para cada nó que cria um desvio de
fluxo, somamos mais 1 (nós em preto).
Logo, pela fórmula simplificada de McCabe (*) temos:

V(G) = P + 1

Onde: P = nós predicados.

(*) http://www.mccabe.com/pdf/mccabe-nist235r.pdf

Neste caso, temos o valor 4, que é o limite máximo para criação de casos de teste, necessários para cobrir todo
o código.
Universidade Federal de Sergipe – Campus São Cristóvão
Avaliação 2 – Engenharia de Software para SI II
Nome: ____________________________________________
Curso: Sistemas de Informação Data: 28/04/2016
Professora Dra. Adicinéia A. de Oliveira

02) (Vale 1,8) A tabela de decisão é uma ferramenta importante quando um conjunto complexo de condições e
ações é encontrado em um componente de software. Elabore uma Tabela de Decisão (completa) considerando o
trecho seguinte, extraído de uma narrativa de processamento para um processo de negócio a saber:
Uma loja de eletroeletrônicos oferece descontos aos seus clientes com base nos seus pontos do cartão-
fidelidade e no valor da compra realizada. Se o cliente não possui cartão fidelidade e gasta até R$ 1.000,00,
recebe 5% de desconto. Nas compras entre R$ 1.000,00 e R$ 10.000 o desconto é de 10% e nas compras
acima de R$ 10.000,00 o desconto é de 15%. Se o cliente possui cartão fidelidade, nas compras até
R$1.000,00, recebe 10% de desconto. Entre R$1.000, 00 e R$ 10.000,00, recebe 10% mais um valor x calculado
com base em sua pontuação. Nas compras acima de R$ 10.000,00, recebe 15%, mais o dobro de x.

Condição R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12


Tipo cliente F F F F F F J J J J J J
(F/J)
Saldo devedor S S S N N N S S S N N N
(S/N)
Data última <15 <45 >90 <15 <45 >90 <15 <45 >90 <15 <45 >90
compra (<=15.
>15 e <45 ou
>90 dias)
Ação
Envia catálogo X X X X
Congratulações X
Convite X
Carta de X X X X X X
Cobrança

Você também pode gostar