martes, 2 de diciembre de 2008
Comentarios...
- Me parecio que las temáticas manejadas aquì son de mucho análisis y muy técnicas.
- Gracias por dejar sus comentarios
_Feliz Navidad y un espectacular año 2009
CONCLUSIONES
Las pruebas de caja blanca también conocidas como pruebas de caja de cristal o transparente, hacen referencia a las pruebas a nivel interno del programa, es decir al comportamiento y la estructura del programa para que sea posible ejecutar las sentencias del programa.
Debido a que es de gran dificultad analizar todas las variables, se definen criterios de cobertura lógica como son: cobertura de sentencias, de decisión, de condición, de condiciones múltiples, cobertura de caminos, que permiten verificar la estructura interna del programa a evaluar.
Cuando se elabora el programa es necesario ir detectando las posibles fallas, para corregirlas; es decir evaluar cada proceso para despues enlazarlos sin que se presente conflicto del programa.
A continuiación se representa en forma de Grafos todas las decisiones lógicas intervenidas en el programa; los posibles bucles que intervienen en el desarrollo de procesos y se Representa en forma de Diagrama de Flujo Datos general del aplicativo en los comentarios simbolizados por los //
GraCuad.java
//para la función cuadrática se debe crear GraCuad.java
import java.awt.*;
import java.applet.Applet;
public class GraficoCuad extends Applet {
int x0,xN,y0,yN;
double xmin,xmax,ymin,ymax;
int apAncho,apAlto;
public void init() {
Dimension d = size();
apAncho = d.width;
apAlto = d.height;
x0 = y0 = 0;
xN = apAncho-1;
yN = apAlto-1;
xmin = -10.0;
xmax = 10.0;
ymin = -5.0;
ymax = 5.0;
}
public void paint( Graphics g ) {
double x1,y1,x2,y2;
int j1,j2;
j1 = ValorY( 0 );
for( int i=0; i < apAncho; i++ )
{
j2 = ValorY( i+0.5 );
g.drawLine( i,j1,i+0.5,j2 );
j1 = j2;
}
}
private int ValorY( int valor ) {
double x,y;
int retorno;
x = (valor * (xmax-xmin) / (apAncho-1)) + xmin;
y = x^2+4x+5;
retorno = (int)( (y-ymin) * (apAlto-5) / (ymax-ymin) );
retorno = apAlto - retorno;
return( retorno );
}
}
-------------------------------------------------
//Para dibujar la función cuadrática:
dibcuad.java
import java.awt.*;
import java.applet.Applet;
public class dibcuad extends Applet {
int x0,xN,y0,yN;
public void init() {
Dimension d = size();
x0 = y0 = 0;
xN = d.width-5;
yN = d.height-5;
}
public void paint( Graphics g ) {
for( int x=x0; x < xN; x++ )
g.drawLine( x,(int)(yN*X^2+4X+5),
x+1,(int)(yN*Math.(X^2+4X+5)) );
} }
------------------------------------------------
GraExp.java
//para la función exponencial se debe crear GrafExp.java
import java.awt.*;
import java.applet.Applet;
public class GraficoExp extends Applet {
int x0,xN,y0,yN;
double xmin,xmax,ymin,ymax;
int apAncho,apAlto;
public void init()
{
Dimension d = size();
apAncho = d.width;
apAlto = d.height;
x0 = y0 = 0;
xN = apAncho-1;
yN = apAlto-1;
xmin = -5.0;
xmax = 5.0;
ymin = -5.0;
ymax = 5.0;
}
public void paint( Graphics g ) {
double x1,y1,x2,y2;
int j1,j2;
j1 = ValorY( 0 );
for( int i=0; i <>
{
j2 = ValorY( i+0.5 );
g.drawLine( i,j1,i+0.5,j2 );
j1 = j2;
}
}
private int ValorY( int valor ) {
double x,y;
int retorno;
x = (valor * (xmax-xmin) / (apAncho-1)) + xmin;
y = 5*exp(x)+3x+2
retorno = (int)( (y-ymin) * (apAlto-5) / (ymax-ymin) );
retorno = apAlto - retorno; return( retorno );
}
}
//Para dibujar la función exponencial creamos " dibuja esponencial" dibexp.java
Gibexp.java
import java.awt.*;
import java.applet.Applet;
public class dibcuad extends Applet {
int x0,xN,y0,yN;
public void init() {
Dimension d = size();
x0 = y0 = 0;
xN = d.width-5;
yN = d.height-5;
}
public void paint( Graphics g ) {
for( int x=x0; x <>
g.drawLine( x,(int)(yN* 5*exp(x)+3x+2,
x+1,(int)(yN*Math.( 5*exp(x)+3x+2) );
}
}
Aplicación Prueba de Caja Negra
-Funcionalidad incorrecta ó faltante:
El programa no cuenta con un 100% de funcionalidad ya que le hace falta a su creadora correlacionar variables para que exista coherencia en el aplicativo y al momento de compilarlo no arroje reportes de inconsistencias.
Se requiere comprobar si las variables utilizadas son reconocidas por el programa que se està utilizando que es Java.
Es indispensable verificar si las variables empleadas son las acertadas para graficar estas funciones
Se debe comprobar el rango en el cual se va a graficar.
- Análisis de Valores Límite:
Se reqùiere que esta aplicaciòn creada para graficar dos funciones que son cuadràtica y exponencial Y=X2+4x+5 y Y=5exp(x)+3x+2 respectivamente, lo delimite a unos valores o rangos (-5 a 5) con un intervalo de cambio de valor de 0.5. por tal razón si colocamos valores que salgan de estos parànetros el programa arrojará errores, los cuales se pueden corregir incorporando un subprograma para que aparezca un mensaje de datos incorrectos en caso de que no pueda procesar la informaciòn suministrada por el usuario.
- Prueba de Seguridad
El software restringe al uso de la tabla, donde sòlo podrá incorporar los valores que toma x para hacer la respectiva representación. Existe una restricción para el cambio del codigo.
sIMBOLOS PARA ECUACIONES
parte entera pent(x) trunc(x)
entero inferior inf(x) floor(x)
entero superior sup(x) ceiling(x)
entero más próximo próx(x) round(x)
potencial (exponente n) x^n
raíz cuadrada x^(1/2) sqrt(x)
raíz cúbica x^(1/3) cubert(x)
raíz enésima x^(1/n)
exponencial (base e) exp(x) e(x)
exponencial de base b b^x
logaritmo natural ln(x) loge(x)
logaritmo decimal log(x) log10(x)
seno sen(x) sin(x)
coseno cos(x)
tangente tg(x) tan(x)
secante sec(x) cosecante
cosec(x) csc(x)
arco-seno arcsen(x) arcsin(x)
arco-coseno arccos(x)
arco-tangente arctg(x) arctan(x)
seno hiperbólico senh(x) sinh(x)
coseno hiperbólico cosh(x)
tangente hiperbólica tgh(x) tanh(x)
PORTADA
GRAFICAS EN JAVA Y PRUEBAS DE SOFTWARE
MARTHA LILIANA SANCHEZ P.
DICIEMBRE DE 2008
lunes, 1 de diciembre de 2008
Referene Teórico sobre Caja Negra y Caja Blanca
En teoría de sistemas , se denomina caja negra a aquel elemento que es estudiado desde el punto de vista de las entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su funcionamiento interno.
http://es.wikipedia.org/wiki/Caja_negra
http://www.lab.dit.upm.es/~lprg/material/apuntes/pruebas/tes
Caja negra Sinónimos:
pruebas de caja opaca
pruebas funcionales
pruebas de entrada/salida
pruebas inducidas por los datos
Las pruebas de caja negra se centran en lo que se espera de un módulo, es decir, intentan encontrar casos en que el módulo no se atiene a su especificación. Por ello se denominan pruebas funcionales, y el probador se limita a suministrarle datos como entrada y estudiar la salida, sin preocuparse de lo que pueda estar haciendo el módulo por dentro.
Las pruebas de caja negra están especialmente indicadas en aquellos módulos que van a ser interfaz con el usuario (en sentido general: teclado, pantalla, ficheros, canales de comunicaciones, etc etc) Este comentario no obsta para que sean útiles en cualquier módulo del sistema.
Las pruebas de caja negra se apoyan en la especificación de requisitos del módulo. De hecho, se habla de "cobertura de especificación" para dar una medida del número de requisitos que se han probado. Es fácil obtener coberturas del 100% en módulos internos, aunque puede ser más laborioso en módulos con interfaz al exterior. En cualquier caso, es muy recomendable conseguir una alta cobertura en esta línea.
Caja negraSinónimos:
pruebas de caja opaca
pruebas funcionales
pruebas de entrada/salida
pruebas inducidas por los datos
Las pruebas de caja negra se centran en lo que se espera de un módulo, es decir, intentan encontrar casos en que el módulo no se atiene a su especificación. Por ello se denominan pruebas funcionales, y el probador se limita a suministrarle datos como entrada y estudiar la salida, sin preocuparse de lo que pueda estar haciendo el módulo por dentro.
Las pruebas de caja negra están especialmente indicadas en aquellos módulos que van a ser interfaz con el usuario (en sentido general: teclado, pantalla, ficheros, canales de comunicaciones, etc etc) Este comentario no obsta para que sean útiles en cualquier módulo del sistema.
Las pruebas de caja negra se apoyan en la especificación de requisitos del módulo. De hecho, se habla de "cobertura de especificación" para dar una medida del número de requisitos que se han probado. Es fácil obtener coberturas del 100% en módulos internos, aunque puede ser más laborioso en módulos con interfaz al exterior. En cualquier caso, es muy recomendable conseguir una alta cobertura en esta línea.