Está en la página 1de 9

Paso 1 - Actividad de Reconocimiento

Por:
Juan Sebastián Cubillos Gonzalez
Presentado a:
Geovanni Catalan
Curso:
EVALUACION DE SOFTWARE
301569A_1144 – 301569_31

UNAD
30 de agosto de 2022
Derechos de autor © 2022 por Juan Sebastián Cubillos Gonzalez. Todos los derechos reservados.
Contenido

Introducción ............................................................................................................................................... iii


Objetivos .................................................................................................................................................... iii
Desarrollo Actividad .................................................................................................................................. iv
Investigar sobre el significado de la Calidad de Software, y el ciclo de vida del producto software .... iv
Calidad de software ............................................................................................................................ iv
Ciclo de vida de un producto de software ......................................................................................... vii
Tecnologías agiles ............................................................................................................................ viii
Conclusiones .............................................................................................................................................. ix
Bibliografía ................................................................................................................................................ ix
Introducción

La revisión o “retroalimentación”, nos permite mejorar, literalmente en el proceso de mejora continua, se


exige que el objeto o proceso revisado sea constantemente evaluado, para identificar fallas, revisar
alcances y mejorar todo lo que sea mejorable, la evaluación de un software es el proceso más importante
para obtener calidad de software y para lograr identificar las mejoras y fallas que se tienen, “No se puede
mejorar algo si no se tiene la medida de este algo” y para ello se debe evaluar, revisar, controlar mejorar
y reevaluar. Por todo lo anterior el curso de evaluación de software en la actividad de reconocimiento
permite que los estudiantes revisen los conceptos iniciales que permite entender el origen de la evaluación
de un software.

Objetivos

Realizar una investigación, (generando un informe) sobre los conceptos preliminares que se deben tener
para evaluar un software, estos conceptos deben estar enfocados a:
• Calidad del software.
• Ciclo de vida del software.
Desarrollo Actividad

Investigar sobre el significado de la Calidad de Software, y el ciclo de vida del producto software

Calidad de software

Para hablar sobre la calidad del software lo primero que se debe revisar es el concepto software, ya que
este abarca todo el contenido de un sistema desarrollado para cubrir una necesidad especifica, para ello el
software debe ser generado en algún lenguaje de programación, (Java, .NET, Python, Angular, etc) que
pueda ser ejecutado por algún interprete, (navegador web, sistema operativo, dispositivo movil, etc).
El software debe ser ejecutado en el entorno anteriormente especificado para cumplir un proceso, que
debe tener inicio, (datos de entrada), transformación, (eventos que modifican o completan los datos de
entrada) y fin, (resultados). Este tipo de comportamiento puede requerir o no la intervención humana, ya
que hay softwares que operan sin la necesidad de intervención humana, como (servicios Windows, ETL´s,
etc) y otros que, si la requieren como, (ERP´s, CRM´s, etc).

Ya que sabemos que es un


software en términos generales
se puede abordar el concepto de
calidad, decir que algo tiene
calidad o no. Es afirmar que se
cumple con los resultados
esperados con este algo, un
ejemplo claro es decir que una
tubería tiene calidad por que
cumple con lo deseado
transportar líquidos, durante x
cantidad de años sin tener
obstrucciones y sin tener Ilustración 1 Proceso calidad del software, tomada de:
rompimientos o fugas. Por ende, https://www.merkle.com/es/es/blog/qa-testing-informes-sostenibles
ya sabemos que el concepto
calidad se atañe a todo producto que cumple con lo requerido bajo condiciones normales de su operación.
Sin embargo, el software es un producto intangible el cual no puede ser medido o cuantificado de la misma
forma que en el ejemplo anterior. La calidad de un software debe ser medida en sus resultados es decir el
software debe cumplir en transformar o completar los datos de entrada, generando los resultados
esperados, todo lo anterior es medido por medio de casos de uso y escenarios u comportamientos
tipificados, un ejemplo para esto es el siguiente:
Se tiene un software de tipo web, que permite
realizar la vinculación de adquirientes inmobiliarios,
para ello el software debe:
1. Garantizar que el acceso al sistema es
realizado por medio de un proceso de autenticación y
autorización.
2. El registro del adquiriente debe contener los
datos:
a. Nombres.
b. Apellidos.
Ilustración 2 Proceso de revisión de software, tomada de:
c. Correo.
https://www.webcreek.com/es/blog/tecnologia/software- d. Telefono.
quality-assurance-desarrollo/ 3. El adquiriente debe ser validado contra listas
restrictivas para evitar los riesgos de SARLAFT.
4. Al final si el proceso es exitoso, se debe enviar un correo electrónico al nuevo adquiriente dando la
bienvenida y sus datos para establecer su contraseña.

