Informe y Seguimiento de Pruebas
Informe y Seguimiento de Pruebas
Informe y Seguimiento de Pruebas
CONTROL DE CALIDAD DE
SOFTWARE
CICLO: OCTAVO
AULA: “C”
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
Contenido
1. Introducción ....................................................................................................... 164
1.1 Antecedentes ................................................................................................ 164
2. Estado del arte .................................................................................................... 165
2.1 En el contexto mundial ................................................................................ 165
2.2 En el contexto nacional ................................................................................ 167
2.3 En el contexto local ...................................................................................... 168
3. Metodología ....................................................................................................... 169
3.1 ¿Por qué son necesarias las pruebas? ........................................................... 169
3.2 Pruebas ......................................................................................................... 169
3.4 Principios de las pruebas .............................................................................. 170
3.4.1 Principio 1. Las pruebas demuestran la presencia de defectos ............. 170
3.4.2 Principio 2. Las pruebas exhaustivas no existen .................................. 171
3.4.3 Principio 3. Pruebas tempranas ............................................................. 171
3.4.4 Principio 4. Agrupación de defectos ..................................................... 171
3.4.5 Principio 5. Paradoja del pesticida ........................................................ 171
3.4.6 Principio 6. Las pruebas dependen del contexto .................................. 171
3.4.7 Principio 7. Falacia de ausencia de errores .......................................... 171
3.5 Modelo en V en pruebas de calidad de software.......................................... 172
3.5.1 Pruebas de componentes ....................................................................... 172
3.5.2 Pruebas de integración .......................................................................... 172
3.5.3 Pruebas de sistema ................................................................................ 173
3.5.4 Pruebas de aceptación ........................................................................... 173
3.5.5 Pruebas de backup / restauración .......................................................... 173
3.6 Clasificaciones de las pruebas...................................................................... 173
3.6.2 Pruebas no funcionales ......................................................................... 174
3.6.3 Pruebas estructurales ............................................................................. 174
3.7 Técnicas de prueba....................................................................................... 174
3.8 Técnicas de caja negra ................................................................................. 175
3.9 Técnicas de caja blanca ................................................................................ 176
4. Resultados .......................................................................................................... 178
5. Discusión ........................................................................................................... 179
6. Conclusiones ...................................................................................................... 181
Referencias ............................................................................................................ 183
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
1. Introducción
1.1 Antecedentes
Algunos de los ejemplos reales en los cuales el impacto del mal funcionamiento
de un software ha afectado la vida del ser humano son los siguientes:
• El lanzamiento del cohete Ariane 5, “El vuelo tuvo lugar el 4 de junio de 1996, primer
vuelo de la lanzadera Ariane 5 terminó en un fracaso. El fracaso del Ariane 5 fue
causado por la pérdida completa de la orientación y la altitud. 37 segundos después
del inicio de la secuencia de arranque del motor falló, generando la explosión y
destrucción, esta pérdida de información se debió a la especificación y diseño
errores en el software del sistema de referencia inercial”, después del lanzamiento
se destruyó la base de lanzamiento, debido a un mal funcionamiento del software
de control. El Ariane 5 reutilizó las especificaciones del Ariane 4, no se tuvo en
cuenta que la trayectoria era distinta y que el código se reutilizó y no se ajustó [2].
• El fracaso de los misiles Patriot: “El 25 de febrero de 1991, durante la Guerra del
Golfo, una batería de misiles Patriot estadounidense en Dharan, Arabia Saudita, no
logró rastrear e interceptar un misil Scud iraquí entrante. El Scud golpeó un cuartel
del ejército estadounidense, matando a 28 soldados e hiriendo a otras 100
personas. Un informe de la oficina de contabilidad general, GAO / IMTEC-92-26,
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
titulado Patriot missile defense: problema de software llevado al fracaso del sistema
en Dhahran, Arabia Saudí informó sobre la causa de la falla. Resulta que la causa era
un cálculo inexacto del tiempo desde el arranque debido a errores aritméticos del
ordenador” [3].
• Rayos X letales de la máquina Therac–25: “Therac-25 era una máquina empleada en
terapia de radiación, producida por Atomic Energy of Canadá Limited. El problema
residía en que, a causa de un error de programación en la interfaz gráfica, se podía
dar el caso de enviar la orden de disparar el haz de electrones de alta energía y
situar la placa metálica simultáneamente, disparando las partículas antes de que la
placa metálica estuviera en posición, exponiendo al paciente a una dosis letal de
radiación, más de diez mil rad. Como resultado: al menos seis accidentes entre 1985
y 1987, y que le costó la vida al menos a cinco personas” [4].
software desde las etapas tempranas y a profundizar en las pruebas a los requisitos
para desarrollar un software con calidad.
En Noruega, en la Universidad Noruega de Ciencia y Tecnología, los profesores Deak,
Stalhane y Sindre realizaron una investigación denominada “Challenges and
strategies for motivating software testing personnel” [13]; en esta, en doce empresas
de tecnología en Noruega, seleccionaron a 36 personas para identificar los desafíos y
las estrategias para motivar al personal de pruebas de calidad de software, y se
demuestra que el factor humano, las condiciones y la motivación al talento humano,
repercuten en la calidad de los productos software que se desarrollan en las
empresas.
En Estados Unidos, en la Conferencia internacional de Soft Computing e Ingeniería de
Software (scse´15), la ponencia “Quality Assurance through Rigorous Software
Specification and Testing: A Case Study” [14] muestra un estudio de caso realizado
por profesores de la Universidad Estatal de Ball, Universidad de Purdue y Universidad
de Indiana.
En España, en la Universidad de Girona, Beatriz Florian —con el acompañamiento de
los profesores colombianos Oswaldo Solarte y Javier Reyes— desarrolló un proceso
de investigación denominado “Propuesta para incorporar evaluación y pruebas de
usabilidad dentro de un proceso de desarrollo de software” [15], en la que se obtiene
como resultado que las pruebas y evaluaciones de usabilidad durante el desarrollo
del producto software han ganado amplia aceptación como estrategia para mejorar la
calidad del producto software.
En España, en la Universidad de Sevilla, el Ingeniero Rafael Ceballos Guerrero en su
tesis doctoral en Lenguajes y Sistemas Informáticos, denominado “Técnicas
automáticas para la diagnosis de errores en software diseñado por contrato” [16],
asegura que cada vez es más importante la calidad en los productos software.
Asimismo, resalta que la detección de errores en etapas tardías genera mayores
costos en las etapas de desarrollo de software y al final impactan en el precio al
cliente; por ende, se enfatiza en utilizar técnicas automáticas para la detección de
fallos bajo un proceso de pruebas de calidad de software.
3. Metodología
3.2 Pruebas
En los últimos años se ha propuesto una serie de principios que permiten establecer
unas pautas comunes para que las empresas de desarrollo de software las conozcan y
adapten a sus procesos de pruebas [31].
Estos principios que se nombran en diferentes textos o artículos son una guía para
tener en cuenta en todo proceso de pruebas de calidad de software. El equipo de
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
de aceptación de aceptación
Diseño
Diseño
detallado y de integración
Figura 1. Modelo en V
Fuente: [33]
Pruebas de usuario
Pruebas en pares
de sentencia del 100 % cuando las sentencias han sido ejecutadas por lo menos una
vez por las pruebas” [46].
Basadas en el flujo de los datos: “El criterio más fuerte, all definition-use, requiere que
para cada variable, cada segmento de la trayectoria del flujo de control desde una
definición de esa variable hasta su uso sea ejecutado. Para reducir el número de las
trayectorias requeridas se utilizan estrategias más débiles como all-definitions” [29].
Pruebas mutantes: “Un mutante es una versión levemente modificada del programa a
probar, diferenciado de él por un cambio sintáctico pequeño. Puede ser usado para
evaluar un conjunto de prueba o criterio de prueba en sí mismo. Para que la técnica
sea eficaz, se deben derivar automáticamente de manera sistemática gran cantidad de
mutantes” [26].
Técnicas según quien hace la prueba: existen algunas técnicas de prueba que dependen
de quién realiza las pruebas; este es el caso de las pruebas de aceptación, las alfa y
beta, las de usuario y las pruebas en pares [40].
Pruebas de aceptación: “Es el proceso de comparar el programa contra sus
requerimientos iniciales y las necesidades reales de los usuarios. Realizado
generalmente por el cliente o el usuario final”.
Pruebas alfa y beta: “Antes de que el software se libere, se distribuye a un pequeño
grupo representativo de los usuarios potenciales para el uso interno (alfa) o externo
(beta). Estos usuarios reportan problemas con el producto”.
Prueba de usuarios: “Es la prueba realizada por el tipo de persona que usará el
producto. Puede ser realizado en cualquier momento durante el desarrollo, en el lugar
del cliente o en el de desarrollo, en ejercicios completamente dirigidos o a la discreción
del usuario”.
Prueba en pares: “Consiste en que dos tester trabajan juntos para encontrar errores.
Comparten una computadora e intercambian el control de la misma mientras prueban”
[26].
Técnicas basadas en la experiencia: existen técnicas de prueba que se basan en la
intuición, el conocimiento o la experiencia de la persona que realiza las pruebas.
Pruebas ad hoc: “Quizás la técnica más practicada, las pruebas son derivadas confiando
en la habilidad, intuición, y experiencia con programas similares. Puede ser útil para
identificar pruebas que no son fácilmente encontradas por técnicas más formales”
[26].
Conjetura de errores: “La idea básica es enumerar una lista de errores y después
escribir los casos de prueba basados en la lista. Otra idea es identificar los casos de
prueba asociados a asunciones que el programador pudo haber hecho cuando leía la
especificación” [26].
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
Testing exploratorio: el término fue introducido por Kaner, y se trata de “ejecutar las
pruebas a medida que se piensa en ellas, sin gastar demasiado tiempo en preparar o
explicar las pruebas, confiando en los instintos. Se define como el aprendizaje, el
diseño de casos de prueba y la ejecución de las pruebas en forma simultánea” [40].
4. Resultados
Por la naturaleza del artículo, la discusión de los resultados se fundamenta en
referencias bibliográficas, es decir, lo que aparece detallado constituye un marco
teórico, que fundamenta una guía teórica para que las empresas de desarrollo de
software y universidades adapten los conceptos a la implementación del proceso de
pruebas. Se debe tener en cuenta que los procesos de pruebas se desarrollan por
personas, son susceptibles a errores y por eso se deben reforzar bibliográficamente.
Como lo plantean Banerjee, Chattopadhyay y Roychoudhury [41], en el capítulo 3 del
libro Los avances en informática: “Para las últimas décadas, los sistemas integrados
han ampliado su alcance en los principales aspectos de las vidas humanas. A partir de
pequeños dispositivos portátiles (teléfonos inteligentes), como a los sistemas de
automoción avanzadas (como los sistemas antibloqueo de frenos), el uso de sistemas
embebidos ha aumentado a un ritmo dramático. El software integrado se especializó
en software que se pretende que funcione en dispositivos embebidos. Además, los
sistemas embebidos a menudo se requieren para operar en la interacción con el medio
físico, la obtención de los componentes a factores ambientales (tales como la
temperatura o la presión del aire). La necesidad de interactuar con un entorno físico
dinámico, a menudo no determinista, aumenta aún más los problemas asociados con
las pruebas y validación de software embebido”. Se demuestra una vez más que es una
necesidad vital enfocarse en los procesos de pruebas de calidad de software, ya que
los sistemas están en la mayoría de los dispositivos tecnológicos y muchos de ellos
están presentes en las actividades humanas; por ende, el proceso de calidad debe ser
sólido.
Las empresas y universidades han descuidado el proceso de pruebas de calidad de
software y la esencia e importancia de la afectación en las actividades cotidianas. Un
adecuado proceso de pruebas de calidad de software mitiga la generación de riesgos,
más cuando hoy se habla de la implicación de software en procesos tan críticos como
las cirugías o procedimientos de diagnóstico médico.
Es primordial recordar que los productos de desarrollo software y los casos de prueba
son elaborados por seres humanos y que se pueden presentar equivocaciones; por lo
tanto, es útil conocer la información y el proceso de pruebas de calidad de software,
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
para que dentro del ciclo de producción se establezcan las instrucciones, roles y
responsabilidades de forma clara.
El equipo de desarrollo o producción debe tener claras las condiciones de
funcionabilidad y usabilidad del producto software; además, es recomendable realizar
comparaciones con otros proyectos o módulos desarrollados, no con el objetivo de
medir la efectividad laboral, sino para tener referentes en la estructura, la
organización, los tiempos y la calidad.
El director o gerente del proyecto debe estar centrado en que los clientes buscan
productos que satisfagan sus necesidades, y la calidad es el factor principal; por eso se
tienen que seguir unos principios y clasificaciones, que a través de un plan de pruebas,
sean guía para el equipo de desarrollo, y que este realice una optimización de las
herramientas, técnicas y conocimientos.
Al cliente como elemento valioso de todo proyecto se le involucra en el proceso de
pruebas de calidad, para que esté enterado de los avances, para que conozca los
posibles fallos y qué no es un fallo; asimismo, para que tenga los medios para reportar
los fallos. Es importante que en esa relación con el cliente el equipo de desarrollo y el
gerente del proyecto transmitan seguridad y franqueza, aspecto que permitirá tener
un cliente satisfecho y una imagen corporativa sólida.
En este artículo se evidencia que hay un camino por recorrer y gran cantidad de
información y temáticas que se derivan del proceso de pruebas de software. Como
trabajo futuro se plantea el estudio de pruebas de calidad de software para el
desarrollo de software móvil y la implementación de un laboratorio para prácticas de
estudio e investigación en la facultad de Ingenierías, de la Universidad Cooperativa de
Colombia, sede Popayán.
5. Discusión
Se evidencia que hay un gran número de temáticas y terminología sobre el proceso de
pruebas de calidad de software pero es poca la valoración que se le está haciendo a la
importancia e impacto en las fábricas o empresas de software y en la academia. Con
este artículo se analiza la importancia del proceso de pruebas de calidad de software
con la finalidad de que estas apunten a mejorar el rendimiento, efectividad y
optimización en la calidad de los productos software.
Este artículo tributa a los equipos de desarrollo software, con el fin de que se les
entregue una valoración importante a las pruebas de calidad y se conozca el estado del
producto en cuanto a faltas o defectos encontrados, y una comparación entre las
etapas o avances del proyecto o, si es posible, respecto a otros proyectos. De esta
manera, se busca consolidar unos niveles altos de calidad y optimizar recursos. Se
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
Por otro lado, en el caso planteado, se evidencia que un 95 % de los errores fueron
detectados gracias a los casos de prueba, lo que respalda que con este artículo se
coadyuva a los potenciales clientes y usuarios finales, ya que son estos en realidad los
que interactúan con los productos software, pues ellos son los que detectan en su
mayoría los defectos y pueden dar su percepción de los resultados de las pruebas
finales, que ya es la puesta en producción de un producto software.
Los docentes, estudiantes, investigadores, empresas de desarrollo software y
comunidad interesada podrán, a través de este artículo, iniciar procesos de ejercicio
académico y de investigación que colaboren con la actualización y mejora continua de
un proceso de pruebas de calidad de software.
6. Conclusiones
Se observa que el proceso de pruebas impacta en los riesgos del producto software;
por ende, para las empresas de software es vital formular y adecuar un buen proceso
de pruebas de calidad de software.
La mayoría de las universidades en Latinoamérica han estado aisladas en cuanto a la
implementación de pruebas de calidad de software y la generación de espacios de
laboratorio para el desarrollo de técnicas, métricas, indagaciones e investigación en las
áreas de informática, sistemas o afines, que permitan afianzar el aseguramiento de la
calidad de los productos software.
Este artículo describe un resumen del análisis de la importancia del proceso de pruebas
de calidad de software, como guía de estudio y análisis para equipos de desarrollo
software, directores y responsables de proyectos, clientes y usuarios finales, docentes
y estudiantes, demás comunidad interesada para implementar, revisar y consolidar un
adecuado proceso de pruebas de calidad software.
Con la claridad de la importancia del proceso de pruebas de calidad en los productos
software se eleva la calidad y fiabilidad dentro del ciclo de vida de un proyecto.
Asimismo, al implementar un proceso de pruebas de calidad de software se genera un
control y seguimiento a los defectos o faltas y a los fallos, de manera que las soluciones
que se generen tengan un mayor nivel de calidad.
Es importante que los diferentes roles en una empresa de desarrollo software o en un
equipo de trabajo tengan un conocimiento básico sobre el proceso de pruebas de
calidad. Esto permite que en cada etapa del ciclo del proyecto se manejen mejores
estándares de producción y por ende de calidad.
En un sentido general, la implementación de un proceso de pruebas de calidad de
software en las empresas o universidades instituye un gran avance en el intento por
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
Referencias
[1] L. A. Salinas Arreortua, “El desarrollo tecnológico en el contexto de la
modernidad” Scripta Nova, vol. viii, no. 170, pp. 26 -29, 1 agosto 2004 [en línea].
Disponible en: http://www.ub.edu/geocrit/sn/sn-170-26.htm
[2] D. N. Arnold, “The Explosion of the Ariane 5”, p. 1, 23 agosto 2000 [en línea].
Disponible en: http:// www.ima.umn.edu/~arnold/disasters/ariane.html
[3] D. N. Arnold, “The Patriot Missile Failure”, p. 1, 23 agosto 2000 [en línea].
Disponible en: http://www.
ima.umn.edu/~arnold/disasters/patriot.html
[4] N. Leverson y C. S. Turner, “An Investigation of the Therac-25 Accidents”, IEEE
Computer, vol. 26, no. 7, pp. 18-41, 7 julio 1993 [en línea]. Disponible en:
http://courses.cs.vt.edu/~cs3604/lib/Therac_25/ Therac_1.html
[5] Instituto Nacional de Tecnología Industrial, “Laboratorio de Testing Córdoba”, pp.
1-21, agosto 2015 [en línea]. Disponible en: http://www.inti.gob.ar/software/
[6] F. Scalone, “Estudio comparativo de los modelos y estándares de calidad del
software”, Tesis de Maestría, Facultad Regional Buenos Aires, Universidad
Tecnológica Nacional, Buenos Aires, Argentina, junio 2006 [en línea]. Disponible
en: http://laboratorios.fi.uba.ar/lsi/scalone-tesis-maestria-ingenieria-en-
calidad.pdf
[7] B. Pérez-Lamancha, “Proceso de testing funcional independiente”, Tesis de
Maestría, Facultad de Ingeniería, Instituto de Computación (inco), Montevideo,
Uruguay, 2006 [en línea]. Disponible en: http://
www.ces.com.uy/documentos/imasd/Tesis-Beatriz_Perez_2006.pdf
[8] H. A. Parada-Gélvez, “Contribución a la gestión de los procesos de software y
servicios”, Tesis doctoral, Escuela Técnica Superior de Ingenieros de
Telecomunicación (UPM), Madrid, España, agosto 2010, [en línea]. Disponible en:
http://oa.upm.es/4019/
[9] Massachusetts Institute of Technology, “Programa en Ciencia, Tecnología y
Sociedad", junio 2016, Estados Unidos [en línea]. Disponible en: http://web.
mit.edu/sts/
[10] W. S. Humphrey, Introducción al Proceso Software Personal (psp). Madrid,
España: Addison Wesley, 2001, p. 328 [en línea]. Disponible en: http://dis.
unal.edu.co/~icasta/GGP/_Ver_2012_1/Documentos/psp.pdf
[11] B. Marculescu, S. Poulding, R. Feldt, K. Petersen y R. Torkar, “Tester interactivity
makes a difference in search-based software testing: A controlled experiment”,
en Information and Software Technology, vol. 78, pp. 66-82, dic. 2015 [en línea].
doi: 10.1016/j.infsof.2016.05.009
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
[12] W. Masri, F.A Zaraket, “Coverage-Based Software Testing: Beyond Basic Test
Requirements”, en Advances in Computers, vol. 103, A. Menom Ed. Estados
Unidos: Academic Press, 2016, p. 79-142, 2016. doi:
10.1016/bs.adcom.2016.04.003
[13] A. Deak, T. Stalhane y G. Sindre, “Challenges and strategies for motivating
software testing personnel”, Information and Software Technology, vol. 73 pp. 1-
15, 2016. doi: http://dx.doi.org/10.1016/j.infsof.2016.01.002
[14] L. Lin, J. He, Y. Zhang y F. Song, “Quality Assurance through Rigorous Software
Specification and Testing: A Case Study”, Procedia Computer Science, vol. 62, pp.
257-265, 2015. doi: 10.1016/j. procs.2015.08.448
[15] B. E. Florian, O. Solarte, M. J. Reyes-Moreno, “Propuesta para incorporar
evaluación y pruebas de usabilidad dentro de un proceso de desarrollo de
software”, Revista eia, no. 13, pp. 123-141, 2010 [en línea]. Disponible en:
https://dialnet.unirioja.es/ servlet/articulo?codigo=3274667
[16] R. Ceballos-Guerrero, “Técnicas automáticas para la diagnosis de errores en
software diseñado por contrato”, Tesis doctoral, e.t.s. Ingeniería Informática,
Departamento de Lenguajes y Sistemas Informáticos, Universidad de Sevilla,
España, 2011 [en línea]. Disponible en: https://dialnet.unirioja.es/servlet/
tesis?codigo=24794
[17] P. A. Ramírez-Aguirre y C. Ramírez-Arias, “Estudio de las prácticas de calidad del
software implementadas en las Mipymes desarrolladoras de software de
Pereira”, Tesis de grado, Facultad de Ingenierías Universidad Tecnológica de
Pereira, Colombia, 2010 [en línea]. Disponible en: http://repositorio.utp.edu.
co/dspace/bitstream/11059/1977/1/0053R173e.pdf
[18] E. Serna y F. Arango, “Prueba del software: más que una fase en el ciclo de vida”,
Revista de Ingeniería, no. 35, pp. 34-40, jul.-dic. 2011 [en línea]. Disponible en:
https://ojsrevistaing.uniandes.edu.co/ojs/index. php/revista/article/view/144
[19] J. O. Navarro, “Estado del arte de métodos, tipos de testing y herramientas para
aplicar pruebas de rendimiento”, Tesis de grado, Fac. Ing. Sist., Fundación
Universitaria Tecnológica de Comfenalco, Cartagena, Colombia, 2010.
[20] S. Oviedo, “Diagnóstico para la implementación de hojas de rutas en la
certificación de la industria desarrolladora de software en Cartagena de Indias”,
Tesis de grado, Fac. Cienc. e Ing., Prog. Ing. Sist., Universidad de Cartagena,
Colombia, 2013 [en línea]. Disponible en: http://190.242.62.234:8080/jspui/
handle/11227/391
[21] J. Álvarez Caicedo, “Propuesta de aplicación de pruebas basada en la norma bs
7925-2 para proyectos de grado enfocados al desarrollo de software de la
institución universitaria colegio mayor del Cauca”, Tesis de grado, Prog. Ing.
UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA
FACULTAD DE INGENIERÍA DE SISTEMAS
Engineering, Vol. 30, no. 6, pp. 418-421, junio 2004 [en línea]. doi:
http://doi.ieeecomputersociety.org/10.1109/ TSE.2004.24
[33] Sh. Lawrence Pfleeger y J. M. Atlee, Software Enginnering. Estados Unidos:
Pearson; 2009.
[34] M. G. Merayo y E. Montes de Oca, “Testing Software and Systems”, en:
International Conference, ictss 2014, Madrid, España, 23-25, septiembre 2014 [en
línea]. Disponible en: http://www.springer.com/la/ book/9783662448564#
[35] J. Whittaker, “What is Software Testing? And Why Is It so hard?”, ieee Software,
vol. 17, no. 1, pp. 70-79, ene.-feb., 2000. doi: 10.1109/52.819971
[36] ieee, “Software Engineering. Product quality. Part 1: Quality Model”, iso/iec
9126-1:2001. 2001 [en línea]. Disponible en:
http://www.iso.org/iso/catalogue_detail.htm?csnumber=22749
[37] Myers G, T. Badgett y C. Sanders, The art of software testing. New Jersey, Estados
Unidos: John Wiley & Sons Inc., 2004, p. 254.
[38] I. Jacobson, G. Booch y J. Rumbaugh, The Unified Software Development Process”.
Boston, Estados Unidos: Addison Wesley, 1999, pp. 185-190.
[39] C. Kaner, J. Bach J. y B. Pretichord, Lessons Learned in Software Testing, Wiley &
Sons Inc, 2001.
[40] C. Kaner, J. Falk y H. Nuyen. Testing Computer Software. Nueva York, Estados
Unidos: 1999, p. 286. [en línea]. Disponible en: http://www.amazon.com/Testing-
Computer-Software-2nd-Kaner/ dp/0471358460
[41] A. Banerjee, S. Chattopadhyay y A. Roychoudhury, “On Testing Embedded
Software”, Advances in Computers, vol. 101, pp. 121-153, 2016 [en línea].
Disponible en: http://www.sciencedirect.com/science/
article/pii/S0065245815000662. doi: 10.1016/bs.adcom.2015.11.005
[42] P. A. da Mota Silveira Neto, I. do Carmo Machado, J. D. McGregor, E. Santana de
Almeida y S. R. de Lemos Meira, “A Systematic Mapping Study of Software
Product Lines Testing”, Information and Software Technology, vol. 53, no. 5, pp.
407-423, may. 2011 [en línea]. Disponible en: http://www.sciencedirect.
com/science/article/pii/S0950584910002193. doi: 10.1016/j.infsof.2010.12.003
[43] D. R. Kuhn y M. J. Reilly, “Una investigación de la aplicabilidad de diseño de
experimentos para pruebas de software”, Software Ingeniería Taller. Actas 27,
Anual de la nasa Goddard / ieee, 2002, pp. 91-95.