¿Cómo difieren las pruebas de software del aseguramiento de la calidad del software?

Software Testing es un subconjunto de Software Quality Assurance.

SQA puede estar relacionado con el proceso y los ajustes necesarios para garantizar que las pruebas se realicen correctamente.

En la fase de Prueba de software, debe probar la aplicación utilizando diferentes metodologías y técnicas, ya que SQA implica más actividades de monitoreo y control que se requieren mucho antes de que comience la prueba. Usted define las estrategias y el enfoque utilizando las técnicas que aprende en SQA.

El control de calidad debe comenzar desde el DÍA 1 del desarrollo de software.

Un ingeniero de prueba de software no es necesariamente un ingeniero SQA, pero lo contrario puede ser cierto.

Usuario de Quora, tiene razón en términos de escenarios de la vida real que en las compañías ambos roles son realizados por uno, sin embargo, idealmente, estas son responsabilidades separadas.

No voy a entrar en lo que está probando en detalle o el hecho de que la mayoría de la gente no sabe cómo probar. La manera simple de pensar en la diferencia es que las pruebas se realizan en un producto. El control de calidad se realiza antes de construir el producto. El control de calidad puede incluir actividades como pruebas unitarias, revisión de código, cualquier cosa que creas que mejorará el producto (antes de que se cree). El control de calidad tiene más sentido en el contexto de fabricación. Por ejemplo, asegurarse de que sus herramientas de corte se mantengan reducirá las fallas en el producto mecanizado final. La gente trata de aplicar la misma idea en el software. De hecho, en ágil y delgado, encontrará esa idea muy popular. Es un buen ejercicio descubrir por qué no es válido para el software. En la fabricación, las piezas se inspeccionan después de su construcción. Este proceso se llama control de calidad (QC). La gente suele comparar las pruebas de software con el control de calidad de fabricación. Nuevamente, un buen ejercicio para descubrir por qué la analogía es incorrecta.

Esta es una buena pregunta porque

  1. Con ágil y delgado, encontrará personas que a menudo dicen que el control de calidad es mejor que el control de calidad. En la mayoría de los casos, implican que quieren centrarse en el control de calidad y no en el control de calidad. De hecho, muchos se negarán a participar en las pruebas o tendrán debates sobre las pruebas. Si quiere debatir, necesitará saber la diferencia.
  2. También es bueno porque en Quora, lo que significa es que el tema en sí es inexacto / potencialmente confuso.

Estoy de acuerdo con Lanette en que la gente usa estos términos libremente en la vida real. Por otro lado, muchos consultores, oradores se referirán a estos términos de manera relegante. También es algo a lo que los gerentes, en su infinita ignorancia, se aferrarán. ¡¡Así que ten cuidado!!

Personalmente, me gusta el consejo de Michael Bolton Salga del negocio de desarrollo de calidad “Blog de Developsense: esto también debería aplicarse a los desarrolladores. Por supuesto, debe hacer lo que sea necesario para mejorar la calidad del código. Simplemente no pierda tiempo en métricas BS y no enfrentes uno contra el otro (QA vs QC).

¿Qué es el aseguramiento de la calidad del software?

Software Quality Assurance es un enfoque que contiene un orden adecuado o un plan lógico para reconocer, explicar y editar un conjunto de procedimientos que ayudarán a las organizaciones a entregar las aplicaciones libres de errores.

Aquí, la garantía de calidad del software incluye trabajar para generar y ejecutar los procesos y los métodos que mejorarán el ciclo general de desarrollo de aplicaciones.

¿Qué son las pruebas de software?

Los procesos definidos por Software Quality Assurance ahora se programarán para su ejecución. Esto viene en la parte de prueba de software.

Sí, eso es verdad.

Las pruebas de software incluirán la ejecución de los procesos para garantizar que las organizaciones entreguen las aplicaciones libres de errores.
Con las pruebas de software, las organizaciones verificarán y validarán la aplicación para descubrir los errores o errores, localizarlos y administrarlos también.

PERO

Sí, hay un pequeño “PERO” con la explicación anterior.

