Está en la página 1de 24

Traducido del inglés al español - www.onlinedoctranslator.

com

1
Fundamentos de Java

3-4
Desarrollo y prueba de una aplicación

Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos.

2
Objetivos
• Esta lección cubre los siguientes objetivos:
−Demostrar estrategias de prueba de programas
−Reconocer las fases para desarrollar una aplicación de software

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 3

3
Estrategias de prueba de programas

• Un programador prueba un programa muchas veces durante el curso


de su desarrollo para asegurarse de que funciona correctamente.
• Estrategias de prueba del programa:
−Pruebe con frecuencia después de escribir cada método, o una
secuencia de métodos.
−Si aparecen errores, corríjalos
−Ejecute el programa para observar cómo los métodos hacen que los
objetos se muevan
−Continúe agregando métodos y ajústelos según sea necesario

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 4

La prueba es un aspecto importante del desarrollo de software. Está constantemente probando su programa mientras
escribe el código fuente, compila y ejecuta. Tener una estrategia de prueba clara puede contribuir en gran medida a la
calidad de su software.

Algunos aspectos de su código serán probados por usted, pero otros aspectos serán probados por otros.
Tener otros usuarios, especialmente aquellos a los que está dirigido el software, probando su programa, lo
ayudará a eliminar errores y aumentar la funcionalidad de su software.

4
Compilación y Depuración
• Cada carácter en el código fuente cuenta
• Un carácter faltante o incorrecto podría hacer que su
programa falle
• En Greenfoot, la compilación resalta los errores de sintaxis y
lo que se requiere para corregirlos
• Esto te ayuda a desarrollar buenas técnicas de programación.
Los bugs son errores en el código de un programa de computadora. Para depurar
un programa, el programador lee los mensajes de error que proporciona Greenfoot.
Luego, el programador corrige esos errores en la sintaxis. Las pruebas pasarán a la
lógica del código.

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 5

Recuerde que compilar software con éxito no significa que esté libre de errores. Solo
significa que la sintaxis es correcta.

5
Pasos para depurar su programa

• Si no hay errores, el mensaje "Clase compilada –

• Si hay errores, se resalta la sintaxis incorrecta


Ror

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 6

6
Claves para reconocer errores de sintaxis de Java

1 Localizar el principio y el final de un método

2 Asegúrese de que existan todas las llaves iniciales {y finales}

3 Asegúrese de que existan todos los paréntesis abiertos (y cerrados)

4 Asegúrese de que todas las líneas de código terminen con un punto y coma

5 Asegúrese de que los nombres de las clases estén escritos y en mayúsculas correctamente

6 Revise toda la notación de puntos (es decir, System.out.println)

7 Asegúrese de que los caracteres de aspecto similar sean correctos (el número 1 frente a la letra i)

8 Asegúrese de que todas las comillas de cadena sean dobles, no simples.

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos.
7

El uso de una buena sangría de código mejorará en gran medida la legibilidad de su código. Esto hace que la localización de
errores como los enumerados anteriormente sea mucho más fácil y requiere menos tiempo.

7
Diseño automático

• Una función útil dentro del editor de código de Greenfoot es la


función de diseño automático
• Encontrará que esto estructura automáticamente su código
y
¡son!

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 8

El diseño automático sangrará el código entre paréntesis. Esto demuestra buenas técnicas de diseño de programas
para hacer que su código sea más legible. Podría escribir todo su código en una línea y a Greenfoot no le
importaría, pero tratar de encontrar errores en su código se vuelve muy difícil. Además, simplemente tratar de leer
cómo funciona el código se convierte en una tarea enorme y onerosa.

8
Fases para desarrollar una aplicación

1.Analizar el problema a resolver o tarea a realizar


2.Diseñe la solución, que comúnmente es un juego en
Greenfoot
3.Desarrollar el juego en Greenfoot
4.Pruebe el juego para asegurarse de que funciona y
cumple con los requisitos de su análisis y diseño.
5.Desarrollar un juego en Greenfoot sigue los mismos pasos
que desarrollar una aplicación de software

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 9

Planificar tu juego antes de empezar a codificar te ahorrará mucho tiempo. Algunos juegos simples requerirán muy poca
planificación, pero a medida que aumenta la complejidad del juego, también lo hace la necesidad de técnicas de
planificación adecuadas.

