domingo, 2 de diciembre de 2012

Reflexiones sobre gestión de la calidad


Un paso importante en la gestión de calidad son las pruebas. Las pruebas son un paso importante en el ciclo de vida del software y nos permiten ver si estamos haciendo buen software y si cumple las requisitos.
Existen estándares de calidad que nos dicen que tenemos que medir para saber si el software es de calidad
El mas conocido y usado es el iso 9126. Este describe las características que hayquee medir y también describe métricas y indicadores.
Sobre calidad del software vimos la mayoría de los aspectos que se pueden considerar durante la evaluación de un software ya que nos basamos en la iso 9126, en el tema de aseguramiento de la calidad existen varias herramientas a las que nos referimos en el curso junto con el control de la calidad del software, existieron muchas dudas sobre las certificaciones y para lo que servían dentro el ciclo de desarrollo o elaboración de un UPS siendo los factores que determinan la calidad los que significan significativamente los ejemplos de métricas de calidad.

En la correcta implementación según los requisitos planteados durante la implementación y ojala se pudiera trabajar con las nuevas aplicaciones de ups que están en la actualidad e incorporarlos sobre UPS reales para calificar el conocimiento dentro del mercado.
La Gestión de la Calidad de Software es un conjunto de actividades de la función general de la Dirección que determina la calidad, los objetivos y las responsabilidades.

jueves, 18 de octubre de 2012

  Plan de Pruebas  Sistema "Boleta Factura"  primer avanca 1.0

integrantes:
Felipe Talavera
Diego Calas
Edison Contreras



https://www.dropbox.com/s/575micc21uhqau6/gestion%20de%20calidad%20primer%20avance%20plan%20de%20prueba.docx?m

jueves, 4 de octubre de 2012




Compuware Dynatrace


Es un APM (Application Performance Management).  
Contiene herramientas que a través de distintas métricas permite medir el rendimiento y la calidad de un programa en sus distintas áreas.

Dynatrace contiene distintas versiones, entre ellas, de producción y de centro de testeo.

Entre sus características están:

Automatización de tareas: Automatiza la tarea de documentación, el load testing entre otros.

Reduce la cantidad de veces en que se tiene que ejecutar una prueba: Dynatrace lleva un registro constante de los errores y logs y quita la necesidad de correr de nuevo una prueba. 

Entrega una interfaz amigable: La interfaz es fácil de entender y muestra los datos de manera inteligente.

Detecta regresiones: Cuando se realiza un fix, detecta cuando este afecta otra parte del código, comparando dos versiones del mismo programa.

Está orientado a ambientes web donde existen clientes online.

Automatiza las configuraciones por tanto reduce tiempos de entrega.

A nivel de usuario: Entrega  estadísticas sobre la experiencia de uso del usuario. Genera datos de simulación de todo tipo de usuario independiente el lugar geográfico.

A nivel de código:

Analiza todos los caminos desde la maquina donde corre el código hasta la maquina del usuario.

Detecta host, maquinas virtuales y transacciones, sin importar la complejidad del programa o el ambiente donde se encuentra.



jueves, 30 de agosto de 2012

Test-driven development (TDD)

Test-driven development (TDD)



el TDD significa desarrollo guiado por pruebas. se trata de el desarrollo de aplicaciones pensando primero en las pruebas y implementando el codigo para que estas se cumplan. involucra principalmente 2 practicas el software testing y el refactoring.


  1. Elegir un requisito: Se elige de una lista el requerimiento que se cree que nos dará mayor conocimiento del problema y que a la vez sea fácilmente implementable.
  2. Escribir una prueba: Se comienza escribiendo una prueba para el requisito. Para ello el programador debe entender claramente las especificaciones y los requisitos de la funcionalidad que está por implementar. 
  3. Verificar que la prueba falla: Si la prueba no falla es porque el requerimiento ya estaba implementado o porque la prueba es errónea.
  4. Escribir la implementación: Escribir el código más sencillo que haga que la prueba funcione. Se usa la metáfora "Déjelo simple" ("Keep It Simple, Stupid" (KISS)).
  5. Ejecutar las pruebas automatizadas: Verificar si todo el conjunto de pruebas funciona correctamente.
  6. Eliminación de duplicación: El paso final es la refactorización, que se utilizará principalmente para eliminar código duplicado. Se hacen de a una vez un pequeño cambio y luego se corren las pruebas hasta que funcionen.
  7. Actualización de la lista de requisitos: Se actualiza la lista de requisitos tachando el requisito implementado.
EJEMPLO
Lo primero, hacer un test para el requerimiento :


public void testSuma() {
   assertEquals(5, Matematicas.suma(2,3));

el test fallara  porque falta la libreria Matematicas  por tanto se  desarrolla de tal manera que la prueba se cumpla:

public class Matematicas {
   public static int suma (int a, int b) {
      return 5;
   }
}  

este codigo cumple con la prueba pero se debe rehacer para que el codigo funcione para cualquier caso:

public class Matematicas {
   public static int suma (int a, int b) {
      return a+b;
   }
}

luego se elige el siguiente requerimiento y repetir el ciclo.



TDD es  parte de las metodologias agiles.   permite dividir tareas por tanto se integra muy bien con kanban.