martes, 23 de agosto de 2011

cambios tecnologicos

Los cambios tecnológicos en las computadoras, son en hardware (los componentes tangibles que las forman), y en el software (los programas). Y, se busca que una computadora sea compatible, y la necesaria para lo que uno la utilizará.

En general los distintos desarrolladores y fabricantes, para poder comercializar un producto en informática, no buscan principalmente la originalidad, sino la compatibilidad y mejores prestaciones. Por consiguiente, un usuario común, en general no necesita tener amplios conocimientos puntales que tenga que actualizar, ante los distintos cambios tecnológicos, salvo que realmente esté muy desactualizado...

Luego, por motivo de los cambios tecnológicos, generalmente, la mayoría de los usuarios suelen cambiar la PC, antes de que esta posea 10 años; y para un profesional o aficionado, no es de extrañar que cambie su computadora a más tardar cada 5 años.

Cuánto más antigua es una computadora, menos tecnologías nuevas puede utilizar.

Por ejemplo:


- A los pocos años, comenzó a tener una potencia de cálculo una PC, tal que, podía procesar millones de colores y datos. Se amplió su capacidad de almacenamiento y además de ser una herramienta laboral comienza a ser, una ampliamente utilizada para comunicación mediante Internet y como entretenimiento.

- Al momento de escribir este libro, una computadora está tendiendo a hacerse el centro multimedia de un hogar. Para algunos es un medio de comunicación más importante que el teléfono, y hasta miran la televisión y leen el diario en la computadora PC. Además de que prácticamente en todo negocio, se las utiliza en alguna tarea.

- Sospecho que en un futuro, la computadora pudiera ser, además el centro de control y comunicación de un hogar.

- …. Y tal vez luego, con el avance de la robótica…

Hay un avance natural en las tecnologías implicadas en una computadora. No obstante se tiene -saliendo de temas técnicos-, a hacérsela fácil a los usuarios comunes. Pero preferentemente deben, para un mejor uso conocer conceptos básicos, como los tratados en este libro.

sábado, 20 de agosto de 2011

Están los Avances Tecnológicos Acelerando la Frecuencia de las Crisis Globales?

Los espacios de incertidumbre abiertos por un periodo post crisis global, una deuda soberana sin precedentes, la globalización, y las nuevas tecnologías, han dado sustento a una teoría que advierte sobre una mayor frecuencia de las llamadas “crisis interconectadas” en el planeta.

Eso fue lo que postuló la semana pasada el consejero delegado de la bolsa de Nueva York, Duncan Niederauer, quien alertó que los ciclos de recesión que afectan periódicamente a las economías se están acelerando en sintonía con los avances tecnológicos y la innovación, y vaticinó nuevas crisis cada tres o cinco años.

En este sentido, instó a hacer un repaso histórico de la evolución de los mercados mundiales con el fin de constatar que las crisis que se registraban cada ocho o diez años, en la actualidad se producen a más velocidad.

"Los ciclos están siendo más rápidos. Debemos estar preparados para gestionarlo”, sostuvo, reconociendo el amplio desconocimiento que existe sobre el tema. “Tenemos que aprender juntos", enfatizó.

Bajo este marco, existen discrepancias respecto a este llamativo presagio, existiendo por un lado una corriente que se inclina por una búsqueda más tradicional del origen de los actuales problemas económicos, y otra, que supone que la rapidez vinculada a la tecnología y la progresiva sofisticación de algunos instrumentos financieros, requieren definitivamente de una mayor vigilancia.

jueves, 17 de febrero de 2011

Pruebas de software

Pruebas de software

Son los procesos que permiten verificar y revelar la calidad de un producto software. Son utilizadas para identificar posibles fallos de implementación, calidad, o usabilidad de un programa de ordenador o videojuego. Básicamente es una fase en el desarrollo de software consistente en probar las aplicaciones construidas.

Las pruebas de software se integran dentro de las diferentes fases del ciclo del software dentro de la Ingeniería de software. Así se ejecuta un programa y mediante técnicas experimentales se trata de descubrir que errores tiene.


martes, 15 de febrero de 2011

Proceso De Pruebas

Proceso de Pruebas

