Diferencia entre SDLC vs STLC

La necesidad genera interés y la convierte en la única razón para que comience cualquier proceso. Más tarde, este interés impulsa el cierre de los recursos relacionados, partes interesadas, clientes, CEO, gerentes y equipos de desarrollo para ejecutar un proyecto exitoso (aquí en nuestro caso es el desarrollo de software). No solo el dinero (interés) es el único propósito detrás del comportamiento de estas personas, sino también el tiempo y el valor de la marca (lo llamarán aún más crucial).

Y aquí es donde aparece el tema del artículo, sí SDLC vs STLC. Tanto SDLC vs STLC están interrelacionados en cierta medida o se puede decir que uno es el predecesor de los demás. La razón es simple si algo se está desarrollando para servir (clientes lo necesitan), entonces debe probarse antes de la implementación. Estos son los estándares de la industria durante décadas y responsabilidad, ya que el cliente ha invertido una gran cantidad de dinero después de ello.

Esta fue la historia detrás de la escena y nos lleva a la sección principal del artículo: SDLC vs STLC. Veamos en detalle cuáles son exactamente estas SDLC vs STLC. ¿Cuál es la secuencia de operaciones debajo de cada uno? ¿Cuál es la diferencia entre SDLC y STLC? ¿Qué tipo de actividades se necesitan para tener un final exitoso?

SDLC significa ciclo de vida de desarrollo de software

CICLO DE VIDA significa una serie de cambios en la vida de uno. Ya sea un proceso vivo, no vivo o cualquier proceso que tenga alguna serie de pasos o secuencia de operación. Estas secuencias son una especie de indicación de que tiene un punto inicial y final definido. Por el contrario, se puede decir que el proceso dado tiene algún subproceso. Esto es un ciclo de vida. Averiguar qué es realmente un ciclo de vida nos hace avanzar en la discusión hacia el desarrollo de software. Entonces, SDLC significa " el ciclo de vida de un proceso de desarrollo de software" .

Con respecto a los modelos de desarrollo, no hay reglas definidas que defiendan una sobre otra o que un modelo en particular sea mejor que otro (ágil es una excepción). Veamos algunos modelos.

  1. Modelo de cascada: el más antiguo
  2. Modelo V
  3. Modelo espiral
  4. Iterativo
  5. Ágil: lo último y más adecuado para cualquier tipo de proyecto

Nota: debo decir que las prácticas del modelo Agum scrum son buenas para trabajar, pero en la industria de TI, un equipo puede preferir cualquiera de estos modelos. Por ejemplo, si el requisito es claro y la garantía de no cambiar en una etapa posterior, el equipo seguramente irá con Waterfall y no con Agile.

Fases en la discusión SDLC

  1. Planificación
  2. Análisis del sistema y requisitos
  3. Diseño
  4. Codificación o desarrollo
  5. Integración y Pruebas
  6. Operación y mantenimiento

