Pruebas de software: lista de verificación de pruebas de aplicaciones web con escenarios de prueba

Las pruebas web o las pruebas de aplicaciones web garantizan que su sitio web funcione como usted o sus clientes esperan según los requisitos recopilados durante las etapas iniciales del proyecto. Es un alcance integral que toca múltiples disciplinas, incluida la usabilidad, la funcionalidad, la compatibilidad, la seguridad, el rendimiento y el almacenamiento y la recuperación de datos.

Este artículo abordará todas estas disciplinas con ejemplos prácticos prácticos. Se tratarán los siguientes temas:

  1. Pruebas de usabilidad
  2. Pruebas de funcionalidad
  3. Pruebas de compatibilidad
  4. Pruebas de base de datos
  5. Pruebas de seguridad
  6. Pruebas de rendimiento
  7. Las 5 mejores herramientas para pruebas web

Vamos a discutir cada uno de estos temas en detalle.

Pruebas de usabilidad

Las pruebas de usabilidad implican examinar la facilidad de uso de la interfaz de la aplicación web para el usuario final. Al utilizar la aplicación web, los usuarios pueden navegar por el sitio web de manera eficiente, con instrucciones claras y sencillas y con menos obstáculos. Además, el atractivo del contenido sin errores ortográficos y gramaticales forma parte integral de las pruebas de usabilidad.

¿Cuál es el propósito de las pruebas de usabilidad?

Si el sitio web no es fácil de usar, los visitantes lo abandonarán de inmediato, ya que existen muchos sitios web de la competencia. Además, realizar pruebas de usabilidad ayudará a descubrir problemas asociados con la facilidad de uso del sitio web que pueden haberse pasado por alto durante el desarrollo.

Permitir que los usuarios reales prueben la usabilidad del sitio web ayuda a identificar:

  • Si el sitio proporciona la funcionalidad y eficiencia óptimas.
  • Si los usuarios pueden navegar fácilmente al contenido deseado que están buscando.
  • Incluso si los usuarios están perdidos o confundidos, hay suficiente información disponible, como mapas de sitios, páginas 404, etc., con instrucciones claras.
  • Si el producto se construye de acuerdo al prototipo dado por el cliente.
  • Si los usuarios pueden realizar todas las acciones sin interrupciones ni obstáculos.

Casos de prueba de ejemplo

Digamos que se crea una aplicación web para la reserva de vuelos. Entonces, uno puede probar si puede reservar un vuelo a Londres desde Nueva York el 22 de marzo a la medianoche y regresar el 1 de abril. Durante la prueba, uno debe asegurarse de lo siguiente:

1. ¿El sitio proporciona información exacta y precisa?

¿El sitio brinda instrucciones precisas para que el usuario se registre, seleccione la aerolínea de su elección, elija las fechas, realice el pago y reserve el vuelo? La información debe ser clara e informativa, pero directa, sin errores ortográficos ni gramaticales.

2. ¿El sitio ofrece una interfaz atractiva y limpia?

La interfaz debe estar limpia y no contener colores que ahuyenten a los visitantes. El menú desplegable para seleccionar fechas debe estar visible y el usuario puede navegar con facilidad.

3. ¿Se proporciona un número mínimo de acciones para completar la tarea?

Los usuarios pueden realizar la secuencia de acciones anterior en pasos mínimos sin complejidades.

4. ¿El sitio habla el idioma del usuario, no los productos?

Las instrucciones no deben incluir la jerga técnica de un producto, ya que es posible que algunos usuarios no puedan comprenderlas. Por lo tanto, debe presentarlos en un lenguaje simple y claro que cualquiera pueda entender fácilmente.

5. ¿El sitio brinda un servicio al cliente confiable?

Supongamos que un cliente se encuentra con una dificultad al realizar la tarea anterior, ¿existe una forma más fácil de comunicarse con el servicio de atención al cliente por teléfono, correo electrónico o chat? Estos incluyen páginas de preguntas frecuentes para obtener ayuda para el problema con el que está luchando el usuario.

Pruebas de funcionalidad

