Prueba de Software

in #spanish6 years ago

Bienvenidos una vez más



Buenos días amigos de steemit, es un placer poder seguir ofreciendo contenido en esta plataforma, que permita ayudar a más de uno, en esta oportunidad vengo con un tema bastante interesante que es el Testing o la prueba de software, nos fijaremos en unos conceptos básicos, su importancia, unas que otras preguntas y más... sin otra cosa que añadir empecemos.


Conceptos básicos


  • Prueba: Es un proceso que tiene lugar en distintas actividades.

  • Pruebas Estáticas: Permite probar y encontrar defectos sin ejecutar código. La prueba estática se realiza durante el proceso de verificación. Esta prueba incluye la revisión de los documentos (incluido el código fuente) y el análisis estático. Esta es una forma de prueba útil y rentable. Por ejemplo: revisión, tutorial , inspección , etc.

  • Pruebas Dinámicas: En las pruebas dinámicas, el código de software se ejecuta para demostrar el resultado de las pruebas en ejecución. Se realiza durante el proceso de validación. Por ejemplo: pruebas unitarias, pruebas de integración, pruebas de sistemas, etc.

  • Planificación: Necesitamos planificar como queremos hacer. Controlamos las actividades de prueba, informamos sobre el progreso de la prueba y el estado del software bajo prueba.

  • Preparación: Debemos elegir qué pruebas haremos, seleccionando las condiciones de prueba y diseñando los casos de prueba.

  • Evaluación: Durante la evaluación debemos verificar los resultados y evaluar el software que se está probando y los criterios de finalización, lo que nos ayuda a decidir si hemos terminado la prueba y si el producto de software ha superado las pruebas.

  • Productos de software: Junto con las pruebas de código, las pruebas de requisitos y especificaciones de diseño, así como los documentos relacionados, como la operación, el usuario y el material de capacitación son igualmente importantes.

¿Por qué se necesitan pruebas de software?


A un alto nivel, se necesitan pruebas de software para detectar los errores en el software y probar si el software cumple con los requisitos de los clientes. Esto ayuda al equipo de desarrollo a corregir los errores y entregar un producto de buena calidad.

Hay varios puntos en el proceso de desarrollo de software donde un error humano puede llevar a un software que no cumple con los requisitos de los clientes. Algunos de ellos se enumeran a continuación.

  • El cliente / persona que proporciona los requisitos en nombre de la organización del cliente puede no saber qué se requiere exactamente o puede olvidarse de proporcionar algunos detalles, lo que puede dar lugar a características faltantes.

  • La persona que reúne los requisitos puede malinterpretar o omitir completamente un requisito al documentarlos.

  • Durante la fase de diseño, si hay problemas en el diseño, puede dar lugar a errores en el futuro.

  • Los errores pueden introducirse durante la fase de desarrollo durante un error humano, falta de experiencia, etc.

  • Los evaluadores pueden detectar errores durante la fase de prueba debido a un error humano, falta de tiempo, experiencia insuficiente, etc.

  • Es posible que los clientes no tengan el ancho de banda para probar todas las características del producto y puedan entregar el producto a sus usuarios finales, lo que puede llevar a los usuarios finales a encontrar errores en la aplicación.

Reputación


El negocio y la reputación de una organización dependen de la calidad de sus productos y, en algunos casos, incluso los ingresos pueden depender de las ventas del producto de software.

Los usuarios pueden preferir comprar un producto de la competencia sobre un producto de baja calidad y esto puede resultar en la pérdida de ingresos para la organización. En el mundo actual, la calidad es una de las principales prioridades para cualquier organización.

Importancia de las pruebas de software en la ingeniería de software


Las pruebas de software son una parte importante del desarrollo de software. Si las pruebas de software no se realizan correctamente, las aplicaciones pueden tener errores que pueden llevar a un nuevo trabajo, fallas costosas o, lo que es peor, la pérdida de vidas.

Hay muchos ejemplos en los que los errores de software han llevado a la pérdida de vidas o la pérdida de millones de dólares. Algunos de ellos se enumeran a continuación.

  • Knights Capital Group perdió 440 millones de dólares en 30 minutos debido a un error en su algoritmo de negociación el 1 de agosto de 2012. La participación de la compañía cayó un 75% en dos días después de que el software impulsó las operaciones defectuosas de más de 150 acciones diferentes.

  • Monte Gox Bitcoin Hack - Mt. Gox, que era el mayor intercambio de bitcoins en el mundo en ese momento, fue pirateado en junio de 2011 y perdió aproximadamente 850,000 bitcoins, valorados en más de 500 millones de dólares.

  • La nave espacial Mariner 1 de $ 18 millones fue destruida una vez que se estrelló después de despegar. La falla se remonta a un guión faltante que permite que se envíen señales de guía erróneas al cohete.

Crecimiento en pruebas de software (Trayectoria profesional)


La trayectoria profesional en las pruebas de software puede ser desafiante pero satisfactoria para aquellos que tienen un gran interés en ella. Las pruebas requieren un poco de creatividad por parte del probador para encontrar errores en el software que los desarrolladores pueden haberse perdido.

Esto requiere que piense en las formas en que se puede usar el software, aparte de las obvias que se pueden enumerar en los requisitos.

Los evaluadores de software suben más en la escala de la carrera a medida que ganan experiencia y experiencia, asumiendo mayores responsabilidades. Los evaluadores pueden pasar de funciones junior a senior de software, QA / Test Lead, QA / Test Manager y superiores. Las funciones y responsabilidades, las expectativas en cada nivel se describen en detalle en nuestro artículo sobre la trayectoria profesional en las pruebas de software.

Bibliografía


  • Libro: Ingeniería de Software (Roger Pressman)
Sort:  

Buen aporte, incluso en estos tiempos ya no se habla solo del testing, se debe incluir el pentesting, por las razones obvias de seguridad.