Testing QA de aplicaciones, sitios web y software en general

Testing QA de aplicaciones, sitios web y software en general

Servicio de Testing QA de aplicaciones, sitios web y software en general para realizar los distintos niveles de pruebas a sus sistemas. Nuestros especialistas diseñan los casos de prueba y definen un Plan de Pruebas para liberar su producto de software según los criterios y atributos de calidad definidos (requeridos por usted y recomendados por nuestros especialistas en calidad). Se utilizan técnicas y normas internacionales recomendadas así como la automatización de pruebas en los primeros niveles de prueba. Para solicitar información sobre nuestros servicios Contáctenos.

Testing QA de aplicaciones, sitios web y software

El término QA se refiere a Quality Assurance, es decir al aseguramiento de la calidad. Esto puede ser aplicado a productos y servicios que sean manufacturados o prestados. Sin embargo un aseguramiento de la calidad va más allá de una supervisión de procesos como se pudiera pensar.

Las pruebas de software (en inglés software testing) son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto a la parte interesada o stakeholder. Existen distintos modelos de desarrollo de software, así como modelos de pruebas.

QA Tester (Quality Assurance) es un asegurador de la calidad. Es un perfil profesional orientado principalmente a la medición de la calidad de los procesos utilizados para crear un producto de calidad y del producto en sí (software en nuestro caso), todas ellas encaminadas a la prevención de errores durante el proceso de desarrollo del producto y a la detección posterior al desarrollo del producto.

Uno de los objetivos de la fase de pruebas del sistema es verificar que el comportamiento externo del sistema software satisface los requisitos establecidos por los clientes y futuros usuarios del mismo.

Brindamos Servicios de Testing QA basados en modelos

Utilizamos dos modelos de prueba fundamentales. Para contratar este servicio usted debe especificar el (los) modelo (s) que desea contratar y en dependencia de su elección será el coste, el tiempo, los especialistas asignados y la metodología de trabajo. El proceso en sí se basa en una adaptación del estándard ISO/IEC 25000 (SquaRE). Es usado como base metodológica para la evaluación del producto software. En sus diferentes etapas, establece un marco de trabajo para evaluar la calidad de los productos de software proporcionando, además, métricas y requisitos para los procesos de evaluación de los mismos.

Modelo TADS (pruebas como servicio para el desarrollo)

En este modelo nuestros especialistas pasan a formar parte de su equipo de desarrollo aunque sea de forma remota. Desde el comienzo de su proyecto se asigna el o los especialistas dependiendo de la magnitud del proyecto. Deben estar al tanto del análisis, diseño y desarrollo del proyecto y pueden ser citados a participar (de no ser posible de forma presencial por videoconferencia) en las reuniones del proyecto donde se traten temas de impacto para el proceso de pruebas.

Como parte de este modelo, a partir del momento en que se comiencen a levantar los primeros requisitos el Tester QA comenzará a diseñar e instalar todo el entorno de pruebas promoviendo la automatización para las pruebas unitarias de los desarrolladores, la integración continua y la automatización de pruebas funcionales, de carga y estrés.

Luego de la especificación detallada de los requisitos se encargará de diseñar los casos de prueba funcionales o de aceptación dependiendo de la metodología de desarrollo. Al finalizar entregas, sprint, iteraciones se ejecutarán estas pruebas manuales como filtro final a nivel funcional. En las últimas fases se procederá a diseñar los casos de pruebas no funcionales y a ejecutarlos.

En este modelo se garantiza la prevención de gran cantidad de errores así como la detección y corrección de incidencias durante el desarrollo, pero no constituye un certificado o evaluación de calidad final.

Modelo TAES (Pruebas como servicio de evaluación para la entrega)

Este modelo se basa en definir un conjunto de niveles y tipos de prueba para evaluar que el producto o software entregable cumpla con los criterios de calidad definidos en una norma o estándard.