Las pruebas funcionales validan los requisitos funcionales de las aplicaciones web en función de los requisitos mencionados en la Especificación de requisitos de software (SRS). Algunas de las pruebas funcionales necesarias incluyen pruebas de caja blanca y caja de bloques, que no se refieren al código fuente de la aplicación. En cambio, prueban si el producto hace lo que dice al examinar su:

  • Funciones principales.
  • Usabilidad.
  • Accesibilidad.
  • Manejo de errores.

Los evaluadores pueden realizarlos manualmente o de forma automática.

¿Cuál es el propósito de las Pruebas de Funcionalidad?

  • Las pruebas de funcionalidad tienen como objetivo garantizar que los desarrolladores hayan creado la aplicación web correctamente. 
  • Los evaluadores lo logran probando cada componente de la aplicación web proporcionando información relevante del usuario y verificando la salida con los requisitos funcionales. 
  • El objetivo final de las pruebas funcionales es garantizar que la interfaz de usuario, la base de datos, la seguridad y la comunicación cliente/servidor funcionen como se espera.

Casos de prueba de ejemplo

1. Formularios de prueba: los datos de formulario recopilados en sitios web o aplicaciones web se almacenan en la base de datos o se envían al administrador del sistema o al propietario del sitio a través de un correo electrónico. Sin embargo, como desarrollador web, debe validar todas las entradas del usuario para asegurarse de que no se envíen datos basura a la base de datos. Entonces estas validaciones consistirían en:

  • Validando todos los campos de formulario obligatorios y mostrando un mensaje de error por entrada de usuario incorrecta o vacía.
  • Use captchas para asegurarse de que no pasen mensajes de spam.
  • Formato de formularios para mejorar la legibilidad.
  • Una vez que el usuario envía el formulario, y después de la debida validación, debe almacenarse en la base de datos o enviarse un correo electrónico.
  • Realización de la validación de entrada tanto en el lado del cliente como en el lado del servidor.

2. Prueba de enlaces: es necesario probar si todos los enlaces internos y externos funcionan correctamente. Si hay enlaces rotos, hay que tomar nota y arreglarlos. Además, también se deben probar los enlaces de MailTo. Algunos de los programas destacados que se pueden usar para verificar enlaces rotos incluyen:

  • Herramienta para webmasters de Google.
  • Comprobador de enlaces muertos.
  • El detective de enlace de Xenu.
  • Comprobador de enlaces rotos de Ahref.

3. Prueba de cookies: las cookies deben probarse para garantizar que los usuarios no tengan que iniciar sesión cada vez que visitan una página web que requiere inicio de sesión. Entonces, la prueba de cookies incluye:

  • Eliminación de cookies: Desde el navegador, se pueden eliminar los archivos de cookies y comprobar que las páginas web solicitan el inicio de sesión en ausencia de cookies.
  • Editar las cookies: navegue hasta el archivo de cookies en la PC o computadora portátil y edite la información. Entonces, el sitio web no debería permitirle ingresar cuando intente iniciar sesión con el archivo de cookies que editó. 
  • Prueba de cifrado de cookies: antes de escribir el archivo de cookies en la PC de un usuario, uno debe asegurarse de que el servidor web cifre la información confidencial, como nombres de usuario y contraseñas. 
  • Prueba de corrupción de cookies: Corrompe las cookies y verifica cómo funciona la aplicación web. La corrupción de cookies es una de las pruebas más críticas para proteger la aplicación web de actores malintencionados.

4. Validación de HTML/CSS: con la validación de HTML/CSS, uno debe asegurarse de que el marcado sea semántico para que las arañas de los motores de búsqueda lo localicen rápidamente. Asegúrese de que la estructura de su aplicación web esté separada de su presentación. Eso es tener los archivos CSS separados de HTML o archivos de código fuente.
Además, se debe asegurar que la versión HTML de la aplicación web sea compatible con los estándares W3C. Otros estándares incluyen OASIS, IETF, ISO, ECMA y WS-I.

