domingo, 27 de septiembre de 2015


 SIGLAS DE COMPUTACIÓN

Siglas
Significado
Concepto
Imagen


U
S
B


Universal
Send
Bus

Periférico que permite conectar diferentes periféricos a una computadora.




B
I
O
S


Basic
Input
Output
System


Sistema de entrada/salida básico) es una memoria ROM


P
C
I


Peripheral
Component Interconnect
Es un bus de ordenador estándar para conectar dispositivos periféricos directamente a su placa base


A
G
P


Accelerated Graphics
Port
Es una especificación de bus que proporciona una conexión directa entre el adaptador de gráficos y la memoria



I
D
E


Integrated Development Environment
es un entorno de programación que ha sido empaquetado como un programa de aplicación




D
D
R



Double
Data
Rate



memoria principal encargada de almacenar datos

S
L
O
T

 Ranuras de expansión son conectores de plástico con contactos eléctricos



I
S
A



Industry
Standard
Architecture




Es una arquitectura de bus



S
A
T
A



Serial advanced Technology Attachment



Es una interfaz de transferencia de datos entre la placa base y algunos dispositivos


A
T
A


Adjunto de Tecnología Avanzada
es una interfaz estándar que permite conectar distintos periféricos de almacenamiento a equipos 



A
T
X



Advanced Technology Extended
 Es un desarrolló como una evolución del factor de forma de Baby-AT, para mejorar la funcionalidad de los actuales E/S 




A
T




Advanced Technology
}


 Es el formato de placa base empleado por el IBM AT 




C
D




Compact
Disk




disco compacto



L
C
D



Liquid
Crystal
Display



|Monitor de cristal liquido


L
A
N



Local
Area
Network




red de área local



R
O
M



Read
Only
Memory



Memoria de solo lectura



R
A
M



Ramdom
Access
Memory



Memoria de acceso aleatorio


M
A
N


Metropolitan
Area
Network



Redes de área metropolinatan
 


W
A
N


Wide
Area
Nettwork


Redes de nivel mundia


MO
DEM


Modulador
Demodulardor
Tarjeta de comunicación con redes externas que se integra en una computadora mediante conexión a la placa bas




H
T
T
P




Hypertext
Tranfer
Protocolo




Protocolo de comunicación entre clientes y servidores web

 



H
T
M
L



Hypertext
Markup
Language



Lenguaje en que se escribe los documentos que se utilizan en internet


F
T
p


File
Transfer
Protocol


Protocolo de transferencia de archivos




C
R
T




Cathode
Ray
Tuve





Tubos de rayos catódicos




D
V
D




Digital
Versatile
Disc




Disco versátil digital




F
P
U




Floating
Point
Unit




Unidad de coma flotante



M
S
-
D
O
S



Microsoft
Disk
Operating
System



 Es un sistema operativo para computadoras



Quad
Core



Cuádruple núcleo.


Microprocesadores de cuádruple núcleo





Cloud computing




Computación en la nube



Es un paradigma que permite ofrecer servicios de computación a través de Internet.








miércoles, 16 de septiembre de 2015


¿Qué es prueba de software?




  • La prueba (testing) es el proceso de ejecutar un programa con la intención de encontrar fallos [Glenford J. Myers]
  • Deben realizar pruebas de todos los artefactos generados durante la construcción de un producto software, lo que incluye en las especificaciones de requisitos, casos de usos diagramas de diversos tipos y por supuesto el código fuente y el resto que forma parte de la aplicación
  • Un buen caso de prueba es el que tiene alta probabilidad de detectar un nuevo error ƒ Un caso de prueba con éxito es el que detecta un error nuevo.




objetivos:

objetivos de las pruebas
                Encontrar defectos en el software
              Una prueba tiene éxito si descubre un defecto
              Una prueba fracasa si hay defectos pero no los descubre
Pruebas de Verificación
 Ver si cumple las especificaciones de diseño
Pruebas de Validación
 Ver si cumple los requisitos del análisis
Pruebas del Software

