Testing

 Introducción:

 

A lo largo de la construcción, desarrollo y vida útil de una aplicación o software se hace necesario que se tomen medidas que permitan definir, planear, probar, ejecutar y por ultimo realizar la entrega de un producto limpio y de calidad que mitigue las deficiencias que a lo largo de su desarrollo se puedan presentar hasta su resultado final.

Es por ello, que se hace imprescindible contar con herramientas que permitan llevar a cabo una planificación y ejecución de manera organizada, efectiva y confiable con lo cual se pueda lograr el objetivo deseado.

La realización de un plan de pruebas y consigo una serie de pruebas de manera óptima definirán el tipo de software obtenido, mediante la correcta ejecución de las mismas sin escatimar ninguna permiten que a lo largo de su desarrollo se pueda prevenir, corregir y evitar gastos innecesarios o adicionales frente a la aplicación.

Bases iniciales y esenciales como el Early Testing, son fundamentales a la hora de trazar una ruta que permitan realizar un plan de pruebas que encaminen de manera satisfactoria el resultado del objetivo deseado frente al testing a realizar a un programa o aplicación de software.

El análisis durante el desarrollo, entre lo que se encuentra su documentación, diseños como los diagramas UML. Nos permite realizar las correcciones pertinentes que consolidaran las bases durante el desarrollo del todo el ciclo de vida del software, ahorrando con esto tiempo y dinero.

Así mismo, nos encontramos con el Defect Clustering que va de la mano con el principio anteriormente mencionado, ya que los errores que se detecten pueden ocurrir nuevamente. Detectar a tiempo, corregir los errores y luego verificar la posible repetición de los defectos lograra que se realice una entrega de calidad.

Por último, podemos ver otro principio como la Paradoja del Pesticida, la cual nos indica realizar la verificación y corrección de los errores para que posteriormente se repita dicha verificación sobre las correcciones realizadas.

 

 

Plan de pruebas:

Antes de realizar cualquier acción o corrección se debe tener definido un objetivo claro sobre lo que se desea alcanzar frente a un producto o software, por lo que es necesario crear las bases y definir las herramientas que se utilizaran a lo largo del testing durante el desarrollo del software.

Por ello, se realiza un análisis con el equipo de trabajo sobre los pasos que se llevara a cabo y se define la metodología que se desarrollara frente a las pruebas a ejecutar en la aplicación o software.

Pruebas de software:

Diagnosticar antes y después del desarrollo del software, nos permite medir la calidad del producto final. Por lo que las pruebas permiten evaluar las fallas y errores presentadas en el ciclo de vida del software y de esta manera realizar las acciones respectivas de prevención y corrección.

Pruebas de software funcionales:

El objetivo de un producto o software es que este cumpla con las expectativas y su función para la cual fue creado, es por esto que, durante el desarrollo del software, se hace necesario realizar una serie de pruebas que permitan comprobar la funcionalidad del mismo.

Pruebas como las Unitarias, Integración, Sistema, Cordura, Humo, Interfaz, Regresión, Beta/Aceptación. Llevadas a cabo en un entorno real existente que nos permita comprobar y verificar que las funciones ordenadas sean ejecutadas de la manera que se espera y de esta manera corregir los errores que se puedan presentar.

Pruebas de software no funcionales:

Mediante pruebas como Rendimiento o carga, Estrés, Volumen, Seguridad, Compatibilidad, Recuperación, Confiabilidad, Usabilidad, Conformidad o Localización, podemos evaluar la funcionalidad y comportamiento de un producto.

Verificando diferentes tipos de escenarios, datos, entornos son pruebas que nos ayudaran a realizar las correcciones que se puedan presentar en los diferentes escenarios posibles que pueda presentar el cliente, tiempos de ejecución, si la red se cae, si se encuentra en otro idioma, etc.

Pruebas de software manuales:

Llevadas a cabo por personas, lo que puede significar un costo elevado ya que se requiere de expertos que evalúen el producto directamente, con conocimientos frente al mismo. A su vez, puede demandar más tiempo en la realización del mismo.

Pruebas de software automatizadas:

Son pruebas ejecutadas por maquinas o por otros softwares, que permite realizar acciones correctivas o evaluar y presentar los fallos que el producto este presente. Esto puede ayudar a ejecutarse de manera más rápida, precisa e incluso ayudar a medir los fallos que puedan ser repetitivos a su vez que prevenirlos.

Comentarios

Entradas populares