5. Pruebas de interfaz: los principales componentes de la interfaz son el servidor web, de aplicaciones y de base de datos. Por lo tanto, es necesario probar las interacciones entre la interfaz del servidor web y la interfaz del servidor de aplicaciones, y la interfaz del servidor de aplicaciones y la interfaz del servidor de base de datos.

En otras palabras, es necesario probar si las requests de conexión entre el servidor de aplicaciones y el servidor de la base de datos funcionan como se esperaba. En caso de falla, la capa de aplicación debería presentar mensajes de error útiles.

Además, se debe probar si los datos que devuelven todas las consultas de la aplicación se muestran correctamente en la interfaz con el formato adecuado. Cuando el servidor de la base de datos arroja errores para cualquier consulta, debe asegurarse de que se detecten adecuadamente con los mensajes de error adecuados en el nivel de la aplicación.

Pruebas de compatibilidad

La prueba de compatibilidad es una forma de prueba no funcional que inspecciona si la aplicación web funciona correctamente en una gran variedad de navegadores web, sistemas operativos (SO), bases de datos, dispositivos móviles, hardware y plataformas de red.

No todos los usuarios tienen acceso a los últimos navegadores web sofisticados o dispositivos móviles. Por lo tanto, se debe desarrollar al menos la funcionalidad básica de la aplicación web para que sea compatible con las plataformas heredadas.

¿Cuál es el propósito de las pruebas de compatibilidad?

Cuando la aplicación se desarrolla y prueba inicialmente, por lo general, se realiza en una plataforma familiar. Pero una vez que la aplicación se implementa en el entorno de producción, los usuarios pueden probarla en varias plataformas, incluidas las obsoletas. Algunos de estos defectos pueden no valer la pena considerarlos en términos de calidad.

Sin embargo, ayudaría si se considerara que los clientes usarían la aplicación en varias plataformas. Por lo tanto, es necesario atender a la mayoría de ellos para garantizar que la aplicación funcione de manera uniforme en todas las plataformas mediante la realización de pruebas de compatibilidad. Por otro lado, los mantendrá felices.

Ejemplos de casos de prueba

1. Compatibilidad entre navegadores: algunos de los elementos de las páginas web se muestran de forma diferente en varios navegadores, lo que implica que algunos elementos HTML y sus propiedades CSS dependen del navegador. Además de esto, depende del navegador cuando escribe JavaScript nativo simple.

Por lo tanto, es necesario probar la aplicación web en varios navegadores, como Microsoft Edge, Firefox, Google Chrome, Safari y otros navegadores principales.

Ayudará si se utilizan hacks de CSS para lograr una apariencia consistente en cada navegador. Además, existen marcos de JavaScript como jQuery, que se comportan de manera consistente en todos los principales navegadores.

2. Compatibilidad del sistema operativo: al igual que la compatibilidad entre navegadores, la compatibilidad del sistema operativo es otro problema grave para las pruebas de compatibilidad. No todos los sistemas operativos implementan las llamadas de interfaz sofisticadas más recientes, como API.

Por otro lado, algunos sistemas operativos no admiten todas las fuentes. Por lo tanto, la apariencia de los sitios web puede diferir en varios sistemas operativos.

Por lo tanto, ayudaría si uno se asegurara de que la apariencia y la funcionalidad sean compatibles en diferentes sistemas operativos como Windows, Linux, Mac, etc.

3. Compatibilidad móvil: con el aumento del uso de navegadores móviles para navegar e interactuar con aplicaciones móviles, quedaron atrás los días en los que desarrollaba sitios web solo para computadoras de escritorio y portátiles. Sería útil si los sitios web están diseñados para atender a varios dispositivos portátiles. Por lo tanto, ayudaría si las consultas de medios se usan de manera efectiva al crear el diseño.

4. Compatibilidad de red: se puede probar la aplicación web en diferentes tipos de redes, como Wifi, 3G, 4G y 5G para varios anchos de banda, velocidades de red y capacidades.

5. Compatibilidad de dispositivos: se evalúa la compatibilidad de la aplicación con varios dispositivos como USB, Bluetooth, tarjeta SD, impresoras y otros.

Pruebas de base de datos