Como se puede ver en el proceso anterior el software tiene un proceso:


1. Inicio: Datos de entrada. Datos básicos del adquiriente.
2. Transformación: Validación de listas restrictivas y registro del adquiriente.
3. Fin: Correo electrónico de vinculación del tercero.

Lo anterior no es más que un guion de pruebas. Para realizar y asegurar la calidad de un software, se debe
realizar un proceso de aseguramiento de calidad, lo cual no es más que probar el software varias veces,
con x cantidades de variaciones en los datos de entrada o en el proceso de transformación para obtener los
resultados finales esperados, esto es generado por un área conocida como equipo QA, (Quality Assurance)
“Aseguramiento de la calidad” este
equipo es un grupo de ingenieros de
sistemas o usuarios funcionales, que
valida que el software se comporte con
normalidad en los escenarios
anteriormente expuestos, estos
escenarios se conocen como CP’s
“Casos de Pruebas” y estos son
certificados, probados y validados X Ilustración 3 Vista de caja negra de las pruebas, tomada de:
cantidad de veces, lo anterior depende https://www.panel.es/software-qa-cuales-son-los-tipos-de-pruebas-software/
de la cantidad de errores y los tipos de errores identificados. Un error es un incidente identificado en las
pruebas de aseguramiento de la calidad, este incidente es un mal funcionamiento que es fácilmente
reproducible ejecutando X cantidades de pasos, un ejemplo de esto es:
En el CP1, se encuentra que se pulsa el botón iniciar sesión solicitado en los criterios de aceptación de la
historia de usuario 2. Que, si no hay datos en los campos, (Usuario y Contraseña) de igual forma el sistema
permite el ingreso, pasos para la reproducción del problema:
1. Iniciar sesión.
2. No diligenciar los datos,
3. Pulsar el botón de iniciar sesión.
Como se puede ver en el caso anterior la calidad esperada en el software no es la adecuada porque no se
cumple con las medidas de seguridad mínimas para ofrecer un producto seguro. Cuando el equipo de QA
encuentra un error devuelve el software al equipo de desarrollo para su revisión y corrección del problema
identificado por medio de ajustes al código fuente.

Con base a lo anterior se puede identificar que hay una célula de trabajo que tiene un equipo de desarrollo,
(ingenieros que construyen el software) un grupo QA, (ingenieros que prueban el software) y otra cantidad
de equipos relacionados con dar mantenimiento y ofrecer nuevas funcionales en el software.
Ciclo de vida de un producto de software

El ciclo de vida de un software es el proceso por el cual


literal le damos vida a un producto, esto ocurre por medio
de un proyecto de desarrollo el cual contiene varias etapas,
que son en efecto el ciclo “proceso” que debe cursar todo
software para lograr cubrir la necesidad con la cual se
inició su proceso de construcción, un software al ser un
producto intangible debe tener un propósito, un resultado.
El ciclo de vida de un software es:

• Análisis: En esta etapa el equipo “el proyecto”, esta


