Origenes y evolucion del testing de software


A pesar de ser una historia ampliamente divulgada, cuando mencionamos los orígenes del término testing de software, es inevitable remontarse hasta el año 1947, cuando se desarrollaba la Mark II; luego del ciclo de pruebas al ordenador, se detectó una falla en las operaciones matemáticas, su origen se produjo debido a una polilla (Bug), que se introdujo en los componentes de la maquina.

Los ingenieros pegaron el insecto con cinta adhesiva en los registros, indicando que este era el primer evento real de un bug encontrado. En la actualidad el testeo de la calidad de los productos se basa en garantizar un mínimo de calidad para evitar que el cliente encuentre errores en el mismo que puedan causar una pérdida de confianza en la empresa, una mala imagen pública y en algunos casos, pérdidas monetarias por valores de millones de dólares, como ocurrió en Samsung con el modelo Galaxy Note 7 y sus baterías defectuosas y explosivas.

Sin dudas la inversión en el testeo de las aplicaciones modernas en un mercado donde la oferta es cada vez más amplia resulta una estrategia fundamental para poder sobrevivir en este mercado, después de todo es probable que existan varias decenas de aplicaciones como la que tu empresa está ofreciendo, el usuario se inclinara por la de mayor calidad y a su vez evaluara y compartirá con el resto de posibles usuarios una opinión sobre la experiencia que acaba de tener con tu aplicación.

Este proceso de evaluación y opinión acerca de tu producto puede hundirlo al fondo de la lista de opciones a descargar si la calidad no supera los estándares esperados.



Trabajo duro

¿Que elegir? ¿Testing manual o testing automatizado?

Empezamos un proyecto y surge la pregunta que tipo de testing debemos aplicar? En este artículo buscaremos dar precisiones con respecto a este interrogante.

Pruebas manuales: consisten en pruebas que son ejecutadas por testers que tienen interacción directa con las aplicaciones, se utilizan herramientas adecuadas para cada propósito. Los testers se encargan de configurar un entorno en el que se llevará a cabo la ejecución de pruebas, y mediante este procedimiento comparan los valores esperados con los valores obtenidos para poder arribar a posibles fallos o incongruencias. Aplicando esta técnica se obtienen resultados desde una perspectiva humana en condición de usuario final, asi como también es recomendable para ejecución de pruebas en dispositivos móviles utilizando gestos.

Pruebas automatizadas: consisten en utilizar una o varias herramientas de software para hacer pruebas a otro software.
Estas herramientas permiten regular la ejecución de pruebas según las necesidades o planificación del tester, permitiendo comparar los resultados obtenidos con los resultados esperados.
La intervención de la automatización en el proceso de pruebas da como resultado la reducción del tiempo requerido para ejecutar casos de pruebas entre otros beneficios.
Existen diferentes tipos de pruebas automáticas las mas conocidas son:

Pruebas de Regresión: para asegurar que las mejoras y correcciones realizadas en el software funcionan de manera eficiente y no afectan la funcionalidad existente del software.

Pruebas de Carga: para simplificar las complicaciones involucradas en la generación de la carga y la simulación de las condiciones de carga de datos.

Ejecución Repetitiva: para las pruebas que implican la ejecución de una sola tarea una y otra vez.

Pruebas de Rendimiento: para simular la interacción de miles de usuarios simultáneos a la vez.

Es importante aclarar que no sería acertado emitir un juicio que dicte qué tipo de testing es mejor. Lo ideal es que el equipo teniendo la información suficiente y adecuada, pueda responder a interrogantes como: ¿cuál testing es mejor y para qué?, ¿qué tipo de testing necesitamos? o ¿cuándo aplicar un tipo sobre otro?

Trabajo duro

Mejores practicas en el testing de software


La realización de pruebas para evaluar el software se ha convertido en una tendencia en la industria, pero se observa que se realizan luego de finalizado el producto y muchas veces solo se ejecutan pruebas funcionales, lo que incide en los costos de corrección y alargan los cronogramas del proyecto, sin cubrir las pruebas estructurales y no funcionales. La presencia del software se incrementa de manera sostenida en innumerables actividades del ser humano, entre ellas se encuentran todas aquellas relaciones con el sector industrial, el comercio, la salud, la educación, el transporte, el control de la infraestructura urbana y el medio ambiente. Esto convierte a la calidad en un importante punto diferenciador entre las organizaciones a nivel mundial por las ventajas competitivas que puede aportar.

Las actividades de testeo de los procesos y productos durante todo el ciclo de vida de software, permiten mayor utilidad con el propósito de ofrecer optimización, eficiencia y satisfacción de necesidades de los clientes. A continuación las mejores practicas para llegar a resultados de un nivel superior: Determinar el alcance de la Automatización de Pruebas: Todos los aspectos deben considerarse al analizar la viabilidad.

También es esencial realizar un análisis de factibilidad en el paquete de casos de prueba manual que permite a los ingenieros de automatización diseñar los scripts de prueba. Seleccionar la prueba a automatizar correcta: Las pruebas de automatización dependen en gran medida de las herramientas.

