Requisitos educativos
Muchos empleadores requieren un título de 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 estudiantes que cursan una licenciatura en ciencias de la computación. En algunos campos, como el desarrollo de videojuegos, los probadores expertos en informática pueden ser contratados mientras aún están en la escuela secundaria. El Instituto Internacional para Pruebas de Software (IIST) ofrece la certificación como Profesional Certificado en Pruebas de Software. La Sociedad Estadounidense para la Calidad también ofrece la certificación como Asociado Certificado de Mejora de la Calidad, también conocido como CQIA.
Habilidades necesarias
- ¿Cuántos descansos toman los desarrolladores de software y con qué frecuencia?
- ¿Cuál es la 'regla noventa y noventa' en ingeniería de software?
- ¿Cuáles son algunos trucos simples que todo ingeniero de software debería saber?
- ¿Cómo puede un archivo comprimido de 42 kilobytes producir 4,5 petabytes cuando se descomprime? Acabo de encontrar esto: "Hay un archivo zip malicioso en Internet que solo tiene 42 kilobytes cuando está comprimido, pero 4.5 petabytes cuando está descomprimido". ¿Es esto cierto?
- ¿Cómo puede ser útil el aprendizaje automático para analizar videos?
Los técnicos de pruebas de software deben ser analíticos, orientados a los detalles y altamente organizados para solucionar y documentar con precisión sus hallazgos mientras trabajan en varios proyectos a la vez. Deben poder instalar y desinstalar aplicaciones, operar protocolos de prueba y escribir planes y programas de prueba de software. Además de tener experiencia con aplicaciones de software, deben estar familiarizados con el hardware de la computadora y ser capaces de leer diagramas técnicos, así como sentarse durante largos períodos de tiempo, realizar tareas repetitivas. Aunque los evaluadores 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.
Prueba de requisitos
Las pruebas de software no son una actividad a realizar cuando el producto está listo. Una prueba de software efectiva comienza con un plan adecuado desde la etapa de requisitos del usuario. La capacidad de prueba del software es la facilidad con la que se prueba un programa de computadora. Las métricas se pueden usar para medir la capacidad de prueba de un producto. Los requisitos para una prueba de software efectiva se dan en las siguientes subsecciones.
Operatividad en pruebas de software:
1. Cuanto mejor funciona el software, más eficientemente se puede probar.
2. El sistema tiene algunos errores (los errores agregan análisis y sobrecarga de informes al proceso de prueba)
3. Ningún error bloquea la ejecución de las pruebas.
4. El producto evoluciona en etapas funcionales (permite el desarrollo y las pruebas simultáneas)
Observabilidad en 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 variables del sistema son visibles o consultables durante la ejecución
4. Los estados y variables anteriores del sistema son visibles o consultables (p. Ej., Registros de transacciones)
5. Todos los factores que afectan 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. Internamente los errores son reportados automáticamente
10. El código fuente es accesible
Controlabilidad en pruebas de software:
1. Cuanto mejor se controla el software, más se pueden automatizar y optimizar las pruebas.
2. Todas las salidas posibles se pueden generar a través de alguna combinación de entrada en Pruebas de software
3. Todo el código es ejecutable a través de alguna combinación de entrada en Software Testing
4. Los estados de software y hardware se pueden controlar directamente mediante pruebas
5. Los formatos de entrada y salida son consistentes y estructurados en las pruebas de software
6. Las pruebas se pueden especificar, automatizar y reproducir convenientemente.
Descomponibilidad en pruebas de software:
1. Al controlar el alcance de las pruebas, los problemas se pueden aislar 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 se pueden probar de forma independiente en Pruebas de software
Simplicidad en las pruebas de software:
1. Cuanto menos hay que probar, más rápido se puede probar en Software Testing
2. simplicidad funcional
3. simplicidad estructural
4. Simplicidad de código
Estabilidad en pruebas de software:
1. Cuantos menos cambios, menos interrupciones en las pruebas
2. Los cambios en el software son poco frecuentes
3. Los cambios en el software se controlan en Pruebas de software
4. Los cambios en el software no invalidan las pruebas existentes en Software Testing
5. El software se recupera bien de fallas en las pruebas de software
Comprensibilidad en las pruebas de software:
1. Cuanta más información tengamos, más inteligente probaremos
2. El diseño se entiende bien en Software Testing
3. Las dependencias entre los componentes internos externos y compartidos se comprenden bien.
4. Se comunican los cambios en el diseño.
5. La documentación técnica es accesible al instante
6. La documentación técnica está bien organizada en Pruebas de software
7. La documentación técnica es específica y detallada.
8. La documentación técnica es precisa.