2010-06-15 20 views
19

Las pruebas se pueden clasificar principalmente en pruebas manuales y automáticas. Con respecto a esto, algunas preguntas vienen a la mente.Pruebas manuales Vs Prueba automatizada

Ellos incluyen:

  • ¿Cuál es la diferencia básica entre los dos tipos de pruebas?

  • ¿Cuáles son los elementos de desafíos involucrados tanto en pruebas manuales como automáticas?

  • ¿Cuáles son los diferentes conjuntos de habilidades requeridos por un comprobador de software para pruebas manuales y automáticas, respectivamente?

  • ¿Cuáles son las diferentes perspectivas de empleo y oportunidades de crecimiento entre los probadores de software que hacen la prueba manual automatizada de pruebas, respectivamente?

  • ¿La prueba manual está clasificada en pruebas automáticas de todos modos? Si es así, ¿cómo?

  • ¿Qué tan diferentes son los testers manuales en comparación con los comprobadores automáticos en el mundo corporativo? (Si realmente se diferencian en cualquiera de estas palabras como tales)

Respuesta

14

La prueba automatizada es cualquier tipo de prueba en la que esté usando una pieza de código/programa para probar otra pieza de código/programa. Esto puede ser una prueba unitaria como se describió anteriormente, o puede ser a través de una herramienta de automatización específica, como TestComplete, QTP, Selenium, etc. Las pruebas unitarias tienden a ser creadas y ejecutadas por el desarrollador del código en cuestión, mientras que la automatización GUI lo más probable es que sea llevado a cabo por un especialista en control de calidad del software. Ciertos tipos de pruebas, como el rendimiento y las pruebas de regresión, son adecuados para la automatización, mientras que otros, como las pruebas de usabilidad, no lo son.

La prueba manual es un proceso en el que una persona prueba directamente una pieza de software, a menudo llevando a cabo el tipo de acciones que el usuario final puede llevar a cabo. Muchos probadores profesionales, como los que participan en las pruebas exploratorias, sugieren que, mientras que las pruebas unitarias son rentables, las pruebas manuales son igualmente importantes y rentables.

Para obtener una visión maravillosa de las trampas de las pruebas automáticas, debe leer Linda Wilkinsons recent blog. Otros buenos recursos para leer incluyen discusiones de the software testing club y automated testing part of SQAForums.

Si aún no lo ha hecho, SQAforums bien vale la pena unirse para hacer cualquier pregunta relacionada con lo que está involucrado en las pruebas, así como para las perspectivas de trabajo.

+0

Hola Shane ... Gracias por tu respuesta. Lamento haber respondido tarde a tu publicación. También muchas gracias por los enlaces ... :) .. realmente parecen ser útiles. – boddhisattva

4

automatizado de pruebas (pruebas unitarias especialmente automatizado) es bueno porque significa que se puede probar antes en el ciclo de desarrollo y puede mantener pruebas de regularidad; permite a los desarrolladores identificar dónde han cometido errores antes de involucrar al equipo de control de calidad. Pero eso no significa que la garantía de calidad sea innecesaria. Además de garantizar que las pruebas automáticas sean adecuadas, también está la cuestión de determinar si la aplicación está haciendo lo que debería; es bastante raro que se entienda por completo.

También es difícil probar automáticamente las interfaces de usuario. Por ejemplo, evaluar si un ícono es adecuadamente significativo y está bien posicionado es un asunto de personas y no de computadoras, porque a la computadora no le importa, pero el usuario sí lo hace.

+0

Hola Sir Donal .. gracias por sus puntos de vista con respecto a las pruebas automatizadas .. – boddhisattva

+0

Para el registro, y señalar con qué frecuencia se debe ejecutar pruebas unitarias, cada vez que puedo compilar (bueno, compilar correctamente) I vuelva a ejecutar mis pruebas unitarias Una vez que tengo una compilación con la que estoy razonablemente satisfecho, vuelvo a ejecutar mis pruebas de integración (tengo un programa separado para eso). Otras personas ejecutan las pruebas de aceptación del usuario; después de todo, la pregunta no es si * I * estoy contento con ellos, sino si * ellos * son. –

-2

Para responder solo a la primera de sus preguntas: la diferencia básica es que las pruebas manuales simplemente se parecen a las pruebas, mientras que las pruebas automáticas (por lo general) se están probando. Si no puede escribir una especificación completa y detallada de las pruebas que se ejecutarán, entonces no está realmente probando. Y si puede, puede hacer pruebas automáticas. Esto es cierto ya sea que su script de prueba sea ejecutado por un programa o una forma de vida basada en carbono siguiendo estrictamente.

Te dejaré adivinar mis respuestas al resto de las preguntas de la premisa básica que he establecido.

+0

Ninguna especificación puede ser ejecutada por una computadora. Por ejemplo, "asegúrese de que los colores sean adecuados" aún se controla mejor con un carbón y luego con silicio. – SWeko

+1

@SWeko: 'asegúrese de que los colores sean adecuados' no es una prueba, es más un concurso de belleza pero ilustra uno de los detalles que no señalé: a menos que pueda hacer que sus pruebas sean objetivas, no son pruebas. –

+2

¿Entonces la usabilidad no es un problema en el software entonces? Como es una noción puramente subjetiva? O podríamos hacer algún índice de belleza de pantalla :) Hay muchas cosas que son trivialmente comprobables manualmente, pero que no se pueden verificar automáticamente. A veces, la sensación del software en sí es simplemente incorrecta. – SWeko