El proceso anterior también se puede enumerar a continuación:

  1. PLANIFICACIÓN : lo primero es lo primero antes de que aparezca cualquier evidencia física, siempre hay una planificación detrás de esto. La planificación llega antes de que comience el papeleo. En esta fase, solo se consideran los detalles de alto nivel desde el punto de vista de los Proyectos. Un grupo dedicado de miembros está detrás de esta fase. Se consideran todos los pros y contras relacionados con los proyectos y también se considera cómo maximizar el ROI y las formas de hacerlo. Aquí hay muchas modificaciones y se realizan revisiones para superar cualquier obstáculo para el éxito del proyecto. La conclusión es que antes de que la idea se haga realidad, debe tener razones concretas para correr y alcanzar el éxito. La planificación nuevamente depende del tipo de resultado. Si se está construyendo un nuevo software, la planificación será diferente ya que el estudio de mercado será muy importante para él, pero si el mismo software se actualiza después de unos años, en este caso no habrá ningún estudio de mercado (ya que el software es un éxito y, por lo tanto, existe la necesidad de crear actualizaciones de características de software).
  2. ANÁLISIS : una vez que se realiza la parte de planificación, viene el análisis en el que los equipos dedicados realizan varias tareas antes de lograr una solución concreta. Aquí se realiza el estudio de factibilidad del proyecto, el trabajo de estimación, el cálculo de costos, la obtención de requisitos y la programación. La intención es clara de hacer una verificación final antes de que el trabajo realmente comience. Si hay deficiencias, elimínelas comunicándose con el equipo de desarrollo y las partes interesadas. Descubre los pros y los contras.
  3. DISEÑO : ahora el requisito es claro, y el equipo quiere alguna referencia antes de trabajar, los diseñadores juegan un papel crucial. Lo que funcionará el software (en cuanto a la funcionalidad), cuántas pantallas habrá para cada sección, la interactividad del usuario y todos los detalles están diseñados en esta fase. Digamos que un cliente solicitó un software móvil para la reserva de vuelos y el requisito es claro de que los diseñadores diseñarán las pantallas para cubrir las funcionalidades que procesará este software. Los diseñadores propondrán diseños, planes de trabajo, diagramas de procesos, pseudocódigos y varios otros tipos de documentación de diseño. Las personas responsables elegirán la mejor opción.
  4. CODIFICACIÓN : en esta etapa, la mayoría de las decisiones importantes ya se han decidido. La intención de esta fase es replicar los trabajos de diseño en una pieza de software que funcione. Aquí los desarrolladores desempeñan el papel destacado y se realizan esfuerzos para producir códigos reutilizables. Se presta mucha atención a las discusiones relacionadas con un marco y los mejores métodos adecuados para crear un software de trabajo. Hay herramientas de programación involucradas que son utilizadas por el equipo de desarrolladores que son: compilador, depurador, intérprete. Me gustaría llamar la atención de mis lectores de que el desarrollo de un software de trabajo completo no es fácil ni pequeño. Existe una gran parte del trabajo para que el equipo de desarrollo los divida en entregas más pequeñas y las priorice según la necesidad o la urgencia (también se puede calificar en función de cuán crucial es la funcionalidad, es decir, qué tan alta se ha calificado esa funcionalidad en particular). Recuerde que esta es la fase más larga del ciclo de desarrollo.
  5. PRUEBAS - En esta fase llega al STLC. Esta fase se trata de probar el software de trabajo desarrollado antes de enviarlo a los clientes o usuarios finales. Hay varios tipos de metodología de prueba que los probadores realizan aquí para descubrir posibles defectos en el software.
  6. MANTENIMIENTO : este es un tipo de servicio postventa. Como la forma en que compramos cualquier bicicleta o automóvil y después de un año si hay un problema que produzca algún obstáculo para el correcto funcionamiento. Este tipo de problemas surgen una y otra vez. Aquí se resuelven todos los errores que surgen cuando el cliente está utilizando el software, cualquier actualización necesaria en el futuro o mejoras si las hay.

STLC significa CICLO DE VIDA DE PRUEBA DE SOFTWARE

Fases en el STLC -

  1. Análisis de requisitos
  2. Planificación de prueba
  3. Desarrollo de caso de prueba
  4. Configuración del entorno
  5. Ejecución de pruebas
  6. Ciclo de prueba de cierre
  1. ANÁLISIS DE REQUERIMIENTOS : el primer paso en el proceso de STLC. Es la parte de todo el proceso donde los equipos de control de calidad conocen los requisitos (significa qué probar) y los requisitos comprobables. Para una mejor comprensión del requisito, el evaluador puede hacer un seguimiento con los clientes (pero esto ocurre raramente, solo si se necesitan las pruebas y no el desarrollo). Este es un tipo de gráfico que siguió en esta fase de STLC.
Criterio para entrarActividades realizadasEntregables
Necesidad exacta con una descripción completa para definir el procedimiento de prueba a seguir.El tipo de prueba se enumera en esta secciónLos resultados obtenidos se enumeran en esta sección
  1. PLANIFICACIÓN DE PRUEBAS - La fase más crucial en STLC. Aquí se calculan todas las estimaciones y el tiempo antes de que comience la prueba. El resultado de esto probará planes o estrategias documentaciones. Una vez que se completa esta fase, el equipo de control de calidad puede comenzar con actividades de desarrollo de casos de prueba. El mismo gráfico que se dibuja en la fase superior se usa nuevamente con los cambios.
  2. DESARROLLO DE LA PRUEBA : el desarrollo real de los casos de prueba se trabaja después de que se haya completado la fase de planificación de la prueba. Aquí el trabajo en equipo de prueba en los casos de prueba. No solo se incluyen y documentan los casos de prueba, sino también un informe completo que contiene los datos de la prueba. Una vez completado, estos son verificados por miembros pares o líderes de control de calidad. Aquí también se prepara la RTM (matriz de trazabilidad de requisitos). Estos documentos hacen un seguimiento del requisito en ambos sentidos (significa hacia adelante y hacia atrás).
  3. CONFIGURACIÓN DEL MEDIO AMBIENTE : en general, esto no se practica porque el entorno ya se ha decidido durante la fase de desarrollo (en SDLC). En general, no ocurre ningún cambio en el medio ambiente.
  4. EJECUCIÓN DE LA PRUEBA : aquí los casos de prueba se ejecutan según los planes de prueba preparados inicialmente. Si los casos están bien, se marcan como PASS o, de lo contrario, FAIL. En esta fase se prepara una lista completa de errores y se reenvía al equipo de desarrollo para que los corrija antes de la versión final del software.
  5. CIERRE DEL CICLO DE PRUEBA : una discusión en la que el equipo decide qué salió bien o mal desde la perspectiva de la prueba. En esta reunión se discuten cosas para mejorar en el futuro que pueden ahorrar tiempo y esfuerzo en la dirección correcta. Estos son útiles desde la perspectiva del desarrollo.