Las pruebas de bases de datos examinan la integridad y consistencia de los datos, esquemas, tablas, procedimientos, funciones y disparadores de la base de datos bajo prueba. Los probadores realizan estas tareas mediante la creación de consultas sofisticadas que mejorarán la forma en que se adapta a diferentes circunstancias.

En estos días, rara vez encuentra sitios web estáticos, ya que la recuperación y el almacenamiento de datos forman un componente crítico de cualquier aplicación web. Estas aplicaciones web constan de varias capas que requieren pruebas: interfaz, negocio, acceso a datos y base de datos.

¿Cuál es el propósito de las pruebas de base de datos?

  1. La prueba de la base de datos es esencial, ya que los evaluadores se aseguran de que los usuarios no ingresen datos basura, incluidos valores nulos o texto con caracteres especiales.
  2. Por lo tanto, la aplicación web puede contar con una base de datos confiable y totalmente funcional con datos precisos para responder a las consultas de los usuarios de cualquier parte del mundo.
  3. Si no se realizan las pruebas de la base de datos, los datos se almacenarán incorrectamente, nunca se almacenarán o se perderán. 
  4. Podría dar como resultado que el rendimiento de la aplicación no esté a la altura de las expectativas con una experiencia de usuario (UI) deficiente.

Ejemplos de casos de prueba

1. Pruebas de operaciones CRUD: el primer conjunto de casos de prueba cubre las actividades de creación, lectura, actualización y eliminación (CRUD) de su aplicación para garantizar que almacene y acceda a los datos manteniendo su integridad. Un probador puede realizar consultas utilizando comandos de lenguaje de manipulación de datos SQL (DML) directamente desde la interfaz de la aplicación o a través de un sistema de gestión de base de datos (DBMS). Para que los evaluadores garanticen que la base de datos del sistema está segura contra ataques de inyección SQL, pueden ejecutar comandos SQL maliciosos desde el entorno de prueba.

2. Prueba de la tabla y la columna de la base de datos: supongamos que hay un formulario de registro de cliente simple que solicita el nombre del cliente, la dirección de correo electrónico, el número de contacto y el mensaje. Cuando el cliente completa el formulario antes de que se almacene en la base de datos, las pruebas de tablas y columnas deben garantizar lo siguiente:

  • Los tipos de datos de los campos de formulario deben coincidir con los campos de formulario de base de datos correspondientes en el backend.
  • La longitud del campo mencionado en la base de datos de back-end debe coincidir con la validación de esos campos correspondientes en el front-end.
  • Los campos de la base de datos definidos en el backend permiten al usuario ingresar entradas de usuario adecuadas según lo especificado en las especificaciones de requisitos comerciales. 

3. Pruebas de claves e índices:

  • Esta prueba comprueba si ha creado las restricciones de clave primaria y externa.
  • Comprueba si las referencias de clave externa son válidas.
  • Comprueba si el tipo de datos de la clave principal y el de la clave externa correspondiente son del mismo tipo.
  • Compruebe si ha creado el tamaño y la longitud de los campos obligatorios.
  • Compruebe si ha nombrado todas las claves e índices de acuerdo con las convenciones adecuadas.
  • La lógica empresarial prueba si ha creado los índices agrupados y no agrupados adecuados en las tablas relevantes.

4. Pruebas de esquema: los evaluadores deben comprender el concepto del esquema de la base de datos, ya que constituye la base de la estructura de la base de datos. Los evaluadores generalmente ejecutan pruebas de esquema utilizando expresiones regulares para verificar los nombres de los campos de la tabla y confirmar que el valor coincide con el tipo de datos deseado. Además, los probadores pueden divulgar la estructura de la base de datos mediante instrucciones SQL describe (DESC) para garantizar que se corresponda con lo que espera la aplicación.

5. Validaciones del servidor de la base de datos:

  • Examine si las configuraciones del servidor de la base de datos están establecidas según los requisitos comerciales.
  • Compruebe que los usuarios previstos tengan permiso para realizar solo los niveles de actividades que requiere la aplicación.
  • Verifique que el servidor de la base de datos pueda manejar la cantidad máxima de transacciones de usuario que permite la lógica comercial.

Pruebas de seguridad

Las pruebas de seguridad se enfocan en realizar pruebas para proteger la aplicación web de ataques maliciosos, virus y malware que pueden infiltrarse en la aplicación web debido a las fallas de seguridad en la aplicación. Las pruebas de seguridad son la única forma de descubrir lagunas de las que se pueden aprovechar los intrusos o atacantes malintencionados.

¿Cuál es el propósito de las pruebas de seguridad?

  1. El objetivo principal de las pruebas de seguridad es detectar y evaluar posibles vulnerabilidades en un software/aplicación web. 
  2. Como resultado, puede enfrentar los ataques y el sistema no deja de funcionar ni operar bajo explotación. 
  3. También ayuda a los desarrolladores a descubrir todos los posibles peligros de seguridad en el sistema y a codificar las resoluciones de las crisis.

Casos de prueba de ejemplo

1. Todas las contraseñas deben estar encriptadas a nivel de código: cualquier persona con acceso a una base de datos de usuarios en los servidores de una empresa puede examinar las contraseñas almacenadas si las contraseñas no están encriptadas. Además, cuando las contraseñas pasan entre el cliente y el servidor, los piratas informáticos podrían robarlas y provocar un acto malicioso en el sistema.

2. Los formularios han utilizado el método de publicación en lugar del método de obtención: los valores que envió a través del formulario se adjuntan a la string de URL si utiliza el método de obtención. Por lo tanto, es más probable que los piratas informáticos puedan robar dicha información y lanzar un ataque a su aplicación web.

3. Se debe prohibir el acceso directo a las páginas que requieren inicio de sesión: Hay algunas páginas que requieren que inicie sesión para realizar ciertas acciones. En caso de que un usuario acceda a ellas directamente, debe dirigirse a la página de inicio de sesión.

4. Pruebe si los captchas se colocan en todos los formularios principales: CAPTCHA lo protege del correo no deseado y el descifrado de contraseñas al solicitarle que complete una prueba simple que verifica que es una persona en lugar de un robot que intenta acceder a una cuenta protegida con contraseña.

Pruebas de rendimiento

El objetivo principal de las pruebas de rendimiento es navegar y resolver los bloqueos de rendimiento en las aplicaciones web. También se conoce como «Prueba de rendimiento» y es un subconjunto de la ingeniería de rendimiento. Por lo tanto, la prueba de rendimiento es un método de prueba de software para evaluar la velocidad, el tiempo de reacción, la estabilidad, la confiabilidad, la escalabilidad y la utilización de recursos de una aplicación de software bajo una carga de trabajo específica.

¿Cuál es el propósito de las pruebas de rendimiento?

  1. La estabilidad, la escalabilidad y las aplicaciones de alta velocidad deben ser sus objetivos en términos de rendimiento, y las pruebas de rendimiento pueden ayudarlo a lograrlo. 
  2. Antes de lanzar una aplicación, todos los propietarios de negocios deben hacer de esto una prioridad máxima, y ​​también debe aplicarse antes en el proceso para ahorrar tiempo y dinero después.
  3. El mejor aspecto es que un sólido enfoque de prueba de rendimiento ayuda a posicionar su producto para que coincida con los patrones de demanda y las necesidades de sus usuarios finales. ¡También puede preparar su programa para satisfacer los requisitos internos de su empresa!
  4. Los probadores diseñan pruebas de rendimiento para mostrar el rendimiento de su aplicación en varios escenarios. Un sistema puede funcionar bien con mil usuarios simultáneos, pero una técnica de prueba de rendimiento indica cómo funcionaría si hubiera cien mil.

Ejemplos de casos de prueba

  1. Puede probar si la aplicación falla con miles de usuarios simultáneos.
  2. Otro ejemplo destacado de prueba de rendimiento es comprobar el rendimiento de la CPU y la memoria en condiciones de carga óptimas.
  3. Comprobación del tiempo de ejecución de la base de datos cuando se leen/escriben miles de registros al mismo tiempo.
  4. Verifique el tiempo de reacción de la aplicación en escenarios de carga de trabajo baja, media, moderada y alta.
  5. Cuando la conectividad de la red es lenta, verifique que el tiempo de respuesta de la aplicación bajo carga esté dentro de un rango aceptable.