6

Bueno, solo puedo hablar de mis opiniones y experiencias, y solo soy un desarrollador que ha trabajado bastante con probadores e ingenieros de control de calidad. De todos modos, mi 2c:

El manual de diferencia más básico se hace a mano, y el automático se hace por computadora :) Como consecuencia, el proceso de prueba manual puede ser mucho más lento que uno totalmente automático. Por otro lado, las pruebas automatizadas solo pueden detectar problemas que debían detectar y no pueden detectar un comportamiento fundamentalmente nuevo de un sistema.Eso básicamente significa que las pruebas automáticas son ideales para las pruebas de regresión, cuando es bien sabido lo que se debe hacer, cómo y cuáles deberían ser los resultados.

En cuanto a los conjuntos de habilidades, las pruebas manuales pueden ser realizadas básicamente por cualquier persona con la mentalidad correcta, mientras que las pruebas automáticas deben ser realizadas por alguien con al menos alguna experiencia de desarrollador. Existen marcos que permiten una fácil grabación de pruebas web automatizadas, por ejemplo, pero a menudo es necesario modificar los escenarios grabados para que se ajusten mejor a las necesidades de las pruebas. Por supuesto, las habilidades básicas necesarias para las pruebas también deben estar presentes en cualquiera que desee un trabajo en QA, como paciencia, atención al detalle, grandes habilidades organizativas, grandes habilidades de comunicación, etc.

Y por último, no t piensa que las pruebas manuales están subestimadas, en todo caso, creo que las pruebas automáticas están infrautilizadas en la mayoría de los entornos corporativos que he visto. Pero, sí, algunas personas (en su mayoría gerentes, para ser honesto) interpretan mi párrafo anterior como "cualquiera puede hacer pruebas manuales".

1

La diferencia más básica es cómo se verifica la prueba. ¿Se hace a través de una verificación programática o se realiza una inspección humana?

El gran reto de las pruebas automatizadas es lograr que las pruebas manuales sean automatizadas y garantizar que no exista la necesidad de una interpretación humana del resultado, por ejemplo. si un programa implica una salida de audio o video, puede ser muy difícil verificarlo exactamente.

Ambos requieren atención a los detalles, la paciencia y las habilidades de organización para tener credibilidad al decir: "Sí, este es un producto/servicio de alta calidad". Las diferencias pueden venir donde las pruebas automatizadas usen generalmente un software especial.

Las pruebas manuales pueden ser costosas ya que alguien está mirando las pruebas que se están ejecutando mientras que las pruebas automatizadas generalmente se pueden ejecutar sin que alguien las vea. Sin embargo, las pruebas manuales pueden ser subestimadas cuando se trata de áreas donde las cosas pueden ser muy subjetivas, como el estilo de las páginas web o qué tan bien suena esta canción si le hacemos estos cambios. Esos serían los lugares donde preferiría ver a un ser humano sobre una máquina.

En cuanto a las trayectorias profesionales y las oportunidades de trabajo, esto es hasta cierto punto una pregunta abierta. Como no todos los lugares contratan probadores y, a veces, los evaluadores solo se incorporan según sea necesario para los proyectos, existen diferentes perspectivas para las pruebas.Esto es sin entrar en la cuestión de cuánto deberían los desarrolladores escribir sus propias pruebas y esto también hace que un desarrollador sea un probador. Supongo que esto no responde su pregunta porque estoy viendo esto en una escala mayor de quién está haciendo la prueba, ya que es algo más que considerar aquí.

+0

Hola JB King ..:) gracias por responder incluso a estas preguntas. Tus respuestas son realmente útiles ... Por cierto, tienes razón en que tu respuesta de alguna manera no se ocupa de la cuestión del crecimiento, las perspectivas laborales y la última pregunta también ... Pero de todos modos muchas gracias por compartir su experiencia Señor ... Lamento haber respondido tarde a su publicación ... – boddhisattva

0

La única manera de escribir todas las pruebas objetivamente es omitir una fracción significativa de los detalles necesarios para garantizar realmente que el software sea adecuado para su propósito. El resultado es casi siempre el software que tiene que pagarle a alguien una tarifa por hora para usar.

Esto no siempre es un problema, pero el conjunto de casos en los que se encuentra es una gran parte de la industria del software.

4
  • La principal ventaja de las pruebas automatizadas es que puede realizar pruebas de regresión rápidamente .. El desarrollador puede verificar la funcionalidad anterior, si funciona bien o no después de agregar nuevas funcionalidades al sistema.
  • Por lo tanto, cuando trabaje con una fecha límite ajustada, entonces, al usar las herramientas de Automatización, puede reducir el esfuerzo de prueba ... por lo que en ese momento debe verificar solo aquellas funciones para las que no ha creado scripts de prueba automáticos. (Como las pruebas de correo electrónico/SMS, Compatibilidad del navegador/UI, etc.)
  • Hoy en día, muchas empresas están utilizando herramientas de automatización de código abierto (como Selenium, OpenSTA, JMeter, etc.) para sus esfuerzos normales de prueba. Por lo tanto, es mejor si sabe cómo probar una aplicación utilizando estas herramientas de software gratuito en lugar de herramientas de pago.
Cuestiones relacionadas