enfocado en revisar el requerimiento “propósito del
software”; por medio de las herramientas adecuadas
como: Historias de usuario, reuniones con los clientes,
casos de uso, documento de requisitos, etc.
• Diseño: Para esta etapa ya debe existir un
requerimiento tangible, bien sea X lista de historias de
usuario o un documento de requisitos que permita que el
equipo de desarrollo o técnico genere los planes del
software, al igual que en las construcciones inmobiliarias,
Ilustración 4 Ciclo de vida básico de un software, tomada de: el software necesita un armazón, una estructura que debe
https://platzi.com/clases/1421-pruebas-software/15303-ciclo-de- ser creada con un grupo de especialistas “arquitecto de
vida-del-software/
software”; para tener la hoja de ruta, la arquitectura del
software es de vital importancia para garantizar su
correcto funcionamiento, para generar esto se utiliza usualmente el lenguaje unificado de
modelamiento UML, que nos permite generar diagramas de clases, secuencia, estados y demás que
serán parte del software,
• Desarrollo: Al ya tener un diseño “un
plano”, se debe iniciar la construcción el
software por medio de un lenguaje de
programación, para esta etapa se utiliza el
grupo de desarrollo quienes darán vida al
software.
• Pruebas: En esta etapa se prueba el
software, por medio del equipo QA, para
lograr establecer la calidad esperada en el
software, por medio de escenarios de
pruebas. Esta etapa se repite las veces que
sean necesarias para lograr tener un
aseguramiento de la calidad.
• Lanzamiento o implantación: El software Ilustración 5 Ciclo de vida de un software en modelo cascada, tomada de:
http://defreq.blogspot.com/2012/08/ciclo-de-vida-del-software.html
ya esta listo para ser usado por los clientes
y debe ser lanzado al ambiente de producción, para iniciar su uso y determinar su operación.
• Mantenimiento: Como todo en la vida, el software requiere tener mantenimiento bien sea porque
tenemos una “filtración de agua” un requisito faltante o porque se necesita una nueva tubería para
llevar agua hacia la segunda planta "nuevo requerimiento". En esta etapa se utilizan sistemas de
administraciones de incidentes para tipificar los mantenimientos y dar prioridad a las necesidades más
urgentes.

Tecnologías agiles

El proceso de desarrollo de software no es algo novedoso desde


lo años 80 nosotros los seres humanos hemos construido
software para resolver necesidades orientadas con la información
para nuestra era digital, el impulso de las computadoras no
hubiera sido el mismo, sin tener las herramientas que tenemos
hoy en día en pleno siglo XXI para obtener y transformar los
datos, es por ello que el proceso para construir el software a
tenido varias mejoras, lo anterior con el objetivo de tener
software usables en la menor cantidad de tiempo evitando
Ilustración 6 Proceso DevOps, tomada de: desperdicios en el proceso, las tecnologías agiles son la cresta de
https://blog.educacionit.com/2021/06/28/serie-de- la ola en la actualidad y permiten unir los conceptos de desarrollo
devops-101-devops-y-los-anos-venideros/
continuo, pruebas continúas y despliegue continuó lo anterior por
medio de conceptos conocidos como DevOps, donde el equipo
de desarrollo pasa mejoras a un software de forma casi inmediata por medio de la integración continua.
Conclusiones

• La calidad de software esta orientada a evaluar el cumplimiento del propósito de un software por
medio de procesos orientados en probar y garantizar su: eficiencia, y confiabilidad.
• El ciclo de vida de un software es el proceso por el cual se obtiene un software operativo, para ser
usado por los clientes, es por ello por lo que las etapas de este deben ser cumplidas o adaptadas a la
metodología de entregas para que este sea competitivo en un mundo orientado al usado de sistemas de
información.

Bibliografía

Ciclo de vida del software. (s. f.). /clases/1421-pruebas-software/15303-ciclo-de-vida-del-software/.

Recuperado 30 de agosto de 2022, de https://platzi.com/clases/1421-pruebas-software/15303-

ciclo-de-vida-del-software/

Excelencia, P. T.-C. de. (2021, enero 10). Software QA - ¿Cuáles son los tipos de pruebas software? Panel

Sistemas. https://www.panel.es/software-qa-cuales-son-los-tipos-de-pruebas-software/

¿Por qué es necesario tener un Software Quality Assurance Tester en el equipo de Desarrollo? (2021,

marzo 10). IT Nearshoring | WebCreek. https://www.webcreek.com/es/blog/tecnologia/software-

quality-assurance-desarrollo/

QA Testing: Cómo generar informes sostenibles | Blog. (s. f.). Merkle. Recuperado 30 de agosto de 2022,

de https://www.merkle.com/es/es/blog/qa-testing-informes-sostenibles

Serie de DevOps 101—DevOps y los años venideros. (2021, junio 28). Educacion IT.

https://blog.educacionit.com/2021/06/28/serie-de-devops-101-devops-y-los-anos-venideros/

Valhen, M. A. (2012, agosto 6). Módulo: Definición de requisitos: Ciclo de vida del software. Módulo.

http://defreq.blogspot.com/2012/08/ciclo-de-vida-del-software.html

También podría gustarte