¿Qué herramientas se utilizan generalmente para aplicaciones de prueba automatizadas?

Ahora se han aplicado pruebas automatizadas a las pruebas diarias. Esto no es sorprendente, porque las pruebas automatizadas ahorran tiempo en el proceso de prueba y también pueden evitar errores y omisiones de prueba causados ​​por factores humanos.

Hay muchas opciones para herramientas de prueba automatizadas. Algunos son de código abierto, otros son muy caros. Algunas herramientas de automatización salieron hace unos años, algunas acaban de salir al mercado. Cada herramienta tiene ciertas características y es única.

Entre las muchas herramientas de automatización alternativas, es más difícil elegir la herramienta adecuada para el proyecto. El problema es que casi ninguna herramienta existente está totalmente adaptada a los requisitos del proyecto.

Para que las pruebas automatizadas sean efectivas y beneficiosas, debe tener:

1. Investigar y probar los productos de software del proyecto;

2. Identificar qué pruebas deben automatizarse

3. Desarrollar requisitos para pruebas automatizadas y herramientas de prueba automatizadas.

4. Investigue al menos algunas herramientas de automatización disponibles y adecuadas.

5. Elija la herramienta o herramientas más adecuadas según la investigación

6. Discuta la herramienta de automatización elegida con otras partes del proyecto, explique las razones de la elección y obtenga su aprobación.

7. Promover la automatización

Estos métodos y pasos son reconocidos por la mayoría de los expertos en garantía de calidad.

Recientemente han aparecido muchos tipos diferentes de computadoras, y su aparición ha comenzado el rápido desarrollo de productos de software. Lo más sorprendente es la evolución de los dispositivos móviles, que tienen características, métodos y condiciones de interacción diferentes a los de los ordenadores personales corrientes.

Por lo tanto, las aplicaciones móviles que requieren los teléfonos inteligentes también son diferentes de las computadoras portátiles.

El sistema operativo de la mayoría de las computadoras personales es Windows. Los sistemas operativos móviles más populares son Android, Apple iOS, BlackBerry OS, teléfonos Windows, Symbian y otros.

Herramientas de prueba de Android

Exploremos las herramientas de prueba automatizadas compatibles con los sistemas operativos móviles más populares.

1. Herramienta de prueba de Android Robotium

Robotium es una herramienta de prueba automatizada de uso frecuente que admite Android.

Robotium es una herramienta gratuita de prueba de IU de Android. Es adecuado para probar la automatización para diferentes versiones y subversiones de Android. Los desarrolladores de software a menudo lo describen como Android Selenium. Las pruebas de Robotium están escritas en java. De hecho, Robotium es una biblioteca de pruebas unitarias.

Pero se necesita mucho tiempo y esfuerzo para crear una prueba a través de Robotium, porque el código fuente del programa debe modificarse para automatizar la prueba. La herramienta tampoco es adecuada para la interacción con el software del sistema, no puede bloquear y desbloquear teléfonos inteligentes o tabletas. Robotium tampoco tiene funciones de grabación y reproducción, ni proporciona capturas de pantalla.

2. Prueba de la aplicación de Android MonkeyRunner

Monkeyrunner es una popular herramienta de prueba de Android para pruebas funcionales automatizadas.

Esta herramienta es un nivel inferior a Robotium. Esto no tiene que lidiar con el código fuente para pruebas automatizadas. Esta prueba se puede escribir en Python y se puede usar una herramienta de grabación para crear la prueba.

Monkeyrunner puede conectarse a una computadora o simular un dispositivo real para ejecutar pruebas. La herramienta tiene una interfaz para controlar el código de Android de un teléfono inteligente, tableta o emulador externo.

La desventaja de esta herramienta de prueba es que debe estar programada para cada dispositivo. Otro problema es que cada vez que cambia la interfaz de usuario del programa de prueba, es necesario ajustar el script de prueba.

3. Herramienta de aplicación de prueba de Android Ronaorex

Ranrex es una versión que no solo es compatible con la última versión de Android, sino que también es compatible con versiones anteriores y versiones de sucursales a partir de Android 2.2.

La ventaja de Ranorex es que tiene informes de captura de pantalla detallados. Puede conectar teléfonos inteligentes y tabletas a través de Wifi.

Un ingeniero de pruebas automatizado puede escribir pruebas basadas en datos en detalle sin usar el formato de datos XML a través de esta herramienta de Android. Ranorex Studio permite a los ingenieros de pruebas automatizados crear fácilmente pruebas con solo un clic del mouse. Permite la declaración detallada de módulos de programa adicionales para probar escenarios más complejos en el ciclo de desarrollo posterior.