Hay una diferencia de línea muy delgada entre estos dos.

¿Cuál es el papel principal del aseguramiento de la calidad del software?

Cuando se realizan las pruebas de software, se ejecutan los casos de prueba y se detectan los errores para corregirlos lo antes posible para que la aplicación esté libre de errores y sea exitosa. Pero esto no incluye el funcionamiento del aseguramiento de la calidad del software.

El aseguramiento de la calidad del software solo se convierte en parte del proyecto cuando define el conjunto de estándares que debe seguir el proyecto. Esto se hará solo para entregar el producto con la más alta calidad. El aseguramiento de la calidad del software tendrá que determinar adecuadamente las métricas para calcular la calidad de los procesos que seguirán todos los miembros del equipo del proyecto.

Un punto más:

Hay muchas organizaciones en las que usan estos dos términos indistintamente. Bueno, dicen que está perfectamente bien.

¿Por qué?

Porque cuando todos los procedimientos, actividades y pasos se formulan bien para garantizar la mejor calidad de la aplicación, ¿qué hay en un nombre?

Sabes qué, aquí la mayoría de las organizaciones estarían de acuerdo conmigo en que hay posibilidades de que te saltes la parte de aseguramiento de la calidad porque lleva mucho tiempo definir el proceso y todo. Hoy, la entrega a tiempo se está volviendo muy importante y las organizaciones tienden a saltarse ese procedimiento para entregar la aplicación a tiempo. Yo también tengo clientes que enfrentan estos problemas.

Pero, tarde o temprano, el aseguramiento de la calidad del software tendrá una importancia mucho mayor ya que, después de todo, se trata de una aplicación EXITOSA que requiere un 100% de calidad.

Entonces, lo que entendí hasta ahora es:

Software Quality Assurance se trata de la calidad del software, mientras que Software Testing se trata del software libre de errores.

El aseguramiento de la calidad del software, o QA, se trata de construir un buen software. El proceso abarca todo, desde la recopilación de requisitos hasta la implementación y el mantenimiento. Hay muchas actividades involucradas, y una de ellas es la prueba.

La construcción de un software gira en torno a la escritura de código. Ahora, muchos se burlarían de la declaración anterior, diciendo que la ingeniería de software no se trata solo de código. Estoy de acuerdo en que la parte de codificación no es la más importante. Pero aún así, ES lo que haces principalmente.

Digamos que se le exige un software. Lo codificas. En aproximadamente dos semanas, presentará el software terminado al cliente. Por supuesto, dado que usted es quien lo construye, está seguro de que el programa funciona. Pero la mayoría de las personas en este mundo no eres tú. Por lo tanto, ¿cómo puede probar que el programa realmente funciona?

La respuesta es, lo has adivinado, probando. Es posible que sea el tipo masoquista que prueba todas las cosas manualmente (abra esto, haga clic en eso, vaya a esta página, etc.) o podría haber entregado con el producto un conjunto de pruebas que puede ejecutar automáticamente (aunque hay casos en los que el manual la prueba es necesaria)

Al poder demostrar que el software pasa las pruebas, ha demostrado que el software es correcto. Y ser correcto es uno de los criterios de un software de calidad. Entonces ahí tienes la relación.

(PD: Hay mucho más sobre las pruebas que solo lo que he explicado. Por ejemplo, puede darle una “red de seguridad” durante la refactorización, verificar regresiones al desarrollar nuevas funciones, etc. Pero merecen una explicación más detallada).

Si está tratando de determinar a qué trabajos postularse en función del título, creo que la mejor práctica actual es prestar menos atención a los términos utilizados y prestar más atención a la cultura de la empresa y los detalles de la descripción del trabajo. Si está tratando de comunicarse con evaluadores o personas de control de calidad, creo que la mejor práctica actual es usar otras palabras si desea transmitir un significado específico que asocie con una de esas frases, y usar cualquiera de las frases cuando quiera referirse pruebas o control de calidad en general.

