1. ¿Qué es la integración continua?
1.1. Para garantizar una transición fluida a la línea principal de trabajo, los desarrolladores envían sus copias de trabajo a un repositorio central compartido. Las pruebas automatizadas se realizan simultáneamente para mantener la eficiencia, una práctica conocida como integración continua (IC). La integración continua ahorra tiempo, reduce el número de errores y mejora el rendimiento de la aplicación.
2. CI Herramientas
2.1. TeamCity
2.2. Jenkins
2.3. Bamboo
2.4. CircleCI
2.5. CloudBees CI
2.6. Semaphore CI
3. ¿Qué es TDD/BDD?
3.1. El Desarrollo Basado en Pruebas (TDD) y el Desarrollo Basado en el Comportamiento (BDD) son enfoques que dan prioridad a las pruebas y prácticas de programación para evaluar la funcionalidad del código.
4. Xpath selectores
4.1. Tag selector: //tagname
4.2. Attribute selector: //@attribute
4.3. Selector using attribute and value: //tagname[@attribute='value']
4.4. Selector using partial attribute value: //tagname[contains(@attribute, 'value')]
4.5. Selector using attribute value starting with: //tagname[starts-with(@attribute, 'value')]
4.6. Selector using attribute value ending with: //tagname[ends-with(@attribute, 'value')]
4.7. Selector using attribute value containing specific word: //tagname[contains(@attribute, 'word')]
4.8. Selector using multiple attributes: //tagname[@attribute1='value1' and @attribute2='value2']
4.9. Selector using child element: //tagname/childtagname
4.10. Selector using parent element: //parenttagname/tagname
5. Que es Maven?
5.1. Maven es una herramienta de gestión de proyectos y construcción de software que se utiliza principalmente en el desarrollo de aplicaciones Java. Su objetivo principal es simplificar la configuración y gestión de proyectos, así como la gestión de dependencias. Maven se encarga de la compilación, empaquetado y distribución del proyecto, además de facilitar la gestión de bibliotecas y dependencias externas. Utiliza archivos POM (Project Object Model) para definir la estructura y configuración del proyecto.
6. Ventajas del Page object Model
6.1. El POM promueve una estructura modular y organizada para las pruebas automatizadas. Divide el código en clases separadas, donde cada clase representa una página o componente de la interfaz de usuario. Esto facilita el mantenimiento del código, ya que cualquier cambio en la interfaz de usuario se limita a la clase correspondiente, sin afectar a otras partes del código. Además, los Page Objects se pueden reutilizar en diferentes pruebas, lo que evita la duplicación de código y mejora la eficiencia.
6.2. Sí, el Page Object Model (POM) es especialmente útil para crear scripts de escenarios de prueba end-to-end. El POM se enfoca en representar cada página o componente de la interfaz de usuario como una clase separada, lo que facilita la creación de scripts que cubren múltiples páginas y flujos de la aplicación. Al utilizar el POM, puedes crear scripts de prueba end-to-end de manera más eficiente y organizada. Cada clase de página encapsula la lógica y las interacciones relacionadas con esa página específica, lo que permite una mayor legibilidad y mantenibilidad del código.
7. Preguntas de Chat GPT
7.1. ¿Cuál es tu experiencia previa en automatización de pruebas de QA?
7.2. ¿Qué herramientas y tecnologías has utilizado para la automatización de pruebas?
7.3. ¿Puedes explicar el proceso que sigues para desarrollar y mantener casos de prueba automatizados?
7.4. ¿Cómo abordas la identificación y priorización de casos de prueba adecuados para la automatización?
7.5. ¿Cuáles son los desafíos más comunes que has enfrentado al automatizar pruebas y cómo los has resuelto?
7.6. ¿Qué enfoque sigues para la gestión de datos de prueba en tus casos automatizados?
7.7. ¿Cómo aseguras la reutilización y el mantenimiento eficiente de los scripts de prueba automatizados?
7.8. ¿Qué consideraciones tienes en cuenta al diseñar y desarrollar frameworks de automatización de pruebas?
7.9. ¿Cómo integras la automatización de pruebas en los pipelines de CI/CD?
7.10. ¿Cuáles son tus habilidades de programación y cómo las aplicas en la automatización de pruebas?t level topic
8. ¿Qué tipo de pruebas no deben automatizarse?
8.1. La función de prueba cambia con frecuencia
8.2. Las pruebas implican experiencia de usuario y uso de la misma
8.3. Las pruebas no ofrecen condiciones de aprobado o fallido
8.4. Las pruebas se basan en el criterio del tester para determinar los resultados.
9. ¿Cuáles son las etapas del proceso de pruebas automatizadas?
9.1. Selección de la herramienta de prueba primaria
9.2. Definición del alcance de las pruebas automatizadas y sus parámetros
9.3. Planificación, diseño y desarrollo de cualquier estrategia de automatización y su entorno necesario
9.4. Programación y ejecución de pruebas
9.5. Análisis de pruebas, elaboración de informes y mantenimiento continuo
10. ¿Cuáles son las ventajas de las pruebas automatizadas?
10.1. Mayor velocidad de ejecución
10.2. Mayor cobertura de las pruebas
10.3. Mayor eficacia
10.4. Costes más bajos
10.5. Mejor conocimiento de los datos
10.6. Menor intervención humana lo que reduce el riesgo de error
10.7. Mayor calidad y rendimiento en la aplicación
11. Selenium:
11.1. Selenium
11.1.1. Última versión estable 4.1.2 ( 30 de enero de 2022 (1 año, 4 meses y 22 días))
11.2. Espera implicita vs explicita
11.2.1. En resumen, las esperas implícitas son configuraciones globales que establecen un tiempo de espera máximo para todas las operaciones, mientras que las esperas explícitas permiten una espera específica basada en condiciones particulares antes de continuar con las acciones en elementos de la interfaz de usuario. Ambas técnicas son útiles para sincronizar las interacciones con elementos en pruebas automatizadas, pero las esperas explícitas ofrecen mayor control y flexibilidad en comparación con las esperas implícitas.
11.3. Pagina web actual:
11.3.1. get current
11.4. Ventana Emergente
11.4.1. String srcPage = driver.getWindowHandle(); Alert pop = driver.switchTo().alert(); // cambia el control a la ventana emergente de alerta. pop.accept(); // pulsa el botón ok. pop.dismiss(); // pulsa el botón cancelar. driver.switchTo().window(srcPage); // volver a la página de origen.
11.5. Selectores:
11.5.1. 1. Selector por ID:find_element_by_id("element_id")
11.5.2. 2. Selector por clase CSS: find_element_by_class_name("element_class")
11.5.3. 3. Selector por nombre de etiqueta: find_element_by_tag_name("tag_name")
11.5.4. 4. Selector por nombre de atributo:find_element_by_name("attribute_name")
11.5.5. 5. Selector por enlace de texto exacto:find_element_by_link_text("link_text")
11.5.6. 6. Selector por texto parcial de enlace:find_element_by_partial_link_text("partial_link_text")
11.5.7. 7. Selector por XPath:find_element_by_xpath("xpath_expression")
11.5.8. 8. Selector por selector de CSS:find_element_by_css_selector("css_selector")