Ir al contenido principal

TECNICAS DE PRUEBA DE SOFTWARE

Las tecnicas presentan un reto para los ingenieros de software quienes por naturaleza son personas constructivas.

Las preubas no deben provocar culpa  y no son destructivas, es mas nos ayudan encontrar errores para poder corregir la mayor cantidad de errores antes de entregarlo al cliente.

El principio de facilidad de prueba indica si es facil o no probar un programa de computadora
Operatividad cuanto mejor funcione con mayor eficiencia podra probarse
Observabilidad, lo que se ve es lo que se puede probar
Controlabilidad cuanto mejor se controle el software mejor se automatizaran   y mejoraran las pruebas
Capacidad para descomponer  alcontrolar el alcance de la prueba se aislan los problemas mas facilmente  y se aplicaran nuevas pruebas con mayor inteligencia
Simplicidad cuanto menos  haya que probar mas rapido se hara
Estabilidad  cuanto menos cambios haya  menores alteraciones habra en la prueba
Facilidad de comprension, cuanto mas informacion se hara la prueba con mayor inteligencia


Las pruebas de caja blanca se enfocan en un examen cercano al detalle  procedimental y pueden diseñarse solo despues del diseño a nivel de componentes es necesario que los detalles logicos esten disponibles.

Es importante hacer esquemas de los diferentes flujos que nos permitan luego trazar rutas para observar el comportamiento a lo largo de las mismas.

la complejidad ciclomatica  es una metrica  que nos resulta util  para predecir  cuales modulos tienen  mas probabilidades de contener errores, esta proporciona una medida cuantitativa de la complejidad logica de un programa  y se calcula de tres formas.

1. El numero de regiones corresponde a la  complejidad ciclomatica
2. La complegidad ciclomatica  V(G) de una grafica de flujo se define como
V(G) = E-N +2
donde E es el numero de aristas y  N el numero de nodos

3. la complejidad ciclomatica se define como
V(G)  = P+1 donde p es el numero de nodos predicados

Las pruebas de caja negra es una prueba complementaria a las pruebas de caja blanca y tiene como finalidad descubrir otro tipo de erroes

Pruebas orientadas a objetos.

pruebas  basadas en fallas, diseño de pruebas que tengan una alta probabilidad de descubrir fallas
aqui podemos encontrar dos tipos principales de erroes
especificaciones incorrectas
interaccion entre subsistemas

las pruebas basadas en escenarios descubrira errores que ocurren cuando el actor interactua con el software.

la prueba de estructura de superficie es analoga a las pruebas de caja negra, la de estructura de fondo analoga a la caja blanca

Comentarios

Entradas populares de este blog

DISEÑO AL NIVEL DE COMPONENTES

El diseño a nivel de componentes se presenta a menudo despues que se ha terminado la primera iteracion del diseño arquitectonico. y  el objetivo de esta fase es traducir el diseño en software operaciona. El diseño a nivel de componentes define las estructuras de datos, los algoritmos, las caracteristicas de la interfaz  y los mecanismos de comunicacion asignados a cada componente de software. esta fase permite revisar si los detalles de diseño son correctos y consistentes con las representaciones iniciales de diseño ¿QUE ES UN COMPONENTE? Es un bloque de construccion modular par el software de computo. una parte modular desplegable y reemplazable de un sistema que encapsula implementacion y expone un conjunto de interfaces. desde el punto de vista orientado a objetos un componente es un conjunto de clases ques se interrelacionan entre si. en el contexto convencional de ingenieria de software  un componente es un elemento funcional que incorpora  la logica del procesamiento y

ESTRATEGIAS DE PRUEBAS DE SOFTWARE

La estrategia de pruebas de software proporciona un mapa que describe los pasos que se daran como parte de la prueba indica cuando se planea y cuando se daran dichos pasos ademas cuanto tiempo, esfuerzo y recursos consumiran. un software se prueba para descubrir los errores cometidos, si se realiza sin ningun plan seguramente se desperdiciara tiempo, se dedicara un esfuerzo innecesario y lo que es peor puede que no se detecten los errores. Las pruebas se deben planificar con anticipacion y realizarlas de manera sistematica por lo que es importante tener una plantilla existen diferentes y en general tienen los siguientes pasos. 1. Revisiones tecnicas formales y efectivas 2. Se inicia a nivel de componentes y se trabaja hacia afuera hacia la integracion del sistema 3. Diferentes tecnicas en diferentes momentos 4. las pruebas las dirige el desarrollador 5. la prueba y la depuracion son actividades diferentes, pero la segunda debe incluirse en cualquier estrategia de pruebas. l

Múltiples Botones de Submit en MVC 5

Hace unos días me tope con un inconveniente debía colocar varios botones de submit en una vista de MVC, la solución que implementé es muy sencilla 1. En el controlador añadí un parámetro llamado "boton" de tipo string, el cual recibe el valor del botón que se esta accionando en la vista, en el ejemplo colocó una condición que indica que si el botón que se esta accionando es el de cancelar, regresamos al index de lo contrario ejecutamos otra acción [HttpPost] public ActionResult Carga(string boton) {         if(boton.CompareTo("Cancelar")==0)                 return RedirectToAction("Index"); } 2. En la vista tengo dos botones "Cargar" y  "Cancelar" de tipo submit, acá es importante que la propiedad "name" del botón tenga el mismo nombre que la variable del controlador, ya que es por este medio por el cual el controlador identifica de donde tomar el valor para la variable en este caso la variable del controlador