Es por eso que encontrar la herramienta de prueba de automatización adecuada es una fase crítica para un ciclo de vida de prueba de automatización. Cuando busque una herramienta de automatización, debe tener en cuenta el presupuesto, las tecnologías que se utilizan en el proyecto, la familiaridad de la herramienta de su equipo con los recursos a bordo, la intuición, la flexibilidad y más. Plan + Diseño + Estrategia de Testing: La siguiente es la fase de la metodología del ciclo de vida de las pruebas de automatización que define cómo abordar y lograr el objetivo de la automatización de pruebas.

La selección de un marco de automatización de prueba es lo primero y más importante en la fase de Estrategia de prueba del Ciclo de vida de pruebas de automatización. Una buena documentación facilita la ejecución: Una vez que instale el entorno de prueba, es el momento de ejecutar el script de prueba. Entonces, esta fase del ciclo de vida de las pruebas de automatización está dedicada a la ejecución de todos los scripts de prueba. Reporte y análisis de resultados de testing: Después de realizar todos los tipos de pruebas, el equipo de pruebas analizó para identificar qué funcionalidad o componente particular experimenta un número relativo de informes de problemas.



Trabajo duro


Card image cap
Aporte de Valor

Se observa en la actualidad una necesidad por parte de desarrolladores de software, de darle una mayor intensidad a su proceso de testing, debido a que se evidencia un sustancial incremento de empresas destinadas al desarrollo y solo las que sean capaces de ofrecer un producto de mayor calidad subsistirán en el tiempo.

Última actualización hace 60 días

Card image cap
La solución es incluir un grupo externo de testing

Con el paso de las décadas a quedado claro que una de las mayores incongruencias que existe en el desarrollo de sistema es que el desarrollador se ve limitado para depurar su propia creación, es difícil analizar un problema con la misma lógica que fue creado y arribar a soluciones diferentes. Por eso la solución es incorporar a tu proyecto un grupo abocado exclusivamente a llevar adelante la tarea de testing desde etapas tempranas.

Última actualización hace 60 días

Card image cap
La opinión de tus usuarios determina tu futuro

Vivimos en un momento donde casi la totalidad de las personas interactúan diariamente con aplicaciones que buscan simplificar sus actividades cotidianas. Esto ha generado que la exigencia por parte de los usuarios se torne cada vez más elevada, posiblemente no tengas dos oportunidades de satisfacer las necesidades de tus clientes, si hay fallas simplemente elegirán otra opción.

Última actualización hace 60 días

Card image cap
Profesionales del testing

En WiseTech podemos ayudarte a llegar a tus usuarios de una manera más efectiva, podemos acompañarte en el proceso de diseño de tus aplicaciones y realizar una verificación de las mismas para que cuando la saques al mercado ya este testeada y las posibilidades de fallar en las manos de tus usuarios sean sustancialmente menores.

Última actualización hace 60 días

"Depurar es al menos dos veces más duro que escribir el código por primera vez. Por tanto, si tu escribes el código de la forma más inteligente posible no serás, por definición, lo suficientemente inteligente para depurarlo" - Brian Kernighan

Valores esperados -VS- Valores Obtenidos

Entrecruzar estas dos variables arroja como resultado un posible error.

Un poco de historia
La implementacion de testing al comienzo de tu proyecto te ahorrara dinero y tiempo.

¿Que podemos decir sobre la importancia de la calidad en tus sistemas?

Las pruebas de software se definen como una actividad para verificar si los resultados reales coinciden con los resultados esperados de esta manera el software mejora enormemente su calidad.

Card image cap
Automatización de pruebas

La automatización de pruebas es un proceso mediante el cual se busca encontrar fallas en el software, de esta manera no es necesario que una persona realice estos procesos manualmente. Las pruebas automatizadas tienen la característica de que permiten optimizar los tiempos del equipo de testing.

Última actualización hace 60 días

Card image cap
Pruebas en moviles

En la actualidad es enorme la variedad de teléfonos inteligentes que se ofrecen en el mercado por lo tanto cada vez se hace más imperiosa la necesidad de contar con un adecuado testeo en variados dispositivos antes de lanzar tu aplicación al mercado. Existen errores derivados de compatibilidad con la interacción de tu app con distintos tipos de sistemas operativos, aparatos y versiones

Última actualización hace 60 días

Card image cap
Pruebas de usabilidad

Las pruebas de usabilidad se refieren a que tan amigables son tus sistemas con el usuario que elige tu aplicación para realizar alguna tarea. Se puede analizar desde la sencillez con la que se puede interactuar con el software o que tan intuitiva es en sus acciones como también si cumple efectivamente con los requisitos para los que fue creado dicho programa.

Última actualización hace 60 días

Card image cap
Pruebas de Stress

Cada vez de forma más evidente las empresas se ven obligadas a contemplar dentro del proceso de desarrollo de software la cantidad de visitas que soportan los sistemas. Con el objetivo de comprobar este aspecto, se sobrecarga un sistema más allá de sus especificaciones para verificar cuando y como se rompe.

Última actualización hace 60 días

"Hay dos formas de escribir programas sin errores; sólo la tercera funciona" -- Alan J. Perlis
¿Te interesa coordinar una reunión?

Podemos reunirnos y analizar juntos cuales serían los casos de prueba más adecuados para aplicar en tu proyecto.

Quiero coordinar una reunión
Podemos ayudarte a dar el paso de calidad que necesitas para alcanzar tus objetivos.
Wise Tech - 2022