Você está na página 1de 14

Engenharia de Software – Testes de

Software (Tópicos Relevantes)


Prof. Washington Almeida, MSC, ISF 27002
WebApps
• Teste de Conteúdo: Usado para
descobrir erros de conteúdo que
podem ser atribuídos a conteúdo
derivado dinamicamente,
controlado por dados adquiridos
de um ou mais banco de dados.

3
Teste Base de Dados
• Em muitos domínios de
aplicação, interfaceiam com
sistemas sofisticados de
gerenciamento de banco de
dados e criam objetos de
conteúdo dinâmico em tempo
real usando os dados adquiridos
de um banco de dados.

4
Teste de Usabilidade

5
Ferramentas de Teste Estático
• São usadas na indústria três tipos diferentes de ferramentas de teste
estático: ferramentas de teste baseadas em código, linguagens
especializadas de teste e ferramentas de teste baseadas em requisitos.
• Código: aceitam código-fonte como entrada e executam uma série de
análises que resultam na geração de casos de teste. Ex: Sonar
• Linguagens de teste especializadas: (por exemplo, ATLAS) permitem a um
engenheiro de software escrever especificações detalhadas de teste que
descrevem cada caso de teste e as logísticas para sua execução.
• Baseadas em requisitos: isolam requisitos específicos de usuário e
sugerem casos de teste (ou classes de testes) que exercitarão os requisitos.

6
Ferramenta de Teste Dinâmico
• As ferramentas de teste dinâmico interagem com um programa
em execução, verificando amplitude do caminho, testando
asserções sobre o valor de variáveis específicas, e
instrumentando o fluxo de execução do programa de qualquer
modo.
• Exemplo: Junit, Selenium, JMeter.

7
Questão 1
Ano: 2015 Banca: FCC Órgão: TRT - 3ª Região (MG) Prova: FCC - 2015 - TRT - 3ª Região (MG) - Analista Judiciário - Tecnologia da Informação
Um analista de TI está participando do desenvolvimento de um software orientado a objetos utilizando a plataforma Java. Na abordagem de
desenvolvimento adotada, o código é desenvolvido de forma incremental, em conjunto com o teste para esse incremento, de forma que só se
passa para o próximo incremento quando o atual passar no teste. Como o código é desenvolvido em incrementos muito pequenos e são
executados testes a cada vez que uma funcionalidade é adicionada ou que o programa é refatorado, foi necessário definir um ambiente de
testes automatizados utilizando um framework popular que suporta o teste de programas Java.
A abordagem de desenvolvimento adotada e o framework de suporte à criação de testes automatizados são, respectivamente:

a) Behavior-Driven Development e JTest.


b) Extreme Programming e Selenium. LETRA E
c) Test-Driven Development e Jenkins.
d) Data-Driven Development and Test e JUnit.
e) Test-Driven Development e JUnit.

Justificativa:
TDD: Ainda iremos detalhar melhor no bloco das metodologia ágeis, mas já falamos um pouco sobre seu
funcionamento. Junit é um framework para automação de testes de unidade.

8
Questão 2
Ano: 2017 Banca: PUC-PR Órgão: TJ-MS Prova: PUC-PR - 2017 - TJ-MS - Técnico de Nível Superior - Analista de Sistemas
Os testes de software devem ser executados em todas as etapas do ciclo de vida do processo de
desenvolvimento de software. Dentre os tipos de testes a serem aplicados, o teste de:
a) unidade é um teste estático realizado para verificar as unidades individuais: funções, objetos e
componentes.
b) unidade é um teste dinâmico com o foco em verificar as menores unidades do programa e podem utilizar
ferramentas de automação (Ex.: Junit).
c) aceitação é um teste estático realizado logo após o teste de unidade para verificar a integração entre os
componentes de software.
d) aceitação é um teste estático realizado para verificar a camada de apresentação, principalmente em
aplicações Web.
e) aceitação é um teste dinâmico com o foco em verificar as unidades individuais: funções, objetos e
componentes.
LETRA B
Justificativa:
Basta conhecer o conceito de teste estático (inspeção) e dinâmico (execução).

9
Questão 3
Ano: 2018 Banca: COMPERVE Órgão: UFRN Prova: COMPERVE - 2018 - UFRN - Analista de Tecnologia da Informação – 104

O Selenium é um framework de teste de software para aplicações Web.


A respeito do Selenium, analise as afirmativas abaixo:

