¿Qué es un script de prueba? Cómo escribirlo con un ejemplo.

⚡ Resumen inteligente

En las pruebas de software, un script de prueba es un conjunto de instrucciones ejecutables, línea por línea, que controla una aplicación y verifica cada paso. Esta guía cubre los tres métodos de compilación, una plantilla reutilizable y un ejemplo práctico. Selenium ejemplo.

  • 📝 Definición básica: Un script especifica cada transacción que se debe realizar, la entrada exacta que se debe introducir y el resultado esperado de cada paso.
  • 🎛️ Tres métodos de construcción: Grabación y reproducción, creación de scripts mediante palabras clave o datos, y escritura de código directamente en un lenguaje de programación.
  • 🧱 Libertad lingüística: El lenguaje del script no tiene por qué coincidir con el lenguaje de la aplicación, por lo que Java El producto se puede probar con JavaGuión o Python.
  • 📋 Disciplina de la plantilla: Una plantilla estándar define los campos de ID, precondiciones, datos de prueba, pasos, resultado esperado y estado.
  • 🇧🇷 Guion vs. Caso: Un caso de prueba es un procedimiento manual paso a paso, mientras que un script de prueba es ejecutado automáticamente por una herramienta.
  • Normas de calidad: Mantén cada script claro, limita cada paso a una sola acción y diseña las rutas desde la perspectiva del usuario real.

¿Qué es un script de prueba?

¿Qué es un script de prueba en pruebas de software?

A script de prueba Es una descripción detallada de las transacciones del sistema que deben realizarse para validar la aplicación bajo prueba. Enumera cada paso a seguir junto con el resultado esperado de cada uno.

Dado que es ejecutable, el mismo script se puede reproducir sistemáticamente en múltiples dispositivos y versiones. Un script funcional siempre registra tanto la entrada real que se debe introducir como la salida esperada.

Cómo escribir un guión de prueba

Script de prueba
Script de prueba

Hay tres formas diferentes de crear un script de prueba:

Grabar y reproducir

Con este método, el evaluador no necesita escribir ningún código, solo registrar las acciones del usuario. Posteriormente, se requiere programación para corregir cualquier error o ajustar el comportamiento de la automatización.

Este método es más fácil que escribir un script de prueba completo desde cero porque ya tienes el código completo. Se utiliza principalmente en un lenguaje de programación simplificado como VBScript.

Secuencias de comandos basadas en palabras clave o datos

En este método, existe una clara separación entre evaluadores y desarrolladores. En las secuencias de comandos basadas en datos, el evaluador define la prueba utilizando palabras clave sin conocimiento del código subyacente.

Aquí, el trabajo de los desarrolladores es implementar el código del script de prueba para las palabras clave y actualizar este código cuando sea necesario. Entonces, en este método, el evaluador no necesita preocuparse por el sistema. Sin embargo, dependerán en gran medida de los recursos de desarrollo para cualquier funcionalidad nueva que desee probar automáticamente.

Escribir código en un lenguaje de programación

Si elige este método, normalmente seguirá teniendo disponibles las funciones de grabación y reproducción para generar un primer borrador del guion.

Tarde o temprano, sin embargo, un probador necesita ir más allá de la grabación y la reproducción y aprender a escribir scripts simples a mano. Es importante entender que puedes elegir tu Lenguaje de programación incluso si su solicitud está escrita en Java.

Sin embargo, esto no significa que deba escribir sus scripts de prueba en Java, que puede ser difícil de aprender. En su lugar, puede escribir sus scripts de prueba en un lenguaje más sencillo como JavaScript o Ruby (o cualquier lenguaje más sencillo que desee utilizar).

Ejemplo de guión de prueba

Por ejemplo, para comprobar la función de inicio de sesión en un sitio web, su script de prueba podría hacer lo siguiente:

  • Especifique cómo la herramienta de automatización puede ubicar los campos "Nombre de usuario" y "Contraseña" en la pantalla de inicio de sesión. Digamos, por sus ID de elementos CSS.
  • Cargue la página de inicio del sitio web, luego haga clic en el enlace "iniciar sesión". Verifique que la pantalla de inicio de sesión que aparece y los campos “Nombre de usuario” y “Contraseña” estén visibles.
  • Escriba el nombre de usuario “Charles” y la contraseña “123456”, luego busque el botón “Confirmar” y haga clic en él.
  • Deben especificar cómo un usuario puede localizar el título de la pantalla de bienvenida que aparece después de iniciar sesión, por ejemplo, mediante su ID de elemento CSS.
  • Verifique que el título de la pantalla de bienvenida esté visible.
  • Lea el título de la pantalla de bienvenida.
  • Afirma que el texto del título es igual a “Bienvenido Charles”.
  • Si el título coincide con lo esperado, registre la prueba como superada. De lo contrario, regístrela como fallida.

