Está en la página 1de 8

INTEGRANTES:

MENDOZA QUIROZ, CESAR MANOLO


BEDOYA LAMPA, JORGE LUIS

PROGRAMAS DE COMPROBACION DE SOFTWARE


PHPUnit
Informacin General:
Desarrollador(es): Sebastian Bergmann
ltima versin estable: 3.6.10
Gnero: Herramienta para Prueba unitaria
Programado en: PHP
Sistema operativo: multiplataforma
Plataforma: PHP
Idiomas. Ingls
Descripcin:
PHPUnit es un entorno para realizar pruebas unitarias en el lenguaje de
programacin PHP. PHPUnit es un framework de la familia xUnit originada con
SUnit de Kent Beck. PHPUnit se puede encontrar en GitHub1 y ha sido creado por
Sebastian Bergmann.
Propsito:
PHPUnit se cre con idea de que cuanto antes se detecten los errores en el
cdigo antes podrn ser corregidos. Este conocido framework para PHP nos
permite crear y ejecutar juegos de tests unitarios de manera sencilla Como todos
los frameworks depruebas unitarias, PHPUnit utiliza assertions para verificar que
el comportamiento de una unidad de cdigo es el esperado.
Un ejemplo tpico sera una prueba unitaria que probara el mtodo de persistencia
de una entidad.
/*
* Test Save
*/
public function testSave(){
$n = $this->getNotasObject();
$this->em->persist($n);

$this->em->flush();
$query = $this->em->createQuery(
'SELECT x FROM NotasBundle:Notas x WHERE x.id = (
SELECT MAX(p.id) FROM NotasBundle:Notas p
)'
);
$n2 = $query->getSingleResult();
$this->assertNotNull($n2);
$this->assertEquals($n, $n2, "Son iguales");
$this->assertEquals($n->getId(), $n2->getId(), "Son iguales");
}
En l se aprecian dos funciones de PHPUnit.

AssertNotNull: comprueba que la referencia no sea null.


AssertEquals: comprueba que las dos referencias pasadas como
argumento sean iguales.

Beneficios
El objetivo de las pruebas unitarias es aislar cada parte del programa y demostrar
que las partes de forma individual son correctas. Una prueba unitaria proporciona
un contrato escrito que la pieza de cdigo debe satisfacer. Como resultado, las
pruebas unitarias encuentran problemas en las fases iniciales del desarrollo de
software.
JUnit
Informacin General
Desarrollador(es): Kent Beck, Erich Gamma, David Saff
ltima versin estable: 4.12 [1] 14 de noviembre de 2012; hace 3 aos
Gnero: Herramienta para Prueba unitaria
Programado en: Java
Sistema operativo: multiplataforma
Plataforma: Java
Licencia: Common Public License
Idiomas: ingls
Descripcin:

JUnit es un conjunto de bibliotecas creadas por Erich Gamma y Kent Beck que
son utilizadas en programacin para hacerpruebas unitarias de aplicaciones Java.
JUnit es un conjunto de clases (framework) que permite realizar la ejecucin de
clases Java de manera controlada, para poder evaluar si el funcionamiento de
cada uno de los mtodos de la clase se comporta como se espera. Es decir, en
funcin de algn valor de entrada se evala el valor de retorno esperado; si la
clase cumple con la especificacin, entonces JUnit devolver que el mtodo de la
clase pas exitosamente la prueba; en caso de que el valor esperado sea
diferente al que regres el mtodo durante la ejecucin, JUnit devolver un fallo en
el mtodo correspondiente.
JUnit es tambin un medio de controlar las pruebas de regresin, necesarias
cuando una parte del cdigo ha sido modificado y se desea ver que el nuevo
cdigo cumple con los requerimientos anteriores y que no se ha alterado su
funcionalidad despus de la nueva modificacin.
El propio framework incluye formas de ver los resultados (runners) que pueden ser
en modo texto, grfico (AWT o Swing) o como tarea en Ant.
En la actualidad las herramientas de desarrollo como NetBeans y Eclipse cuentan
con plug-ins que permiten que la generacin de las plantillas necesarias para la
creacin de las pruebas de una clase Java se realice de manera automtica,
facilitando al programador enfocarse en la prueba y el resultado esperado, y
dejando a la herramienta la creacin de las clases que permiten coordinar las
pruebas.
Este framework se encuentra actualmente en la versin 4.6, con grandes mejoras.
He aqu una pequea relacin:

4.6
o Incluye un nuevo Core experimental: MaxCore. Recuerda los resultados de
ejecuciones previas. Existe un plug-in para Eclipse.
o Incluye un mtodo para indicar la mquina que ejecuta los tests.
o Se pueden comparar Arrays: assertArrayEquals(new double[] {1.0, 2.0},
new double[] {1.0, 2.0}, 0.01);
o Desde 4.0 se ha podido ejecutar un nico mtodo utilizando la API:
Request.method. Ahora el filtro que implementa esta funcionalidad est
expuesto en: Filter.matchDescription.

4.5
o Incluye anotaciones (Java 5 annotations) en lugar de utilizar herencia:

o @Test sustituye a la herencia de TestCase.


o @Before y @After como sustitutos de setUp y tearDown.
o Se aade @Ignore para deshabilitar tests.
o Permite timeouts en los tests.
o Configurar excepciones esperadas.
o Ordenacin, priorizacin, categorizacin y filtrado de tests.
o Forward y backward compatibilidad.
o Logging.
o Ms tipos de aserciones (ej: assertEquals(Object[], Object[]))
o Se elimina la distincin entre errores (errors) y fallos (failures).

Visual Studio Code Metrics


Definicin:

Son un conjunto de mtricas de cdigo que proporcionan a los desarrolladores


