Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ciencias
Escuela de Informática
Integrantes: Matricula:
Domingo Antonio Santamaría AE-6880
Reynaldo José Encarnación DC-6058
Alexander Roso CF-8233
Emmanuel Sierra CB-9010
1
ASPECTOS BÁSICOS EVALUABLES EN LOS PRODUCTOS DE SOFTWARE
2
ASPECTOS BÁSICOS EVALUABLES EN LOS PRODUCTOS DE SOFTWARE
1. Análisis de requerimientos
2. Diseño
3. Programación
4. Prueba
3
Requisito
Los requisitos del software son la descripción de las características y las
funcionalidades del sistema 'target'. Los requisitos nos comunican las
expectativas de los consumidores de productos software. El proceso de
recogida de información, análisis y documentación sobre los requisitos
software del cliente, se conoce como ingeniería de requisitos.
Tipos de pruebas:
Pruebas unitaria
Pruebas funcionales
Pruebas de integración
Pruebas de sistemas
8
PRUEBA UNITARIA
Una prueba unitaria permite comprobar que una parte especifica de código de una
determinada aplicación que está siendo programada o codificada no presenta fallos,
errores, o cálculos inesperados.
Aunque el objetivo de la prueba de forma individual es encontrar fallos (bugs ), la meta
final es aumentar la calidad del desarrollo, siendo uno de los objetivos principales de la IS
ó Ingeniería del Software, la falta de conocimiento por parte de los directores de producto,
así como los tabús y falsos aforismos típicos en informática, no pierdas tiempo.
– Las pruebas unitarias se tienen que poder ejecutar sin necesidad de intervención manual,
mejorar la automatización de la ejecución.
– Las pruebas unitarias tienen que poder repetirse tantas veces como uno quiera, deben ser
rápidas.
– Deben cubrir casi la totalidad del código de nuestra aplicación.
– Deben poder ser ejecutadas bajo cualquier entorno, es decir, que los casos de error sean
reales entre plataformas.
Automatizable, Completas, Repetibles o Reutilizables, Independientes, Profesionales.
Por lo tanto, respondiendo a la pregunta inicial ¿ Qué ventajas me proporcionan ? 9
PRUEBA DE INTEGRACIÓN
En este caso probamos cómo es la interacción entre dos o mas unidades del
software.
Existen varios tipos de pruebas de integración. Los más comunes son:
Big bang: se acoplan todos los módulos de una sola vez, reduciendo la
cantidad de pruebas (pero también dificultando la detección de posibles
errores).
Bottom-up: se prueban primero los componentes de bajo nivel y luego se
avanza hacia los de mayor nivel.
Top-down: el enfoque es exactamente inverso al anterior.
Se puede utilizar cualquier método de los antes mencionados, pero lo
más importante es incluir las pruebas de integración ya que son de
importancia crítica para el proceso de aseguramiento de calidad.
10
PRUEBAS FUNCIONALES
Las pruebas funcionales son un proceso de control de calidad que consiste en asegurar el cumplimiento de
un sistema o componente con requerimientos funcionales.
El objetivo principal de las pruebas funcionales es analizar el producto terminado y determinar si hace todo
lo que debería hacer y si lo hace correctamente.
Las pruebas funcionales se dividen en las siguientes fases:
Análisis de requisitos (Planificación)
En esta fase se inicia la elaboración del modelo jerárquico de requisitos de prueba partiendo de los procesos
funcionales que soporta el producto o activo de software a evaluar En esta fase se identifica, acuerda y
especifican los atributos y características de calidad que se van a probar. El objetivo es diseñar las pruebas
para que tengan la mayor probabilidad de encontrar defectos con la mínima cantidad de esfuerzo y tiempo.
Ejecución
En esta fase se ejecutarán los casos de prueba anteriormente diseñados de forma manual. Hay que seguir al
detalle el guión establecido dejando cierta libertad al tester para detectar situaciones anómalas no
contempladas. Las baterías de pruebas serán ejecutadas como mínimo una vez antes del paso a producción,
Gestión de Incidencias (Defectos)
La gestión de incidencias es una parte implícita de la fase de ejecución, pero que al tener una alta
importancia en las pruebas funcionales, diferenciamos como una etapa independiente. Cuando al realizar la
acción de un step el resultado obtenido no es el esperado, habrá que abrir o reportar una incidencia para que
11
el equipo de desarrollo tenga constancia del error.
PRUEBA DEL SISTEMA
17
DIAGRAMAS DE CAUSAS Y EFECTOS
¿CUÁNDO SE UTILIZA?
Estas opiniones pueden estar en conflicto o fallar al expresar la causa
principales. El uso de un Diagrama de Causa y Efecto hace posible
reunir todas estas ideas para su estudio desde diferentes puntos de
vista.
¿CÓMO SE UTILIZA?
El diagrama causa-efecto es un vehículo para ordenar, de forma muy
concentrada, todas las causas que supuestamente pueden contribuir a
un determinado efecto. Nos permite, por tanto, lograr un
conocimiento común de un problema complejo, sin ser nunca
sustitutivo de los datos. Es importante ser conscientes de que los
diagramas de causa-efecto presentan y organizan teorías. Sólo cuando
estas teorías son contrastadas con datos podemos probar las causas de
19
los fenómenos observables.
EJEMPLO DE DIAGRAMAS DE CAUSAS Y EFECTO
20
Este método de testing se basa en la experiencia del ejecutor. Consiste en realizar un análisis de
MÉTODO ADIVINACIÓN DE ERRORES
los requisitos y el diseño del sistema, buscando intuir en que puntos del sistema se pudieron
insertar errores y elaborar el diseño de las pruebas enfocado a atacar el sistema sobre estos
casos.
Es curioso, pero en la gran mayoría de las ocasiones este método es utilizado por los tester, no
existe mucha documentación del método ni una estructuración de los pasos a seguir para este
tipo de prueba.
Las historias de defectos pueden ser útiles; hay una alta probabilidad de que los errores que han
aparecido en el pasado, puedan volver a aparecer. Generalmente se enfocan en:
void main()
{
String^ s;
Console::WriteLine("The value of the string is '{0}'", s);
try {
Console::WriteLine("String length is {0}", s->Length);
}
catch (NullReferenceException^ e) {
Console::WriteLine(e->Message);
}
}
// The example displays the following output:
// The value of the string is ''
22
// Object reference not set to an instance of an object.
●
CAJA BLANCA: PRUEBA DEL CAMINO BÁSICO
La prueba del camino básico, es una prueba de “caja blanca” que consiste en verificar el código
de nuestros sistemas de manera que comprobemos que todo funciona correctamente, es decir, se
debe verificar que todas las instrucciones del programa se ejecutan por lo menos una vez.
23
El siguiente diagrama flujo corresponde al algoritmo para determinar el número mayor de 3
valores dados.
24
Paso 1: Dibujar el grafo de flujo
Detectamos los nodos que conformaran el grafo de flujo así como los caminos que se pueden
recorrer durante la ejecución del programa
25
DIAGRAMA Y GRAFO DE FLUJO
26
COMPLEJIDAD CICLOMATICA
Paso 2: Complejidad Ciclomática
La complejidad ciclomática mide el número de caminos
independientes dentro de nuestro código que es sometido a
prueba. La formula para su calculo es:
V(G) = a – n +2
donde:
•a: Es el numero de aristas (lados)
•n: Es el numero de nodos (vertices)
En nuestro ejemplo la formula queda de la siguiente forma:
V(G) = 11 – 9 + 2 = 4
Nuestro código tiene una complejidad ciclomática de 4, eso
quiere decir que debemos realizar 4 pruebas para
asegurarnos de que cada instrucción se ejecute por lo menos
una vez.
27
Paso 3: Caminos independientes
Vamos formando los caminos independientes (4 según la complejidad ciclomatica)desde el mas largo al
mas corto observando nuestro grafo de flujo.
28
FUENTES:
http://losmuchachosdelbonsai.blogspot.com/2013/03/pruebas-unitarias-y-junit.html
http://www.palentino.es/blog/que-es-una-prueba-unitaria-ventajas-que-posee-y-un-ejemplo-practico-en-
php/
https://technet.microsoft.com/es-es/library/bb490186.aspx
https://losandestraining.com/2017/10/12/test-de-integracion/
http://taller1cdsucn.blogspot.com/2013/08/tecnicas-de-caja-negra.html
http://www.jc-mouse.net/ingenieria-de-sistemas/caja-blanca-prueba-del-camino-basico
29
30