¿Cómo enfocamos al Testing de Calidad de Software?

Otorgamos mucha importancia al papel del testing de calidad en el Desarrollo de Software Web y lo enfocamos desde dos perspectivas principales:

A. Tipos de testing en general.
B. Testing para tu proyecto web.


A.Tipos de testing en general
1. Unitario
2. Integración
3. Sistémico
4. Aceptación
5. Regresivo
6. Humo o Smoke testing
7. Portabilidad
8. Seguridad

Estos son los tipos de testing que en Pizzaferri Morrone | Programadores Freelance realizaremos como parte de nuestra propuesta de servicio. En caso que se requiera algún otro tipo de testing (por ejemplo: testing de usabilidad de software) puedes indicárnoslo para analizarlo y evaluar su ejecución.

Te comentamos algo más sobre los tipos de testing indicados para ampliar lo anterior:

Testing unitario sobre tu desarrollo web: Realizamos pruebas de cada funcionalidad por separado. No necesariamente una función es un caso de uso. En este testing se prueba cada elemento del software por separado, verificando si ejecutándolo individualmente su funcionamiento arroja el / los resultados esperados. Si no fuera así, registramos la incidencia para el análisis de su causa, establecemos un diagnóstico y procedemos a su posterior corrección para que funcione como estaba previsto.

Testing de integración: Aquí el testing se hace sobre el caso de uso completo, procurando verificar que funcione hasta el final.

Testing sistémico: En este tipo de testing se prueba todo el sistema en su conjunto, testeando todas las funcionalidades que lo componen y todos los resultados esperados.

Testing de aceptación: El objetivo de este testing es que el cliente final haga la prueba del sistema, como si ya estuviera en producción. Si trabajas en una agencia, te pedimos que pruebes el sistema junto con tu cliente para verificar si se cumplen los estándares objetivos de aceptación que se han acordado en un comienzo. En síntesis, aquí esperamos el feedback del usuario final.

Testing regresivo: Cuando nos contratan para realizar mantenimiento de un software existente, introduciremos nuevas implementaciones a tu sistema. Esto puede ocasionar la aparición de bugs (o fallos). Para evitar que el sistema tenga huecos o falle en otras áreas que no se relacionan con lo hemos hemos implementado, hacemos un testing de regresión y te indicamos el diagnóstico y sus posibles causas. Asimismo, si nos contratan para programar algo desde cero (un sitio web, una funcionalidad en particular), también realizaremos testings regresivos en el afán de encontrar fallos inesperados en lo que hemos hecho, invirtiendo el funcionamiento normal del caso de uso (deshacer, reducir, cerrar, validar). Habrá bugs previos a nuestra intervención, y te los reportaremos para poder evaluar en conjunto cuáles caminos tomar, y habrá fallos derivados de nuestro propio desarrollo, que procederemos a informar y a reparar.

Testing humo (“smoke testing”): Este testing lo llevamos a cabo sobre el final del proyecto web (tanto antes de subirlo a entorno de stage como en forma previa a moverlo a producción). Este testing lo hacemos sobre las funcionalidades principales, ya no nos centramos de los detalles dado que de sus pruebas nos hemos ocupado constantemente, a medida que lo hemos estado desarrollando.

Testing de portabilidad: Verificamos que tu desarrollo se adapte y a los distintos tipos de pantalla y en los distintos sistemas operativos. Todos nuestros desarrollos son web responsive (dispositivos) y cross-browsing (en todos los navegadores y sistemas operativos).

Testing de seguridad: La entrega de un software seguro es un must para nosotras. Más aún si tu proyecto web se trata de un sistema de gestión, una intranet, un ERP, en el que viajan y se almacenan datos comerciales y datos personales. Si se trata de un pedido de testing de seguridad sobre un proyecto existente, te ofreceremos un servicio de auditoría de seguridad, pudiendo establecer monitorización del desarrollo web durante un plazo de ser necesario. Realizamos validaciones de formularios, integraciones de Certificados de seguridad (SSL), cifrados, encriptaciones, cierres automáticos de sesiones, entregándote sistemas informáticos estables y confiables.

B. Testing para tu proyecto web: Testing contra Especificaciones.
Antes de comenzar a desarrollar escribimos un Acta de Aceptación, basado en los intercambios previos o, en caso que contrates Consultoría TI, en base al informe derivado de ésta. ¿Qué es este documento? Se trata de un documento escrito en el que acordamos criterios objetivos y técnicos de aceptación de un entregable y del proyecto en general.

Identificamos los casos de uso o las historias de usuario (según la metodología de trabajo seleccionada -waterfall / agile -), los escribimos tal y como debe funcionar cada uno. Así es como testearemos cada caso una vez desarrollado. En caso que se esté testeando una versión que no sea la original, dejamos asentado el Nº de versión precedente y cómo funciona en la actualidad.

Consultoría TI y Testing de Calidad

Nuestro servicio de Consultoría TI lo ofrecemos en aquellos casos en que el proyecto no está definido o que tiene un sistema pre-existente que debe ser modificado en una buena proporción de lo que es en la actualidad. En esta Consultoría TI incluimos los casos de uso y cómo deben funcionar a nivel de detalle. Asimismo, prevemos qué testings consideramos adecuados para tu proyecto dado que, por supuesto, no todos los proyectos requieren atravesar por todos los tipos de testing que te comentamos anteriormente.

Asimismo, en función de la cultura de tu organización y de sus procesos internos es posible que nos pidas la ejecución de otros tipos de testings (por ejemplo: testing de rendimiento). La Consultoría TI dejará asentado este requerimiento y el modo en que lo haremos para dar cumplimiento a estas pautas.
Conoce más sobre lo que pensamos sobre la Consultoría como inversión en tecnología.

Qué tipos de pruebas hay y cuáles hacemos

Existen distintos tipos de testing en función de diversos factores:
A. Testings manuales:
 Son las que realizamos en el marco de nuestros servicios. Los testings indicados los hacemos personas humanas, sin uso de softwares especiales, hasta lograr un elevado nivel de estabilidad.
B. Testings automáticos: Son las que utilizan algún software para probar el correcto funcionamiento de los casos de uso. En Pizzaferri Morrone | Programadores Freelance no usamos este tipo de testing.

Cuando te comentamos sobre las distintas tecnologías informáticas para el desarrollo de software pudimos llegar a una conclusión: no hay una mejor que la otra. Todas ofrecen ventajas y desventajas. Lo mismo pensamos que ocurre con el software testing. En nuestro caso, nos inclinamos por el trabajar con testing manual. Esta elección se basa en procesos internos que hemos ideado para mitigar sus debilidades intrínsecas, obteniendo excelentes resultados hasta el presente.

Testing exhaustivos para reducir riesgos en los resultados del servicio

En Pizzaferri Morrone | Programadores Freelance consideramos que el testing es un servicio central en el desarrollo de sistemas informáticos, intranets, sitios web, APIs, y el tipo y alcance del testing dependerá de cada proyecto. Lo usamos como una herramienta de mejora continua de la calidad de nuestro trabajo, de reducción de riesgo y de mejoramiento de la calidad de software.