El proceso de pruebas involucra consideraciones similares al del proceso de desarrollo, incluyendo estrategias, actividades y métodos, los cuales deben ser aplicados de manera concurrente con el proceso de desarrollo de software.


  1. ESTRATEGIA DE LA PRUEBA:


  • Orden de Pruebas: Tienen como propósito definir en que momento y en que orden se aplicarán las pruebas. Diseño, implementación y operación del sistema. Existen dos enfoques generales para el orden en que se efectuarán las pruebas:


  1. De arriba hacia abajo: Se deben desarrollar inicialmente las interfaces entre subsistemas, para probar protocolos de alto nivel antes de ir a probar los niveles inferiores.
  2. De abajo hacia arriba: Certificar primero las unidades de bajo nivel y luego las interfaces entre ellos.

  • Alcance de pruebas: Tiene como propósito identificar el tipo, número y casos de pruebas que se aplicarán para revisar los diferentes aspectos del sistema
  • Automatización de la Prueba: Tiene como propósito reducir el esfuerzo y costo de las pruebas mediante automatización del proceso o aspectos de él.

         2. PLANEACION DE LA PRUEBA:

Comienza con el establecimiento de las estrategias de pruebas, lo que incluye la cuestión si estás se harán automática o manualmente y si existen programas y datos de prueba que puedan ser usados, posiblemente modificados o desarrollados de nueva cuenta
  • Estrategia de la prueba
  • Alcance de la prueba
  • Recurso
          3. CONSTRUCCION DE LA PRUEBA:

Se describe cada prueba y su propósito de manera general y detallada. Se debe describir exactamente cómo se deberá ejecutar el caso de prueba, de manera que personas no familiarizadas con la aplicación puedan ejecutar el caso.
  • Ambiente de desarrollo o real
  • Tipo de software
  • Tipo de hardware
  • Equipo de prueba
  • Versión del sistema
          4. EJECUCION DE LA PRUEBA:

Durante esta etapa se utiliza la especificación del diseño de prueba y los reportes de ésta.
  • La estrategia es aplicar de manera paralela el mayor caso de pruebas posibles.
  • Se Ejecutan las pruebas automáticas y manuales de manera correspondiente y se indican los resultados esperados.
  • Si alguna prueba falla, se interrumpe su aplicación y se anota el resultado para luego analizar el defecto y corregirlo.

Pruebas De Unidad

PRUEBAS DE UNIDAD

