martes, 22 de octubre de 2013

Definición de Calidad



La calidad del software es aquel proceso en donde se verifica que el software o aplicación cumpla con los requerimientos o necesidades del cliente, integrando la velocidad de respuesta de la aplicación, el sistema de seguridad y confiabilidad.

También se puede definir como la coordinación, integridad y la aplicación de los estándares que tiene que ver con la correcta funcionabilidad y desarrollo de una aplicación.

(Aporte de: Miguel Angel Carrera & Esteban Marquez)


Características propias del software aquellas que tú quieres controlar y asegurar, el software es un producto inmaterial que no se fabrica, tampoco se degradan físicamente, sino que se desarrolla. El software puede tener errores, incidencias pero no son similares a lo que cualquier equipo de carácter físico.


(Aporte de: Miguel Angel Carrera, Esteban Marquez, Erik Muñoz & Alejandro Urrego)

Definición de terminos

Funcionalidad
Grado en el que las necesidades asumidas o descritas se satisfacen. Se divide en las su características  idoneidad, precisión, interoperabilidad, seguridad.

Precisión: indica el grado de exactitud de los efectos del sistema
Adecuado: indica cómo se acomoda el sistema a determinado fin.
Interoperabilidad: indica el grado en que el sistema puede interactuar con otros sistemas

Conformidad: aprobación del sistema.
Seguridad: indica el grado en que un acceso no autorizado accidental o deliberado se prevenga y se permita un acceso autorizado.

Fiabilidad: grado en que el sistema responde bajo las condiciones definidas durante un intervalo de tiempo dado. Se divide en  las su características  de madurez, tolerancia a fallos, capacidad de recuperación.
Madurez: indica la frecuencia con que ocurren los fallos.

Tolerancia a errores: capacidad que tiene el sistema de soportar  una desviación de funcionamiento esperado.
Recupertabilidad: es la capacidad de un producto de software para restablecer un nivel específico de rendimiento y recuperar la información directamente afectada en caso de fallo (ISO 9126).

Usabilidad: es la capacidad del software para ser comprendido, utilizado y atractivo al usuario cuando es utilizado bajo condiciones específicas.

Comprensibilidad: es la capacidad del  producto de software para facilitar al usuario apreciar si el software es adecuado y como puede ser utilizado para tareas y condiciones de uso específico          (iso 9126).
Apendibilidad: es la capacidad del producto software  de permitir al usuario aprender su forma de uso (ISO 9126)

Operabilidad: es la capacidad de un producto de software para permitir al usuario manejarlo  y controlarlo (ISO 9126).

Atractividad es la capacidad del producto software de ser atractivo para el usuario.

Eficiencia: es la capacidad del producto de software para proporcionar un rendimiento apropiado, relativo a  la cantidad  de recursos usados bajo condiciones establecidas  (ISO 9126).

Utilización de recursos: es la capacidad de un producto de software para hacer uso de cantidades y tipos de recursos apropiados, por ejemplo: cantidad de memoria principal y secundaria utilizada por el programa y tamaños requeridos de archivos temporales, cuando el software realiza su función en condiciones establecidas (ISO 9126).

Mantenimiento: es la facilidad con la que un producto software puede ser modificado para corregir defectos, cumplir con nuevos requisitos, hacer más sencillo el mantenimiento futuro o ser adaptado a un entorno modificado (ISO 9126).

Análisis: es la capacidad de un producto software de ser diagnosticado por deficiencias o causas de fallos en el software o para las partes a ser modificada o identificada (ISO 9126).
Estabilidad: es la capacidad  del producto de software de evitar efectos inesperados producidos por modificaciones del software (9126).
Portabilidad: es la facilidad con la que en un producto software puede ser transferido de un entorno hardware o software a otro.
Adaptabilidad: es la capacidad del producto de software de ser adaptado a diferentes entornos sin la aplicación de acciones o medios distintos de los aportados para este propósito por el software considerado (ISO 9126).

Instalabilidad: es la capacidad del producto de software para ser instalado en un entorno especificado (ISO 9126).

Coexistencia: es la capacidad del producto de software de coexistir con otro software independiente en un entorno común compartiendo recursos comunes (ISO 9126).

