Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3encuentro Tecnicas PDF
3encuentro Tecnicas PDF
www.bstriker.com
1
Logo@Copyright
Objetivos
1. Compartir
conocimiento
adquirido
en
distintos
proyectos
con
la
comunidad
de
Testing.
2. Generar
un
espacio
donde
se
generen
nuevas
relaciones
entre
los
participantes.
(Francisco)
3. Proveer
herramientas
de
desarrollo
profesional
para
los
referentes
de
la
comunidad.
www.bstriker.com
Historia
del
Testing
• Antes
de
1956.
Periodo
orientado
a
debugging.
En
el
‘49
A.M.
Touring
es
el
precursor
(Checking
a
large
routine).
• Entre
1979
y
1982.
Periodo
orientado
a
destrucción.
Myers
-‐
The
Art
of
Software
Testing.
www.bstriker.com
¿Por
qué?
• Modelo
de
trabajo
incorrecto.
(Ágiles
o
Estructurados)
• Los
objetivos
del
Testing
no
son
claros.
• Se
realiza
más
Testing
basado
en
la
experiencia
de
los
testers.
• Testers
sin
formación
o
habilidad.
• No
se
cuenta
con
información
relevante
a
las
pruebas.
• No
hay
criterios
claros
de
comienzo
o
fin
de
Prueba.
• Testing
como
cuello
de
botella.
• La
infraestructura
de
Testing
no
se
condice
con
la
del
ambiente
productivo.
• Herramientas
obsoletas
o
demasiadas
herramientas.
• Equipo
de
Testing
muy
lejos.
(¿Testers
en
Desarrollo
o
un
área
de
Testing?)
• Proceso
de
trabajo
incorrecto.
www.bstriker.com
Mejora
Continua
Modelos
Básicos
Otros
modelos
Criterios
Comunes.
• Iniciar
• Medir
• Priorizar/Planificar
• Redefinir
• Operar
• Validar
• Evolucionar
Comparativo
Resumen
TESTING
Evaluacion
Debbuging
Demo
Destruccion
(V,V
&T)
Prevención
Cascada
(Benignton
-‐
MODELOS
DE
Royce)
92
Modelo
94
RUP
DESARROLLO
V
/
W
Primer
Agil
99
TDD
MODELOS
DE
TMM
-‐
90
TPI
-‐
97
(4)
CMMi
-‐
SPICE
-‐
MEJORA
CONTINUA
STEP
-‐
86
(3)
(5)
CTP
(12)
(SOGETI)
02
'04
(6)
General
Página 14
Partición de equivalencia o clase de
equivalencia (CE)
- La partición en clases de equivalencia es lo que la mayoría de los
probadores hacen de forma intuitiva: dividen los posibles valores en
clases, mediante lo cual observan
- Valores de entrada (“input values”) de un programa (uso habitual del
método CE)
- Valores de salida (“output values”) de un programa (uso poco habitual
del método CE)
- El rango de valores definido se agrupa en clases de equivalencia
para las cuales se aplican las siguientes reglas:
- Todos los valores para los cuales se espera que el programa tenga un
comportamiento común se agrupan en una clase de equivalencia (CE)
- Las clases de equivalencia no pueden superponerse y no pueden
presentar ningún salto (discontinuidad)
- Las clases de equivalencia pueden consistir en un rango de valores (por
ejemplo, 0<x<10) o en un valor aislado (por ejemplo, x = Verdadero)
Partición de equivalencia - ejemplo
- Las clases de equivalencia se escogen para entradas (“inputs)
válidas y no válidas
- Si el valor x se define como 0 ≤ x ≤ 100, entonces, inicialmente, se pueden
identificar tres clases de equivalencia:
1. x<0 (valores de entrada no válidos)
2. 0 ≤ x ≤ 100 (valores de entrada válidos)
3. x > 100 (valores de entrada no válidos)
- Se pueden definir CE adicionales, conteniendo, pero no limitadas a:
- Entradas no numéricas
- Números muy grandes o muy pequeños
- Formatos numéricos no admitidos
Página 17
Partición de equivalencia - ejemplo
• El porcentaje será presentado en un diagrama de barra. Se
aplicarán los siguientes requisitos adicionales (ambos valores
incluidos:
– Valores entre 0 y 15: barra color gris
– Valores entre 16 y 50: barra color verde
– Valores entre 51 y 85: barra color amarillo
– Valores entre 86 y 100: barra color rojo
Variable Clase de equivalencia Estado Representante T04 T05 T06 T07 T08 T09 T10
Precio de EC11: x >= 0 válido 1000,00
venta al
público EC12: x < 0 no válido -1000,00
EC13: x valor no numérico no válido fred
Descuento EC21: 0% < x < 100% válido 10%
EC22: x < 0% no válido -10%
EC23: x > 100% no válido 200%
EC24: x valor no numérico no válido fred
Precio del EC31: x = 6 válido 6
porte
EC32: x = 9 válido 9
EC33: x = 12 válido 12
EC34: x ≠ {6, 9, 12} no válido 4
EC35: x valor no numérico no válido fred
Partición en clases de equivalencia:
ejemplo 2/4
- Se obtienen 10 casos de prueba: 3 casos de prueba positivos
(valores válidos) y 7 casos de prueba negativos (valores no
válidos)
Variable Estado Representante T01 T02 T03 T04 T05 T06 T07 T08 T09 T10
Precio de válido 1000,00
venta al no válido -1000,00
público
no válido fred
Descuento válido 10%
no válido -10%
no válido 200%
no válido fred
Precio del válido 6
porte válido 9
válido 12
no válido 4
no válido fred
Partición en clases de equivalencia -
Transición
- Nota importante:
- En lugar de un representante para la CE válida, ahora hay seis
representantes (cuatro válidos y dos no válidos)
Pruebas de tabla de decisión (“decision
table testing ”)
- La partición en clases de equivalencia y el análisis de valores límite
tratan entradas en condiciones aisladas
- Sin embargo, una condición de entrada puede tener efectos sólo en
combinación con otras condiciones de entrada
- Todos los métodos descritos previamente no tienen en cuenta el
efecto de dependencias y combinaciones
- El uso del conjunto completo de las combinaciones de todas las
clases de equivalencia de entrada conduce, normalmente, a un
número muy alto de casos de prueba (explosión de casos de
prueba)
- Con la ayuda del gráfico causa-efecto ("cause-effect graph") y
tablas de decisión obtenidas a partir de aquellos, la cantidad de
combinaciones posibles se puede reducir de forma sistemática a un
subconjunto de las mismas
Pruebas de tabla de decisión (“decision
table testing ”)
- Ejemplo 5: Banca Online (“Online-Banking”).
- El usuario se identifica a través de su número de cuenta y PIN. Si tuviera
suficiente cobertura podrá realizar una transferencia. Para poder realizar
la transferencia debe introducir los datos del receptor y un TAN válido.
Cobertura
Realizar transferencia
(^
Receptor correcto
(^ TAN identificado como utilizado
~
~ V
Denegar transferencia
TAN válido
Denegar transferencia NO SI SI NO
Solicitar TAN nuevamente NO NO NO SI
M M
o
o
S
M
o
NN
Árbol de transición de estado
Página 33
IV - Técnicas de diseño de
pruebas
03 - Técnicas basadas en la especificación o de caja negra
Pruebas basadas en casos de uso /2
Página 34
Tester Profesional de Software
Consejos:
Test de LIMITES: Diseñar el test case teniendo en cuenta los limites de los
campos en que se va a grabar la información. (ídem para el test de
particiones)
Test de Estados: Comenzar por este tipo de tests cuando no es clara la
definición de partición de datos.
Test de Componentes Funcional: Prestar mayor Atención a las propiedades
y a los componentes que tengan impacto en la información que se esta
ingresando.
Tests basados en experiencia anterior: Analizar información resumida, la
abundancia de información puede ser nocivo.
Spec
Enough
SoMware
tests?
Tests
Results
OK?
What's
covered?
More
tests
Coverage
OK?
Increasing coverage
Statement coverage
Statement coverage
is normally measured
by a software tool.
12 12 123 ?
? ? ? ?
?
Paths through code with loops
1 2 3 4 5 6 7 8 ….
Read A
Read
IF A > 0 THEN
Print “A positive”
ENDIF THEN
A>0
Print
ELSE’s = 0 + 1 = 1 = SC Otherwise
(ELSE)
Indentations (Tabs) = 2 = BC
2
– cyclomatic complexity: _____
– minimum tests to achieve:
1
• statement coverage: ______
• branch coverage: _____
2
ENDIF
Self-draw 1 Read
Read stock level for item
IF Item in stock THEN THEN
In?
Get
Get from stores
ELSE
ELSE
Order
&
Draw
the
Order from supplier
Print
diagram
Print “Item back-ordered” in
your
notes
ENDIF
Print “Item processed”
2
– cyclomatic complexity: _____
ENDIF
– minimum tests to achieve:
2
• statement coverage: ______
2
• branch coverage: _____
Print
WHILE loop Read
Result
=
0
if
r=r+1
Right
=
0
DO
WHILE
more
QuesQons
IF
Answer
=
Correct
THEN
end
Right
=
Right
+
1
ENDIF
res
END
DO
Result
=
(Right
/
QuesQons)
if
pass
IF
Result
>
60%
THEN
Print
"pass"
4
– complex:
_____
fail
ELSE
Print
"fail”
2
• st
cov:
_____
END
IF
• br
cov:
_____
2
end
Then Display
Wait
Valid
card?
“Enter..
Self draw 2
Wait for card to be inserted
IF card is a valid card THEN False
Else Valid
display “Enter PIN number”
PIN?
WHILE PIN is valid DO
select transaction Reject
True
ENDDO card
ELSE (otherwise) select
trans.
reject card
Print record
ENDIF
ENDDO
Indentation
Shows – complx:
_____
3
End of IF
ENDIF
• st
cov:
_____
2
• br
cov:
_____
2
Print
rec
LCSAJ
Stress
Performance
Carga
Volumen
L10N
I18N
Regression
Recovery
Usability
MMD
Ethical
Hacking
Taxonomy
Configuraaon
API
Smoke
Fuzz….
EJERCICIO
Tienes
1000,
sumale
40.
Sumale
1000
más.
Agrégale
30
y
nuevamente
1000.
Sumale
20.
Sumale
1000
y
añádele
10.
FINISHED
FILES
ARE
THE
RE-‐
SULT
OF
YEARS
OF
SCIENTIF-‐
IC
STUDY
COMBINED
WITH
THE
EXPERIENCE
OF
YEARS.
Técnicas
De
Diseño
También
son
técnicas
de
esamación.
Ayudan
a
generar
escenarios
de
pruebas
eficaces.
Tienen
el
concepto
de
probar
lo
menos
posible
pero
tanto
como
haga
falta.
Es
donde
mayor
parte
del
esfuerzo
de
Tesang
debe
concentrarse.
Miden
la
CALIDAD
de
un
objeto
de
prueba
desde
disantos
puntos
de
vista.
Reducen
la
posibilidad
de
un
error
humano
mientras
se
testea.
¡Muchas
gracias!
www.bstriker.com
Logo@Copyright