Las 5 mejores herramientas para pruebas web

1. Selenium: Selenium es un marco ampliamente utilizado para probar aplicaciones web en varias plataformas. Algunas de sus características significativas incluyen:

  • Puede probar aplicaciones web en múltiples navegadores y sistemas operativos como Windows, Mac y Linux.
  • Puede escribir casos de prueba en varios lenguajes de programación como PHP, C#, Java, Ruby, Pearl, etc.
  • Proporciona funcionalidades de grabación y reproducción para crear casos de prueba. Como resultado, no tiene que aprender Selenium IDE.
  • Es compatible con algunos proveedores de navegadores destacados que se aseguran de tener controladores de Selenium instalados en los navegadores.

2. TestComplete: TestComplete es un producto de SmartBear que automatiza las pruebas funcionales en numerosas plataformas, como aplicaciones de Microsoft Windows, Web, iOS y Android. Sus principales características incluyen: 

  • Consta de un visualizador de pruebas, que permite visualizar los resultados.
  • Opción de prueba de GUI para aplicaciones basadas en GUI.
  • Proporciona compatibilidad con lenguajes de secuencias de comandos, como JavaScript, Python, secuencias de comandos C#, etc.
  • Puede grabar pruebas y proporcionar reproducción.

3. QTP/UFT: Mercury Interactive creó QTP/UFT, luego HP, y ahora MicroFocus lo compró más tarde. QTP significa QuickTest Professional, mientras que UFT significa Unified Functional Testing. QTP es una herramienta de prueba funcional automatizada que ayuda a los evaluadores a ejecutar Pruebas automatizadas para encontrar fallas, fallas o lagunas en la aplicación bajo la prueba con los resultados esperados. 
Algunas de sus principales características incluyen:

  • Los probadores pueden realizar pruebas de funcionamiento automatizadas sin interrupciones.
  • Puede probar una combinación de aplicaciones web y de escritorio.
  • Proporciona grabación y reproducción.
  • Los usuarios técnicos y no técnicos pueden usarlo con facilidad.

4. Acunetix: Acunetix de Invicti es una herramienta simple y fácil de usar que ayuda a las pequeñas y medianas empresas a proteger sus aplicaciones en línea de filtraciones de datos catastróficas. Lo logra detectando una amplia gama de problemas de seguridad en línea y ayudando a los expertos en seguridad y desarrollo a resolverlos rápidamente.
Algunas de sus principales características incluyen: 

  • Proporciona un rastreador avanzado para las aplicaciones web más sofisticadas, incluidas las áreas protegidas con contraseña.
  • Da evidencia de la explotación de muchos ataques vulnerables.
  • Combina pruebas de seguridad de aplicaciones interactivas y dinámicas para encontrar vulnerabilidades que otras herramientas pasan por alto.
  • Escaneo avanzado de vulnerabilidades en línea para más de 7000 vulnerabilidades web, incluidas SQLi y XSS.

5. Sahi: Sahi es una herramienta de código abierto para probar aplicaciones web en varias plataformas. Su enfoque principal es probar aplicaciones web en múltiples navegadores, incluidos aquellos que tienen Ajax y contenido dinámico.
Estas son algunas de sus principales características:

  • Proporciona informes de errores detallados para gerentes, evaluadores y desarrolladores por igual.
  • Su equipo de control de calidad podría crear casos de prueba con conocimientos mínimos de programación.
  • Admite ventanas emergentes del navegador y cuadros de diálogo modales.
  • Proporciona un marco de trabajo de Excel incorporado que permite a los analistas de negocios y evaluadores con antecedentes no técnicos contribuir a las pruebas. 

Resumen

Dado que los sitios web o las aplicaciones implican funcionalidades y diseño gráfico sofisticados, debe tener una imagen general de todos los componentes básicos que componen un sitio web. 

Publicación traducida automáticamente

Artículo escrito por nilankawijemuni y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *