Académique Documents
Professionnel Documents
Culture Documents
Presentado por:
Docente
MANUEL CABRERA
TABLA DE CONTENIDO
INTRODUCCIÓN ..........................................................................................................................5
OBJETIVO GENERAL ...................................................................................................................6
PRUEBAS DE SOFTWARE ..........................................................................................................7
QUE ES EL ISTQB ........................................................................................................................8
1. Un enfoque estratégico para la prueba de software .....................................................................9
1.1. Verificación y Validación .................................................................................................9
1.2. Organización de las pruebas de Software ........................................................................10
1.3. Estrategia de la prueba del Software. Visión general ......................................................10
1.4. Criterios para completar las pruebas ...............................................................................11
2. Pruebas funcionales de software ...............................................................................................11
2.1. Pruebas de Interoperabilidad ..........................................................................................11
2.2. Pruebas de Caja Negra.....................................................................................................12
2.2.1. Técnicas de pruebas de caja negra ...........................................................................12
2.2.2. Pruebas de Caja Negra y Pruebas Funcionales ........................................................13
2.2.2.1. Pruebas de casos de uso .................................................................................14
2.2.2.2. Pruebas de historias de usuario ......................................................................14
2.3. Pruebas de Caja Blanca ...................................................................................................16
2.3.1. Técnicas de prueba de caja blanca ...........................................................................16
2.3.1.1. Camino básico ...............................................................................................16
2.3.1.2. Notación de Grafo de Flujo ...........................................................................16
2.4. Pruebas Exploratorias ......................................................................................................18
3. Pruebas no funcionales de software ..........................................................................................18
3.1. Pruebas de Desempeño ...................................................................................................19
3.2. Pruebas de Carga ............................................................................................................19
3.3. Pruebas de Estrés ............................................................................................................20
3.4. Pruebas de Usabilidad ....................................................................................................20
3.5. Pruebas de Mantenibilidad .............................................................................................21
3.6. Pruebas de Escalabilidad ................................................................................................21
3.7. Pruebas de Resistencia ...................................................................................................22
3.8. Pruebas de Recuperación ................................................................................................23
3
INTRODUCCIÓN
Las pruebas de Software se califican para determinar y descubrir errores que se cometen de manera
Una estrategia de software se aplica cuando se esté realizando las pruebas de software, los
ingenieros y representantes las pueden aplicar, el procedimiento final se puede clasificar como una
pruebas.
Las pruebas de software ayudan en el desarrollo del software, ya que proporcionan los pasos para
realizar una prueba y como modelar un diseño de casos de prueba para un software, también se
pretende explicar cómo se ejecuta la prueba de software y como se recolectan y evalúan los
resultados.
6
OBJETIVO GENERAL
El objetivo de este trabajo es conocer y analizar las pruebas de software y como se implementan
en el producto, sistema o programa desarrollado, como las estrategias de pruebas realizan una
evaluación eficaz y eficiente del software, también definimos las buenas prácticas necesarias en
PRUEBAS DE SOFTWARE
pueden hasta ser sinónimos, por ejemplo: pruebas funcionales, pruebas de sistemas, pruebas no
Parte fundamental de una prueba de software es desarrollar una guía con todos los
lineamientos que describan los pasos de inicio y fin a realizarse como parte de la prueba. En general
acomodarse con facilidad a distintas situaciones dentro de su ciclo de desarrollo con el fin de
promover su uso. Cuando el nivel es alto, debemos distinguir entre las pruebas manuales y las
automatizadas. Las pruebas manuales se realizan en persona, haciendo clic a través de la aplicación
o interactuando con el software y las API con las herramientas adecuadas. Resultan muy costosas,
ya que requieren que alguien configure un entorno y ejecute las pruebas, y pueden ser propensas a
errores humanos, ya que el encargado puede cometer erratas u omitir pasos en el script de la
prueba. Por otro lado, las pruebas automatizadas se realizan a través de una máquina que ejecuta
un script de prueba escrito con antelación. Estas pruebas pueden variar mucho en cuanto a
complejidad, desde comprobar un único método en una clase hasta garantizar que realizar una
8
secuencia de acciones complejas en la IU genera los mismos resultados. Son mucho más potentes
y fiables que las pruebas automatizadas, pero la calidad de estas últimas depende de lo bien que se
¿Qué es el ISTQB?
en el área de Pruebas e Software, que ha ganado bastante prominencia en tiempos recientes, las
en el área.
Proporcionar una ruta de certificación multinivel que permite a los profesionales crecer
industria.
y procedimientos, que se planean de forma ordenada. Durante el proceso del software, debe
realizarse un chetlist con su respectiva plantilla sobre las pruebas de software, definirse en su inicio
del desarrollo, acá se realiza el conjunto de actividades que incluye los métodos y técnicas de
Una característica genérica de una plantilla de pruebas de software referente es: La prueba
comienza en los componentes y opera “hacia afuera”, hacia la integración de todo el sistema de
cómputo. Se trata de la composición del inicio de la prueba, opera en los elementos del sistema.
1.1.Verificación y Validación
Dentro de las pruebas del software, se utilizan dos términos importantes en el proceso que son
la Verificación, que se refiere al conjunto de tareas implementas como resultado que el software
es funcional, que cumple con las especificaciones del cliente a satisfacción y la validación, que
garantiza que el producto desarrollado cumple con los requerimientos del cliente.
Sin duda las pruebas en el Software son muy importantes antes, durante y después de terminado
el proceso, pese a que no se puede tener certeza de que el margen de error sea mínimo, se trabaja
El objetivo fundamental de realizar pruebas del Software, es verificar la calidad del programa,
donde se evidencie que se está libre de errores y que su funcionamiento es el adecuado, podría
indicar que es un proceso de control de calidad que permite dar veracidad de lo que se ha
desarrollado, sin necesidad de incurrir en gastos adicionales, dentro del presupuesto inicialmente
pactado. Lo que se pretende con este proceso es que quien desarrolla el software, encuentre el error
Dentro de las estrategias de las pruebas del Software, podemos encontrar que, para desarrollar
un software, debemos avanzar en forma de espiral en forma contraria de las manecillas del reloj,
a su vez, dentro del mismo proceso, se realizan una serie de pruebas denominadas; Prueba de
unidad, prueba de integración, prueba de validación y por ultimo prueba del sistema. Todos estos,
son una serie de pasos que se unen de manera secuencial para un mismo proceso que es el detectar
Con esto lo que se pretende es optimizar al máximo el rendimiento a nivel general del Software
Dentro de los criterios que se tienen en cuenta sobre las pruebas realizadas en el software,
siempre surgen incógnitas o preguntas como: ¿Cuándo terminan las pruebas?, ¿Cómo se sabe si se
ha probado lo suficiente? Dentro del proceso que se maneja, nunca se puede asegurar al 100% que
el procesos el totalmente exitoso, pues como todo, siempre hay un 1% que lo desmiente. Sin
embargo lo que se intenta es justamente trabajar continuamente y bajo diversos métodos, para que
Se entiende como las Funcionalidades del Sistema cómo “lo que el sistema hace”, las
funcionales, casos de uso e inclusive no estar documentadas, los casos de prueba se definen a partir
comportamiento externo del sistema por lo que se consideran pruebas de caja negra, además de las
pruebas sobre los módulos y funciones, pueden realizarse pruebas en áreas especializadas como
2.1.Pruebas de Interoperabilidad
software.
12
“Las pruebas de caja negra, es una técnica de pruebas de software en la cual la funcionalidad
1. Consiste en clasificar las entradas de datos del sistema en grupos que presentan un
2. Se pueden definir particiones tanto para datos válidos como no válidos (datos que deben
3. Las particiones también pueden definirse en función de las salidas de datos, valores
internos, valores relacionados antes o después de ciertos eventos, y también para los valores
4. A partir de allí se definen pruebas para cubrir todos o parte de las particiones de datos
5. Es aplicable a entradas de datos realizadas por personas o vía interfaces con otros sistemas.
En las pruebas de caja negra, nos enfocamos solamente en las entradas y salidas del sistema,
sin preocuparnos en tener conocimiento de la estructura interna del programa de software. Para
obtener el detalle de cuáles deben ser esas entradas y salidas, nos basamos únicamente en los
Descripción del caso: El sistema enviará un correo electrónico cuando se registre alguna de las
Caso 1.1: Datos de entrada: Registrar pedido de venta. Resultado esperado (Salida): El sistema
Caso 1.2: Datos de entrada: Registrar despacho de mercancía al cliente. Resultado esperado
(Salida): El sistema envía un correo electrónico al cliente como constancia que se ha realizado el
despacho.
Caso 1.3: Datos de entrada: Registrar factura de cliente. Resultado esperado (Salida): El sistema
Caso 1.4: Datos de entrada: Registrar cobro. Resultado esperado (Salida): El sistema envía un
correo electrónico al departamento de cuentas por cobrar y al agente comercial (vendedor) que
En los estándares para Software Testing definidos por ISTQB, las técnicas de pruebas de
caja negra son utilizadas para realizar pruebas funcionales, basadas en las funciones o
Se pueden utilizar técnicas basadas en especificación para identificar las condiciones y casos
Los casos de uso describen las interacciones entre actores (que pueden ser usuarios o
sistemas) que producen un resultado que agrega algún valor. A partir de estos se pueden derivar
casos de prueba.
Tienen precondiciones que deben cumplirse para que estos funcionen de forma exitosa.
Los casos de uso terminan con post-condiciones, que son resultados observables y estado
Son útiles para definir las pruebas de aceptación, en las que participa el usuario o cliente.
En metodologías ágiles como por ejemplo Scrum, los requerimientos de usuario son
La historia de usuario describe una funcionalidad (o parte de ella) que puede ser
La cobertura mínima de pruebas para una historia de usuario está compuesta por los
criterios de aceptación.
La prueba de caja blanca se basa en el diseño de casos de prueba que usa la estructura de control
del diseño procedimental para derivarlos. Mediante la prueba de la caja blanca el ingeniero del
1. Garanticen que se ejerciten por lo menos una vez todos los caminos independientes de cada
Es por ello que se considera a la prueba de Caja Blanca como uno de los tipos de pruebas más
importantes que se le aplican a los software, logrando como resultado que disminuya en un gran
porciento el número de errores existentes en los sistemas y por ende una mayor calidad y
confiabilidad.
16
2.3.1.1.Camino básico
La prueba del camino básico es una técnica de prueba de la Caja Blanca propuesta por Tom
McCabe. Esta técnica permite obtener una medida de la complejidad lógica de un diseño y usar
por los cuales puede circular el flujo de control. Para obtener dicho conjunto de caminos
1. A partir del diseño o del código fuente, se dibuja el grafo de flujo asociado.
4. Se preparan los casos de prueba que obliguen a la ejecución de cada camino del conjunto
básico.
Los casos de prueba derivados del conjunto básico garantizan que durante la prueba se ejecuta
Para aplicar la técnica del camino básico se debe introducir una sencilla notación para la
representación del flujo de control, el cual puede representarse por un Grafo de Flujo. Cada nodo
del grafo corresponde a una o más sentencias de código fuente. Todo segmento de código de
17
cualquier programa se puede traducir a un Grafo de Flujo. Para construir el grafo se debe tener en
cuenta la notación para las instrucciones. Un Grafo de Flujo está formado por 3 componentes
fundamentales que ayudan a su elaboración, comprensión y nos brinda información para confirmar
Nodo
Cada círculo representado se denomina nodo del Grafo de Flujo, el cual representa una o
más secuencias procedimentales. Un solo nodo puede corresponder a una secuencia de procesos o
a una sentencia de decisión. Puede ser también que hallan nodos que no se asocien, se utilizan
Aristas
Las flechas del grafo se denominan aristas y representan el flujo de control, son análogas a
las representadas en un diagrama de flujo. Una arista debe terminar en un nodo, incluso aunque el
Regiones
Las regiones son las áreas delimitadas por las aristas y nodos. También se incluye el área
exterior del grafo, contando como una región más. Las regiones se enumeran. La cantidad de
programa.
Cuando en un diseño se encuentran condiciones compuestas (uno o más operadores AND, NAND,
18
NOR lógicos en una sentencia condicional), la generación del grafo de flujo se hace un poco más
complicada.
2.4.Pruebas exploratorias
Cuantas más funciones y mejoras se apliquen en tu código, más deberás someterlo a pruebas
para garantizar que todo el sistema funciona correctamente. Entonces, para cada error que
automatización es clave para hacer esto posible, y escribir pruebas antes o después pasará a formar
De este modo, la pregunta es si aún merece la pena realizar pruebas manuales. Se podría decir
que sí, y que deben centrarse en lo que se conoce como pruebas exploratorias, cuyo objetivo reside
requerimientos no funcionales representan “cómo funciona el sistema” (en contraposición con las
funcionalidades que definen “lo que el sistema hace”). Las características no funcionales del
software, se pueden medir de diversas maneras, por ejemplo por medio de tiempos de respuesta en
Pueden hacer referencias a modelos de calidad, como por ejemplo ISO 9126, consideran el
“comportamiento externo” del sistema, en la mayoría de los casos son pruebas de caja negra
3.1.Pruebas Desempeño:
Son un tipo de pruebas que permiten analizar y evaluar las características del software
Capacidad: Máxima cantidad de trabajo útil que se puede realizar por unidad de tiempo.
3.2.Pruebas de Carga:
Prueba de rendimiento utilizado para evaluar cómo actúa el sistema con una carga variable de
usuarios pero dentro de los niveles esperados de la aplicación. Esta prueba da una idea al
propietario de la aplicación como actuará su sistema bajo una carga “normal” cuando este esté en
producción.
20
Cuando usar una prueba de carga: Comprobar escenarios “reales” para saber si todas las
respuestas están dentro de los estándares aceptados. Ex: Comprobar que todas las transacciones
3.3.Pruebas de Estrés:
Una prueba de estrés evalúa el sistema sometiéndolo a una carga creciente hasta que este falle.
Esta prueba permitirá identificar cuellos de botella “bottleneck” y conocer que carga es la máxima
admitida por la aplicación hasta que esta empieza a tener problemas de rendimiento.
Cuando usar una prueba de estrés: Esta prueba es realizada antes de eventos en los cuales la
3.4.Pruebas de Usabilidad:
En las pruebas de usabilidad, los testers de software se enfocan en validar que tan fácil de usar
Facilidad de aprendizaje: Que tan fácil es para los usuarios realizar funciones básicas la primera
Eficiencia: Que tan rápido los usuarios experimentados pueden realizar sus tareas.
21
Memorización: Que tan fácil de memorizar es el uso de la aplicación, esto es, cuando un usuario
pasa mucho tiempo sin usar la aplicación, puede recordar lo suficiente para usarla con efectividad
Errores: Cuantos errores atribuibles al diseño comete el usuario, que tan severos son y que tan
3.5.Pruebas de Mantenibilidad:
aplicación. Esto significa que tan fácil es analizar, cambiar y probar estos cambios. Para realizar
esta prueba deben evaluarse la forma en que está implementada la aplicación, siguiendo buenas
prácticas de ingeniería de software. Es decir, que se estén siguiendo los patrones recomendados de
ingeniería de software y que no se estén introduciendo inadvertidamente anti patrones, esto es, que
3.6.Pruebas de Escalabilidad
cualquiera de sus características no funcionales, como por ejemplo la carga que soporta, número
incrementales, dada la dificultad de predecir la carga real que tendrá una aplicación luego de
implementada en producción.
Probar en bloques incrementales significa por ejemplo primero probar con niveles de demanda
bajos, luego incrementar a niveles de demanda medios y finalmente probar con altos niveles de
carga. De esta manera se puede determinar que también escala la aplicación y los problemas que
Para que los resultados sean confiables, los ambientes de prueba y su configuración deben
mantenerse constantes.
3.7.Pruebas de Resistencia
Las pruebas de resistencia implican someter a un Sistema o aplicación a una carga determinada
durante un período de tiempo, para determinar cómo se comporta luego de un uso prolongado.
Un sistema informático puede comportarse de forma normal durante las primeras horas, sin
embargo, luego de cierto tiempo, problemas como fugas de memoria suelen ocasionar fallas.
normales, por lo que es conveniente involucrar pruebas de resistencia entre los tipos de pruebas de
software.
23
3.8.Pruebas de Recuperación
Las pruebas de recuperación se realizan para verificar que tan rápido y que tan bien se recupera
Por lo tanto, para realizar pruebas de recuperación se requiere forzar la falla y luego verificar si
Por ejemplo, cuando una aplicación esté funcionando desconectar el cable de red, o en una
aplicación móvil interrumpir la conexión con la red Wi-Fi o con la operadora, para luego
restablecer la conexión.
3.9.Pruebas de Configuración
En lugar de probar el desempeño de una aplicación desde la perspectiva de la carga, las pruebas
de configuración se usan para validar que efectos en el desempeño tienen ciertos cambios en la
configuración.
Según lo que se indica en el artículo, existe variedad de estrategias para realizar pruebas de
Software. Sin embargo no todas son tan funcionales y efectivas para el fin que fueron creadas y
Una de las estrategias, es realizar pruebas permanentes cada que se construya una parte del
software, con el fin de ir solucionado en el camino y no cuando todo esté terminado. Sin embargo
para quienes intervienen en este proceso dicha estrategia no es tan llamativa y prefieren no usarla.
4.1.Prueba de Unidad
Esta prueba se concentra en la verificación más notable de la unidad del diseño del software a
la que llamamos componente de Software, enfoca sus esfuerzos a que se verifique este componente
dándole un plus de calidad, detectando los pequeños errores dentro del módulo. Las pruebas y los
errores están en total relación de complejidad y es establecida para la prueba de Unidad por su
Estas pruebas se ajustan a una síntesis práctica y facilidad de uso y lectura. Se acopla una
interfaz de módulo que facilita que la información fluya relativamente desde la unidad de software
25
hacia y desde la unidad. Se aseguran los datos almacenados desde la estructura de datos locales a
Un buen diseño de prueba establece un margen mínimo de errores y genera rutas de manejo
Se identifican por componentes, estos proporcionan guías para establecer los casos de
pruebas e identificar, una vez realizadas estas guías para establecer casos de pruebas para
En esta figura se puede establecer los entornos de prueba de unidad, donde el representante
del proyecto analiza los módulos a probarse, donde el controlador es el diseño que tiene sus guías
de ruta de datos y que suministra los resultados esperados de los casos de pruebas.
Los representantes y controladores crean una “sobrecarga” a las pruebas, estos dos son
software, si estos se mantienen simples habrá una leve sobrecarga. En términos no alentadores
muchos componentes no pueden tener prueba de unidad adecuada con un software de sobrecarga
integración.
4.2.Pruebas de Integración
Estas pruebas tienen un interrogante, porque va a fallar estas pruebas si son juntados todos los
módulos, el problemas es juntar todos los módulos, conectarlos. Los datos en su migración pueden
perderse. Las pruebas de Integración son técnicas que clasifican un método para construir una
incrementos, donde los errores son más sencillos de consolidar, y puede aplicarse un enfoque de
pruebas sistemático.
1. El módulo de control principal se usa como un controlador de prueba y los representantes (stubs)
principal.
anchura), los representantes subordinados se sustituyen uno a la vez con componentes reales.
4. Al completar cada conjunto de pruebas, otro representante se sustituye con el componente real.
5. Las pruebas de regresión (que se analizan más adelante en esta sección) pueden realizarse para
El control del proceso continúa desde el paso 2 hasta que se crea toda la estructura del
Una estrategia de integración ascendente puede implementarse con los siguientes pasos:
1. Los componentes en el nivel inferior se combinan en grupos, que realizan una subfunción
de software específica.
3. Se prueba el grupo.
4.3.Prueba de regresión
Se realizan nuevas rutas de flujo de datos, el software cambia cuando se agrega nuevo módulo
de software. Las pruebas de regresión es un subconjunto cuando se realiza una nueva ejecución de
prueba que asegura que los cambios no propagan efectos colaterales no deseados.
Las pruebas exitosas en un concepto más amplio de las pruebas de regresión dan como
vez deben corregirse, cambia el aspecto del software cada vez que se corrige el software.
Valida rápidamente y funcionalmente el software a probar, sin una prueba antes diseñada, este
término se describe de la historia donde las computadores eran gigantes y eran conectadas para
determinar si salía humo, al no salir este estaba correcto, si salía era desconectada. Esta prueba de
proyectos o productos complicados. Esta prueba abarca la siguiente actividad de la más usada: Se
diseña una serie de pruebas para exponer los errores que evitarán a la construcción realizar
29
adecuadamente su función. La intención debe ser descubrir errores “paralizantes” que tengan la
La prueba de humo debe exponer los problemas iniciales, se debe contemplar todo el sistema
de extremo a extremo, esta debe ser profunda para darle continuidad si la construcción pasa, pueda
Opciones estratégicas: Las ventajas de una estrategia sirve para descubrir errores, las pruebas no
van a mejorar la calidad de software, es un mecanismo para validar que el software sea de calidad,
la estrategia de pruebas define una serie de pasos en los cuales debe existir una planificación, un
diseño y debemos de recolectar información para validar con los resultados obtenidos en la
Productos de trabajo de las pruebas de integración: Estos productos son necesarios que las
recolectar los resultados, validarlos y ejecutarlos en la validación de las pruebas. Este producto de
Metodología: “Con las pruebas de humo se pueden verificar los flujos más significativos de una
aplicación o de una versión entregada al momento del despliegue a pruebas, de manera que las
funciones básicas del software operen de forma correcta mediante pruebas rápidas y sencillas.”
(Noren, A 2016)
Encontrar errores
Estrategias simples para ejecutar pruebas con el objetivo de probar y encontrar el mayor
número posible de errores con una facilidad de ejecutar una cantidad manejable de recursos que
determine un lapso realista, la naturaleza de este software cambia tanto las tácticas de la prueba
El concepto de unidad cambia cuando definimos Unidad orientada a objetos, esta determina la
definición de clase y objeto, esto quiere decir que cada clase y cada instancia de una clase
empaqueta los atributos en la capa de datos, estas clases se definen métodos que dentro de las
clases son unidades comprobables más diminutas. Una clase de jerarquía define una superclase y
31
convencional, que tiende a enfocarse sobre el detalle algorítmico de un módulo y en los datos que
fluyen a través de la interfaz de módulo, la prueba de clase para software OO la dirigen las
Dentro de la prueba de integración de contexto, existen dos estrategias que permiten realizar
la prueba de integración de los sistemas OO y son, la prueba basada en Hebra y la prueba basada
en uso. La prueba basada en Hebra, básicamente se encarga de integrar diversos elementos entro
de la prueba, con el fin de que no existan daños colaterales. La prueba basada en uso se encarga
de probar diferentes clases servidor, después de ser probadas des diversas clases (clases
independientes y clases dependientes), se puede dar por terminada la construcción del software.
Dentro de estas mismas pruebas se utiliza el uso de controladores, los cuales prueban las
6. Pruebas de validación
software que se construyó, el cliente manifiesta los requisitos para implementar el software y que
debemos cumplir con los requerimientos solicitados. Una validación resulta exitosa, cuando el
nivel de satisfacción del cliente sea el adecuado, de acuerdo con el funcionamiento del Software.
32
Sin duda el mayor reto que se tiene para dar por aprobado el proceso de calidad de un sistema,
Como ya lo hemos visto en los anteriores títulos de este trabajo, se puede validar un sistema
y/o software, después de haber sido sometido a diversas pruebas que nos indicaran pero no del
En lo posible se trata de cumplir con las expectativas del cliente en cuanto a calidad. Sin
embargo, siempre se debe mediar con el cliente cuando se presenta algún error en el sistema.
6.2.Revisión de la Configuración
La revisión de la configuración, hace parte uno de la tantos procesos que se realizan para
garantizar de una u otra manera que la configuración del sistema es el adecuado. Se dice que es
una especie de auditoria que refuerza los procesos ya realizados para dar garantía de la calidad del
producto.
Las pruebas Alfa y Beta, son pruebas que se realizan con el fin de descubrir aquellos errores
que a simple vista no se detectan, pero que al parecer el usuario final termina por encontrarlos.
33
Durante este proceso, los mismos clientes pueden realizar diversas pruebas que les permiten
detectar errores en el sistema y así saber si acepta o no el software. Dicho proceso puede tardar
Dentro de las pruebas del sistema, se presenta normalmente una situación, que se llama el
“dedo acusador”, esto ocurre cuando se descubren una serie de errores en la estructuración del
sistemas, y los ingenieros y/o desarrolladores del sistema inician a tirarse la bola unos con otros.
El objetivo fundamental de las pruebas del sistema, es realizar diversidad de pruebas con el fin
de lograr que todos los elementos del software se hayan integrado correctamente y que la prueba
7.1.Pruebas de recuperación
En las pruebas de recuperación, se espera que todo sistema se recupere de aquellos errores que
se puedan presentar, sin que esto afecte el funcionamiento del sistema a nivel general y tampoco
significa que en la primera se realizan pruebas a través del mismo sistema para detectar las fallas
(TMR).
34
Las pruebas de seguridad, realizan un control eficaz, sobre aquellas personas inescrupulosas
que intentan penetrar el sistema y causar estragos en el software, dichas personas son también
llamados (hackers). El objetivo es realizar pruebas, donde se simula ser un hacker, para de esta
Se requiere de tiempo y recursos para poder realizar las pruebas necesarias y asegurar de
Las pruebas Consiste en probar los atributos o características de seguridad del sistema, si es un
sistema seguro o no, si puede ser vulnerado, si existe control de acceso por medio de cuentas de
Las pruebas de seguridad también sirven para validar si el equipo de desarrollo de software ha
Dentro de las mismas pruebas de esfuerzo, existe una que se llama prueba de sensibilidad, la cual
se encarga de descubrir datos de entrada que pueden causar inestabilidad o un proceso no apto para
el sistema.
35
7.4.Pruebas de Rendimiento
La prueba de rendimiento está diseñada para medir como su nombre lo indica, el rendimiento
del sistema y la frecuencia con la que se miden los recursos. Este proceso se lleva a cabo en el
transcurso de todos los pasos del proceso de pruebas. Sin embargo, solo hasta que el sistema está
Con este sistema, quien realiza el proceso de prueba, puede determinar si existen fallas que
7.5.Pruebas de Despliegue
funcione en cada uno de los sistemas operativos existentes donde debe operar de manera adecuada.
Adicionalmente se examina dentro de este proceso, todos los procedimientos que se requieren
y se deben seguir para la instalación del programa y documentos legales que se utilizan para la
7.6.Pruebas de Perfomance
Las pruebas de performance permiten conocer y mitigar los riesgos relacionados con el mal
desempeño de las aplicaciones en los entornos de producción y realizar las correcciones necesarias
De esta manera, la empresa puede conocer qué cantidad de clientes simultáneos soporta su
producto, con tiempos y datos razonables sobre la infraestructura y las plataformas propuestas.
Muchos defectos son identificados cuando un probador competente chequea totalmente los
contienen procedimientos realizados por operadores. Cualquier procedimiento humano, tal como
los que llevan a cabo el operador, el administrador de la base de datos, o el usuario de terminal,
debe ser probado durante la prueba de sistemas. Su Técnica es revisar la documentación del
7.8.Prueba de Volumen
Las pruebas de volumen hacen referencia a grandes cantidades de datos para determinar los
límites en que se causa que el Sistema falle. También identifican la carga máxima o volumen que
el sistema puede manejar en un período dado. Por ejemplo, si el sistema está procesando un
conjunto de registros de Base de datos para generar un reporte, una prueba de volumen podría usar
37
una Base de datos de prueba grande y verificar que el sistema se comporta normalmente y produce
el reporte correctamente.
El objetivo de esta prueba es someter al sistema a grandes volúmenes de datos para determinar
Un compilador puede ser alimentado por un programa para compilar que sea absurdamente
grande.
componentes.
Técnica:
Deben usarse múltiples clientes, ya sea corriendo las mismas pruebas o pruebas
complementarias para producir el peor caso de volumen (ver pruebas de stress) por un
período extendido.
extendidos.
38
múltiples instalaciones.
Las pruebas de stress se proponen encontrar errores debidos a recursos bajos o completitud de
recursos. Poca memoria o espacio en disco puede revelar defectos en el sistema que no son
aparentes bajo condiciones normales. Otros defectos pueden resultar de incluir recursos
compartidos, como bloqueos de base de datos o ancho de banda de la red. Las pruebas de stress
El objetivo de esta prueba es investigar el comportamiento del sistema bajo condiciones que
sobrecargan sus recursos. No debe confundirse con las pruebas de volumen: un esfuerzo grande es
Verificar que el sistema funciona apropiadamente y sin errores, bajo estas condiciones de
stress:
Todo proceso que se desee realizar, requiere de estrategias específicas y a su vez exitosas, que
den pauta al cómo proceder y que den confiabilidad de que lo que se desea hacer, sea en lo posible
Según Tom Gil, dice que “incluso la mejor estrategia fracasará, si no se aborda una serie de
aspectos decisivos.” (Pressman, 2010, p. 388) y que solo dicha estrategia triunfará, si quienes
prueban el software tienen en cuenta los siguientes aspectos que vale la pena resaltar:
Especifican los requerimientos del producto en forma cuantificable mucho antes de comenzar
Entienden a los usuarios del software y desarrollan un perfil para cada categoría de usuario.
Realizan revisiones técnicas para valorar la estrategia de prueba y los casos de prueba.
Dado que el proceso de seguridad del sistema es un tema fundamental para garantizar la calidad
del producto, las pruebas de despliegue se realizan a su vez con la pruebas de seguridad.
Estas pruebas aseguran que una aplicación o sistema se recupere de una variedad de anomalías
Las pruebas de tolerancia a fallas aseguran que, para aquellos sistemas que deben mantenerse
corriendo, cuando una condición de falla ocurre, los sistemas alternos o de respaldo pueden tomar
Su Técnica se centra en: Se deben utilizar las pruebas creadas para la Funcionalidad del sistema
y Procesos de Negocios para crear una serie de transacciones. Una vez se alcanza el punto inicial
El propósito es demostrar que los objetivos de compatibilidad no han sido logrados y que los
La mayoría de los programas que se desarrollan no son completamente nuevos; con frecuencia
manuales.
Como tales, los programas tienen a menudo objetivos específicos con respecto a su
Conversión de datos
La Base de datos y los procesos de Base de datos deben ser probados como sistemas separados
del proyecto. Estos sistemas deberían ser probados sin usar interfaces de usuario (como las
interfaces de datos). Se necesita realizar investigación adicional en el DBMS para identificar las
herramientas y técnicas que podrían existir para soportar las pruebas identificadas más adelante.
Técnica:
42
Invoque cada método de acceso y proceso de la Base de datos, utilizando en cada uno datos
válidos e inválidos.
Analice la Base de datos, para asegurar que los datos han sido grabados apropiadamente,
que todos los eventos de Base de datos se ejecutaron en forma correcta y revise los datos
Las pruebas del ciclo de negocio deberían emular las actividades ejecutadas en el a través del
tiempo. Debería identificarse un periodo, como por ejemplo un año, y las transacciones y
actividades que podrían ocurrir durante un periodo de un año deberían ejecutarse. Incluyendo todos
los ciclos y eventos diarios, semanales y mensuales que sean datos sensitivos, como las agendas.
Técnica: Ejecute cada caso de uso, flujo básico o función utilizando datos válidos e inválidos, para
verificar que:
Incremente el número de veces en que una función es ejecutada para simular diferentes
Todas las fechas o funciones que involucren tiempos serán probadas con datos válidos e
apropiado.
La prueba de interfaz de usuario verifica la interacción del usuario con el software. El objetivo
es asegurar que la interfaz tiene apropiada navegación a través de las diferentes funcionalidades.
43
Adicionalmente, las pruebas de interfaz aseguran que los objetos de la interfaz a ser probada se
Técnica: Pruebas de crear / modificar cada ventana para verificar la adecuada navegación y estado
de los objetos.
criterios de aceptación validando los requisitos que han sido levantados para el desarrollo,
Estas pruebas están destinadas a probar que el producto está listo para el uso operativo. Suelen
Sirve para que el usuario pueda validar si el producto final se ajusta a los requisitos fijados, es
decir, si el producto está listo para ser implantado para el uso operativo en el entorno del usuario
manera que se determine el cumplimiento de los requisitos del sistema. Para la realización de estas
Manual de usuario.
Manual de administrador.
Su objetivo es Correr el sistema en el ambiente real para encontrar errores y validar el producto
contra sus especificaciones originales. Esta realiza un subconjunto válido de pruebas de sistema.
Técnica: Determinar que pruebas de sistema serán corridas para validar el sistema en producción.
45
LISTAS DE REFERENCIAS
Pressman, R. (2010). Ingeniería del Software Un enfoque práctico. Séptima edición. Editorial Mc
Recuperado de https://www.testingcolombia.com/pruebas-de-humo-su-aplicacion-al-flujo-de-un-
BIBLIOGRAFÍA
Ingeniería del Software Un enfoque práctico. Séptima edición. Editorial Mc Graw Hill
software. https://www.testingcolombia.com/
47
CONCLUSIONES
Las estrategias de prueba de software son una parte fundamental de la validación y verificación
del software y reúne todas las técnicas de diseño de casos de prueba en una serie de pasos bien
Cada estrategia de prueba se desarrolla de acuerdo al nivel de desarrollo en el que este el software
y se prueba tanto cada módulo individual en cada fase como también cuando ya está desarrollado