SóProvas


ID
1669075
Banca
FCC
Órgão
TRT - 3ª Região (MG)
Ano
2015
Provas
Disciplina
Engenharia de Software
Assuntos

Um profissional está trabalhando no processo de testes de desenvolvimento de um software orientado a objetos. Inicialmente, realizou o teste das funcionalidades dos objetos ou métodos das classes individualmente. Em seguida, integrou várias unidades individuais criando elementos compostos e testou as interfaces desses elementos. Para concluir a bateria de testes, integrou todos os componentes do software e testou a integração entre eles como um todo. Os testes realizados pelo profissional foram testes

Alternativas
Comentários
  • Durante o desenvolvimento, o teste pode ocorrer em três níveis de granularidade:


    1) Teste unitário: deve centrar-se em testar a funcionalidade dos objetos ou métodos.

    2) Teste de componentes: deve centrar-se em testar as interfaces dos componentes.

    3) Teste de sistema: deve centrar-se em testar as interações entre os componentes.


    Testes de desenvolvimento são essencialmente um processo de teste de defeitos, em que o objetivo do teste é descobrir bugs no software. Normalmente, são intercalados com a depuração.


    Fonte: Sommerville, 9 Edição Página 148.

  • Existe um censo comum acerca da seguinte nomenclatura: Teste Unitário, Teste de Integração e Teste de Sistema, dai vem um Sommeville ou Pressman da vida e chama Integração de Componentes e derruba o pessoal.

    Isso gera uma dúvida entre a c) e a e)

    Dai, pra eliminar a e), vc precisa saber o que de aceitação é feito pelo usuário final e não pelo testador ou desenvolvedor.

  • niveis de testes se limitam à unidade, integração, aceitação e sistema. Tipos de testes são vários, diria infinitos. Cada tipo de teste pertence a um nível. É importante entender que em um teste de componente, o componente terá sua interface testada isoladamente, antes de ser integrado. Em contraste, o teste de integração verifica se os componentes funcionam em conjunto, havendo correta transferencia de dados entre suas interfaces, inclusive, às vezes se faz necssário o uso de stubs para suprir a ausencia de alguns componente n construídos. Não confunda teste de integração (com componentes integrado) com o teste de sistema, que é o teste do sw em ambiente operacional interagindo com hw, pessoas e até outros sw. após  aintegração dos componentes é realizado o teste de aceitação, que objetiva o aceite do cliente e podem ser de dosi tipos: alfa e beta.o primeiro em ambiente controlado ao lado do desenvolvedor.  o segundo em ambiente real longe do desenvolvedor.

  • Por essas e outras que "Engenharia de Software" não poderia ser ciência exata. Como pode um autor publicar um livro trocando o nome de uma coisa e ainda ser seguido?

    component testing: The testing of individual software components. [After IEEE 610]

  • O pior é que o próprio sommerville mudou essa classificação da 8ª pra 9ª edição. Antes, teste de componente era mesma coisa que de unidade, agora na 9ª edição componente é "tipo integração"... depois querem chamar isso de ciência exata....

  • Marquei a C devido aos itens 1 e 3; mas, pela lógica, o item 2 seria integração. O Sommerville não cita nenhuma vez o Teste de Integração, cita apenas o Teste de Componente. Já para maioria dos autores é o contrário

    "O teste de integração é uma técnica sistemática para construir a arquitetura de software, ao mesmo tempo em que se realizam testes para descobrir erros associados às interfaces"

    Pressman, 8ed, p. 476 

    "Testes de Integração: têm por objetivo encontrar falhas de integração entre as unidades, e não mais em testar as funcionalidades da mesma. Nesta fase as categorias de testes aplicáveis são: testes de interface, testes de dependências entre os componentes;"

    Devmedia: https://www.devmedia.com.br/teste-de-integracao-na-pratica/31877