miércoles, 6 de noviembre de 2024

La Hoja de Ruta Definitiva para Ingenieros de QA: Tu Guía para el Éxito

Buenas lectores.

Debido a que muchos lectores cumplen el rol de QA, he decidido publicar algunos temas relacionados para que puedan mejorar sus perfiles.

A medida que avanzan las prácticas de desarrollo de software, también lo hacen las expectativas y responsabilidades de los ingenieros de QA. Si estás comenzando una carrera en QA o buscando perfeccionar tus habilidades, tener una hoja de ruta clara es esencial.

El día de hoy vamos a revisar una hoja de ruta donde encontraras todos los temas importantes que debes conocer siendo QA. Puedes comenzar primero con los temas principales e ir tachando de tu lista que herramientas y temas conoces sobre cada tema principal. Muy seguramente en este blog estaremos revisando algunos de los temas. 

No siendo más, les dejo la hoja de ruta:




Esta guía te llevará a través de las áreas clave en las que debes enfocarte, asegurándote de estar preparado para sobresalir en el campo.


El Aseguramiento de la Calidad no se trata solo de encontrar errores; se trata de asegurar la calidad general del producto. Un ingeniero de QA debe pensar críticamente, anticipar posibles problemas y abogar por la experiencia del usuario final. Adicionalmente ten en cuenta que Más Allá de la Funcionalidad, Las pruebas no funcionales aseguran que tu aplicación no solo funcione, sino que funcione bien bajo diversas condiciones.


Conclusión: Sigue Aprendiendo

El campo de QA está en constante evolución. Las herramientas y técnicas mencionadas en esta hoja de ruta son solo el comienzo. Para mantenerte a la vanguardia, necesitas aprender y adaptarte continuamente.

Participa en comunidades de QA, asiste a seminarios web y sigue a líderes de la industria para mantenerte actualizado sobre las últimas tendencias y herramientas.

Recuerda, el objetivo de un ingeniero de QA no es solo encontrar errores, sino asegurar la entrega de software de alta calidad. Siguiendo esta hoja de ruta y expandiendo continuamente tu conocimiento, estarás bien preparado para enfrentar cualquier desafío de QA que se te presente.


Fuente:

https://medium.com/@monish.correia/the-ultimate-qa-engineer-roadmap-your-guide-to-success-7244ad97fe21

martes, 5 de noviembre de 2024

Automatización con Java y Selenium (Todo lo que necesitas para comenzar)

Buenos días lectores.


Selenium es una potente herramienta (marco de código abierto) para automatizar aplicaciones web en múltiples navegadores y plataformas. Con soporte para varios lenguajes de programación como Java, permite crear scripts de prueba robustos que simulan interacciones de usuario.

Aquí te voy a dejar lo básico para manejarlo, con solo saber esto ya podrás automatizar todos los sitios:


Abrir un Navegador y Navegar a una URL:

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

public class OpenBrowser {

    public static void main(String[] args) {

        WebDriver driver = new ChromeDriver();

        driver.get("https://example.com");

        driver.quit();

    }

}


Encontrar Elementos Usando Diferentes Localizadores:

Por ID:

driver.findElement(By.id("elementID")).click();

Por Nombre:

driver.findElement(By.name("elementName")).sendKeys("input text");

Por XPath:

driver.findElement(By.xpath("//input[@id='elementID']")).click();

Por Selector CSS:

driver.findElement(By.cssSelector("#elementID")).click();


Hacer Clic en un Botón

driver.findElement(By.id("buttonID")).click();


Escribir texto en un cuadro de Texto

driver.findElement(By.name("textboxName")).sendKeys("Sample Text");


Hacer clic en un checkbox (Casillas de Verificación)

WebElement checkbox = driver.findElement(By.id("checkboxID"));

checkbox.click();

System.out.println(checkbox.isSelected());  // Verificar si está seleccionada


Manejo de Listas Desplegables

Select dropdown = new Select(driver.findElement(By.id("dropdownID")));

dropdown.selectByVisibleText("OptionText");


Esperar a que un Elemento Sea Visible y dar click cuando este visible

WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));

WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("elementID")));

element.click();


Manejo de Alertas

Aceptar Alerta:

Alert alert = driver.switchTo().alert();

alert.accept();


Rechazar Alerta:

Alert alert = driver.switchTo().alert();

alert.dismiss();


Manejo de Múltiples Ventanas

String parentWindow = driver.getWindowHandle();

Set<String> allWindows = driver.getWindowHandles();


for (String window : allWindows) {

    if (!window.equals(parentWindow)) {

        driver.switchTo().window(window);

    }

}

// Volver a la ventana principal

driver.switchTo().window(parentWindow);


Manejo de Carga de Archivos

driver.findElement(By.id("uploadButtonID")).sendKeys("C:\\path\\to\\file.txt");


Tomar Capturas de Pantalla

File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);

FileUtils.copyFile(srcFile, new File("path/to/screenshot.png"));


Extraer Texto de un Elemento Web

String elementText = driver.findElement(By.xpath("//div[@id='elementID']")).getText();

System.out.println(elementText);


Manejo de Marcos (Iframes)

Por Índice:

driver.switchTo().frame(0);

Por Nombre o ID:

driver.switchTo().frame("frameNameOrID");


Manejo de Elementos Dinámicos

driver.findElement(By.xpath("//*[contains(@id, 'dynamicPart')]")).click();


Realizar Acción de Hover con el Ratón

Actions actions = new Actions(driver);

WebElement element = driver.findElement(By.id("elementID"));

actions.moveToElement(element).perform();


Acción de Arrastrar y Soltar (Drag and drop)

Actions actions = new Actions(driver);

WebElement source = driver.findElement(By.id("sourceElementID"));

WebElement target = driver.findElement(By.id("targetElementID"));

actions.dragAndDrop(source, target).perform();


Aserciones en TestNG/JUnit

Aserción en TestNG:

import org.testng.Assert;

String pageTitle = driver.getTitle();

Assert.assertEquals(pageTitle, "Expected Title");


Aserción en JUnit:

import static org.junit.Assert.*;

String pageTitle = driver.getTitle();

assertEquals("Expected Title", pageTitle);


Cerrar el Navegador

Cerrar la ventana actual del navegador:

driver.close();


Terminar la sesión de WebDriver (cerrar todas las ventanas):

driver.quit();


Esta lista cubre preguntas y soluciones esenciales proporcionando una base sólida para la preparación de entrevistas. Así que tienes un 2x1.


Saludos


Fuentes:

https://www.linkedin.com/pulse/basic-selenium-java-automation-testing-kushal-parikh-kgsxf/