Reemplazable: es la capacidad de un producto software especificado, con el mismo en el mismo entorno.

(Aporte de: Alejandro Urrego, Esteban Marquez, Miguel Angel Carrera & Erik Muñoz)

  

jueves, 12 de septiembre de 2013

7 Principios

1- las pruebas evidencian la presencia de defectos.
-esto reduce la posibilidad de que defectos no descubierto permanezcan
el el software.

2- el testing en forma exhaustiva es imposible
-probar todo no es factible, excepto en casos muy triviales.

3 probar en fases tempranas
-realizar test sobre requerimientos, diseño, código.

4- agrupamiento de defectos
-la mayoría de las fallas se origina en unos pocos módulos

5-paradoja del pesticida
-repetir siempre las mismas pruebas, no hará posible hallar nuevos defectos

6-las pruebas son dependientes del contexto
-el testing se realiza de forma diferente en contextos diferentes

7-falacia de la ausencia de errores
- encontrar y reparar los defectos no ayuda si el sistema desarrollado
no cumple con las especificaciones.

(Esteban Marquez , Miguel Angel Carrera, Erik Muñoz & Alejandro Urrego)

http://issuu.com/

jueves, 29 de agosto de 2013

Formato de Pruebas (Whatsapp)

APLICACIÓN: Whatsapp

- en la configuración de datos en el campo nombre no acepta caracteres diferentes que no sean letras.
- en el envió de mensajes de ciertos equipos a otros algunos caracteres no se visualizan
- cierta cantidad de caracteres en un mensaje, la aplicación trunca el envió
- validar que las versiones nuevas de la aplicación si sean compatibles con equipos mas viejos.
-probar la aplicación con diferentes sistemas operativos móviles.


(Aporte de: Esteban Marquez, Miguel Angel Carrera, Alejandro Urrego & Erik Muñoz)

martes, 27 de agosto de 2013

CICLOS DE VIDA DEL SOFTWARE

CICLO DE VIDA CLÁSICO

el modelo de ciclo de vida clásico también denominado modelo de cascada se basa en intentar hacer las cosas bien desde el principio de una vez y para siempre. Se pasa en orden, de una etapa a otra solo tras finalizar con éxito las tareas de verificación  y validación propias de la etapa. Si resulta necesario, únicamente se da marcha atrás hasta la fase inmediatamente anterior.

este método tradicional de ciclo de vida exige una aproximación secuencial al proceso, esta aproximación presenta una serie de graves inconvenientes entre los que cabe destacar:

* los proyectos reales raramente siguen el flujo de actividades que propone este modelo.

* normalmente es difícil para el cliente establecer explicita-mente los requisitos al comienzo del proyecto.

* no habrá disponible una versión operativa del sistema hasta llegar a las etapas finales del proyecto, por lo que la ratificación de cualquier decisión tomada erróneamente en las etapas iniciales supondrá un costo adicional tanto económico como laboral.





S. Pressman, Roger. Ingeniería del Software: Un enfoque practico, 3ra Edición.

MODELO EN ESPIRAL 

a los largo de los años se han propuesto una multitud de modelos interactivos de desarrollo de software.
el modelo en espiral hace especial hincapié en la prevención de riesgos. Este modelo define cuatro actividades principales :

*determinar objetivos.
*análisis de riesgo.
*planificación.
*desarrollo y probar.

 Boehm B, A Spiral Model of Software Development and Enhancement



MODELO EN V

el modelo en v es una variación del modelo en cascada que demuestra como relacionan las actividades de prueba con el análisis y diseño.

Martha E Rojas Vera.


(aporte de: alejandro urrego castillo & erik muñoz)

Tipos de Pruebas del Software

Caja Negra:
Permiten observar por medio del ingreso de datos o funciones especificas del sistema para encontrar errores en el retorno o salida de información del sistema o de aplicación ejecutable

CAJA BLANCA
permite observar errores estructurares  en el código fuente de la aplicación.

PRUEBAS UNITARIAS
prueba el correcto funcionamiento de un modulo de código. sirven para observar  que cada uno de los módulos funcione correctamente por separado, permitiendo que el programador cambie para mejorar su estructura.

