lunes, 10 de enero de 2011

PRUEBAS DE SOFTWARE

PRUEBAS DEL SOFTWARE
Caja Negra
Las pruebas de caja negra se denominan también pruebas funcionales, consisten en suministrar datos de entrada y estudiar la salida, sin preocuparse de lo que pueda estar haciendo el programa por dentro.
A continuación les mostramos las siguientes pruebas.
COMOMO BASICO
CASO DE PRUEBA
Calcular la estimación de costo utilizando el COCOMO Básico
PROPÓSITO
Calcula el esfuerzo, tiempo y el número de personas para realizar un proyecto utilizando COCOMO Básico
PREREQUISITOS
Ejecutar aplicación
DATOS DE ENTRADA
Nombre del proyecto
Cuestionario de preguntas
Número de entradas
Número de salidas
Número de peticiones
Número de archivos
Dispositivos externos
Líneas de código
Valor a pagar a cada programador
PASOS
     1.       Ingresar número de entradas = 4, salidas = 5, peticiones = 2, archivos = 3 y dispositivos externos = 8.
      2.       Seleccionar el factor de peso = simples
      3.       Obtener la sumatoria FI
      4.       Ingresar el esfuerzo
      5.       Ingresar el costo
      6.       Ingresar numero de errores
      7.       Ingresar el numero de paginas doc.
      8.       Dar click en [Resolver]
RESULTADOS
                Punto de Fusión= 88.11
                 Productividad=22.02
                  Costo medio=2.2698
                  Calidad =0.567
    Documentación =0.4539
Todos los siguientes campos q muestran en las pantallas para la evaluación:


Integración incremental
Cuando nuevas funciones son ingresadas al sistema se hace la prueba basándose en la funcionalidad, la dependencia con otros módulos y la integración con el programa completo. La prueba no se puede realizar ya que contiene un solo módulo.

Prueba de integración
Se basa en las pruebas de conexiones y comunicaciones entre diferentes módulos. La prueba no se puede realizar ya que contiene un solo módulo.

Prueba de fin a fin
Es similar a la prueba de sistema pero esta involucra la interacción con otro hardware, bases de datos y redes. La prueba no se puede ya que no necesita base de datos ni hardware adicional.

Prueba de sanidad
Determina si la nueva versión de un software está bien realizada y si necesita un nuevo esfuerzo en la prueba de software. La prueba no se puede realizar ya que es la primera versión.

WEBGRAFÍA:
 http://www.slideshare.net/dajigar/presentacion-pruebas-presentation
 http://www.galeon.com/neoprogramadores/met_test.htm

¿CERRARÁ FACEBOOK EL 15 DE MARZO?



Internet va llenándose de rumores de que la popular red social Facebook cesará de existir el 15 de marzo próximo. Navegando se pueden encontrar abundantes comentarios en los que usuarios tratan de convencer a otros de que la información es confiable y hasta citan al creador de esa red social, Mark Zuckerberg.
Google Trends, Twitter y Yahoo Answers enseguida quedaron plagados de búsquedas y comentarios acerca de si el CEO de Facebook va a dejar el negocio que acaba de recaudar una inversión de 500 millones de dólares y goza de una valuación de 50.000 millones de dólares.
Weeklyworldnews.com cita una rueda de prensa en la que Zuckerberg supuestamente afirmó que Facebook se ha ido fuera de control y que va a cerrarla el 15 de marzo por lo arruinada que quedó su vida debido al estrés que le causa dirigirla. “Debo acabar con esa locura”, son las palabras que la página atribuyó a Zuckerberg.
El joven billonario, según esa fuente, dijo que en su opinión “no es un gran negocio” y que sin Facebook la gente podría salir más a menudo y encontrar amigos reales y no virtuales, lo que es “una buena cosa”.
Los gerentes de Facebook recomendaron, según esa rueda de prensa, que los usuarios del sitio (que suman más de 500 millones), deben descargar todas sus fotos y otra información de sus cuentas de Facebook si quieren guardarlas ya que toda esa información se perderá con el cierre del recurso informático.
Simultáneamente con páginas con ese tipo de información (y vale la pena mencionar que weeklyworldnews.com anteriormente declaró que Michelle Obama estuvo embarazada y halló a Michael Jackson en la luna), se alzaron otros que rechazaron el rumor sobre Facebook, hace poco reconocido como el sitio web más visitado en 2010.
Mientras tanto, el viernes el Wall Street Journal anunció que Facebook planea una oferta pública inicial. En su declaración, el reputado periódico estadounidense cita un informe confidencial preparado para un grupo específico de potenciales inversionistas.