Pruebas de procedimientos o subrutinas. En un sistema orientado a objetos se aplican en un nivel más alto, a partir de las clases. Una prueba de unidad consiste en una prueba estructural (o caja blanca), lo cual requiere conocer el diseño interno de la unidad, y una prueba de especificación(de caja negra, basada sólo en la especificación del comportamiento externamente visible de la unidad.


Tipos:


  • Prueba de Especificación o de Caja Negra: Tiene como propósito verificar las relaciones de entrada y salida de una unidad. Su objetivo es verificar que hace la unidad, pero sin averiguar como lo hace.
  • Prueba basada en estado: Verifica las interacciones entre operaciones de una clase según cambios en los atributos de un objeto. Es necesario hacer pruebas del objeto de acuerdo con su ciclo de vida.
  • Prueba Estructural o de Caja Blanca: Verifica que la estructura interna de la unidad sea correcta.

lunes, 14 de febrero de 2011

Pruebas de validación
Las pruebas de validación en la ingeniería de software son el proceso de revisión que el sistema de software producido cumple con las especificaciones y que cumple su cometido. Es normalmente una parte del proceso de pruebas de software de un proyecto, que también utiliza técnicas tales como evaluaciones, inspecciones, y tutoriales. La validación es el proceso de comprobar lo que se ha especificado es lo que el usuario realmente quería.
Se trata de evaluar el sistema o parte de este durante o al final del desarrollo para determinar si satisface los requisitos iniciales. La pregunta a realizarse es: ¿Es esto lo que el cliente quiere?.

Señales de prueba determinísticas pruebas de sistemas.
Una señal de entrada del tipo escalón permite conocer la respuesta del sistema frente a cambios abruptos en su entrada. Así mismo, nos da una idea del tiempo de establecimiento de la señal, es decir, cuanto se tarda el sistema en alcanzar su estado estacionario. Otra de las características de esta señal es que producto de la discontinuidad del salto, contiene un espectro de frecuencia en una amplia banda lo cual hace que sea equivalente a aplicar al sistema una gran cantidad de señales senoidales con un intervalo de frecuencias grande. Matemáticamente, esta señal se expresa como: . Donde u(t):escalón unitario; A: constante
En la figura que se muestra a continuación (hay un error en la figura, el escalon comienza en 0, no en 1 en el eje x) A = 3 y

Prueba unitaria Es una forma de probar el correcto funcionamiento de un módulo de código.

Para que una prueba unitaria sea buena se deben cumplir los siguientes requisitos

Automatizable No debería requerirse una intervención manual.

Completas: deben cubrir la mayor cantidad de código

Repetibles o Reutilizables: no se deben crear pruebas que sólo puedan ser ejecutadas una sola ves

Independientes: la ejecución de una prueba no debe afectar a la ejecución de otra

Profesionales: las pruebas deben ser consideradas igual que el código, con la misma profesionalidad, documentación

Ventajas

Su objetivo es aislar cada parte del programa y mostrar que las partes individuales son correctas

Simplifica la integración: permiten llegar a la fase de integración con un grado alto de seguridad de que el código está funcionando correctamente.

Documenta el código que ahí se puede ver cómo utilizarlo.

Separación de la interfaz y la implementación

Caja negra (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. En otras palabras, de una caja negra nos interesará su forma de interactuar con el medio que le rodea (en ocasiones, otros elementos que también podrían ser cajas negras) entendiendo qué es lo que hace, pero sin dar importancia a cómo lo hace. Por tanto, de una caja negra deben estar muy bien definidas sus entradas y salidas, es decir, su interfaz; en cambio, no se precisa definir ni conocer los detalles internos de su funcionamiento.



Pruebas de regresión

Se denominan Pruebas de regresión a cualquier tipo de pruebas de software que intentan descubrir las causas de nuevos errores (bugs), carencias de funcionalidad, o divergencias funcionales con respecto al comportamiento esperado del software, inducidos por cambios recientemente realizados en partes de la aplicación que anteriormente al citado cambio no eran propensas a este tipo de error. Esto implica que el error tratado se reproduce como consecuencia inesperada del citado cambio en el programa.

Este tipo de cambio puede ser debido a prácticas no adecuadas de control de versiones, falta de consideración acerca del ámbito o contexto de producción final y extensibilidad del error que fue corregido (fragilidad de la corrección), o simplemente una consecuencia del rediseño de la aplicación.



Pruebas de Aceptación

Las pruebas de aceptación son definidas por el usuario del sistema y preparadas por el equipo de desarrollo, aunque la ejecución y aprobación final corresponden al usuario.

La validación del sistema se consigue mediante la realización de pruebas de caja negra que demuestran la conformidad con los requisitos y que se recogen en el plan de pruebas, el cual define las verificaciones a realizar y los casos de prueba asociados. Dicho plan está diseñado para asegurar que se satisfacen todos los requisitos funcionales especificados por el usuario teniendo en cuenta también los requisitos no funcionales relacionados con el rendimiento, seguridad de acceso al sistema, a los datos y procesos, así como a los distintos recursos del sistema.



Pruebas de rendimiento del software

Las pruebas de rendimiento son las pruebas que se realizan, desde una perspectiva, para determinar lo rápido que realiza una tarea un sistema en condiciones particulares de trabajo. También puede servir para validar y verificar otros atributos de la calidad del sistema, tales como la escalabilidad, fiabilidad y uso de los recursos. Las pruebas de rendimiento son un subconjunto de la ingeniería de pruebas, una práctica informática que se esfuerza por mejorar el rendimiento, englobándose en el diseño y la arquitectura de un sistema, antes incluso del esfuerzo inicial de la codificación.


ESTANDARES INTERNACIONALES

ESTÁNDARES INTERNACIONALES

1. ISO 9126:

Modelo de evaluación de calidad de software; aporta características sencillas de evaluación y medición.

- Modelo de calidad

- Métricas externas(Aseguramiento de calidad)

- Métricas internas(Desarrollo)

- Métricas de calidad en uso(Producto final)

2. BS 7935-2:

- Estándar británico para pruebas de componentes de software (Standard for software component testing)

- Describe técnicas para el diseño y medición de casos de prueba, trata la ejecución y análisis de los resultados, comparar y mejorar la calidad de la prueba.

3. IEEE 829:

Estándar para documentar pruebas de software. Especifica 8 etapas del proceso de documentación.

- planeación de las pruebas

- especificación del diseño de prueba

- especificación de los casos de prueba

- especificación del procedimiento

- reporte de avance de los cinco probados

- registro de la prueba

- reporte de incidentes

- sumario de la prueba

4. TPI (TEST PROCESS IMPROVEMENT):

Metodología para evaluar el nivel de madurez de pruebas en una organización, así como para mejorar el proceso