Comparación cabeza a cabeza entre SDLC vs STLC (Infografía)

A continuación se muestra la diferencia de las 9 principales entre SDLC y STLC

Diferencias clave entre SDLC vs STLC

Tanto SDLC vs STLC son opciones populares en el mercado; Discutamos algunas de las principales diferencias entre SDLC y STLC:

  • SDLC es una metodología de desarrollo, mientras que STLC es una metodología de prueba
  • Múltiples fases diferentes se combinan para formar SDLC, mientras que múltiples fases de prueba o prácticas se combinan para formar STLC
  • SDLC cubre todos los ciclos de desarrollo de software, mientras que STLC cubre todos los ciclos de prueba
  • SDLC comienza con la fase de planificación y cubre todo el desarrollo, mientras que STLC comienza con la planificación de pruebas y cubre todos los aspectos o tipos de pruebas
  • CEO, Senior Business Analyst, Senior Managers y Developers son las personas que se ocupan de las diversas etapas bajo SDLC. Por otro lado, QA Lead, Test Analyst son las personas que gobiernan el proceso en curso.
  • SDLC se inicia cuando no se ha creado la aplicación real, pero STLC se inicia cuando existe la aplicación real o existe una porción de software en funcionamiento.
  • SDLC es el superconjunto de STLC, mientras que STLC es el subconjunto de SDLC

Tabla comparativa SDLC vs STLC

Veamos la mejor comparación entre SDLC vs STLC -

La base de comparación entre SDLC vs STLC

SDLC

STLC

OrigenCiclo de vida del desarrolloPrueba de ciclo de vida
EtapasSeis fases

1. Planificación

2. Análisis

3. Diseño

4. Desarrollo

5. Prueba

6. Mantenimiento

Seis fases

1. Análisis de requisitos

2. Planificación de prueba

3. Desarrollo de prueba

4. Configuración del entorno

5. Ejecución de prueba

6. Cierre de prueba

RelaciónSDLC puede considerarse como el padre o antecesor.STLC es el sucesor porque está en SDLC.
Acerca deSe trata del desarrollo completo del software, incluidas las pruebas y otras fases.Esto está preocupado por la fase de prueba y la parte de control de calidad.
Fases de recopilación de requisitosEn SDLC, el analista de negocios reúne los requisitos, el equipo de desarrollo realiza el desarrollo.En STLC, el equipo de prueba realiza la revisión del trabajo después de analizar los documentos de prueba, revisión desde una perspectiva funcional y no funcional.
IntenciónSDLC pretendía superar cualquier obstáculo en el camino del desarrollo exitoso de software.STLC tiene la intención de encontrar cualquier escollo o deficiencia en la fase de prueba solamente.
Fase de diseñoEn el SDLC hay un arquitecto técnico para garantizar la calidad del software. Aquí en SDLC Business Analyst puede ayudarlo a comprender los requisitos de una mejor manera.

En STLC, el arquitecto de prueba es el que gobierna las actividades, hace la planificación de la prueba y la identificación de los puntos de prueba de alto nivel.
Fase de codificaciónLos códigos reales se desarrollan y el trabajo real toma forma según la estructura de diseño enfatizada.El equipo de prueba trabaja en el desarrollo de planes de prueba y verifica el comportamiento de trabajo del software. Una cosa a tener en cuenta es que en SDLC los códigos se desarrollan, mientras que en STLC solo se desarrollan casos de prueba.
Fase de pruebaSe prueban los códigos reales que pueden hacer los desarrolladores pares. Dentro de esta fase, se realizan pruebas unitarias, pruebas de integración y pruebas del sistema.En STLC se realiza la ejecución de la prueba más el trabajo de informes. Una cosa a tener en cuenta es que, a diferencia de las pruebas de código en SDLC aquí, hay un comportamiento funcional y no se realizan pruebas de funcionalidad del software.

Conclusión: SDLC vs STLC

La discusión es clara con respecto al SDLC vs STLC. Uno es el enfoque de desarrollo y el otro es el enfoque de prueba en su conjunto. Aunque las pruebas se incluyen en SDLC como una de las secciones, lo importante a tener en cuenta es que se realiza una función muy diferente. Es muy importante tener en cuenta que STLC está debajo del SDLC. Las actividades correspondientes en cada sección son diferentes.

Artículos recomendados

Esta ha sido una guía para la principal diferencia entre SDLC vs STLC. Aquí también discutimos las diferencias clave entre SDLC y STLC con infografías y tabla de comparación. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. SDLC vs Agile
  2. Python vs Go
  3. PL SQL vs SQL
  4. Agile vs DevOps