9
Fase de Análisis
• En la fase de análisis, determine qué problema resolverá el
juego, o la tarea que realizará, utilizando el análisis orientado a
objetos.

En el análisis orientado a objetos, los programadores de Java analizan


un problema y luego crean objetos para construir un sistema, o m
específicamente, para resolver el problema.

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 10

La identificación de los objetos requeridos en el software lo ayudará a determinar el número de


subclases requeridas bajo la clase Actor. Aunque normalmente tendremos un nivel de clases en Actor,
en programas más grandes podemos tener varios niveles en los que tenemos Actor -> subclase-
> subclase donde las clases comparten campos y métodos comunes.

10
Tareas de la fase de análisis

• Identificar un problema a resolver


• Escriba una breve declaración de alcance que indique el tipo de
solución (juego) que resolverá el problema
• Reúna los requisitos del público objetivo
• Estas son las personas que probablemente jugarán tu juego
• Identificar y describir objetos en el juego.
− Objetos físicos (coche, persona, árbol)
− Objetos conceptuales ("no físicos") (temporizador que cuenta el tiempo
restante en el juego)
− Atributos de todos los objetos, como color, tamaño, nombre y forma
− Operaciones que realizan los objetos (mover, girar, comer otros
objetos)

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 11

La recopilación de la información requerida lo ayudará mejor a planificar una solución.

11
Ejemplo de análisis

Elemento de análisis Descripción

Quiero crear un juego para enseñar a los estudiantes a controlar una


Dominio del problema
abeja con las teclas del cursor.

jugador del juego Debería ser fácil de jugar para los niños de todas las
requisitos edades. Requiere que el jugador tenga un teclado.

1 objeto de abeja que atrapará moscas


Múltiples objetos de mosca
Objetos
1 objeto Araña que atrapará moscas y la Abeja 1
Mundo con un fondo de color claro
Abeja: muévete, gira y atrapa moscas Volar:
muévete aleatoriamente por la pantalla
Operaciones de objetos Recuento de vida: cuenta atrás de 1 a 3 cada vez que la abeja
es atrapada por una araña
Antecedentes: no hacer nada

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos.
12

Definir las acciones de un objeto le dará la base de los métodos y campos requeridos en
sus clases.

12
Análisis Pre y Post Condiciones
• Capture información para respaldar las pruebas de:
Elemento a probar Ejemplo

Valores inicializados de variables versus valores finales después de la


Condiciones previas y posteriores al juego
ejecución del programa

Tiempos de ejecución anticipados y tasas de


Las tasas de ejecución pueden variar según la variación del tamaño de la memoria de la
ejecución de comparación dado un conjunto de
computadora
condiciones

Resultados esperados para los recuentos de Un contador de bucle de tres producirá tres nuevas
ejecución de sentencias variables

Representaciones numéricas y
El valor máximo de un número entero
limitaciones

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 13

Las pruebas se pueden planificar antes de que comience la codificación. Esto tiene la ventaja de que los
programadores piensan en lo que se va a probar cuando comienzan a codificar una solución.

13
Fase de diseño

• La solución que diseñe tendrá la forma de un juego


Greenfoot que su público objetivo pueda jugar.
• Diseñe su juego en un guión gráfico textual que planifique
los algoritmos o métodos que los objetos realizarán en
respuesta a los comandos del teclado o los clics del mouse.

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 14

Un buen diseño te permite pensar cómo van a actuar e interactuar todos tus objetos. Es fácil
al escribir código que no sigue un diseño para quedar atrapado solo con el problema actual y
no la imagen más grande. Esto puede conducir a soluciones mal codificadas.

14
Ejemplo de guión gráfico textual

• Este guión gráfico textual en la siguiente diapositiva describe un


juego simple en el que controlas una abeja para tratar de atrapar
moscas mientras evitas una araña.
• La araña también atrapará moscas.
• Ganarás puntos por cada mosca atrapada y perderás una vida
cada vez que una araña atrape a la abeja.
• El juego termina cuando te quedas sin vidas.

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 15

15
Ejemplo de guión gráfico textual

