1) Las pruebas de software, en inglés testing 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. ...
2)
Con que fin se realizan las pruebas de software?
El fin de las pruebas es presentar
información sobre la calidad del producto a las personas responsables de
este. Teniendo esta afirmación en mente, la información que puede ser requerida
es de lo más variada. Esto hace que el proceso de testing sea completamente dependiente del
contexto en el que se desarrolla.
3)
¿Qué son las estrategias de prueba de software y para que se
emplean?
La estrategia de
pruebas de software proporciona un mapa que describe los pasos que
se darán como parte de la prueba indica cuando se planea y cuando se darán
dichos pasos además cuanto tiempo, esfuerzo y recursos consumirán.
un software se prueba para descubrir los errores cometidos, si se realiza sin ningún plan seguramente se desperdiciara tiempo, se dedicara un esfuerzo innecesario y lo que es peor puede que no se detecten los errores.
un software se prueba para descubrir los errores cometidos, si se realiza sin ningún plan seguramente se desperdiciara tiempo, se dedicara un esfuerzo innecesario y lo que es peor puede que no se detecten los errores.
4)
¿Cuál es la prueba que se enfoca en los requisitos necesarios para el
usuario final y que técnicas utiliza?
Prueba alfa y beta: En este servicio, los consultores de Testhouse se encargan de
Dirigir a los usuarios finales y asegurar que
se prueban todos los requisitos y se cumplen los criterios de aceptación
especificados previamente en el plan de pruebas del sistema. Como resultado de
estas pruebas se elabora un informe que determina la aceptación o rechazo del
sistema en base los criterios de aceptación acordados.
5. Cuáles son los tres
enfoques para el diseño de pruebas y en qué consiste?
Enfoque estructural o de caja blanca: consiste en centrarse en la
estructura interna (implementación)
del programa para elegir los casos de prueba.
Enfoque funcional o de caja negra: consiste en estudiar la especificación de las
funciones, la entrada y la salida para derivar los casos.
Enfoque aleatorio: consiste en utilizar modelos (en muchas ocasiones estadísticos)
que representen las posibles entradas al programa para crear a partir de ellos
los casos de prueba.
5) Enfoque
estructural o de caja blanca: consiste
en centrarse en la estructura interna (implementación)
del programa para elegir los casos de prueba.
6) Enfoque
estructural o de caja blanca: consiste
en centrarse en la estructura interna (implementación)
del programa para elegir los casos de prueba.
7)
Las
pruebas de regresión consiste 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.
9.
¿Cuáles son las 2
formas de integración y en qué consisten?
Integración descendente
Integración
ascendente
10. Que es un producto alpha, beta y master?
Alfa es la primera versión del
programa
El beta es la primera versión completa
del programa que puede ser inestable..
11.
¿Qué son las pruebas de software?
Las
Pruebas de software son los procesos que permiten verificar y revelar la
calidad de un producto software. El programa se ejecuta con la intención de
descubrir un error.
12.
Con que fin se realizan las pruebas de software?
13. ¿Qué son las
estrategias de prueba de software y para que se emplean?
Una
estrategia
de prueba del software integra las técnicas de
diseño de casos de prueba en una serie de pasos bien
planificados que dan como resultado una correcta construcción
delsoftware. Y lo que es más importante, una estrategia
de prueba del software proporciona un mapa a
seguir para el responsable del desarrollo del software, a la
organización de control de calidad y al cliente: un mapa que describe
los pasos que hay que llevar a cabo como parte de
la prueba, cuándo se deben planificar y realizar esos pasos, y cuánto
esfuerzo, tiempo y recursos se van a requerir. Por tanto, cualquier estrategia
de prueba debe incorporar la planificación de la prueba, el
diseño de casos de prueba, la ejecución de las pruebas y la
agrupación y evaluación de los datos resultantes.
14. ¿Cuál es la prueba
que se enfoca en los requisitos necesarios para el usuario final y que técnicas
utiliza?
15.
Cuáles son los tres enfoques para el diseño de pruebas y en qué
consiste?
·
Enfoque estructural
o de caja blanca: consiste en centrarse en la estructura interna
(implementación) del programa para elegir los casos de
prueba.
·
Enfoque funcional
o de caja negra: consiste en estudiar la especificación de las
funciones, la entrada y la salida para derivar los casos.
·
Enfoque aleatorio: consiste en
utilizar modelos (en muchas ocasiones
estadísticos) que representen las posibles entradas al
programa para crear a partir de ellos los casos de prueba.
16. ¿En qué consiste el
enfoque estructural o caja blanca?
17. ¿En qué consiste el
enfoque funcional o de la caja negra?
18. ¿En qué consiste la
prueba de regresión?
Consiste en
Repetir las pruebas tras cada modificación
Se prueban
los cambios y se scomprueban si los cambios en un programa se intoducen
comportacmientos no deseados..
– Repetir
sólo pruebas de verificación
• Pruebas de
unidades
• Pruebas de
integración
– Conservar y
actualizar los programas de prueba
– Usar
herramientas de ejecución automática de las pruebas
19. ¿Cuáles son las 2
formas de integración y en qué consisten?
Integración
descendente
Integración
ascendente
20.
Que es un producto alpha, beta y master?
Alfa es la primera
versión del programa
El beta es la primera
versión completa del programa que puede ser inestable..
21.
Qué diferencia hay entre una prueba de caja negra y caja blanca?
Las de caja negra se aplican a la
interfaz del software (examina un aspecto funcional con poca relación con la
arquitectura del sistema).
Las de caja blanca prueba las rutas
lógicas del software y la colaboración entre componentes. Se conoce y se tiene
en cuenta
22.
La
prueba y la depuración son lo mismo? , por qué?
• PRUEBA: Es el proceso mediante el cual se establece la
existencia de errores.
• DEPURACIÓN: Es el proceso mediante el cual se localizan los errores.
23.
Qué tipo de prueba se basa en sus componentes y la forma como están
sus estructuras?
Pruebas de Integración
24.
Este tipo de prueba está basado en los requisitos no funcionales.
25.
Las pruebas de aceptación son definidas por el desarrollador? , por
qué?
26.
Defina cada uno de los procesos de las pruebas de software
27.
Qué diferencia existe entre un fallo, un error y un defecto?
·
Defecto: Un
defecto se encuentra en un artefacto y puede definirse como
una diferencia entre la versión correcta del artefacto y una
versión incorrecta. Coincide con la definición de
diccionario,"imperfección".
·
Falla: En
terminología IEEE, una falla es la discrepancia visible que se
produce al ejecutar un programa con un defecto, el cual es incapaz de funcionar
correctamente (no sigue su curso normal).
·
Error: Es
una equivocación cometida por el desarrollador. Algunos ejemplos
de errores son: un errorde digitación, una malinterpretación de un
requerimiento o de la funcionalidad de un método. El estándar 829 de la IEEE
coincide con la definición de diccionario
de error como "una idea falsa o equivocada". Por
tal razón un programa no puede tener o estar en un error,
ya que los programas no tienen ideas; las ideas las tienen la gente.
28.
Es
necesario realizar las pruebas de aceptación?
Las pruebas de aceptación, al igual que las
de sistema, se realizan sobre el producto terminado e integrado; pero a
diferencia de aquellas, están concebidas para que sea un usuario final quien
detecte los posibles errores.
29.
Establezca
la diferencia entre las diferentes estrategias de pruebas
Se
han propuesto varias estrategias de prueba del software en distintos
libros. Todas proporcionan al desarrollador de software una plantilla para la
prueba y todas tienen las siguientes características generales:
·
La prueba comienza en el nivel de módulo y trabaja «hacia fuera», hacia la
integración de todo el sistema basado en computadora.
· Según el momento son apropiadas diferentes técnicas de prueba.
· La prueba la lleva a cabo el responsable del desarrollo del software y (para grandes proyectos) un grupo independiente de pruebas.
· La prueba y la depuración son actividades diferentes, pero la depuración se debe incluir en cualquier estrategia de prueba.
· Según el momento son apropiadas diferentes técnicas de prueba.
· La prueba la lleva a cabo el responsable del desarrollo del software y (para grandes proyectos) un grupo independiente de pruebas.
· La prueba y la depuración son actividades diferentes, pero la depuración se debe incluir en cualquier estrategia de prueba.
Una
estrategia de prueba del software debe incluir pruebas de bajo nivel
que verifiquen que todos los pequeños segmentos de código fuente se han
implementado correctamente, así como pruebas de alto nivel que
validen las principales funciones del sistema frente a los requisitos del
cliente. Una estrategia debe proporcionar una guía al profesional y
proporcionar un conjunto de hitos para el jefe de proyecto. Debido a que los
pasos de la estrategia de prueba se dan a la vez cuando aumenta la presión de
los plazos fijados, se debe poder medir el progreso y los problemas deben
aparecer lo antes posible.
30.
Cual es la diferencia entre validación y verificación
Muchas veces se confunde “verificación”
con validación”. Barry W. Boehm (1979) puso en claro con pocas palabras
la diferencia:
• Validación: ¿Estamos construyendo el producto correcto? Se ocupa de controlar si el producto satisface los requerimientos del usuario
• Verificación: ¿Estamos construyendo correctamente el producto? implica controlar que el producto conforma su especificación inicial.
En la Validación el resultado final del desarrollo software se debe ajustar a lo que el usuario quería (sus necesidades)? En la mayoría de las ocasiones el producto desarrollado no casa con la ideas del cliente, normalmente porque a éste suele faltarle capacidad técnica de expresión.
En la Verificación el código que estamos construyendo debe estar en armonía con la especificación que hemos tomado del usuario. El resultado final del desarrollo software debe concordar con la especificación (requisitos) del sistema, por lo que debemos asegurarnos que el desarrollo final coincida con dicha especificación
Un sistema puede pasar la validación, sin embargo, no pasa la verificación. Cumple con la especificación del usuario, con lo que él quería, cubre sus necesidades pero internamente puede adolecer de graves detalles como: un precario diseño en la base de datos; uso de un excesivo e innecesario número de líneas de código, por desconocer las potencialidades del lenguaje de desarrollo o de técnicas avanzadas de programación como la POO y uso incorrecto en la BD de instrucciones propias del lenguaje de desarrollo, en lugar de las sentencias adecuadas de SQL.
Las dos utilizan métodos de diseño de casos de prueba y estrategias de prueba, para lavalidación usamos Pruebas de Caja Negra (Grafos, partición equivalente y prueba de valores límites) para la verificación empleamos Pruebas de Caja Blanca (Prueba de Camino crítico: Grafo de flujo, complejidad ciclomática; prueba de Condición: ramificaciones, dominio, operador relacional y de ramificación; Prueba de Flujo de datos y Prueba de Bucles).
• Validación: ¿Estamos construyendo el producto correcto? Se ocupa de controlar si el producto satisface los requerimientos del usuario
• Verificación: ¿Estamos construyendo correctamente el producto? implica controlar que el producto conforma su especificación inicial.
En la Validación el resultado final del desarrollo software se debe ajustar a lo que el usuario quería (sus necesidades)? En la mayoría de las ocasiones el producto desarrollado no casa con la ideas del cliente, normalmente porque a éste suele faltarle capacidad técnica de expresión.
En la Verificación el código que estamos construyendo debe estar en armonía con la especificación que hemos tomado del usuario. El resultado final del desarrollo software debe concordar con la especificación (requisitos) del sistema, por lo que debemos asegurarnos que el desarrollo final coincida con dicha especificación
Un sistema puede pasar la validación, sin embargo, no pasa la verificación. Cumple con la especificación del usuario, con lo que él quería, cubre sus necesidades pero internamente puede adolecer de graves detalles como: un precario diseño en la base de datos; uso de un excesivo e innecesario número de líneas de código, por desconocer las potencialidades del lenguaje de desarrollo o de técnicas avanzadas de programación como la POO y uso incorrecto en la BD de instrucciones propias del lenguaje de desarrollo, en lugar de las sentencias adecuadas de SQL.
Las dos utilizan métodos de diseño de casos de prueba y estrategias de prueba, para lavalidación usamos Pruebas de Caja Negra (Grafos, partición equivalente y prueba de valores límites) para la verificación empleamos Pruebas de Caja Blanca (Prueba de Camino crítico: Grafo de flujo, complejidad ciclomática; prueba de Condición: ramificaciones, dominio, operador relacional y de ramificación; Prueba de Flujo de datos y Prueba de Bucles).
31. Porque es
difícil aplicar pruebas de unidad a un modulo altamente acoplado
32. De tres
ejemplos de pruebas, aplique pruebas de caja negra y pruebas de caja blanca
Tipos de pruebas
Pruebas Unitarias
• Pruebas De Integración
• Pruebas De Validación
• Pruebas De Sistema
• Caja Blanca
• Caja Negra
• Pruebas De Regresión
Prueba
de caja blanca
Las pruebas de caja blanca (también
conocidas como pruebas de caja de
cristal o pruebas estructurales)
se centran en
los detalles procedimentales del software, por lo que su diseño está
fuertemente ligado al código fuente. El testeador escoge distintos valores de
entrada para examinar cada uno de los posibles flujos de ejecución del programa
y cerciorarse de que se devuelven los valores de salida adecuados.
Las
principales técnicas de diseño
de pruebas de caja blanca son:
·
Pruebas de
flujo de control
·
Pruebas de
flujo de datos
·
Pruebas de
bifurcación (branch testing)
·
Pruebas de
caminos básicos
·
Pruebas
de la caja negra:
Las pruebas
de caja negra ejercitan los requisitos funcionales desde el exterior del
modulo. En otras palabras, de una caja negra nos interesará su forma de
interactuar con el medio que le rodea 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.
33. Explique
los métodos de pruebas Orientados a Objetos
TALLER CON IMAGENES AQUI:
https://docs.google.com/file/d/0BxGgZqNCEJGcUFBNWEJXUk9pYXc/edit?usp=sharing
0 comentarios