1. Demostrar al desarrollador al cliente que el software satisface sus requerimientos.
Para el software a medida, significa que debe haber al menos una prueba para cada requerimiento del sistema y del usuario.
Para software genérico, significa que debe haber pruebas para todas las características del sistema que se incorporarán en la entrega del producto.
Este objetivo conduce a las pruebas de validación => se espera que el sistema funcione correctamente usando un conjunto determinado de casos de prueba que refleja el uso esperando aquel.


2.Descubrir defectos en el software: que su comportamiento es incorrecto, no deseable o no cumple su especificación.
La prueba de defectos está relacionada con la eliminación de todos los comportamientos no deseables.
Ej: caídas del sistema, interacciones no permitidas con otros sistemas, cálculos incorrectos y corrupción de datos.
Este objetivo conduce a la prueba de defectos, cuando los casos de prueba se diseñan para exponer los defectos.
Modelo del Proceso de Pruebas de software

Pruebas de “caja blanca”

Concepto y terminología
  Pruebas en que se conoce el código a probar
  Caja blanca (clear box: caja clara o transparente)
  Se procura ejercitar cada elemento del código
Algunas clases de pruebas
  Pruebas de cubrimiento
  Pruebas de condiciones
  Pruebas de bucles


Pruebas de cubrimiento
Ejecutar al menos una vez cada sentencia
Se necesitan varios casos de prueba
  Determinar posibles “caminos” independientes
  Cada condición debe cumplirse en un caso y en otro no. En general, se necesitan tantos casos como condiciones, más uno (número ciclomático)
Puede ser imposible cubrir el 100%
  Código que nunca se ejecuta: condiciones imposibles
  Ejemplo: detección y notificación de errores internos en un código sin errores

Pruebas de condiciones

Cumplir o no cada parte de cada condición
Se necesitan varios casos de prueba
  Determinar expresiones simples en las condiciones
  Una por cada operando lógico o comparación
  Cada expresión simple debe cumplirse en un caso y en otro no, siendo decisiva en el resultado
Puede ser imposible cubrir el 100%
  Expresiones simples no independientes


Pruebas de bucles
Conseguir números de repeticiones especiales
Bucles simples
  Repetir cero, una y dos veces
  Repetir un número medio (típico) de veces
  Repetir el máximo-1, máximo y ¡máximo +1!
Bucles anidados
  Repetir un número medio (típico) los bucles internos, el mínimo los externos, y variar las repeticiones del bucle intermedio ensayado.
  Ensayarlo con cada nivel de anidamiento
¿Qué software existen para crear pruebas de software?
















Selenium.
Esta compuesto por dos herramientas: Selenium IDE y SeleniumWebDriver. 
 La primera, un plugin de Firefox que te genera un entorno de desarrollo y que permite crear casos de prueba para aplicaciones web.
 La segunda, Selenium WebDriver, ejecuta las pruebas. Este entorno de automatización de pruebas automáticas opera en los principales navegadores (IE, Mozilla, Chrome y Opera). Además, permite pruebas para dispositivos móviles, para iPhone y Android. Utiliza los siguientes lenguajes: Python, Ruby, Java y C#. La licencia es “Apache 2.0 License”.









JMeter.
Aplicación de escritorio en Java y dentro del proyecto Jakarta. Esta herramienta permite realizar pruebas funcionales (y de rendimiento) para aplicaciones web. Trabaja con los siguientes protocolos: HTTP, HTTPS, SOAP, JDBC, LDAP, JMS, Mail – POP3(S) and IMAP(S). La licencia es “Apache 2.0 License”.















Testlink
Permite crear y gestionar casos de prueba, organizarlos en planes de pruebas, realizar un seguimiento de los resultados, establecer trazabilidad con los requisitos, generar informes etc. Se integra con otros sistemas de seguimiento de “bugs” y “ticketing” como Bugzilla, Mantis, etc. Licencia: GPL.
Seguro que hay muchas más herramientas para pruebas software, también muchas comerciales (muy buenas, por cierto), pero, en mi opinión, estas son las que más te puedes encontrar hoy en proyectos.