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:
Comentarios
Publicar un comentario