Requisitos educativos
Muchos empleadores exigen un grado asociado en tecnología electrónica o un campo relacionado; sin embargo, los puestos de técnico de pruebas de software a veces se consideran puestos de ingeniería de software de nivel de entrada, por lo que algunos empleadores ofrecen pasantías y trabajos de verano a los estudiantes que persiguen una licenciatura en ciencias de la computación. En algunos campos, como el desarrollo de videojuegos, los técnicos de pruebas informáticas pueden ser contratados cuando aún están en el instituto. El Instituto Internacional de Pruebas de Software (IIST) ofrece una certificación como Profesional Certificado de Pruebas de Software. La American Society for Quality también ofrece la certificación como Certified Quality Improvement Associate, también conocida como CQIA.
Habilidades necesarias
Los técnicos de pruebas de software deben ser analíticos, orientados al detalle y muy organizados para solucionar problemas con precisión y documentar sus hallazgos mientras trabajan en varios proyectos a la vez. Deben ser capaces de instalar y desinstalar aplicaciones, operar protocolos de prueba y escribir planes y programas de prueba de software. Además de tener experiencia con las aplicaciones de software, deben estar familiarizados con el hardware de los ordenadores y ser capaces de leer diagramas técnicos, así como de permanecer sentados durante largos periodos de tiempo realizando tareas repetitivas. Aunque los probadores pasan gran parte de su tiempo trabajando de forma independiente, la comunicación y las habilidades interpersonales también son esenciales para interactuar con los miembros del equipo de desarrollo.
Requisitos para las pruebas
Las pruebas de software no son una actividad que se emprende cuando el producto está listo. Una prueba de software eficaz comienza con un plan adecuado desde la propia etapa de requisitos de usuario. La testabilidad del software es la facilidad con la que se prueba un programa informático. Se pueden utilizar métricas para medir la comprobabilidad de un producto. Los requisitos para una prueba de software efectiva se dan en las siguientes sub-secciones.
Operabilidad en la prueba de software:
1. Cuanto mejor funcione el software, más eficazmente se podrá probar.
2. El sistema tiene pocos bugs (los bugs añaden sobrecarga de análisis y de informes al proceso de prueba)
3. Ningún bug bloquea la ejecución de las pruebas.
4. El producto evoluciona en etapas funcionales. El producto evoluciona en etapas funcionales (permite el desarrollo y las pruebas simultáneas)
Observabilidad en las pruebas de software:
1. Lo que se ve es lo que se prueba
2. Se genera una salida distinta para cada entrada
3. Los estados y las variables del sistema son visibles o consultables durante la ejecución
4. Los estados y las variables del sistema anteriores son visibles o consultables (por ejemplo, registros de transacciones)
5. Todos los factores que afectan a la salida son visibles
6. La salida incorrecta se identifica fácilmente
7. La entrada incorrecta se identifica fácilmente
8. Los errores internos se detectan automáticamente a través del mecanismo de autocomprobación
9. Los errores internos se notifican automáticamente
10. El código fuente es accesible
El código fuente es accesible
Controlabilidad en las pruebas de software:
1. Cuanto mejor se controle el software, más se pueden automatizar y optimizar las pruebas.
2. Todas las salidas posibles pueden generarse a través de alguna combinación de entrada en las pruebas de software
3. El código es ejecutable a través de alguna combinación de entrada. Todo el código es ejecutable a través de alguna combinación de entrada en las Pruebas de Software
4. Los estados del software y del hardware pueden ser controlados directamente por las pruebas
5. Los formatos de entrada y salida son consistentes y estructurados en las Pruebas de Software
6. Las pruebas pueden ser convenientemente especificadas, automatizadas y reproducidas.
Descomponibilidad en las Pruebas de Software:
1. Controlando el alcance de las pruebas, los problemas pueden ser aislados rápidamente, y se pueden realizar pruebas más inteligentes.
2. El sistema de software está construido a partir de módulos independientes
3. Los módulos de software pueden ser probados independientemente en las Pruebas de Software. Los módulos de software se pueden probar de forma independiente en las pruebas de software
Simplicidad en las pruebas de software:
1. Cuanto menos haya que probar, más rápido se puede probar en las pruebas de software
2. Simplicidad funcional
3. Simplicidad estructural
4. Simplicidad de código
Estabilidad en las pruebas de software:
1. El sistema de software se construye a partir de módulos independientes. Cuantos menos cambios, menos interrupciones en las pruebas
2. Los cambios en el software son poco frecuentes
3. Los cambios en el software están controlados en las pruebas de software
4. Los cambios en el software no invalidan las pruebas existentes en las pruebas de software
5. El software se recupera bien de los fallos en las Pruebas de Software
La incomprensibilidad en las Pruebas de Software:
1. Cuanta más información tengamos, más inteligente será la prueba
2. El diseño se entiende bien en las Pruebas de Software
3. Las dependencias entre los componentes internos externos y compartidos se entienden bien.
4. Los cambios en el diseño son comunicados.
5. La documentación técnica es accesible al instante
6. La documentación técnica está bien organizada en las Pruebas de Software
7. La documentación técnica es específica y detallada
8. La documentación técnica es precisa