I. O Selenium consiste em uma suíte de ferramentas para auxiliar a automação de testes baseados na interface Web.
II. O Selenium WebDriver consiste em uma API para auxiliar a automação de testes baseados na interface Web.
III. O Selenium WebDriver consiste em um plug-in para o Firefox que auxilia a automação de testes baseados na interface Web.
IV. No Selenium WebDriver, é possível gravar o passo a passo de um usuário acessando uma página Web, a partir de um navegador.

Estão corretas as afirmativas


a) I e III.
b) I e II .
c) III e IV.
d) II e IV. LETRA B
Justificativa:
III - Play and record que fica instalado no navegador como plug-in.
IV - Play and record que fica instalado no navegador como plug-in.

10
Questão 4
Ano: 2017 Banca: IBFC Órgão: EMBASA Prova: IBFC - 2017 - EMBASA - Analista de Tecnologia da Informação (Desenvolvimento)
Nos métodos ágeis, as equipes são auto-organizadas e exigem ter ferramentas de apoio para que as
equipes mantenham a qualidade do software. Para esse fim, a ferramenta Sonar tem como utilidade:
a) a geração de relatórios dinâmicos que dão um feedback sobre a qualidade do código que está sendo
produzido
b) a produção automática de diagramas UML para garantir a qualidade da documentação do sistema
produzido
c) a execução de testes estáticos e dinâmicos de todo o código que está sendo produzido para manter a
qualidade do software
d) a elaboração dos requisitos funcionais e não-funcionais automaticamente com base no código que está
sendo produzido garantindo que o software corresponda às expectativas dos clientes
LETRA A

Justificativa: O SonarQube (anteriormente Sonar) é uma plataforma de código aberto para inspeção contínua de qualidade de
código para realizar revisões automáticas com análise estática de código para detectar bugs, code smells e vulnerabilidades de
segurança em 20 + linguagens de programação, incluindo Java (incluindo Android), C #, PHP, JavaScript, C / C + +, COBOL, PL / SQL,
PL / I, ABAP, VB.NET, VB6, Python, RPG, Flex, Objetivo-C, Swift, Web e XML.
11
Questão 5
Ano: 2017 Banca: IBFC Órgão: TJ-PE Prova: IBFC - 2017 - TJ-PE - Analista Judiciário - Analista de Sistemas

Os elementos que fornecem acesso às informações obtidas pelo JMeter durante os testes de carga são
denominados tecnicamente de:
a) listeners
b) controllers
c) timers
LETRA A
d) assertions
e) Post-Processor
Justificativa: Para qualquer teste que venha a ser feito utilizando o JMeter, é necessário criar um Test Plan incluindo os elementos do teste.
Estes elementos podem ser:
Thread Group — Este é ponto de começo, todos os outros elementos do Test Plan devem estar sob este. Como o próprio nome ressalta, este controla as threads que serão
executadas pelo teste.
Controllers — Estes são divididos em dois grupos Samplers e Logic Controllers.
Samplers — São controladores pré-definidos para requisições especificas. Podendo ser customizada com a inserção de configurações (Configurations), Assertions e etc.
Logic Controllers — São controladores mais genéricos. Podendo ser customizada com a inserção de outros controllers, configuration elements, assertions, etc.
Listeners — Estes são os elementos que fornecem acesso as informações obtidas pelo JMeter durante os testes.
Timers — Por padrão, o JMeter faz requisições sem pausas entre elas. Os timers são utilizados para incluir pausas entre as requisições.
Assertions — Usado para verificar se a resposta obtida na requisição é a esperada. Podendo ser usado expressões regulares (Perl-style regular expression) na comparação.
Configuration Elements — Embora não faça requisições (exceto para HTTP Proxy Server), este elemento pode adicionar ou modificar as requisições.
Pre-Processor Elements — Executa alguma ação antes de fazer a requisição. Mais usado para pré-configurações das requisições.
Post-Processor Elements — Executa alguma ação depois de fazer a requisição. Mais usado para processar as respostas da requisição. 12
Gabarito

Questão Resposta
1 LETRA E

2 LETRA B

3 LETRA B

4 LETRA A

5 LETRA A

13
14
Referências
• PRESSMAN, Roger S. ; Bruce R. Maxim. Engenharia de Software, Uma Abordagem Profissional, 8° ed.
Porto Alegre: AMGH, 2016. ISBN 978-85-8055- 533-2.
• SOMMERVILLE, Ian. Engenharia de Software, 9. ed. São Paulo: Pearson Prentice Hall, 2011. ISBN 978-
85-7936-108-1.

15

Você também pode gostar