• Cuando se hace clic en el botón Ejecutar, la abeja


avanzará continuamente
• El jugador usa las teclas de flecha en el teclado para
controlar los movimientos izquierdo y derecho de Bee.
• Cuando la abeja está en la misma casilla que una mosca
que se mueve aleatoriamente, se la atrapa y se la retira del
juego y se agrega otra mosca.

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. dieciséis

Un storyboard textual está completo cuando podrías dárselo a cualquier programador y produciría
resultados muy similares a otros. Si todos crearon soluciones completamente diferentes, entonces fue el
guión gráfico el que estaba incompleto.

Puede probar su guión gráfico entregándoselo a tres personas y luego pídales que le expliquen
cómo funciona el juego. Si hay grandes diferencias en sus explicaciones, entonces su guión gráfico
requiere información adicional.

dieciséis
Ejemplo de guión gráfico textual

• Una araña se moverá aleatoriamente por la pantalla.


• Si la araña atrapa una abeja, el usuario pierde una vida.
• Si atrapa una mosca, se elimina del juego.
• El juego termina cuando al usuario no le quedan vidas

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 17

Un storyboard textual está completo cuando podrías dárselo a cualquier programador y produciría
resultados muy similares a otros. Si todos crearon soluciones completamente diferentes, entonces fue el
guión gráfico el que estaba incompleto.

Puede probar su guión gráfico entregándoselo a tres personas y luego pídales que le expliquen
cómo funciona el juego. Si hay grandes diferencias en sus explicaciones, entonces su guión gráfico
requiere información adicional.

17
Fase de desarrollo
• Después de finalizar su guión gráfico, desarrolle su juego en
Greenfoot
• Consulte su guión gráfico para determinar los métodos que
necesita para programar

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 18

En esta diapositiva no hemos escrito ningún código. Solo creamos las clases que requerimos y agregamos
instancias de estas clases a nuestro escenario para tener una idea de cómo se verá el programa.

18
Fase de prueba

• Después de escribir una sección de código, compílelo y luego


pruébelo haciendo clic en el botón Ejecutar en el entorno.
• Observe el juego y luego revise el código según sea necesario.
• Para fines de aseguramiento de la calidad:
−Haz que otras personas prueben tu juego y te den su opinión.
−Busca personas que se ajusten al público objetivo de tu juego
• Escriba planes de prueba que:
−Examinar las condiciones previas y posteriores
−Compare las tasas de tiempo de ejecución y los recuentos de ejecución
−Probar minuciosamente las representaciones y limitaciones numéricas

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 19

Probar el programa en etapas pequeñas le permite identificar errores más fácilmente ya que tiene una mejor idea
de dónde residen probablemente. Si escribió todo el programa antes de probarlo, le llevaría mucho más trabajo
encontrar dónde podrían estar ubicados estos errores.

19
Prueba de representaciones numéricas y límites
Ejemplo 1

• Por ejemplo, una solución bancaria requiere un redondeo


preciso de números
• Este programa podría producir resultados incorrectos si el redondeo
de un número no se estableciera en dos dígitos después de un punto
decimal
• La suma de 1/2 centavo multiplicado por un millón de
clientes podría producir un costoso error de
programación

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 20

20
Prueba de representaciones numéricas y límites
Ejemplo 2

• Por ejemplo, una construcción IF en un programa espera


un valor positivo de 5 a 9 para luego agregar ese valor a
otra variable
−El programa alimenta incorrectamente la variable con un valor de 2
−Esto hace que la construcción IF falle y la variable que espera un
cambio condicional no obtendrá la cantidad esperada, por lo que la
operación de la estructura de datos será diferente.
−Este es un ejemplo de donde el programa ejecutará el resultado
de la construcción condicional, incluso si es incorrecto

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 21

21
Terminología
• Los términos clave utilizados en esta lección incluyeron:
−Insectos
−Documentación

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 22

22
Resumen
• En esta lección, debería haber aprendido a:
−Demostrar estrategias de prueba de programas
−Reconocer las fases para desarrollar una aplicación de software

JF 3-4
Desarrollo y prueba de una aplicación Copyright © 2020, Oracle y/o sus filiales. Reservados todos los derechos. 23

23
24

También podría gustarte