Ejemplo de script de prueba en Selenium con Java

La lista anterior describe una prueba de inicio de sesión en lenguaje sencillo. Aquí está la misma prueba escrita como un script ejecutable, usando Selenium WebDriver y JUnitCada viñeta se corresponde con una o dos líneas de código.

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.junit.Assert;
import org.junit.Test;

public class LoginTestScript {

    @Test
    public void validLoginShowsWelcomeMessage() {
        // Step 1: start the browser and open the site
        WebDriver driver = new ChromeDriver();
        driver.get("https://demo.guru99.com/test/login.html");

        // Step 2: locate the fields by their element ids
        driver.findElement(By.id("email")).sendKeys("Charles");
        driver.findElement(By.id("passwd")).sendKeys("123456");

        // Step 3: submit the form
        driver.findElement(By.id("SubmitLogin")).click();

        // Step 4: read the welcome title and assert the expected result
        String actual = driver.findElement(By.id("welcome")).getText();
        Assert.assertEquals("Welcome Charles", actual);

        driver.quit();
    }
}

Tres detalles distinguen un guion real de uno grabado:

  • Los localizadores son explícitos. Los elementos se localizan por su ID en lugar de por su posición en la pantalla, por lo que el script se mantiene incluso si cambia el diseño.
  • La afirmación es la prueba. Sin assertEquals, el script simplemente hace clic; es la aserción la que decide si se aprueba o se rechaza.
  • La limpieza siempre está en marcha. El método driver.quit() libera el navegador; de lo contrario, una ejecución fallida deja procesos activos.

La misma estructura se aplica en cualquier idioma. Python con Selenium Las llamadas se convierten en driver.find_element(By.ID, “email”) y afirman que actual == “Welcome Charles”.

Consejos para crear un script de prueba

A continuación se ofrecen algunos consejos importantes para crear un script de prueba:

Manténgalo claro

Tu script de prueba debe ser lo suficientemente claro como para ejecutarse sin ayuda. Si un evaluador tiene que consultar constantemente con el responsable del proyecto para obtener detalles sobre la aplicación, se desperdician tiempo y recursos.

Para evitar esto, verifique que cada paso del script de prueba sea claro, conciso y coherente. Esto ayuda a que el proceso de prueba se desarrolle sin problemas.

Sencillez

Debe crear un script de prueba que contenga solo una acción específica que deben realizar los evaluadores. Esto garantiza que cada función se pruebe correctamente y que los evaluadores no omitan pasos en el proceso de prueba del software.

Piénsalo

Para escribir el script de prueba, debe ponerse en el lugar del usuario para decidir qué rutas probar. Debe ser lo suficientemente creativo como para predecir las diferentes rutas que usarían los usuarios mientras ejecutan un sistema o aplicación.

¿Cuándo utilizar el método de script de prueba?

Estas son las razones para utilizar el script de prueba.

  • Un guion de prueba es la forma más fiable de confirmar que no se omite ningún paso y que los resultados coinciden con el plan de pruebas acordado.
  • Un script preparado deja mucho menos margen de error durante la ejecución.
  • Cuando los evaluadores exploran un producto libremente, pueden pasar por alto fácilmente algunas funciones.
  • Un evaluador también puede asumir que una función produjo el resultado esperado cuando no fue así.
  • Es particularmente útil cuando el desempeño del usuario es importante y específico.

¿Qué es una plantilla de script de prueba?

Una plantilla de script de prueba es un documento reutilizable y preformateado que contiene los campos que debe completar cada script de tu proyecto. Estandarizarla determina el nivel de detalle de tus pruebas y garantiza que ningún revisor tenga que adivinar el significado de cada paso.

Una plantilla funcional contiene los siguientes campos:

Campo Propósito
ID del script Identificador único utilizado para tracVinculación de la capacidad y los defectos
Título Una línea que indique qué valida el script.
Módulo o característica El área de la aplicación bajo prueba
Condiciones previas Estado en el que debe estar el sistema antes de que se ejecute el primer paso
Datos de prueba Entradas exactas, incluyendo credenciales y valores límite.
pasos Acciones numeradas, una acción por paso.
Resultado Esperado El resultado observable de cada paso
Resultado actual Se completó en el momento de la ejecución.
Estado Aprobado, reprobado, bloqueado o no ejecutado
Autor y fecha Historial de propiedad y versiones

Diferencia entre caso de prueba y script de prueba