Es una herramienta de aplicación móvil comercial con un precio de licencia de 1990 euros. Sin embargo, la función de búsqueda de Ranorex es bastante lenta; se necesitan 30 segundos para completar dicha operación. Debemos equipar Ranorex con un dispositivo de archivo apk, de lo contrario, esta herramienta no se puede utilizar para automatizar las pruebas porque solo puede funcionar en dispositivos de archivo APK.

4. UiAutomator es también un marco de prueba automatizado proporcionado por Android. Básicamente, es compatible con todas las operaciones de eventos de Android. En comparación con la instrumentación, no requiere que los evaluadores comprendan los detalles de implementación del código (puede usar UiAutomatorviewer para obtener las propiedades de control en la página de la aplicación sin mirar el código fuente). Basado en Java, la estructura del código de prueba es simple, fácil de escribir y costosa de aprender. Una vez compilada, todos los dispositivos o simuladores pueden ejecutar la prueba, y puede ejecutarse en aplicaciones (por ejemplo, muchas aplicaciones han seleccionado álbumes de fotos y cámaras abiertas para tomar fotografías. Esto es prueba entre aplicaciones). La desventaja es que solo es compatible con SDK 16 (Android 4.1) y superior, y no es compatible con Hybird App y WebApp.

5. Huawei MobileTest

Huawei MobileTest proporciona una prueba transversal automatizada de la compatibilidad de Android APK, basada en pruebas automáticas de máquinas reales, para ayudar a los desarrolladores a encontrar defectos y localizar problemas.

6. Monkey es una herramienta de prueba que viene con el SDK de Android. Durante la prueba, envía flujos de eventos de usuario pseudoaleatorios al sistema, como entrada de teclas, entrada de pantalla táctil, entrada de gestos, etc.) para realizar pruebas de estrés de la aplicación en desarrollo. También hay una salida de registro. De hecho, la herramienta solo puede realizar algunas pruebas de estrés para los programas. Debido a que los eventos y los datos de prueba son aleatorios y no se pueden personalizar, tiene grandes limitaciones.

7, MonkeyRunner también es una herramienta de prueba proporcionada por el SDK de Android. Estrictamente hablando, MonkeyRunner es en realidad un kit de herramientas de Api, que es más poderoso que Monkey. Puede escribir scripts de prueba para personalizar datos y eventos. La desventaja es que el script está escrito en Python, lo que requiere mayores requisitos para los evaluadores y tiene un costo de aprendizaje relativamente alto.

8. La instrumentación es una clase de herramienta de prueba automatizada de Android proporcionada por Google en los primeros días. Aunque JUnit también puede probar Android en ese momento, la instrumentación le permite realizar pruebas más complejas en aplicaciones, incluso a nivel de marco. A través de Instrumentación, puede simular eventos como pulsaciones de botones, ascensores, clics en la pantalla y desplazamiento. La instrumentación implementa estas funciones ejecutando el programa principal y el programa de prueba en el mismo proceso. Puede pensar en la instrumentación como un componente similar a la actividad o el servicio sin una interfaz, y monitorear su programa principal durante la ejecución del programa. La desventaja es que para los probadores, la capacidad de escribir código es relativamente alta, necesitan tener cierta comprensión del conocimiento relacionado con Android y también necesitan configurar el archivo AndroidManifest.xml, que no puede abarcar varias aplicaciones.

9. Marco de automatización de Android de Appium

Este es un marco que puede realizar pruebas automatizadas para iOS y Android. Es una herramienta de código abierto. Es compatible con las versiones de Android 2.3 y posteriores. Appium usa la interfaz WebDriver para ejecutar pruebas. Es compatible con varios lenguajes de programación como java, C #, Ruby y otros lenguajes en la biblioteca WebDriver.

Puede controlar Safari y Chrome en dispositivos móviles. Appium y estos navegadores se pueden utilizar para probar sitios web móviles.

Pero algunos ingenieros de pruebas automatizadas se quejaron de que no tenía un informe detallado. Su debilidad también reduce la compatibilidad con XPath en dispositivos móviles.

10. Espresso es el marco de pruebas automatizado de código abierto de Google. En comparación con Robotium y UIAutomator, se caracteriza por una API de menor escala, más concisa y más precisa, escritura de código de prueba simple y fácil de comenzar rápidamente. Debido a que se basa en la instrumentación, no puede cruzar la aplicación. Coopere con Android Studio para escribir un ejemplo de prueba simple

11. Selendroid: También es un marco de pruebas basado en Instrumentación, que puede probar Native App, Hybird App, Web App, pero hay menos información en Internet y la comunidad no es muy activa.

12. Robotium es también un marco de pruebas basado en Instrumentación, en la actualidad se usa más en casa y en el extranjero, con más información y la comunidad es más activa. La desventaja es que los evaluadores deben tener cierta base de Java, comprender los componentes básicos de Android y no pueden cruzar aplicaciones.

13. Athrun es un marco / plataforma de prueba móvil de Taobao, que es compatible con iOS y Android. La parte de Android también se basa en Instrumentación, que se amplía sobre la base de la clase ActivityInstrumentationTestCase2 original de Android para proporcionar un conjunto completo de API orientadas a objetos. Aquí hay una introducción detallada.

14. Appium es un marco popular recientemente y la comunidad también es muy activa. Este marco debería ser el más poderoso,

Sus ventajas:

Fuente abierta

Admite aplicación nativa, aplicación Hybird, aplicación web;

Compatible con Android, iOS, Firefox OS;

El servidor también es multiplataforma, puede usar Mac OS X, Windows o Linux;

Su filosofía es:

Las pruebas automatizadas con Appium no necesitan recompilar la aplicación;

Admite muchos idiomas para escribir scripts de prueba, lenguajes convencionales como Java, Javascript, PHP, Python, C #, Ruby;

No es necesario reinventar la rueda para las pruebas automatizadas porque WebDriver está extendido. (WebDriver es un marco de prueba automatizado simple y rápido para probar aplicaciones web, por lo que los probadores con experiencia en pruebas de automatización web pueden comenzar directamente);

Las pruebas automatizadas móviles deben ser de código abierto;

Su filosofía de diseño:

Arquitectura Cliente / Servidor Cuando se ejecuta, el servidor escuchará los comandos enviados por el cliente, traducirá estos comandos y los enviará al dispositivo móvil o simulador, y luego el dispositivo móvil o simulador responderá. Es precisamente debido a esta arquitectura que el Cliente puede utilizar los scripts de prueba de las bibliotecas cliente de Appium en varios idiomas, y el lado del servidor se puede implementar en el servidor o incluso en el servidor en la nube.

Sesión, cada cliente tendrá un ID de sesión después de conectarse al servidor, y este ID de sesión es necesario para que el cliente envíe comandos al lado del servidor, ya que este ID de sesión representa el navegador que abre o el emulador del dispositivo móvil. Por lo tanto, puede incluso abrir N sesiones y probar diferentes dispositivos o simuladores al mismo tiempo.

Las capacidades deseadas son en realidad un par clave-valor. Establezca alguna información relacionada con la prueba para decirle al lado del servidor que necesitamos probar iOS, Android o WebApp.

Appium Server está escrito por Node.js, por lo que se puede instalar directamente con NPM.

Appium Clients, GUI proporcionada bajo Mac OS y Win, no es necesario instalar Node.js, que es conveniente para que los probadores operen.

Restricciones relacionadas:

Si usa Appium en Windows, no puede usar archivos .app precompilados dedicados a OS X, porque Appium se basa en bibliotecas específicas de OS X para admitir las pruebas de iOS, por lo que no puede probar las aplicaciones de iOS en la plataforma Windows. Esto significa que solo puede ejecutar pruebas de iOS en una Mac.

para resumir:

UIAutomation está encapsulado en la parte de iOS; UiAutomator se usa para Android 4.2 y superior, e Instrumentation se usa para Android 2.3 ~ 4.1, lo que significa que Appium encapsula tanto UiAutomator como Instrumentation. Por lo tanto, Appium tiene todas las ventajas de los marcos principales anteriores: aplicaciones cruzadas, admite aplicaciones nativas, aplicaciones Hybird, aplicaciones web y admite N idiomas para escribir sus scripts de prueba.

La automatización de pruebas es una tarea compleja. Requiere una preparación e investigación adecuadas. Varias aplicaciones novedosas y herramientas de prueba automatizadas que deben mantenerse al día con la tecnología de la información. Todo este conocimiento es necesario para crear la prueba más eficaz.
Si necesita más preguntas reales para la entrevista, llame a: Q8787ja Entrevista 8853 preguntas reales.

Supongo que te gusta

Origin blog.csdn.net/cemaxueyuan/article/details/108430909
Recomendado
Clasificación