2. Testes Funcionais são aplicados
a partir de um requisito de negócio
da aplicação.
Avaliam o comportamento da
aplicação. Dados de entrada são
fornecidos ,o teste é executado e o
resultado obtido é comparado a um
resultado esperado.
O teste funcional é aplicável a todas
as fases do teste (unitário,
integração, sistema e aceitação).
Testa as funcionalidades,
requerimentos, regras de negócio
presentes na documentação.
Teste Funcional
3. Teste Não Funcional
• São testes que verificam
a t r i b u t o s d e u m
componente de sistema
que não se relacionam
com a funcionalidade
( c o n fi a b i l i d a d e ,
eficiência, usabilidade,
m a n u t e n a b i l i d a d e e
portabilidade)
8. Load Testing
Load testing is the process of assessing the
quality of a system under load in order to detect
load-related problems. The rate at which different
service requests are submitted to the sys- tem
under test (SUT) is called the load . Load testing
uncovers load-related functional problems (e.g,
such as deadlocks, racing, buffer overflows and
memory leaks and non-functional problems (e.g.,
high response time and low throughput).
Jiang, Z. (2010). Automated analysis of load testing results.
… Symposium on Software testing and analysis.
9. • Performance testing is the process
of measuring and/or evaluating
performance related aspects of a
software system. Examples of
performance related aspects include
response time, throughput and
resource utilizations.
• Performance testing can focus on
parts of the system (e.g., unit
performance testing or GUI
performance testing), or on the
overall system. Performance testing
can also study the efficiency of
various design/architectural
decisions, different algorithms and
various system configurations.
Jiang, Z. (2010). Automated analysis of load testing results.
… Symposium on Software testing and analysis.
10. Stress testing is the process of putting a
system under extreme conditions to verify
the robustness of the system and/or to
detect various load-related problems
(e.g., memory leaks and deadlocks).
Examples of such conditions can either
be load-related (putting system under
normal or extreme heavy load) or limited
com- puting resources or failures (e.g.
disk full or database failure). In other
cases, stress testing is used to evaluate
the efficiency of software designs.
Jiang, Z. (2010). Automated analysis of load testing results.
… Symposium on Software testing and analysis.
Stress Testing
11. Workload Modeling
Workload modeling is the attempt to
create a simple and general model,
which can then be used to generate
synthetic workloads at will, possibly with
slight (but wellcontrolled!) modifications.
Feitelson, D. G. (2013). Workload Modeling for Computer Systems
Performance Evaluation.
23. Quando trabalhamos com grandes conjuntos de dados, muitas vezes é útil organizar e
resumir os dados para fornecer informações úteis e facilitar a sua visualização e seu
entendimento
DISTRIBUIÇÕES DE FREQÜÊNCIA (EM CLASSE)
Criando um histograma
168 172 170 181 169 173 164 175 182 177
176 173 170 186 183 170 168 166 169 180
175 164 181 179 172 169 174 171 178 166
183 159 168 176 188 165 172 170 166 189
172 185 168 163 188 195 182 176 174 182
Altura (em centímetros) dos atletas de um clube
24. É um grupamento de dados em classes, exibindo o número ou porcentagem de
observações em cada classe. Uma distribuição pode ser apresentada em forma gráfica ou
tabular.
Classe
Intervalo de
classe
Frequência
(f i)
Frequência
(f r)%
1 0 |------- 2 1 2,77%
2 2 |------- 4 2 5,55,%
3 4 |------- 6 10 27,78%
4 6 |------- 8 6 17%
5 8 |------- 10 17 47,22%
36 100%
Tabela de frequência para as notas de estatística
Total
40
Número de carros
Frequênciaderevendedores
5 10 15 20 25 30
2
4
6
8
10
12
35
Histograma do número de carros vendido
para as revendedoras
Distribuições de frequências (em classe)
25. Tabelas de Frequência
“Resumo de dados em Tabelas de frequência”
O número de elementos distintos é grande, o que
dificulta a análise. Exemplo: Análise da altura da turma.
Notas (X i) Frequência (f i)
0 1
1 0
2 1
3 1
4 1
5 9
6 3
7 3
8 6
9 7
10 4
Tabela de frequência para as
notas de estatística
Classe
Intervalo de
classe
Frequência
(fi)
Frequência
percentual
1 0 |------- 2 1 2,77%
2 2 |------- 4 2 5,55,%
3 4 |------- 6 10 27,78%
4 6 |------- 8 6 17%
5 8 |------- 10 17 47,22%
36 100%
Tabela de frequência para as notas de estatística
Total
A finalidade é agrupar dados!
26. Um engenheiro da área de vendas de uma montadora selecionou ao acaso, uma amostra de 40
revendedores autorizados em todo Brasil e anotou o número de unidades adquiridas por estes
revendedores no mês de maio. Com estes dados, ele deseja construir um quadro de frequência.
10 15 25 21 6 23 15 21 26 32
9 14 19 20 32 18 16 26 24 20
7 18 17 28 35 22 19 39 18 21
15 18 22 20 25 28 30 16 12 20
Unidades adquiridas no mês de maio
1º PASSO: Identifique o valor máximo e o valor mínimo para calcular a amplitude.
R(intervalo total) = Max - Min = 39 - 6 = 33
Passos para a construção de uma Tabela de Frequência
27. 2º PASSO: Escolha do número de classes ou intervalos (k).
- não existe uma regra única para a determinação do tamanho e quantidade de classes.
Alguns autores afirmam que ela deve variar entre 5 e 25.
- Adotaremos o seguinte cálculo:
32,640 === nk
Importante: o valor de k deve ser um valor inteiro. Assim, neste caso pode ser: 6 ou 7.
3º PASSO: Determinação da amplitude do intervalo (h)
kk
R
h
33
==
Obs.: Como os dados coletados são números inteiros, a
amplitude também deve ser um número inteiro.
Passos para a construção de uma Tabela de Frequência
28. Assim, o valor da amplitude (R) deve ser acrescido de duas unidades para que sua
divisão pelo número de classes (k =7) seja um número inteiro.
5
7
3533
====
kk
R
h
4º PASSO: Rever os limites de classe preliminares. Aqui, o
arredondamento deve ser distribuído igualmente para o
limite inferior da primeira classe e o limite superior para a
última classe.
Classes
Intervalo de classe
ou número de carros
Número de
revendedores
ou frequência
Frequência
percentual
1 5 |-----------
2
3
4
5
6
7 |-------- 40
Total
Tabela de frequência
10 3 7,5%
40
10 |---------- 15 3 7,5%
15 |---------- 20 11 27,5%
20 |----------25 11 27,5%
25 |----------30 6 15%
30 |----------35 4 10%
35 2 5%
100%
5 º P A S S O :
M o n t a g e m d a
t a b e l a d e
frequência
Passos para a construção de uma Tabela de Frequência
35. Apache JMeter is an Apache project that can be
used as a load testing tool for analyzing and
measuring the performance of a variety of services,
with a focus on web applications.
JMeter can be used as a unit-test tool for JDBC
database connections, FTP, LDAP, Webservices,
JMS,[5] HTTP, generic TCP connections and OS
native processes. One can also configure JMeter as
a monitor, although this is typically considered ad
hoc rather than advanced monitoring. It can be used
for some functional testing as well.
38. jmeter.bat
run JMeter (in GUI mode by default)
jmeterw.cmd
run JMeter without the windows shell console (in GUI
mode by default)
jmeter-n.cmd
drop a JMX file on this to run a non-GUI test
jmeter-n-r.cmd
drop a JMX file on this to run a non-GUI test remotely
jmeter-t.cmd
drop a JMX file on this to load it in GUI mode
jmeter-server.bat
start JMeter in server mode
mirror-server.cmd
runs the JMeter Mirror Server in non-GUI mode
shutdown.cmd
Run the Shutdown client to stop a non-GUI instance
gracefully
stoptest.cmd
Run the Shutdown client to stop a non-GUI instance
abruptly
44. 1486171896463,958,1 /,200,OK,Thread Group 1-1,text,true,,71141,782,1,1,135,0,13
1486171896458,958,1 /,200,"Number of samples in transaction : 1, number of failing samples :
0",Thread Group 1-1,,true,,71141,782,1,1,135,11,13
1486171897429,365,3 /camaleao/assets/web/home.css,200,OK,Thread Group 1-1,text,true,,
33200,331,1,1,267,0,113
1486171897795,251,5 /camaleao/assets/web/javascript/detectadblock/adframe.js,200,OK,Thread
Group 1-1,text,true,,564,343,1,1,251,0,106
1486171898047,247,6 /camaleao/assets/web/javascript/detectadblock/detectadblock.js,
200,OK,Thread Group 1-1,text,true,,4349,349,1,1,247,0,106
1486171898295,483,4 /camaleao/assets/web/home.js,200,OK,Thread Group 1-1,text,true,,
114225,335,1,1,266,0,115
1486171898779,252,7 /service-worker.js,200,OK,Thread Group 1-1,text,true,,2025,451,1,1,252,0,114
1486171897428,1598,2 /,200,"Number of samples in transaction : 5, number of failing samples :
0",Thread Group 1-1,,true,,154363,1809,1,1,1283,6,554
1486171899032,456,8 /,200,OK,Thread Group 1-1,text,true,,36829,1016,1,1,155,0,12
1486171899489,134,21 /tm23947.js,200,OK,Thread Group 1-1,text,true,,4492,451,1,1,134,0,15
1486171899624,152,28 /b/par/folha.js,200,OK,Thread Group 1-1,text,true,,4685,454,1,1,152,0,14
1486171899777,111,27 /h/par/folha.js,200,OK,Thread Group 1-1,text,true,,6028,454,1,1,111,0,1
1486171899889,633,25 /tempo/weather-header-menu.js,200,OK,Thread Group 1-1,text,true,,
1893,943,1,1,54,0,0
1486171900523,1225,26 /barra/parceiro-async.js,200,OK,Thread Group 1-1,text,true,,
3459,462,1,1,1225,0,1082
49. Exercício:
Realize um teste na página da uol de forma que:
• 40% dos usuários visitam a página principal
• 20% visitam o caderno de notícias
• 10% visitam o caderno de esportes
• 10% visitam o caderno de economia
• O restante alterna entre educação e vídeos
55. public class Classe extends AbstractJavaSamplerClient {
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("Scenario", "A");
return params;
}
56. Introdução ao Shell Script para testes de
performance:
Shell do Linux
•Linux possui diferentes tipos de Shell
–Bourne shell (sh), C shell (csh), Korn
shell (ksh), TC shell (tcsh), Bourne Again
shell (bash).
•O mais popular é o bash.
60. awk 'FNR == 2 {print}'
Selecionando 2 linha
awk 'FNR == 5 {print $3}'
Selecionando 5 linha e terceiro campo
61. cat log | grep jpg
Usando grep para mostrar as linhas com imagens
62. Variável Descrição
$HOME O diretório HOME do usuário corrente.
$PATH Lista de diretórios separados por ponto e vírgula (;) onde serão
procurados os comandos.
$USER O usuário.
$PWD O diretório corrente.