Tarea #1Introducción a Ingeniería de pruebas

Introducción a Ingeniería de pruebas

ISLAS OBED

Introducción


Los gerentes de pruebas e ingeniería de las organizaciones de cualquier talla se enfrentan hoy a cualquier número de desafíos al preparar sus productos para un lanzamiento exitoso en los mercados mundiales. La necesidad de reducir los costos totales de las pruebas está siempre presente (la presión de “hacer más por menos”) y demanda una tercerización y automatización inteligentes siempre que sea posible.

Desarrollo

Hablando de software, uno puede hallar referencias a los términos falla, error y defecto. Aunque sus significados están relacionados, hay diferenias importantes entre estos conceptos:
Error: Es una acción humana que produce un resultado incorrecto. Las equivocaciones cometidas por los programadores (typos o “errores de dedo”, por ejemplo) son conocidos como errores. Estos pueden suceder por diferentes motivos, como: confusión en entender los requisitos del sistema, malinterpretar algún valor, etc.
Defecto: Es cuando una carcterística reelevante para la calidad se aleja de sus valores especificados lo cual produce que un producto no cumpla con sus requisitos de uso normales. El “error” introducido por un programador en el código es conocido como “defecto.”
Falla: Es la manifestación de un error en el software. También son conocidos como “bugs” (“bichos” o insectos en inglés). En otras palabras, cuando un defecto es encontrado por el usuario final, lo llamamos falla.
mo podemos ver, la diferencia entre los términos anteriores está más relacionada al momento del desarrollo del software en el cual se encuentran los fallos (para no utilizar ninguno de los términos anteriores) a características propias inherentes a cada término. Si una inexactitud se descubre durante el desarrollo de software, lo llamaremos error; si se encuentra durante el análisis de calidad (Sofwtare QA), lo llamaremos defecto; y si se localiza al momento de la producción (cuando el software entra en contacto con sus usuarios finales) lo llamaremos falla.
La prueba es un proceso que se enfoca sobre la lógica interna del software y las funciones externas. Es un proceso de ejecución de un programa con la intención de descubrir un error, no puede asegurar la ausencia de defectos; sólo puede demostrar que existen defectos en el software.
Plan de Pruebas
El propósito del plan de pruebas es explicitar el alcance, enfoque, recursosrequeridos, calendario, responsables y manejo de riesgos de un proceso depruebas.Note que puede haber un plan global que explicite el énfasis a realizar sobre losdistintos tipos de pruebas (verificación, integración e integración).
Un plan de pruebas incluye:
  1. Identificador del plan.Preferiblemente de alguna forma mnemónica que permita relacionarlo con sualcance.
  2. Alcance. Indica el tipo de prueba y las propiedades/elementos del software a ser probado.
  3. Items a probar.Indica la configuración a probar y las condiciones mínimas que debe cumplir paracomenzar a aplicarle el plan. Por un lado, es dificil y riesgoso probar unaconfiguración que aún reporta fallas; por otro lado, si esperamos a que todos losmódulos estén perfectos, puede que detectemos fallas graves demasiado tarde.
  4. Estrategia.Describe la técnica, patrón y/o herramientas a utilizarse en el diseño de los casosde prueba. Por ejemplo, en el caso de pruebas unitarias de un procedimiento, estasección podría indicar: "Se aplicará la estrategia caja-negra de fronteras de laprecondición" o "Ejercicio de los caminos ciclomáticos válidos". En lo posible laestrategia debe precisar el número mínimo de casos de prueba a diseñar.

Suelen confundirse con mucha facilidad, los niveles de pruebas con los tipos de prueba, y a pesar de que se encuentren íntimamente relacionadas, tienen connotaciones diferentes en el proceso. Las pruebas pueden ejecutarse en cualquier punto del proceso de desarrollo de software, y es aquí donde los niveles de prueba nos permiten entender con claridad los diferentes puntos o etapas en donde pueden ejecutarse ciertos tipos de prueba. Por lo anterior, es común que algunas personas se refieran a los niveles de pruebas o intenten clasificarlos como: pruebas de desarrollador, pruebas funcionales y pruebas de usuario final. Sin embargo, la terminología apropiada para referirse a los diferentes niveles corresponde a la siguientes cuatro (4) clasificaciones que son: pruebas unitarias, pruebas de integración, pruebas de sistema y pruebas de aceptación. En cada uno de estos niveles de prueba, se podrán ejecutar diferentes tipos de prueba tales como: pruebas funcionales, no funcionales, de arquitectura y asociadas el cambio de los productos.


Aseguramiento de calidad.
El aseguramiento de la calidad es un aspecto importante de las operaciones de producción en toda la historia, pero es en la década de los años veinte cuando se consolidaría el término.
El aseguramiento de la calidad, se puede definir como el esfuerzo total para plantear, organizar, dirigir y controlar la calidad en un sistema de producción con el objetivo de dar al cliente productos con la calidad adecuada. Es simplemente asegurar que la calidad sea lo que debe ser.
Aunque el sistema de calidad puede ayudar a llenar estas expectativas, es sólo un medio y no puede tomar el lugar de los objetivos fijados para la empresa. El sistema de calidad debe ser r avisado y actualizado regularmente para estar seguro de que se están logrando mejoras valiosas y económicamente viables.

Conclusión

El uso, la planeacion y la implementacion de pruebas dentro de un proyecto podemos considerarlo como una parte vital, pues nos permite encontrar nuestros errores cometidos y asi poder corregirlos antes de entregar al cliente el producto con el menor numero de fallas en el sistema.
Pero para llevar acabo una serie de pruebas es necesario que estas hayan sido previamente planeadas, esto mediante un plan de pruebas, el cual debe estar bien diseñado y que debe incluir 4 puntos, Identificador del plan, Alcance, Items a probar y Estrategia.
Todo proyecto necesita pasar por un periodo de pruebas, pues de eso depende si el sistema cumple exitosamente con las expectativas o no.
Todo esto se hace para cumplir satisfactoriamente las necesidades del cliente y comprobar que se cumplan los requisitos solicitados y estipulados en un princiío. Y en este punto podemos referirnos a un aseguramiento de calidad, el cual es un aspecto muy importante dentro de un proyecto, pues debemos realizarlo con la mayor calidad posible.

Fuentes

  • Pressman R.(2010)INGENIERÍA DEL SOFTWARE. UN ENFOQUE PRÁCTICO, New York, USA: The McGraw-Hill Companies, Inc.
  • Zapata J.(enero 2013), Niveles de Prueba del Software
    https://pruebasdelsoftware.wordpress.com/

Comentarios

Entradas más populares de este blog

Mapa conceptual "Métricas de calidad"

Sistemas Distribuidos (Ensayo)

Cifrado Hash