Una respuesta (dada anteriormente) es que una se trata del proceso y la otra se trata de verificar la funcionalidad. En la práctica, no creo que ningún evaluador experto vaya a afirmar que su trabajo implica nada más que verificar la funcionalidad, y esta definición tiene el triste efecto de convertir “evaluador” en un término despectivo. También he visto que las pruebas se tratan de “verificar” y el control de calidad se trata de un enfoque más orgánico que incluye pruebas exploratorias o ad-hoc. Esto tiene un problema similar. Me parece que lo que hacen los verificadores y el control de calidad en lo que respecta al proceso frente a la verificación funcional o al uso de una variedad de enfoques tiene más que ver con la antigüedad que con el cargo.

Sospecho firmemente que los sesgos regionales son realmente la principal diferencia entre los términos. “Tester” tiene una vibra positiva en el noroeste del Pacífico, IME, pero “QA” a menudo implica que la compañía realmente no obtiene tecnología. Sin embargo, esto parece ser casi lo opuesto a lo que la mayoría de las personas obtienen de los términos “probador” y “QA”. Este fenómeno local podría ser la influencia de Microsoft y Amazon, con su posición “SDET” (Ingeniero de desarrollo de software en prueba). También podría ser el resultado de una cultura tecnológica informal más informal, donde usar una corbata para una entrevista podría reducir las posibilidades de ser contratado en cualquier empresa tecnológica importante. “Garantía de calidad” suena demasiado “profesional” y pesado para mis oídos. Cuando veo eso, creo que toda la empresa está dirigida por burócratas. “Probador”, por otro lado, es más fácil de decir, menos formal y no se confunde con el resto de las siglas que se utilizan.

Lee mas:

Pruebas y garantía de calidad en Yalantis

Diferencia entre garantía de calidad, pruebas de software y control de calidad

En pocas palabras (porque hay algunas explicaciones largas aquí):
El control de calidad de software es un proceso complejo que se aplica a la ingeniería de software con el objetivo de garantizar que la calidad cumpla con las especificaciones y requisitos. También hay una “cosa” llamada ISO 9000, que es un estándar internacional, que sirve como guía para muchas empresas de todo el mundo para la implementación efectiva del aseguramiento de la calidad.

La prueba de software, por otro lado, es un servicio que generalmente forma parte del proceso de control de calidad. Se implementó para garantizar que el sistema esté libre de errores y sea aplicable para su uso. Si echa un vistazo a algunos de los líderes de la industria del control de calidad, como los que se especializan en pruebas de software y servicios de tercerización de control de calidad, por ejemplo, Mentor de control de calidad, verá los diversos servicios de prueba que se ocupan del control de calidad.

Entonces, en términos más simples … QA es un proceso complejo destinado a mejorar el sistema en general, mientras que las pruebas de software son solo un medio para identificar el problema.

Control de calidad: un conjunto de actividades diseñadas para evaluar un producto de trabajo desarrollado. Prueba de control de calidad: El proceso de ejecutar un sistema con la intención de encontrar defectos. El control de calidad está más enfocado en controlar el ciclo de vida del producto y verificar que el software cumpla con los valores de calidad definidos o los acuerdos del cliente.

Las pruebas de software son un subconjunto de QA. La gente a menudo confunde estos términos, pero los roles son en realidad bastante diferentes. Leer: Diferencia entre control de calidad y pruebas – Mentor de control de calidad

Para corregirlo, primero debe identificar lo que está mal. Y cuando se trata de encontrar el error en el software, lo llamamos ” Prueba de software “. Los probadores no rompen el software, el software ya está roto. Tan sencillo como eso. Decirle a alguien que está equivocado se llama crítica. Hacerlo oficialmente se llama Prueba, es el análisis de software para encontrar defectos a corregir. Brinda a los clientes, clientes y partes interesadas información sobre la calidad del producto o servicio que se está probando, si cumple con los requisitos que guiaron su diseño y desarrollo.