Fuente Bibliografica.
Noticias Tecnologicas, publicado el 09 de enero del 2011 [en linea] [http://actualidad.rt.com/ciencia_y_tecnica/internet_redes/issue_19128.html] consultado el 10 de enero del 2011

sábado, 8 de enero de 2011

SUBVERSION

Que es
Subversion es un sistema de control de versiones diseñado específicamente para reemplazar al popular CVS. Es software libre bajo una licencia de tipo Apache/BSD y se le conoce también como svn por ser el nombre de la herramienta utilizada en la línea de órdenes.
Como Funciona

  • Subversión se compone de un programa “servidor” y otro “cliente”.
  • El servidor contiene una copia maestra de la información a compartir.
  • Los usuarios usan el cliente para descargar la información existente en el servidor.
  • Cuando un usuario realiza un cambio, lo envía al servidor para que otros usuarios puedan descargarlo.
  •   El servidor guarda los ficheros dentro de una base de datos (no son visibles en el sistema de ficheros).

Ventajas

  •   Se sigue la historia de los archivos y directorios a través de copias y renombrados.
  •   Las modificaciones (incluyendo cambios a varios archivos) son atómicas.
  •   La creación de ramas y etiquetas es una operación más eficiente. Tiene costo de complejidad constante (O(1)) y no lineal (O(n)) como en CVS.
  •   Se envían sólo las diferencias en ambas direcciones (en CVS siempre se envían al servidor archivos completos).
  •   Puede ser servido mediante Apache, sobre WebDAV/DeltaV. Esto permite que clientes WebDAV utilicen Subversión de forma transparente.
  •   Maneja eficientemente archivos binarios (a diferencia de CVS que los trata internamente como si fueran de texto).
  •   Permite selectivamente el bloqueo de archivos. Se usa en archivos binarios que, al no poder fusionarse fácilmente, conviene que no sean editados por más de una persona a la vez.
  •   Cuando se usa integrado a Apache permite utilizar todas las opciones que este servidor provee a la hora de autentificar archivos (SQL, LDAP, PAM, etc.)
 Desventajas

  • El manejo de cambio de nombres de archivos no es completo. Lo maneja como la suma de una operación de copia y una de borrado.
  • No resuelve el problema de aplicar repetidamente parches entre ramas, no facilita llevar la cuenta de qué cambios se han realizado. Esto se resuelve siendo cuidadoso con los mensajes de commit.
Como Instalarlo
CVS es el sistema de control de versiones concurrentes más utilizado en el mundo del software libre, sin embargo es bastante arcaico (nació en 1985) y tiene bastantes carencias, como son la falta de versionado de directorios, de renombrado o de copias; su uso poco eficiente de la red o el que no almacene archivos binarios completos, solo los cambios entre versiones.
Subversión es un CVS de código abierto, bajo una licencia del tipo Apache/BSD, que nació como alternativa a CVS y que intenta solucionar estos problemas y carencias. Tenemos multitud de alternativas a CVS aparte de Subversión, por ejemplo GNU Arch del que he oído muchas alabanzas y ninguna crítica, pero en esta entrada nos centraremos en Subversión por ser el más popular.
Lo primero es lo primero. ¿A qué se refiere el control de versiones? Estamos hablando de controlar los cambios que realizan los programadores sobre el código fuente (o cualquier otro tipo de usuario sobre un documento cualquier que tenga varias versiones) de forma que no se produzcan inconsistencias por trabajar más de una persona con el mismo documento y se pueda volver hacia atrás en las versiones de forma cómoda o se pueda comprobar los cambios o los errores corregidos en cada versión.
Vamos a ver ahora su instalación en sistemas Windows. Lo primero que tenemos que hacer es descargar Subversion desde su página web, donde podemos encontrar una versión comprimida o una versión que incorpora un instalador para facilitar más aún las cosas.
Una vez instalado deberíamos poder ejecutar Subversion de forma local escribiendo svn en la consola. Esto bastaría si no fuéramos a utilizar Subversion en red. En el caso de que si vayamos a hacerlo necesitamos instalar además un servidor web como Apache.
Para comenzar a trabajar con Subversion tenemos que crear un repositorio primero. Un repositorio es donde se va a guardar todas las versiones de nuestro proyecto. Supongamos que queremos crear el repositorio en C:/Documentos/Proyectos, primero nos moveríamos a ese directorio en la línea de comandos y luego usaríamos la herramienta svnadmin para crear el repositorio:
svnadmin create repositorio
Esto crearía un directorio C:/Documentos/Proyectos/Repositorio para actuar como mi repositorio.
Para activar la posibilidad de usar Subversion en red vía Apache necesitamos copiar el módulo mod_dav_svn.so de la carpeta httpd en el directorio donde se instaló subversión a la carpeta de módulos (modules) de Apache tras lo cual editamos nuestro httpd.conf para informar a Apache de la existencia del nuevo módulo. Buscamos la línea
#LoadModule dav_module modules/mod_dav.so
La descomentamos (quitamos el #) y añadimos también
LoadModule dav_svn_module modules/mod_dav_svn.so
Copiamos también las dll de la carpeta bin de Apache y de Subversion al directorio modules para que puedan ser accedidas por los módulos y añadimos al final del httpd.conf lo siguiente
<Location /repos>
DAV svn
SVNPath c:/documentos/proyectos/repositorio
AuthType Basic
AuthName “Repositorio Subversion”
AuthUserFile c:/programas/Apache2/usuarios.txt
# Cualquiera puede leer, para otras operaciones
# hay que estar autentificado.
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

Con esto creamos un repositorio ficticio repos y le indicamos la ruta a él (notad que las barras no son invertidas en las rutas, además si hay espacios en las rutas tenemos que incluir la ruta entre comillas). Además pedimos que los usuarios se autentifiquen para poder realizar cualquier operación que no sea la lectura, comparando el nombre de usuario y contraseña introducidos con la información sobre los usuarios del fichero c:/programas/Apache2/usuarios.txt (nota: dado que no estamos utilizando una conexión segura se podrían capturar las contraseñas usando un sniffer).
El archivo usuarios.txt no existe por defecto, es simplemente un archivo que crearemos nosotros utilizando la herramienta de Apache htpasswd que se encuentra en el directorio bin de la carpeta de Apache y que nos sirve para crear una clave de tipo MD5.
htpasswd -mc c:/programas/Apache2/usuarios.txt Zootropo
htpasswd -m c:/programas/Apache2/usuarios.txt Otro
Le indicamos donde queremos guardar el fichero de contraseñas (en el caso de que la ruta tenga espacios la escribimos entre comillas) y qué nombre de usuario queremos, tras lo cual nos pedirá la contraseña a utilizar para ese usuario. Fijaos en que para el primer usuario que creemos (Zootropo) hay que añadir también el flag c para que cree el fichero.
Si reiniciamos el servidor ahora deberíamos poder acceder al repositorio vía web. Abrimos el navegador de internet y en la barra de localización escribimos http://127.0.0.1/repos/. Si nos sale un mensaje de página no encontrada algo ha fallado.
Ahora que el servidor CVS ya está listo necesitamos un cliente CVS para trabajar con él. Subversión incluye herramientas de línea de comandos para este fin, pero es más cómodo utilizar una interfaz gráfica como la de TortoiseSVN

 Como Crear Repositorios

Servidor subversion como servicio de windows

Si el instalable no nos monta subversion como servicio de windows, podemos hacerlo de la siguiente manera. El ejecutable de servidor de subversion es svnserve.exe. Para crear un servicio con él debemos ejecutar el comando sc que viene con Windows de la siguiente manera, con permisos de administrador
sc create svnserve binpath= "c:\svnserve\svnserve.exe --service
    --root c:\repos" displayname= "Subversion" depend= tcpip
    start= auto
Donde svnserve es el nombre que queremos dar al servicio, binpath contiene el comando a ejecutar (svnserve.exe con sus opciones) y dentro de él –root apunta al directorio donde están nuestros repositorios de subversion). displayname es el nombre que queremos que se vea para el servicio, depend es una dependencia del servicio, que depende de tcpip. Y start=auto indica que se arranque automáticamente al encender el ordenador.

Crear repositorios
En el directorio donde hemos indicado que estarán nuestros repositorios, podemos crear repositorios para nuestros proyectos. Para ello, vamos al directorio c:\repos y ejecutamos el comando
c:\> cd c:\repos
c:\repos> svnadmin create PROYECTO1
Esto creará un repositorio PROYECTO1

Como Crear Usuarios
Vamos al repositorio de PROYECTO1 recién creado y editamos el fichero conf/svnserve.conf. Por defecto viene con un montón de comentarios, pero en los que podemos leer claramente todas las opciones. Podemos dejar algo como esto
anon-access = read
auth-access = write
password-db = passwd
realm = PROYECTO1
Donde:
ü  anon-access = read indica permisos de lectura para usuario anónimos. Es decir, cualquiera podría sacar los fuentes para verlos, pero no podría subir los cambios.

  • auth-access = write indica permisos de lectura y escritura para usuarios autentificados.
  • password-db = passwd es el fichero donde estarán los nombres de usuario y passwords. En este caso, el fichero se llamará passwd y el path es relativo al ficherosvnserve.conf que estamos editando.
  • realm = PROYECTO1 es el nombre que verán los usuarios cuando intenten acceder al repositorio y se les pida usuario y password. Puede ser cualquier palabra o frase que queramos. También se usará como clave para cifrado si corresponde.
Podemos dejar annon-acces = none para no dar ningún permiso a usuario anónimos.
Luego, editamos el fichero passwd que se crea por defecto (o el que hayamos indicado en password-db = passwd), lo editamos y ponemos los usuarios que queramos, de esta manera
[users]
chuidiang = la-password
federico = otra-password
juana = mas-passwords

Principales Comandos
Los principales comandos para trabajar con Subversión:

  •   Import: Comando utilizado para subir al repositorio la estructura inicial de nuestro proyecto.
  •   Checkout: Comando para descargar en un PC un proyecto desde un repositorio.
  •   Add: Comando utilizado para añadir un fichero a nuestro proyecto. No es subido al repositorio hasta que se indique con el comando “commit”. El comando add solo deja “marcado” ese fichero o directorio como parte del repositorio.
  •   Delete: Comando que permita marcar un fichero o directorio para ser eliminado del respositorio.
  •   Commit: Comando que nos permite subir al repositorio todos los cambios hechos sobre un proyecto en local.
  •   Update: Comando que nos permite actualizar nuestro proyecto en local desde el repositorio central.


Fuente Bibliográfica
Concepts de Subversión [en Línea] Disponible en URL: http://es.wikipedia.org/wiki/Subversion[Consulta realizada el 08 de Enero del 2011]
Commandos de Subversion [en Línea] Disponible en URL: http://www.yolinux.com/TUTORIALS/Subversion.html#COMMAND [Consulta realizada el  08 de Enero del 2011]

lunes, 3 de enero de 2011

Consultar, analizar, sintetizar y definir con sus propios conceptos

TAREA 2 

1.       Conceptos de calidad
Un producto tiene calidad si cumple con las especificaciones establecidas y satisface las expectativas del consumidor.
La calidad del software se define y va de la mano con los requisitos funcionales y de rendimiento explícitamente establecidos con estándares para su  desarrollo, con su respectiva documentación y sus características específicas de todo software. 

2.       La tendencia de la calidad
El objetivo es desarrollar un proceso que sea visible, repetible y medible examina la forma en el que el usuario  aplica el producto y conduce a la mejora del producto y del proceso que lo creo, también esto nos ayuda a ver como nuestro producto influye en el mercado.
3.       Garantía de calidad del software
Nos permite tener un producto confiable, competitivo  que sea un producto terminado mediante un control de calidad con su debida inspección y ofrecer una garantía completa a  todos nuestros clientes.   

4.       Revisiones del software
Las revisiones del software mejoran la calidad, detectan los errores de diseño o codificación se hacen después del análisis, después del diseño, durante la compilación y durante las pruebas.

5.       Revisiones técnicas formales
Esto nos permite descubrir errores de funcionamiento, lógica o de implementación, verificar que el software  cumpla con los requisitos, garantizar que se cumplen los estándares establecidos y finalmente lograr que los proyectos sean manejables.

6.       Fiabilidad del software
Nos permite tener un mayor control y medidas del producto es decir revisar el producto fijar una agenda y mantenerla siempre fija, tomar notas como también fijar en número de integrantes del equipo de trabajo. .

 7.       Prueba de errores para el software

Dependiendo del tamaño de la Empresa que usara el Sistema y el riesgo asociado a su uso, puede hacerse la elección de comenzar la operación del Sistema solo en un área de la Empresa (como una Prueba piloto), que puede llevarse a cabo en un Departamento o con una o dos personas.

8.       El estándar de calidad iso 9001
El estándar de calidad iso 9001 está orientada a garantizar la calidad de la gestión  de todos los procesos de una dicha empresa o negocio establece los requisitos del sistema de gestión de la calidad, para su utilización como un medio de asegurar la conformidad de los productos y servicios, y puede ser utilizada con fines de certificación.


Web grafía .


Análisis y Gestión de Riesgo

TAREA 1


Análisis y Gestión de Riesgo

¿Qué es la identificación de un riesgo y cuál es su clasificación?
La identificación del riesgo es un intento sistemático para especificar las amenazas al plan del proyecto (estimaciones, planificación temporal, carga de recursos, etc.) Identificando los riesgos conocidos y predecibles, el gestor del proyecto da un paso adelante para evitarlos cuando sea posible y controlarlos cuando sea necesario.
Existen dos tipos diferenciados de riesgos para cada categoría presentada en el apartado anterior: genéricos y específicos del producto. Los riesgos genéricos son una amenaza potencial para todos los proyectos de software. Los específicos de producto sólo los pueden identificar los que tienen una clara visión de la tecnología, el personal y el entorno específico del proyecto en cuestión. Para identificar los riesgos específicos del producto se examinan el plan del proyecto y la declaración del ámbito del software y se desarrolla una respuesta a la siguiente pregunta: ¿Qué características especiales de este producto pueden estar amenazadas por nuestro plan del proyecto'?"

¿Cuál es la evaluación global del riesgo del proyecto, los componentes y controladores del riesgo?
Un método para identificar riesgos es crear una lista de comprobación de elementos de riesgo. La lista se puede usar para identificar riesgos y se enfoca en un subconjunto de riesgos conocidos y predecibles en las siguientes categorías:
  • Tamaño del producto (PS). Riesgos asociados con el tamaño del software a construir o modificar.
  • Impacto en el negocio (BU). Riesgos asociados por las limitaciones impuestas por la administración o el mercado.
  • Características del cliente (CU). Riesgos asociados con la sofisticación del cliente y la habilidad del desarrollador para comunicarse con él.
  • Definición del proceso. Riesgos asociados con el grado de definición del proceso y su seguimiento.
  • Medio ambiente de desarrollo (DE). Riesgos asociados con la disponibilidad y calidad de las herramientas que se van a emplear en la construcción del producto.
  • Tecnología a construir (TE). Riesgos asociados con la complejidad del sistema y la tecnología punta que contiene el sistema.
  • Tamaño y experiencia de la plantilla (ST). Riesgos asociados con la experiencia técnica y de proyectos del equipo que va a realizar el trabajo.


Componentes del Riesgo
  • Riesgo de rendimiento: el grado de incertidumbre con el que el producto encontrará sus requisitos y se adecue para su empleo pretendido.
  • Riesgo de coste: el grado de incertidumbre que mantendrá el presupuesto del proyecto.
  • Riesgo de soporte: el grado de incertidumbre de la facilidad del software para corregirse, adaptarse y ser mejorado.
  • Riesgo de la planificación temporal: el grado de incertidumbre con que se podrá mantener la planificación temporal y de que el producto se entregue a tiempo.
Controladores
El impacto de cada controlador del riesgo en el componente de riesgo se divide en cuatro categorías de impacto
  • Despreciable
  • Marginal
  • Crítico
  • Catastrófico
¿Cómo se realiza la estimación del riesgo?
Para cada riesgo intenta medir la probabilidad y las consecuencias de que ocurra. El jefe de proyecto realiza cuatro actividades de proyección de riesgo.
  • Establecer la probabilidad del riesgo.
  • Definir las consecuencias del riesgo.
  • Estimar el impacto del riesgo en el proyecto y el producto. Hay tres factores que afectan a las consecuencias probables de un riesgo, si ocurre:
    • Naturaleza. Son los problemas que pueden pasar si ocurre el riesgo.
    • Alcance. Combina la severidad o gravedad del problema y su distribución (el porcentaje del proyecto que es afectado o cuántos clientes serán perjudicados).
    • Tiempo. Considera cuándo y por cuánto tiempo se dejará sentir el impacto del riesgo.
  • Estimar la exactitud global de la proyección del riesgo.
La técnica más sencilla para la proyección del riesgo es desarrollar una tabla de riesgo. Para elaborarla hay que seguir los siguientes pasos:
  • En la primera columna se listan todo los riesgos en desorden.
  • En la segunda columna se pone la categoría del riesgo.
  • En la tercera columna se pone la probabilidad estimada del riesgo. Puede ser estimada por consenso, o individualmente y sacar un promedio.
  • En la cuarta columna se pone el impacto del riesgo, 1 - catastrófico, 2 - crítico, 3 - marginal, 4 - despreciable.
  • La quinta columna apunta a un plan RM3 o RMMM (plan de reducción, supervisión y administración del riesgo).
  • Se ordena la lista por probabilidad e impacto.
  • Se dibuja una línea de corte. Los riesgos que queden encima de la línea serán a los que se les preste atención. Los que queden debajo de la línea serán reevaluados y tendrán una prioridad de segundo orden.
¿Cuáles son los beneficios de realizar una estimación de proyectos?
 Los beneficios que nos permiten una buena reducción, supervisión y administración del riesgo
Una estrategia eficaz para tratar los riesgos debe considerar tres aspectos:
  • Evitar el riesgo.
    • Desarrollar un plan de reducción de riesgo.
    • Depende de cada riesgo la acción que se deba tomar.
  • Supervisar el riesgo.
    • El jefe del proyecto checa factores que le indiquen si el riesgo se está haciendo más o menos probable.
    • Depende de cada riesgo la acción que se deba tomar.
    Web grafía.

TECNOLOGÍAS FANTÁSTICAS QUE YA NO SON MERA FICCIÓN

La imaginación humana siempre ha sido fuerza propulsora de la tecnología. Con el tiempo muchas ideas increíbles han encontrado su realización en el presente, como los submarinos de Julio Verne y los helicópteros de Leonardo da Vinci. ¿Qué otras ideas antes inverosímiles llegan a ser realidad hoy en día? La página del blog mashable.com presenta su lista de "tecnologías de ciencia ficción que en muy poco tiempo ya no serán pura ficción".

Las pistolas de rayos láser. En las novelas de ciencia ficción suelen aparecer rayos mortales, rifles bláster, fusiles de plasma y otras armas fantásticas a modo de pistola destinadas a matar a los humanos. Pero los científicos del laboratorio Intellectual Ventures Lab les han encontrado otro empleo un poquito más benévolo: matar a los mosquitos. El dispositivo detecta al mosquito en el vuelo y dispara con láser.

Holografía 3D móvil. Los científicos de la Universidad de Arizona, en EE. UU., han desarrollado una tecnología que permite grabar y transmitir imágenes 3D renovadas cada dos segundos. Actualmente están trabajando para mejorar la calidad de la imagen y la frecuencia, para que se parezca más a lo que estamos acostumbrados a ver en las películas. La compañía IBM ya ha presagiado que los teléfonos móviles podrían proyectar imágenes 3D para el año 2015.

Levitación. Levitar ya no es imposible para los científicos del Instituto Nacional de la Salud de EE. UU. y la Universidad de Harvard, aunque de momento sólo a nivel molecular. Los investigadores han conseguido suspender una diminuta esfera de oro sobre una superficie de cristal manipulando combinaciones de moléculas. Por ahora esta tecnología puede ser aplicada en la maquinaria microscópica, aunque en el futuro será posible hacer flotar objetos más grandes.

Fuente Bibliografica.
ciencia y tecnlogia, tecnologias fantasticas que ya son mera ficcion, [publicado el  03 de  enero 2011] [en linea] consultado el 03 de enero del 2011 [http://actualidad.rt.com/ciencia_y_tecnica electronica_tecnologia/issue_18851.html ]