PRUEBAS FUNCIONALES
son basadas en la ejecución, revisión y retroalimentacion de las funcionalidades previamente diseñadas para el software.

PRUEBAS DE INTEGRACIÓN
se realizan una vez que se han aprobado las pruebas unitarias. únicamente se refiere a la prueba o pruebas de todos los elementos unitarios que componen el proceso.

PRUEBA DE VALIDACIÓN
son el proceso de revisión que el sistema de software en el que se muestra que cumple con todas las especificaciones requeridas.

PRUEBAS DE SISTEMA
se prueba un sistema completamente integrado para verificar que cumpla con sus requisitos.

PRUEBAS DE ACEPTACIÓN
pueden significar dos cosas.
 *una prueba de humo es utilizada después de introducir una nueva compilación al proceso principal de prueba ejm: antes de una integración o una regresión.

*la prueba es ejecuta por el usuario final en su propio centro de computo con su propio hardware.

PRUEBA DE REGRESIÓN
intentan describir la causas de nuevos errores, carencias de funcionalidad o divergencias funcionales con respecto al comportamiento esperado del usuario

PRUEBAS DE CARGA
son el proceso donde se pone una cantidad de demanda en un sistema operativo y se mide su respuesta.

PRUEBAS DE PRESTACIONES O DESEMPEÑO
se ejecuta para determinar que tan rápido trabaja un sistema o subsistema bajo una carga particular de trabajo. puede verificar y validar otros atributos relacionados con la calidad del sistema.

PRUEBAS DE RECORRIDO
 es una forma de reseñar  entre el equipo de trabajo o de programadores donde se realizan peguntas y comentarios sobre errores posibles, violación de estándares de desarrollo y otros problemas.

PRUEBAS DE MUTACIÓN
métodos que involucran la modificación del código fuente de un programa de manera mínima .

PRUEBAS CONCURRENTES
se desarrolla bajo la primiza de que el código desarrollado esta siendo sometido a pruebas.


(aporte de: alejandro urrego castillo ,erik muñoz, esteban marquez & miguel angel carrera)

jueves, 22 de agosto de 2013

Medio Ambiente y software

LIMA
Un prototipo de un software de gestión y monitoreo ambiental para la pequeña y mediana minería, financiado por el Programa de Ciencia y Tecnología –FINCyT-, de la Presidencia del Consejo de Ministros y cofinanciado por el Banco Interamericano de Desarrollo, BID, fue presentado durante el VI Congreso Internacional de Medio Ambiente, Seguridad y Responsabilidad Social en Minería y Metalúrgica – Feria Environmin 2009.
La nueva herramienta, diseñada y desarrollada por la empresa Dominiotech SAC, fue exhibida en el referido Congreso realizado en el local del Consejo Departamental de Lima del Colegio de Ingenieros del Perú.
Este nuevo software financiado por FINCyT busca contribuir a la solución del problema de la gestión medioambiental de la industria extractiva mediante la aplicación de tecnologías de información a fin de que la pequeña y mediana minería pueda cumplir con las normas emitidas por las entidades reguladoras del gobierno en materia ambiental. El software permite a las compañías industriales, al igual que a las comunidades, tener un control de las tareas que puedan producir efectos sobre el medio ambiente y evaluar su adecuación a las políticas y objetivos fijados en sus estudios de impacto ambiental.
Cabe resaltar que, en la actualidad, no existe en el mercado nacional una herramienta de gestión y monitoreo ambiental para la pequeña y mediana minería, y se espera que por lo menos 193 empresas que han presentado Estudios de Impacto Ambiental ante el Ministerio de Energía y Minas puedan hacer uso de este software.

Las actividades extractivas mineras han repercutido en la contaminación del medio ambiente, por lo que el Estado, a través del Ministerio de Energía y Minas ha establecido que las empresas deben desarrollar sus Planes de Monitoreo Ambiental, lo que las obliga a gestionar y reportar información sobre toma de muestras, análisis químicos, físicos y mecánicos, y los resultados respectivos para evaluar y controlar la emisión de elementos contaminantes.
(Aporte de: Erik Muñoz Cuadros)