¿Qué sucede si sigue las mejores prácticas durante el diseño y la implementación de un software para evitar defectos una vez que se lanza en producción? Eso se llama ‘ Garantía de calidad del software ‘: un conjunto de actividades administrativas y de procedimiento (por ejemplo, implementación de procesos, capacitación, auditoría, etc.) implementadas en procesos de ingeniería de software para que se cumplan los requisitos y objetivos de un software. Esta prevención de defectos en el aseguramiento de la calidad difiere sutilmente de la detección de defectos y el rechazo en el control de calidad, y se le conoce como un cambio a la izquierda, ya que se enfoca en la calidad al principio del proceso. Se dice que un sistema de garantía de calidad aumenta la confianza del cliente y la credibilidad de una empresa, mejora los procesos de trabajo y la eficiencia, y permite que una empresa compita mejor con los demás.

Muchos de los que han escuchado sobre las pruebas y el control de calidad piensan que ambos son lo mismo, ya que ambos son totalmente diferentes. Las pruebas han sido testigo de enormes mejoras en los últimos años. Sin embargo, el control de calidad no estuvo presente en los últimos años. El desarrollo se basó principalmente en el modelo Waterfall en el que los probadores tenían la responsabilidad de probar el código terminado de manera inoportuna. Los probadores seguirían los mismos escenarios comerciales presentados por las empresas que han sido interpretados por los desarrolladores.

Sin embargo, hoy en día los profesionales de control de calidad tienen muchas más responsabilidades que seguir un guión paso a paso o marcar una casilla. No podemos considerar a los probadores y profesionales de control de calidad en el mismo camino, lo que estaría socavando las habilidades y la mentalidad necesarias para realizar las tareas de un profesional de control de calidad. Mucho más que un probador, un profesional de control de calidad es el responsable de la confiabilidad de la base de código de producción y de garantizarle al proveedor el buen funcionamiento de las aplicaciones, así como de las plataformas lanzadas por el departamento sin comprometer el negocio.

Un profesional de control de calidad, a diferencia de un probador, debe involucrarse desde la fase inicial en sí misma cada vez que un cliente se acerca a la empresa con una tecnología que le gustaría ver implementada y, por lo tanto, convertirse en un gran activo para todo el equipo de desarrollo. Los profesionales de control de calidad analizarán y evitarán cualquier defecto e identificarán el enfoque viable que se debe seguir en el desarrollo del software.

Si un control de calidad manual considera que las pruebas exploratorias son una habilidad clave en su profesión, los profesionales de control de calidad deben realizar una automatización robusta para ayudar a los controles de calidad manuales a deshacerse de las pruebas repetitivas. Los profesionales de control de calidad también tendrían un conocimiento adecuado de las pruebas automatizadas. Sin embargo, los profesionales de control de calidad no están obligados por la presencia de ninguna herramienta para la gestión de pruebas o documentación como para los probadores. Se implementan metodologías ágiles junto con SDLC más cortos, lo que significa que cada funcionalidad se desarrolla rápidamente dentro del período más corto junto con ciclos de retroalimentación más cortos.

Si tiene curiosidad sobre el aseguramiento de la calidad y desea obtener más información sobre la certificación, aquí encontrará información útil: ¿Cuál es la diferencia entre el probador y el control de calidad?

Software Quality Assurance es un enfoque amplio para la gestión de la calidad del software que incluye pruebas de software. Hay otros aspectos de SQA más allá de simplemente probar el software. Por ejemplo, un buen enfoque SQA debería enfatizar un enfoque proactivo para prevenir defectos en la fuente en lugar de solo un enfoque reactivo para encontrar y corregir defectos después de que se haya desarrollado el software.

(Formal) Las pruebas de software son parte del aseguramiento de la calidad del software, no todo. Es una cuestión de alcance. El proceso SQA es concurrente con la duración total de la vida útil de un producto / proyecto de software desde la revisión inicial del diseño hasta el punto en que el producto deja de ser compatible. Esa es la visión de principio, debida diligencia de todos modos; Hay codificadores y tiendas que cortocircuitan el proceso.

Aquí hay una cita razonable sobre el tema de la entrada de Wikipedia sobre Software Quality Assurance; “SQA abarca todo el proceso de desarrollo de software, que incluye procesos tales como definición de requisitos, diseño de software, codificación, control de código fuente, revisiones de código, gestión de configuración de software, pruebas, gestión de versiones e integración de productos …”

