Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interfaces
Técnico Superior en
Desarrollo de Aplicaciones
Multiplataforma
© Centro para la Cultura y el Conocimiento, S.A.
ISBN-13: 978-84-7157-397-1
ISBN-10: 84-7157-397-0
E-m06-22
Printed in Spain
Sumario
1. Introducción a la realización de pruebas................................................................. 153
2. Objetivo, importancia y limitaciones del proceso de prueba. Estrategias............. 154
3. Pruebas de integración: ascendentes y descendentes............................................ 157
4. Pruebas de sistema: configuración y recuperación................................................. 158
5. Pruebas de regresión................................................................................................ 160
6. Pruebas funcionales.................................................................................................. 161
7. Pruebas de capacidad y rendimiento....................................................................... 162
8. Pruebas de uso de recursos...................................................................................... 163
9. Pruebas de seguridad............................................................................................... 164
10. Pruebas manuales y automáticas. Herramientas software
para la realización de pruebas.................................................................................. 165
11. Pruebas de usuario.................................................................................................. 166
12. Pruebas de aceptación de usuario......................................................................... 167
13. Versiones alfa y beta................................................................................................ 168
Webgrafía....................................................................................................................... 169
152
TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA
Objetivos
▶ Conocer el objetivo de la realización de pruebas y qué estrategias se pueden seguir para
implementarlas.
▶ Saber identificar las versiones alfa y beta de una interfaz gráfica y de cualquier aplicación.
Módulo | Desarrollo de Interfaces
1. Introducción
a la realización de pruebas
En el mundo del desarrollo de software un requisito indispensable es la calidad del producto
terminado.
En los siguientes apartados se estudiarán las diferentes etapas y elementos que intervienen
en las pruebas de software para medir y mejorar la calidad de las aplicaciones que desarrolle-
mos.
153
TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA
Módulo | Desarrollo de Interfaces
2. Objetivo, importancia y
limitaciones del proceso de
prueba. Estrategias
Hay que tener cuenta que todas las aplicaciones que se desarrollan tienen defectos y debemos
ser capaces de detectarlos y eliminarlos.
El objetivo inmediato es evitar que los defectos se propaguen a fases posteriores del desa-
rrollo y que pongan en riesgo el correcto funcionamiento de la aplicación en estado de produc-
ción.
154
▶ Validación. El producto final es correcto, y el cliente está conforme con lo que esperaba.
TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA
▶ Proceso de
verificación y
validación del
software.
Módulo | Desarrollo de Interfaces
2.2. Importancia de las pruebas
A nivel de desarrollo de software, cuanto más tarde se detecta un defecto, más costosa (tiempo,
recursos y dinero) es su corrección.
Debemos tratar de identificar y solucionar los defectos, tan pronto como son detectados, con
la mejora de los procesos abiertos.
▶ Aumentar la productividad.
155
Como ya hemos comentado, un proyecto de software desarrollado siempre tendrá defectos y
la principal finalidad del proceso de prueba es minimizarlos.
Recuerda:
Aunque se realicen las pruebas más importantes, será prácticamente imposible examinar to-
dos los casos que se puedan presentar. Nunca será posible realizar todas las comprobaciones
de la aplicación.
Módulo | Desarrollo de Interfaces
Las pruebas unitarias permiten probar ciertas partes del código de forma independiente. De
esta manera, se puede probar el funcionamiento de las partes o módulos que componen la
aplicación por separado.
Las pruebas de integración consisten en verificar que el software cumple su objetivo y se rea-
liza sobre el conjunto de todos los elementos que lo componen al mismo tiempo.
Las pruebas de integración ascendentes consisten en comenzar por módulos de bajo nivel
hasta llegar a la aplicación final.
157
Para realizar estas pruebas se pueden seguir los siguientes pasos:
1. Se agrupan los módulos de bajo nivel por grupos con funciones similares.
4. Se reemplazan los controladores y se combinan con grupos que están en niveles supe-
riores de la estructura hasta el programa principal.
2. Se van cambiando los respaldos de módulos inferiores por los módulos reales.
4. Tras terminar con éxito las pruebas, se reemplaza el respaldo por otro real.
Módulo | Desarrollo de Interfaces
4. Pruebas de sistema:
configuración y
recuperación
Las pruebas de sistema buscan verificar el correcto comportamiento del sistema en su con-
junto.
En concreto, se comprueban los requisitos no funcionales del programa, como los siguien-
tes:
▶ Seguridad.
▶ Velocidad.
▶ Exactitud.
▶ Fiabilidad.
En este tipo de pruebas también se comprueban los interfaces externos con otros entornos
operativos, herramientas y unidades físicas.
158
Las pruebas de configuración y las pruebas de recuperación son, entre otras, pruebas de siste-
ma.
TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA
Pruebas de configuración
Pruebas de recuperación
Las pruebas de recuperación son pruebas de sistema que fuerzan el fallo del software de mu-
chas formas y verifican que la recuperación se lleva a cabo de forma satisfactoria.
Módulo | Desarrollo de Interfaces
La recuperación de la aplicación puede llevarse a cabo de manera automática o manual.
▶ Los datos.
▶ El proceso de arranque.
159
TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA
Módulo | Desarrollo de Interfaces
5. Pruebas de regresión
Una prueba de regresión se realiza cuando se añaden nuevos componentes y módulos a una
aplicación.
Se hace necesario, por tanto, volver a ejecutar un subconjunto de pruebas para confirmar
que los nuevos cambios no han propagado errores nuevos.
La pruebas de regresión son la repetición selectiva de pruebas que detectan posibles fallos
introducidos durante la modificación de una aplicación o alguno de sus componentes.
▶ Añadir pruebas adicionales centradas en las funciones que se vean afectadas por los
cambios.
160
Las pruebas de regresión forman parte integral del método de desarrollo de software Progra-
mación Extrema (Extreme Programming).
TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA
Los principales valores de la Programación Extrema tienen mucha relación con las pruebas
de regresión, ya que se centran en hacer las cosas simples, en una amplia comunicación en el
desarrollo y retroalimentación continua.
Nota:
http://www.extremeprogramming.org/
Módulo | Desarrollo de Interfaces
6. Pruebas funcionales
Las pruebas funcionales, también conocidas como pruebas de conformidad, validan si el
comportamiento de la aplicación desarrollada cumple las especificaciones (requisitos funcio-
nales) para la que fue diseñada.
Normalmente, los que realizan este tipo de pruebas son los analistas de la aplicación con la
ayuda de los usuarios finales.
Las pruebas funcionales tratan de dar respuesta a preguntas del tipo: “¿funciona esta utilidad
de la aplicación?”, “¿el usuario podría llevar a cabo tal función?”.
En este tipo de pruebas interesa verificar que las salidas que devuelve la aplicación son las
esperadas, en función de las entradas que tenga.
▶ Análisis de valores límite. Se seleccionan como entradas los valores que se encuentran
en el límite de validez de la aplicación.
161
▶ Pruebas aleatorias. Se selecciona como entradas una muestra al azar. Son pruebas es-
pecíficas para aplicaciones interactivas.
▶ Diseñar el plan de pruebas. Una vez se conocen los requisitos y características del soft-
ware, se procede a preparar las tareas de prueba específicas.
▶ Ejecutar las pruebas. En esta fase se llevan a cabo las diferentes pruebas diseñadas y
acordadas anteriormente.
▶ Gestionar las posibles incidencias. Una vez se tienen los resultados de las pruebas, es
importante recopilar los posibles errores detectados para proceder a su corrección por
parte del equipo de desarrollo.
Las pruebas funcionales se pueden ejecutar tanto de manera manual como automática.
7. Pruebas de capacidad y
rendimiento
Las pruebas de capacidad, también conocidas como pruebas de resistencia o estrés, bus-
can conocer hasta dónde un sistema es capaz de soportar determinadas condiciones extremas.
También tiene como finalidad determinar la capacidad de una aplicación de soportar entradas
con errores o incorrectas.
Para realizar una prueba de capacidad se pueden usar los siguientes métodos:
Las pruebas de rendimiento buscan conocer el rendimiento del software en tiempo de eje-
162
cución.
Las pruebas de rendimiento se realizan durante todas las etapas del proceso de prueba. De-
bemos tener en cuenta que, si se tarda en detectar un defecto de rendimiento, el coste de
solucionarlo será mayor.
También existe la necesidad de disponer de técnicas que aseguren la adaptación a otros sis-
temas, para los que la aplicación no fue específicamente diseñada pero su ejecución pueda
llevarse a cabo.
La optimización que propone este tipo de pruebas es necesaria realizarla tanto en el código
como en el uso del código.
Todo ello con el objetivo de lograr la adaptación del software a la arquitectura de destino y de
esta manera reducir los tiempos de ejecución de forma automática.
Los elementos más críticos en los sistemas informáticos y que con más frecuencia pueden alte-
rar las pruebas de uso de recursos son la memoria RAM, las unidades de procesamiento o CPUs
y el espacio de almacenamiento.
Conviene resaltar que, aunque en la actualidad los sistemas son cada vez más potentes, toda-
vía existen muchos entornos en los que se utilizan recursos que pueden estar obsoletos o faltos
de mantenimiento.
163
Por eso, las pruebas de uso de recursos son fundamentales para garantizar que nuestras apli-
caciones puedan funcionar en la mayoría de entornos, consiguiendo con ello la mejor acep-
tación por el mayor número de clientes.
▶ Las pruebas de
eficiencia del
software tienen
como objetivo
garantizar su
funcionamiento en
varios entornos.
Módulo | Desarrollo de Interfaces
9. Pruebas de seguridad
Las pruebas de seguridad o de integridad intentan verificar que los elementos de protección
añadidos en el sistema pueden protegerlo de accesos no autorizados.
Se trata de medir la capacidad de un sistema de soportar ataques, que pueden ser intenciona-
dos o accidentales.
Con estas pruebas se intenta verificar que el sistema es robusto frente a problemas relacio-
nados con la seguridad, como podrían ser los siguientes:
▶ Bloquear el sistema.
Recuerda:
Debemos tener especial cuidado con posibles entradas no autorizadas cuando se maneja
164
▶ Las pruebas de
seguridad miden
la capacidad
del sistema de
soportar ataques
intencionados y
accidentales.
Módulo | Desarrollo de Interfaces
10. Pruebas manuales y
automáticas. Herramientas
software para la realización
de pruebas
Los tipos de pruebas vistos hasta ahora se suelen ejecutar de manera regular con el objetivo de
probar que el software desarrollado funciona correctamente.
Una de las claves es que estas pruebas puedan realizarse de manera automática ya que el
coste de ejecutarlas manualmente de manera constante sería inasumible.
165
Motivos para realizar la automatización de pruebas son los siguientes:
▶ Reducir costes.
Es interesante utilizar una herramienta que automatice el proceso de pruebas. Estas herra-
mientas de pruebas de software persiguen automatizar tres tareas fundamentales:
▶ Tareas mecánicas.
▶ Xray. Herramienta muy popular para la generación de casos de prueba completos, ges-
tionando así todo el ciclo de pruebas del producto.
Módulo | Desarrollo de Interfaces
Para comprobar la facilidad de uso de una aplicación se pueden incluir en los ensayos de
pruebas estos elementos relacionados con los usuarios:
▶ Encuestas y entrevistas.
▶ Grupos de enfoque.
▶ Las pruebas
de usuario
comprueban la
facilidad de uso
de una aplicación.
Módulo | Desarrollo de Interfaces
12. Pruebas de aceptación
de usuario
Las pruebas de aceptación de usuario o UAT (del inglés User Acceptance Testing), también lla-
madas pruebas de validación, se utilizan para comprobar que un software cumple con los re-
querimientos iniciales y que funciona satisfaciendo las expectativas del cliente.
Para que la prueba sea lo más objetiva posible, es el mismo cliente quien la debe realizar.
La validación general del sistema se realiza mediante pruebas de caja negra para comprobar
que los requisitos iniciales se cumplen.
Las pruebas de caja negra se centran en verificar el código fuente de una aplicación sin tener
en cuenta la estructura completa del código de la aplicación, así como posibles detalles en la
implementación o posibles ambientes internos de ejecución en los programas.
167
▶ Se comprueba que la documentación es correcta y entendible.
▶ Las pruebas de
Pruebas alfa
Las pruebas alfa las lleva a cabo el cliente estando presente el desarrollador y en el sitio don-
de se ha desarrollado la aplicación.
Se intenta conseguir que el cliente use la aplicación como lo haría en su lugar de trabajo.
Se hace uso de un entorno controlado, buscando las mismas condiciones que hay en el lugar
de trabajo del cliente.
Pruebas beta
TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA
Las pruebas beta las lleva a cabo el cliente, pero esta vez en su lugar de trabajo directamente y
sin la presencia del desarrollador.
Todos los problemas detectados serán registrados por el propio cliente, comunicando regular-
mente al desarrollador las posibles correcciones.
Gracias a esta prueba se puede evaluar el grado de calidad del software a través de su uso “en
vivo”.
Recuerda:
Las pruebas alfa permiten la simulación de un entorno en tiempo real antes de pasar el soft-
ware a las pruebas beta. Se modela así una versión de software estable,
para que en las pruebas beta se pueda involucrar el cliente y se sienta integrado
en el desarrollo y mejora del producto.
Módulo | Desarrollo de Interfaces
Webgrafía
https://netbeans.apache.org/kb/docs/java/quickstart-gui.html
https://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html
https://docs.oracle.com/javase/tutorial/uiswing/index.html
https://docs.microsoft.com/en-us/dotnet/desktop/winforms/interfaces-related-to-data-
binding?view=netframeworkdesktop-4.8
https://docs.oracle.com/javase/tutorial/uiswing/events/index.html
https://www.oracle.com/java/technologies/foundation-classes-faq.html
https://docs.oracle.com/javase/tutorial/uiswing/events/intro.html
http://msdn.microsoft.com/es-es/library/ms752059.aspx
https://apache.github.io/royale-docs/features/mxml
https://www.xul.fr/en-xml-svg.php
https://doc.qt.io/qtdesignstudio/index.html
https://docs.oracle.com/javase/tutorial/uiswing/events/intro.html
169
https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html
https://www.interaction-design.org/literature/topics/human-computer-interaction
https://docs.oracle.com/javase/tutorial/deployment/jar/signindex.html
https://help.ubuntu.com/community/AptURL
https://www.netinbag.com/es/internet/what-is-context-sensitive-help.html
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/htmlhelp/microsoft-ht-
ml-help-downloads
https://getgreenshot.org/
https://www.uaeh.edu.mx/scige/boletin/prepa4/n1/e8.html
www.cursosccc.com