Estas son las principales diferencias entre un caso de prueba y un script de prueba:

Caso de prueba Script de prueba
Caso de prueba Es un procedimiento paso a paso que se utiliza para probar una aplicación. El script de prueba es un conjunto de instrucciones para probar una aplicación automáticamente.
Los casos de prueba se utilizan para entornos de prueba manuales. Test Script se utiliza en el entorno de pruebas de automatización.
Se hace manualmente. Se realiza según el formato de scripting.
La plantilla de caso de prueba incluye ID de prueba, datos de prueba, procedimiento de prueba, resultados reales y esperados, etc. En el Script de prueba, podemos usar diferentes comandos para desarrollar un script.

Ventajas y desventajas de los scripts de prueba

La creación de scripts es una inversión. Saber dónde se obtiene rentabilidad te indica qué pruebas automatizar primero.

Ventajas

  • Repetible: Los mismos pasos se ejecutan de forma idéntica en cada compilación, lo que hace que las pruebas de regresión sean prácticas.
  • Rápido a gran escala: Un conjunto de pruebas que normalmente requiere un día de trabajo de un evaluador, puede ejecutarse en minutos e incluso durante la noche.
  • Consistente: El guion nunca se aburre, se salta un paso ni interpreta mal un resultado.
  • Multiplataforma: Un mismo script puede reproducirse en diferentes navegadores, dispositivos y sistemas operativos.
  • CI listo: Los scripts se integran en una canalización de compilación, de modo que cada confirmación se verifica automáticamente.

Desventajas

  • Alto coste de instalación: Escribir y depurar un script lleva mucho más tiempo que ejecutar la prueba una sola vez manualmente.
  • Carga de mantenimiento: Un cambio en el ID de un elemento o un rediseño de la página provoca fallos en los scripts, que posteriormente deben repararse.
  • Requisito de habilidad: Además de grabar y reproducir, el equipo necesita capacidad de programación.
  • Ciegos ante lo inesperado: Un script solo comprueba lo que se le ha indicado que compruebe, por lo que los defectos visuales y de usabilidad pasan desapercibidos.
  • Falsa confianza: Un conjunto de scripts sencillos y de baja calidad puede ocultar verdaderas deficiencias en la cobertura.

La regla práctica: planifica las rutas estables, repetitivas y de alto riesgo, y mantén el trabajo exploratorio y de usabilidad manual.

Guion de prueba: Conclusiones clave

  • Scripts de prueba significa una descripción línea por línea que contiene la información sobre las transacciones del sistema que deben realizarse para validar la aplicación o el sistema bajo prueba.
  • El caso de prueba es un procedimiento paso a paso que se utiliza para probar una aplicación, mientras que el script de prueba es un conjunto de instrucciones para probar una aplicación automáticamente.
  • Existen tres formas de crear un script de prueba: 1) Grabación/reproducción, 2) Scripting basado en palabras clave/datos, 3) Escritura. Code Utilizando el lenguaje de programación.
  • Su script de prueba debe ser claro y debe crear un script de prueba que debe contener solo una acción específica que deben realizar los evaluadores.
  • Un guion de prueba es la forma más fiable de confirmar que no se omite ningún paso y que los resultados coinciden con el plan de pruebas acordado.
  • La plantilla de script de prueba es un documento formateado reutilizable que contiene información preseleccionada importante para crear un script de prueba utilizable.

Preguntas Frecuentes

Un caso de prueba es un procedimiento manual paso a paso escrito para un evaluador humano. Un script de prueba es código ejecutable que una herramienta ejecuta automáticamente. Un caso de prueba suele convertirse en un script de prueba una vez automatizado.

Empieza grabando y reproduciendo para ver la estructura, luego edita el código generado. Una vez que los scripts grabados fallen, empieza a escribirlos manualmente, ya que los localizadores grabados rara vez sobreviven a un cambio en la interfaz de usuario.

Todo se ejecuta una sola vez, todo cambia en cada sprint y todo se evalúa visualmente. Las pruebas exploratorias, las revisiones de usabilidad y las comprobaciones puntuales cuestan más si se programan que si se realizan manualmente.

Sí. Las herramientas de IA pueden convertir casos de prueba escritos en scripts ejecutables y proponer localizadores de autorreparación cuando un elemento cambia. RevRevisa cada aserción generada, porque un script que nunca falla no está probando nada.

Las herramientas con asistencia de IA detectan los elementos modificados y actualizan los localizadores sin intervención humana, eliminando la causa más común de fallos en los scripts. Los equipos siguen revisando los cambios antes de volver a confiar en la suite.

Resumir este post con: