how perform automation testing java j2ee applications
Por lo general, las aplicaciones J2EE son muy grandes y contienen varios componentes desde la pantalla del front-end hasta la base de datos del back-end. Se prefieren las pruebas automatizadas a las manuales para aplicaciones tan grandes debido al ahorro de tiempo y esfuerzo. Las pruebas automatizadas generalmente se realizan con la ayuda de herramientas y marcos.
Una aplicación J2EE contiene varios componentes; consulte la parte 1 de esta serie de pruebas de aplicaciones Java, es decir, ' Descripción general de las aplicaciones Java ' para más detalles.
Como resumen: JSP es el componente de vista o la pantalla. JSF es un marco de componentes de vista. JavaScript se utiliza para la validación de la pantalla. Servlet, Framework, EJB, Bean y otras clases de Java se utilizan para escribir lógica empresarial.
Las pruebas automatizadas se pueden realizar con una herramienta o una combinación de herramientas para cada componente de Java. Tenga en cuenta que las pruebas de aplicaciones pueden no estar completamente automatizadas. La decisión de automatizar depende del tamaño y la complejidad de la aplicación y de las preferencias del desarrollador, evaluador y arquitecto. Teniendo en cuenta las pruebas, al escribir aplicaciones, el proceso será más sencillo para el equipo y producirá un producto final de calidad que cumpla con las altas expectativas del cliente.
Java pasando una matriz a un método
Lo que vas a aprender:
- Etapas del proceso de prueba automatizado:
- Selección de herramientas
- Ventajas de las pruebas automatizadas de aplicaciones J2EE
- Conclusión:
- Lectura recomendada
Etapas del proceso de prueba automatizado:
Para pruebas automatizadas efectivas , el enfoque de prueba debe pensarse en detalle antes del desarrollo de la aplicación. Hay dos procesos separados:
- Desarrollo de aplicaciones con la herramienta de prueba automatizada en mente
- Las etapas de la prueba en sí.
El siguiente diagrama de flujo describe el proceso de desarrollo con pruebas de automatización.
Las siguientes etapas describen el proceso de prueba de automatización :
#1) Haz un análisis para determinar si se deben realizar pruebas manuales o de automatización . Además, analice qué partes de las pruebas en la aplicación deben automatizarse y cuáles deben ser manuales.
#2) Una vez que haya un alcance o requisito para las pruebas de automatización, realice un análisis de viabilidad.
#3) Decida y seleccione una herramienta adecuada. Una vez que se conocen los componentes involucrados en la aplicación J2EE y se comprende la complejidad de la aplicación, se pueden elegir una o más herramientas según sea necesario para las pruebas.
Ejemplo, para una herramienta de navegación de pantalla de aplicación completamente basada en JSP, como Selenium Webdriver puede ser suficiente. Tenga en cuenta que para la aplicación de interfaz de usuario basada en JSF, además de las herramientas de prueba de navegación de pantalla y JUnit, es posible que necesite herramientas específicas de JSF para probar.
#4) Analice y decida cuántas etapas de la prueba deben realizarse. Si se van a realizar Unidad, Integración, Funcional / Sistema y Regresiones, seleccione la herramienta adecuada para cada etapa.
#5) Analizar el impacto de la herramienta de prueba en el diseño de una aplicación. Si las pruebas se van a automatizar, es importante desarrollar aplicaciones teniendo en cuenta la herramienta.
declarando una matriz de objetos en java
#6) Desarrolle una aplicación piloto o modelo, ejecute la herramienta y verifique que la herramienta agregue el valor estimado durante la fase de análisis. Si este paso sale según lo planeado, la herramienta se puede finalizar para la aplicación.
#7) Una vez que la aplicación esté lista para ser probada, escriba los scripts de prueba y ejecute la herramienta.
Selección de herramientas
Seleccionar la herramienta de prueba de automatización adecuada para una aplicación J2EE depende en gran medida del tipo de aplicación y las tecnologías utilizadas. Aparte de esto, hay varios otros factores que afectan la selección de herramientas:
1) Tipo de aplicación - Una aplicación J2EE puede tener muchas variaciones. Algunas se desarrollan con marcos como Struts, Spring, Hibernate, algunas usan solo tecnologías del lado del servidor (JSP, Servlets), mientras que otras aplicaciones se construyen de un extremo a otro, como los componentes de vista, el controlador, la lógica empresarial y la base de datos.
Se pueden elegir una o más herramientas según las tecnologías utilizadas. Para conocer las herramientas disponibles para componentes J2EE, consulte el siguiente artículo de esta serie.
2) La complejidad de la aplicación - Si la aplicación es compleja y tiene implicaciones financieras para un gran número de usuarios, las pruebas deben realizarse a un nivel detallado con las herramientas adecuadas.
Si la aplicación es simple, como una visualización de informes y datos con solo unos pocos usuarios, las pruebas se pueden realizar con herramientas simples de código abierto.
3) Tipo de prueba - Es posible que una herramienta de prueba unitaria no funcione bien para las pruebas de integración y viceversa.Por ejemplo, JUnit es una herramienta popular para pruebas unitarias, pero TestNG se utiliza para pruebas de integración.
4) El presupuesto de las pruebas - Muchas de las herramientas populares son de código abierto, por lo que se adaptan a la mayoría de los proyectos. En el caso de herramientas tecnológicas específicas, es posible que se requiera que el equipo verifique si el costo de la herramienta es aceptable.
5) El marco de tiempo de la prueba - Como en la mayoría de los desarrollos de aplicaciones, los plazos son ajustados. Algunas herramientas pueden requerir más tiempo que otras para el aprendizaje, la configuración del entorno y la redacción de casos de prueba.
6) Apoyo al medio ambiente - Es importante seleccionar las herramientas de prueba J2EE en función del entorno en el que se ejecutará la aplicación. Por ejemplo, algunos se ejecutan solo en Windows y otros se basan en el idioma.
7) Conocimiento del probador - El probador puede estar familiarizado y tener experiencia en una herramienta en particular. Si los requisitos de su proyecto y los conocimientos del evaluador coinciden, se puede seleccionar esa herramienta para ahorrar tiempo en la capacitación.
8) Compatibilidad con otros marcos de prueba - En aplicaciones J2EE grandes, cuando se utilizan varios componentes como JSP, Servlets, JavaScript, JSP, EJB y Base de datos, una herramienta no funcionará para todos.
Por lo tanto, los marcos de prueba elegidos deberían poder adaptarse a otros marcos.
9) Visualización de resultados de pruebas y estadísticas - Para la mayoría de los proyectos, la legibilidad de las pruebas puede formar un criterio importante. Por lo tanto, puede resultar importante que los resultados de la ejecución de la prueba se muestren en un formato de pantalla adecuado con una lista de defectos, motivos, etc.
Ventajas de las pruebas automatizadas de aplicaciones J2EE
- Las aplicaciones J2EE normalmente son grandes; La prueba manual de toda la aplicación puede resultar muy lenta y propensa a errores.
- Varias herramientas de prueba automatizadas J2EE vienen con características básicas de prueba de funcionalidad. Se desarrollan y diseñan teniendo en cuenta el componente. Esto hace que la vida del probador sea mucho más fácil. Por ejemplo, una herramienta de prueba JSF, JSFUnit, tiene la posibilidad de probar las clases del marco.
- La eficiencia de las pruebas automatizadas es alta. En las pruebas manuales, la corrección depende de la habilidad del evaluador.
- En proyectos en los que se producen cambios repetitivos y es necesario realizar varias pruebas del mismo código, las pruebas automatizadas resultan beneficiosas.
- Las pruebas automatizadas cubren un conjunto más amplio de ejecuciones de casos de prueba. Como este tipo de pruebas no depende de los humanos, la velocidad de ejecución es rápida y se puede cubrir un conjunto más grande en poco tiempo.
- Como no se requiere la intervención del probador, en su mayor parte, los resultados de las pruebas son más precisos que las pruebas manuales. El proceso de prueba también es consistente.
Conclusión:
Se prefieren las pruebas automatizadas para aplicaciones J2EE grandes. Es posible que la prueba de una aplicación no esté completamente automatizada. Las pruebas manuales y automatizadas van de la mano. Si bien el aprendizaje y la configuración inicial de la herramienta pueden llevar mucho tiempo, una vez que se establece el proceso, las pruebas son más eficientes.
En el artículo siguiente , veremos una lista completa de marcos y herramientas de prueba de componentes J2EE populares.
Háganos saber su experiencia en pruebas de automatización y consultas.
Lectura recomendada
- Las 11 mejores herramientas de automatización para probar aplicaciones de Android (herramientas de prueba de aplicaciones de Android)
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Los 25 mejores marcos y herramientas de prueba de Java para pruebas de automatización (Parte 3)
- ¿Cómo realizar pruebas de rendimiento manuales?
- Descarga del libro electrónico Testing Primer
- Prueba de base de datos con JMeter
- Instalación de aplicaciones y preparación para las pruebas de Appium
- ¿Los probadores están perdiendo el control sobre las pruebas debido a la automatización?