Software Testing es un subconjunto de Software Quality Assurance y es uno de los componentes para garantizar la calidad. QA está preocupado por factores que incluyen, entre otros, que la aplicación de software es lo más libre de errores posible, eficiente, cumple con las expectativas y requisitos del cliente, fácil de usar. El control de calidad está involucrado desde el principio, desde la recopilación y finalización de los requisitos hasta el punto en que el cliente entrega y prueba el software (en la mayoría de los casos, el control de calidad también está involucrado en el soporte / mantenimiento en caso de que se identifiquen problemas en el entorno del cliente).

La prueba es un proceso responsable de crear y ejecutar casos de prueba, localización de defectos, etc.

QA es un conjunto de acciones que cubren todos los aspectos tecnológicos en todas las etapas de desarrollo, lanzando y utilizando sistemas de programas para garantizar el nivel de calidad necesario.

El control de calidad se centra en los procesos y las herramientas, mientras que las pruebas se centran en la ejecución de las pruebas.

Por lo tanto, el control de calidad tiene un enfoque orientado al proceso, y las pruebas, un enfoque orientado al producto.

Aquí he encontrado una buena respuesta que seguramente será útil.
Servicios de aseguramiento de calidad

La prueba de software generalmente implica probar el programa para asegurarse de que realmente hace lo que está destinado a hacer: poner respuestas incorrectas para ver qué sucede, generalmente actuando como un usuario incompetente para determinar el efecto. El aseguramiento de la calidad del software asegura que el software cumpla con los estándares. Es posible crear un código que funcione, pero que sea difícil de entender y no cumpla con los requisitos del cliente. El control de calidad de software detecta estas cosas y puede usarse para tratar de localizar bombas enterradas. Básicamente, las pruebas ayudan a determinar si el software funciona según lo diseñado, pero el control de calidad ayuda a determinar si cumple con el diseño de ingeniería.

El control de calidad puede incluir actividades como pruebas unitarias, revisión de código, cualquier cosa que creas que mejorará el producto (antes de que se cree). El control de calidad tiene más sentido en el contexto de fabricación.

mantenido reducirá fallas en el producto mecanizado final. La gente trata de aplicar la misma idea en el software.

Mirar la calidad del software desde una perspectiva de prueba podría ser un enfoque demasiado limitado. Básicamente, la mayoría de los resultados de las pruebas son, los subproductos del proceso que se sigue, en la fabricación del producto. Para esto, es posible que deba comprender el marco de garantía de calidad como CMMI, luego podrá apreciar todo. que entra en hacer un producto de calidad garantizada …

Tanto el control de calidad como las pruebas se realizan bajo el mismo proceso para garantizar que la aplicación esté libre de cualquier tipo de defecto y error. Pero la garantía de calidad se refiere a la imagen general del proceso de calidad. Un QA es responsable de la planificación e implementación de la metodología del proceso de prueba en su conjunto. Tiene que asegurarse de que el proceso de prueba seguido se simplifique para mantener el más alto nivel de calidad.
Por otro lado, las pruebas son el proceso de probar los productos reales desarrollados, siguiendo el guión de prueba y el plan de prueba diseñado. En resumen, los probadores implementan el proceso diseñado por QA.

Esta pregunta ya ha sido respondida, aquí mismo en Quora:

¿Cuál es la diferencia entre Software Testing y Software Quality Assurance?

Puede encontrar toneladas de otros enlaces útiles simplemente colocando su pregunta en Google en lugar de Quora.

Hay toneladas de buenas y detalladas respuestas aquí. En resumen, para mí, las pruebas son una de las “actividades” críticas regidas por el “proceso” de garantía de calidad dirigido a “lograr” un software de calidad.

Solo el software de calidad, es decir, el software que es (calidad interna) y funciona (calidad externa) como ‘esperado’ es el verdadero ‘logro’.

Las pruebas de software y la garantía de calidad son, además, las mismas. Sin embargo, existe una diferencia entre las pruebas de software y la validación de software.