Subido por bossdavidgarcia

ED03 Tarea

Anuncio
1.
Realiza un análisis de caja blanca completo del método ingresar.
En caso que sea menor a 0, nos muestra “no se puede ingresar cantidad
negativa” y setea el valor de la variable iCodErr a -1
En caso que sea -3 muestra “Error detectable en pruebas de caja blanca” y
setea el valor de la variable iCodErr a 2(este caso solo se vería en caja
blanca porque necesitaríamos poder ver el código).Además este caso
nunca se mostraria ya que al cumplirse el primero mostraria “no se puede
ingresar cantidad negativa”.
Si no se cumple ninguno de los anteriores no muestra mensaje y setea el
valor iCodErr a 0.
En este grafo:
NODO LINEA/Condición
1
1-2
2
3 condicion <0
3
8 condicion==-3
4
4-5 “No se puede ingresar cantidad negativa”
5
9-10 “Error detectable en pruebas de caja blanca”
6
14-21 Final
La complejidad ciclomática de mi grafo según la formula es la siguiente:
V (G) = a - n + 2 Seria en este caso: 7-6+2=3
Dando resultado de complejidad ciclomatica de 3
2. Realiza un análisis de caja negra, incluyendo valores límite y conjetura de
errores del método retirar. Debes considerar que este método recibe como
parámetro la cantidad a retirar, que no podrá ser menor a 0. Además en
ningún caso esta cantidad podrá ser mayor al saldo actual. Al tratarse de
pruebas funcionales no es necesario conocer los detalles del código pero te
lo pasamos para que lo tengas.
-Numero positivo superior al saldo actual por lo cual no debe dejarnos retirar esa
cantidad al superar el saldo.
-Numero positivo menor al saldo, debería dejarnos retirar la cantidad
-Numero positivo igual que el saldo, debería dejar retirar.
-0 no nos debería retirar absolutamente nada.
-probar con un valor negativo para que diese error por no usar un valor positivo
3. Crea la clase CCuentaTest del tipo Caso de prueba JUnit en Eclipse que
nos permita pasar las pruebas unitarias de caja blanca del método ingresar.
Los casos de prueba ya los habrás obtenido en el primer apartado del
ejercicio. Copia el código fuente de esta clase en el documento.
1. Pantallazos para la creación del caso de prueba jUnit.
En eclipse creamos un proyecto con el código de Ccuenta:
Encima del paquete botón derecho , new, other, java y
luego Junit Test case.
Nos creara un archivo de junit para testear.
2. Detallar y entender el código de la clase CCcuentaTest.
3. Hacer las pruebas y mostrar y explicar los resultados.
Para realizar las pruebas en nuestra junit test que hemos creado, pulsamos botón
derecho run as Junit test y a la izquierda veremos los resultados,
como podremos comprobar aquí:
el caso 1 lo hace correcto, el 2 no llega nunca, ya que al “pisarlo” el primero
nunca llega por la condición de ser negativo, ya saltaría el primero, y el
segundo nunca ocurriría, y el 3 al ser positivo también da correcto el test.
4.
Genera los siguientes puntos de ruptura para validar el comportamiento
del método ingresar en modo depuración.
1. Punto de parada sin condición al crear el objeto miCuenta en la
función main. Línea 3 del código del método main que se presenta
en la siguiente página de este libro.
Doble click en la barra lateral donde queremos el punto de ruptura
en este caso la tercera línea del código que nos facilitan(no
confundir con los enumerados por defecto) ya que hay líneas vacias
y comentarios.
2. Punto de parada en la instrucción return del método ingresar sólo si
la cantidad a ingresar es menor de 0. Línea 20 del código del
método ingresar que se presenta más adelante.
Creamos el punto de ruptura y en propiedades de punto de ruptura le añadimos el
condicional cantidad<0 por completarlo mas:
3. Punto de parada en la instrucción donde se actualiza el saldo, sólo
deberá parar la tercera vez que sea actualizado. Línea 16 del código
del método ingresar que se presenta más adelante.
En este caso hacemos el punto de ruptura, y segundo botón propiedades del punto
de ruptura, vamos a hitcount y le damos 3 aplicamos y cerramos.
Aquí seria el fichero resultante al exportar los breakpoints:
<?xml version="1.0" encoding="UTF-8"?>
<breakpoints>
<breakpoint enabled="true" persistant="true" registered="true">
<resource path="/CCuenta/src/CCuenta.java" type="1"/>
<marker charStart="109" lineNumber="5"
type="org.eclipse.jdt.debug.javaLineBreakpointMarker">
<attrib name="charStart" value="109"/>
<attrib name="org.eclipse.jdt.debug.core.suspendPolicy" value="2"/>
<attrib name="org.eclipse.jdt.debug.ui.JAVA_ELEMENT_HANDLE_ID"
value="=CCuenta/src<{CCuenta.java[CCuenta"/>
<attrib name="charEnd" value="147"/>
<attrib name="org.eclipse.debug.core.enabled" value="true"/>
<attrib name="message" value="Line breakpoint:CCuenta [line: 5] - main(String[])"/>
<attrib name="org.eclipse.debug.core.id" value="org.eclipse.jdt.debug"/>
<attrib name="org.eclipse.jdt.debug.core.typeName" value="CCuenta"/>
<attrib name="workingset_name" value=""/>
<attrib name="workingset_id" value="org.eclipse.debug.ui.breakpointWorkingSet"/>
</marker>
</breakpoint>
<breakpoint enabled="true" persistant="true" registered="true">
<resource path="/CCuenta/src/CCuenta.java" type="1"/>
<marker charStart="1556" lineNumber="45"
type="org.eclipse.jdt.debug.javaLineBreakpointMarker">
<attrib name="charStart" value="1556"/>
<attrib name="org.eclipse.jdt.debug.core.suspendPolicy" value="2"/>
<attrib name="org.eclipse.jdt.debug.ui.JAVA_ELEMENT_HANDLE_ID"
value="=CCuenta/src<{CCuenta.java[CCuenta"/>
<attrib name="org.eclipse.jdt.debug.core.hitCount" value="3"/>
<attrib name="charEnd" value="1592"/>
<attrib name="org.eclipse.debug.core.enabled" value="true"/>
<attrib name="org.eclipse.jdt.debug.core.expired" value="false"/>
<attrib name="message" value="Line breakpoint:CCuenta [line: 45] [hit count: 3] ingresar(double)"/>
<attrib name="org.eclipse.debug.core.id" value="org.eclipse.jdt.debug"/>
<attrib name="org.eclipse.jdt.debug.core.typeName" value="CCuenta"/>
<attrib name="workingset_name" value=""/>
<attrib name="workingset_id" value="org.eclipse.debug.ui.breakpointWorkingSet"/>
</marker>
</breakpoint>
<breakpoint enabled="true" persistant="true" registered="true">
<resource path="/CCuenta/src/CCuenta.java" type="1"/>
<marker charStart="1712" lineNumber="50"
type="org.eclipse.jdt.debug.javaLineBreakpointMarker">
<attrib name="org.eclipse.jdt.debug.core.conditionEnabled" value="true"/>
<attrib name="charStart" value="1712"/>
<attrib name="org.eclipse.jdt.debug.core.suspendPolicy" value="2"/>
<attrib name="org.eclipse.jdt.debug.core.condition" value="cantidad < 0"/>
<attrib name="org.eclipse.jdt.debug.ui.JAVA_ELEMENT_HANDLE_ID"
value="=CCuenta/src<{CCuenta.java[CCuenta"/>
<attrib name="charEnd" value="1735"/>
<attrib name="org.eclipse.debug.core.enabled" value="true"/>
<attrib name="message" value="Line breakpoint:CCuenta [line: 50] [conditional] ingresar(double)"/>
<attrib name="org.eclipse.debug.core.id" value="org.eclipse.jdt.debug"/>
<attrib name="org.eclipse.jdt.debug.core.typeName" value="CCuenta"/>
<attrib name="workingset_name" value=""/>
<attrib name="workingset_id" value="org.eclipse.debug.ui.breakpointWorkingSet"/>
</marker>
</breakpoint>
</breakpoints>
Descargar