una mejor visin del estado del cdigo que estn desarrollando. Al tomar ventaja
de estas mtricas, los desarrolladores pueden saber que tipos y/o mtodos deben
ser re escritos o se deben probar a fondo. Los equipos de desarrollo pueden
identificar riesgos potenciales, comprender el estado actual de un proyecto y
realizar el seguimiento del progreso durante el desarrollo del software.

En otras palabras Visual Studio Code Metrics es un analizador de cdigo


esttico que nos ayuda a velar por la calidad de nuestro desarrollo generando
mtricas de cdigo que nos ayudan a tomar decisiones sobre la forma en que
venimos diseando y escribiendo el cdigo.

Mtricas de cdigo usadas:


a) Maintainability Index (ndice de mantenimiento)
Calcula un valor entre 0 y 100 que indica que tan fcil es un cdigo para
mantener. Un valor alto significa una mejor capacidad de mantenimiento.

ndice de mantenimiento:

b) Cyclomatic Complexity (Complejidad ciclomtica)


Mide la complejidad estructural del cdigo. Se crea mediante el clculo del
nmero de diferentes rutas de cdigo en el flujo del programa. Un programa
que tiene un flujo de control complejo requerir ms pruebas para lograr una
buena cobertura de cdigo y ser menos mantenible.
c) Depth of Inheritance (Profundidad de herencia)
Indica el numero de clase extendida que es una clase con respecto a su clase
base. A partir de su clase base cuenta las clases que tiene que navegar para
llegar a la raz de su jerarqua. Cuanto ms profunda es la jerarqua, se vuelve
ms difcil entender donde se definieron los mtodos y campos.

Clase base A. El nivel de herencia es 1, recuerden que todo objeto hereda

de Object.
Clase B hereda de A. El nivel de herencia es 2.
Clase C hereda de B. El nivel de herencia es 3.
Clase D hereda de C. El nivel de herencia es 4.
Clase E hereda de D. El nivel de herencia es 5.

d) Class Coupling (Acoplamiento de clases)


Mide el acoplamiento entre clases a travs de: parmetros, variables locales,
tipos de devolucin, llamadas a mtodos, instancias genricas, clases de
base, implementaciones de interfaz, campos definidos en tipos externos y
atributos. Un buen diseo de software dicta que los tipos y mtodos deben
tener una alta cohesin y bajo acoplamiento.

e) Lines of Code (Lneas de cdigo)


Indica el nmero aproximado de las lneas en el cdigo. El recuento se basa
en el cdigoMSIL y por lo tanto no es el nmero exacto de lneas en el archivo
de cdigo fuente. Un recuento muy alto podra indicar que un tipo o mtodo
tiene muchas resonsabilidades y debe ser dividido. Tambin podra indicar que
el tipo o mtodo puede ser difcil de mantener.

Uso

Existen dos formas para analizar el cdigo, la primera es ir al men Analyze y


seleccionar la opcin Calculate Code Metrics for solution.
La otra forma es hacer clic
la opcin Calculate Code Metrics.

derecho

Selenium

en

la

solucin

seleccionar

Informacin general

Desarrollador(es): SeleniumHQ
ltima versin estable: 2.48.2 (9 de octubre de 2015; hace 7 meses)
Gnero: Automatizacin de pruebas
Sistema operativo: Multiplataforma
Licencia: Apache License

Descripcin:
Selenium es un entorno de pruebas de software para aplicaciones basadas en la
web. Selenium provee una herramienta de grabar/reproducir para crear pruebas
sin usar un lenguaje de scripting para pruebas (Selenium IDE). Incluye tambin un
lenguaje especifico de dominio para pruebas (Selanese) para escribir pruebas en
un
amplio
nmero
de
lenguajes
de
programacin
populares
incluyendo Java, C#, Ruby, Groovy, Perl, Php y Python. Las pruebas pueden
ejecutarse entonces usando la mayora de los navegadores web modernos en
diferentes sistemas operativos como Windows, Linux y OSX.

Componentes de Selenium

Selenium IDE

Selenium Client API

Selenium Remote Control

Selenium Remote Control (RC)

Selenium WebDriver

Selenium Grid

Firebug
Descripcion:
Firebug es un sencillo add-on para Mozilla Firefox, que nos permitir interactuar
con el HTML, JS, CSS y XHR de las pginas web y, adems, ofrece informacin
acerca de las imgenes mostradas en el cdigo.
Adems de funcionar en Mozilla Firefox en su versin completa, existe una versin
Lite, compatible con Internet Explorer, Opera, Safari y Google Chrome, que
realiza casi las mismas funciones. En Globe Testing creemos que este plugin est
unido muy estrechamente al campo funcional y de rendimiento de las pginas
web, y su ejecucin, siempre despus de comprobar su correcto funcionamiento,
cierra el ciclo de pruebas para que el aplicativo web del cliente funcione
perfectamente.
El programa permite optimizar el JavaScript en grupos, para que no sea tan
tediosa la tarea de observar el rendimiento, pero la caracterstica principal de
Firebug es la identificacin de los ficheros que se convierten en un cuello de
botella y ralentizan nuestra pgina web.
Cuantos ms elementos estticos existan en la pgina web, mejor rendimiento
tendr y ms rpida ser su navegacin y carga. Una vez est el aplicativo
revisado, es muy importante arreglar los errores 404, que pueden ralentizar
muchsimo el rendimiento de la pgina, ya que no son cacheables, y obligan a
pedir de nuevo el recurso en cada visita para comprobar si existe algn cambio.
Como resumen global, el Firebug es una importante herramienta para mejorar la
respuesta de nuestra pgina web de cara al tiempo de carga, optimizando cdigo
y resolviendo los principales problemas que pueden llegar a ocasionar pginas
mal cargadas, errores 404, o demasiados elementos dinmicos.

También podría gustarte