Tenemos tres evaluaciones incluidas en el servicio basado en este modelo:

  1. Evaluación de la especificación de requisitos según la norma IEE 830 (No certificamos, solo evaluamos siguiendo los niveles de calidad definidos en esta norma)
  2. Evaluación del producto de software o componente del producto de software (entregables) según la norma ISO/IEC 25000 SQuaRE (No certificamos, solo evaluamos siguiendo los niveles de calidad definidos en esta norma)
  3. Evaluación de la documentación de usuario (Manuales, Guías, etc) según el estándar IEEE Std 1063-2001 (No certificamos, solo evaluamos siguiendo los niveles de calidad definidos en esta norma)

Tipos de pruebas por su ejecución

Pruebas manuales

Son aquellas ejecutadas por el tester de forma manual siguiendo un caso de prueba previamente diseñado y documentando las incidencias detectadas.

Pruebas automáticas

Son aquellas ejecutadas por una herramienta para pruebas automáticas que usualmente se encargan además de registrar las incidencias detectadas y brindar reportes de ejecución.

Javier Garzás en su blog nos ayuda a decidir cuándo usar cada tipo de prueba y aquí les dejo una imagen orientativa al respecto:

Agile Testing Pruebas Manuales y Automáticas

Agile Testing Pruebas Manuales y Automáticas

 

Enfoques de pruebas

Pruebas de Caja blanca

Las pruebas de caja blanca (también conocidas como pruebas de caja de cristal o pruebas estructurales) se centran en los detalles procedimentales del software, por lo que su diseño está fuertemente ligado al código fuente. El ingeniero de pruebas escoge distintos valores de entrada para examinar cada uno de los posibles flujos de ejecución del programa y cerciorarse de que se devuelven los valores de salida adecuados (Más en Wikipedia).

Pruebas de Caja negra

En pruebas de software, conociendo una función específica para la que fue diseñado el producto, se pueden diseñar pruebas que demuestren que dicha función está bien realizada. Dichas pruebas son llevadas a cabo sobre la interfaz del software, es decir, de la función, actuando sobre ella como una caja negra, proporcionando unas entradas y estudiando las salidas para ver si concuerdan con las esperadas  (Más en Wikipedia).

Clasificación de las pruebas según lo que verifican

Niveles de prueba

Podemos considerar el proceso de pruebas funcionales como un proceso donde se va probando inicialmente lo de más bajo nivel y se van integrando y probando paulatinamente componentes hasta lograr un sistema completo totalmente probado. Por eso se dice que hay distintos niveles de prueba. Se empieza por las pruebas unitarias, luego las pruebas de Integración, luego las de pruebas de sistema, las de humo, las alpha, las beta y finalmente las de aceptación.

Las pruebas de regresión se puede considerar como la ejecución (normalmente automática) de las pruebas ya realizadas hasta el momento.

Pruebas funcionales

Una prueba funcional es una prueba basada en la ejecución, revisión y retroalimentación de las funcionalidades previamente diseñadas para el software (requisitos funcionales). Hay distintos tipos como por ejemplo:

  • Pruebas unitarias
  • Pruebas de componentes
  • Pruebas de integración
  • Pruebas de sistema
  • Pruebas de humo
  • Pruebas alpha
  • Pruebas beta
  • Pruebas de aceptación
  • Pruebas de regresión

 

Pruebas no funcionales

Una prueba no funcional es una prueba cuyo objetivo es la verificación de un requisito que especifica criterios que pueden usarse para juzgar la operación de un sistema (requisitos no funcionales) como por ejemplo la disponibilidad, accesibilidad, usabilidad, mantenibilidad, seguridad, rendimiento. Podemos clasificar las pruebas no funcionales según el tipo de requisito no funcional que abarcan:

  • Pruebas de compatibilidad
  • Pruebas de seguridad
  • Pruebas de Stress
  • Pruebas de usabilidad
  • Pruebas de rendimiento
  • Pruebas de internacionalización y localización
  • Pruebas de escalabilidad
  • Pruebas de mantenibilidad
  • Pruebas de instalabilidad
  • Pruebas de portabilidad