SlideShare una empresa de Scribd logo
1 de 21
CURSO DE POSGRADO
Inspección de Software
Técnicas de lectura
Darío Macchi
DOCENTE
Técnicas de lectura
abril de 2013
P. 2Inspección de software
Visión General
Variabilidad de resultados de procesos de revisión son independientes
del proceso utilizado [Land et al., 1997], [Porter and Johnson, 1997], [Votta, 1993].
• ¿De qué depende?
abril de 2013
P. 3Inspección de software
Para que las necesitamos:
• Durante nuestra formación aprendemos a escribir artefactos pero no a
leerlos ni analizarlos [Basili et al., 1996].
• Capturan el conocimiento obtenido de buenas prácticas en detección
de defectos [Melo & Shull, 2001].
• Independizar resultados de habilidades del revisor.
Definición:
Serie de pasos cuyo propósito es lograr un entendimiento profundo
del artefacto revisado [Laitenberger & DeBaud, 2000].
Visión General
Beneficios:
• Aumentan la eficacia y eficiencia de los revisores en la detección de
defectos [Melo & Shull, 2001]
• Minimizan la influencia del revisor
(estándar de análisis de artefactos)
• Organizan la lectura y sirven de guía para el revisor
• Minimizan interrupciones (revisiones espontáneas)
• Muchas de ellas pueden adaptarse a cada equipo de
trabajo.
abril de 2013
P. 4Inspección de software
Técnicas
• Ad-hoc
• Checklist based reading (CBR)
• Stepwise abstraction
• OO code
• Use Case Reading (UCR) (McMeekin, 2005)
• Abstraction-Driven Reading (ADR)
• Traceability-Based Reading (TBR)
• Usage based reading (UBR)
• Perspective based reading (PBR)
abril de 2013
P. 5Inspección de software
Ad-hoc Reading (AHR)
• Depende de la habilidad, conocimiento y experiencia
para detectar defectos.
• Simple pero considerada como muy efectiva [McMeekin, 2005].
• Libertad (expertos) vs. falta de proceso (inexpertos).
Aplicable a:
• cualquier artefacto
abril de 2013
P. 6Inspección de software
Checklist Based Reading (CBR)
• Estándar usado en la industria [Laitenberger and DeBaud, 2000]
• La primera técnica recomendada por Fagan [Fagan, 1976].
• Describe “qué” buscar y no “cómo” encontrarlo [Laitenberger, 2000].
Heurísticas para creación/mantenimiento de checklists:
[A survey of software inspection checklists, Brykczynski, 1999]
• Deben ser actualizadas regularmente (incentiva lectura y uso).
• Deben ser de una página de largo.
• Deben escribirse de tal forma que la respuesta “no” indique un defecto.
• Los items no deben ser vagos/ambiguos.
• No se deben usar cuando otros métodos sean más eficientes.
Aplicable a:
• cualquier artefacto
abril de 2013
P. 7Inspección de software
Checklist Based Reading (CBR)
abril de 2013
P. 8Inspección de software
Checklist Based Reading (CBR)
abril de 2013
P. 9Inspección de software
Stepwise abstraction
• Introducido por la comunidad Cleanroom.
• Propuesta para casos en que CBR era inadecuado.
• Procedimiento:
– Consiste en leer una secuencia de sentencias y abstraer su
funcionalidad.
– Luego se continúa “hacia afuera” abstrayendo la funcionalidad del
siguiente bloque.
– Finaliza cuando se “deduce” la funcionalidad del conjunto
(requerimiento)
Aplicable a:
• Código
abril de 2013
P. 10Inspección de software
Stepwise Abstraction
Ejercicio
(20 mins.)
abril de 2013
P. 11Inspección de software
abril de 2013
P. 12Inspección de software
Use Case Reading (UCR)
• Busca asegurar que cada objeto es capaz de responder
de forma correcta a todos los posibles escenarios.
• Procedimiento:
– Elaborar escenarios a partir de los casos de uso basados en
precondiciones, criterios de entrada y salida, etc..
• Escenarios se “corren” en diagramas de secuencia.
– Cuando se llama a la clase inspeccionada en el diagrama, se cambia de
artefacto y se baja al código de dicha clase.
– Se verifica que el comportamiento de la clase y el estado posterior al
llamado sea el esperado.
Se aplica a:
• Código (OOP), aunque involucra artefactos de diseño.
abril de 2013
P. 13Inspección de software
Abstraction-Driven Reading (ADR)
• Busca obtener especificaciones abstractas de código en
lenguaje natural.
• Procedimiento:
– Se analiza el acoplamiento entre las clases de un sistema.
– Las de menor acoplamiento se analizan primero.
• Se analiza el acoplamiento entre los métodos.
• Los de menor acoplamiento se analizan primero.
• Se realiza una abstracción en lenguaje natural y luego se comienza a subir
el nivel de abstracción.
– Al escribir abstracciones se van escribiendo defectos detectados.
Se aplica a:
• Código (OOP)
abril de 2013
P. 14Inspección de software
Abstraction-Driven Reading (ADR)
abril de 2013
P. 15Inspección de software
Ejemplo [Dunsmore, 2001]
Traceability-Based Reading (TBR)
• Busca que los documentos de diseño sean claros y
libres de ambigüedad [Travassos, 1999].
• Documentos deben ser leídos:
• “horizontalmente” para asegurar la consistencia de los mismos.
• Diagrama de clases vs. descripción de clases
• Diagramas de secuencia vs. diagramas de estado
• “verticalmente” para asegurar que correctitud y completitud respecto
a requerimientos funcionales.
• Descripción de clases vs. requerimientos
• Diagramas de secuencia vs. casos de uso
Aplicable a:
• Artefactos de diseño de alto nivel (OOP)
abril de 2013
P. 16Inspección de software
Usage Based Reading (UBR)
• Se enfoca en la calidad del producto desde la perspectiva del
usuario.
• Defectos con más impacto negativo según percepción de
calidad del usuario.
• Se priorizan los casos de uso por percepción.
• Procedimiento:
– Una vez priorizados los casos de uso se elaboran escenarios (como en
UCR).
– Se desarrolla el escenario desde los requerimientos hasta el artefacto en
revisión.
– Defectos detectados no son tratados como iguales.
Aplicable a:
• Cualquier artefacto
abril de 2013
P. 17Inspección de software
Usage Based Reading (UBR)
Ejemplo sobre documento de diseño:
1. Se elige el caso de uso de mayor prioridad.
2. Se “corre” el caso de uso en el documento de diseño identificando
posibles defectos.
3. Se continúa con el procedimiento hasta agotar el tiempo o los
casos de uso relacionados con el documento de diseño.
abril de 2013
P. 18Inspección de software
Perspective Based Reading (PBR)
• Busca que la lectura se realiza desde la perspectiva de
distintos stakeholders [Basili et al., 1996], [Laitenberger and DeBaud, 1997].
• No existe una definición monolítica de calidad.
• Procedimiento:
– Se determinan las perspectivas de lectura (roles).
– Se elaboran escenarios para cada perspectiva (reutilizables).
– Se realiza la lectura siguiendo el escenario.
Aplicable a:
• Cualquier artefacto
abril de 2013
P. 19Inspección de software
Perspective Based Reading (PBR)
Ejercicio
(30 mins.)
abril de 2013
P. 20Inspección de software
Referencias
[Basili et al, 1996] Basili, V., Green, S., Laitenberger, O., Lanubile, F., Shull, F., Sorumgard, S., and Zelkowitz, M. (1996). The
Empirical Investigation of Perspective-based Reading. Journal of Empirical Software Engi- neering, 2(1):133–164.
[Basili et al., 1996] Basili, VR, Scott Green, & Oliver Laitenberger. 1996. “The empirical investigation of perspective-based
reading”. Empirical Software …
[Brykczynski, 1999] Brykczynski, Bill. 1999. “A survey of software inspection checklists”. ACM SIGSOFT Software Engineering
Notes 24(1)
(Dunsmore, 2001) Dunsmore, A. 2001. “An Empirical Investigation of Three Reading Techniques for Object-Oriented Code
Inspection”. : 1–44.
[Laitenberger & DeBaud, 1997] Laitenberger, O. and DeBaud, J.-M. (1997). Perspective-based Reading of Code Documents at
Robert Bosch GmbH. Information and Software Technology, 39:781–791.
[Laitenberger & DeBaud, 2000] Laitenberger, Oliver, & Jean Marc DeBaud. 2000. “An Encompassing Life-Cycle Centric Survey of
Software Inspection”. Journal of Systems and Software 50(1): 5–31.
[Laitenberger, 2000] Laitenberger, Oliver. 2000. “Cost-effective Detection of Software Defects through Perspective-based
Inspections”.
[McMeekin, 2005] McMeekin, David Andrew. 2005. “A Comparison of Code Inspection Techniques.”.
[Melo & Shull, 2001] Melo, Walcélio, & Forrest Shull. 2001. Software Review Guidelines.
[Oladele, 2010] Oladele, Rufus O. 2010. “Reading Techniques for Software Inspection: Review and Analysis”. Journal of Institute
of Mathematics & Computer Sciences (Computer Science Series) 21(2): 199–209.
[Travassos et al., 1999] Travassos, Guilherme Horta et al. 1999. “Detecting Defects in Object Oriented Designs?: Using Reading
Techniques to Increase Software Quality.” In Conference on Object-Oriented Programming, Systems, Languages, and
Applications (OOPSLA),
[Wong, 2006) Wong, Yuk Kuen. 2006. Modern Software Review?: Techniques and Technologies.
abril de 2013
P. 21Inspección de software

Más contenido relacionado

Similar a Técnicas de inspección de software

unidad 4..
unidad 4..unidad 4..
unidad 4..johanagb
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de SoftwareJiuseppe Flores
 
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptMarko Zapata
 
Ingeniería de software - definiciones
Ingeniería de software - definicionesIngeniería de software - definiciones
Ingeniería de software - definicionesdettebe
 
P1 Presentación del curso Sesión 1.pdf
P1 Presentación del curso Sesión 1.pdfP1 Presentación del curso Sesión 1.pdf
P1 Presentación del curso Sesión 1.pdfSebasCastao214KK214
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranMarijoalbarranb
 
Calidad del producto software en la programación en pareja con y sin apoyo de...
Calidad del producto software en la programación en pareja con y sin apoyo de...Calidad del producto software en la programación en pareja con y sin apoyo de...
Calidad del producto software en la programación en pareja con y sin apoyo de...Omar S. Gomez
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwaremat3matik
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryynelly
 

Similar a Técnicas de inspección de software (20)

Ciclo de Vida y roles
Ciclo de Vida y roles Ciclo de Vida y roles
Ciclo de Vida y roles
 
unidad 4..
unidad 4..unidad 4..
unidad 4..
 
Modelos de Procesos de Software
Modelos de Procesos de SoftwareModelos de Procesos de Software
Modelos de Procesos de Software
 
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.pptELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
ELEMENTOS DE LA CONFIGURACION DE SOFTWARE.ppt
 
Ingeniería de software - definiciones
Ingeniería de software - definicionesIngeniería de software - definiciones
Ingeniería de software - definiciones
 
P1 Presentación del curso Sesión 1.pdf
P1 Presentación del curso Sesión 1.pdfP1 Presentación del curso Sesión 1.pdf
P1 Presentación del curso Sesión 1.pdf
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Examen omar
Examen omarExamen omar
Examen omar
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Clase 11
Clase 11Clase 11
Clase 11
 
Calidad del producto software en la programación en pareja con y sin apoyo de...
Calidad del producto software en la programación en pareja con y sin apoyo de...Calidad del producto software en la programación en pareja con y sin apoyo de...
Calidad del producto software en la programación en pareja con y sin apoyo de...
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Mod 6.2 introducción al análisis
Mod 6.2 introducción al análisisMod 6.2 introducción al análisis
Mod 6.2 introducción al análisis
 
01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software
 
Tarea 1 Reconocimiento
Tarea 1 ReconocimientoTarea 1 Reconocimiento
Tarea 1 Reconocimiento
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Ingeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryyIngeniería%20de%20 software[1], maryy
Ingeniería%20de%20 software[1], maryy
 

Último

Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 

Último (20)

Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 

Técnicas de inspección de software

  • 1. CURSO DE POSGRADO Inspección de Software Técnicas de lectura Darío Macchi DOCENTE
  • 2. Técnicas de lectura abril de 2013 P. 2Inspección de software
  • 3. Visión General Variabilidad de resultados de procesos de revisión son independientes del proceso utilizado [Land et al., 1997], [Porter and Johnson, 1997], [Votta, 1993]. • ¿De qué depende? abril de 2013 P. 3Inspección de software Para que las necesitamos: • Durante nuestra formación aprendemos a escribir artefactos pero no a leerlos ni analizarlos [Basili et al., 1996]. • Capturan el conocimiento obtenido de buenas prácticas en detección de defectos [Melo & Shull, 2001]. • Independizar resultados de habilidades del revisor. Definición: Serie de pasos cuyo propósito es lograr un entendimiento profundo del artefacto revisado [Laitenberger & DeBaud, 2000].
  • 4. Visión General Beneficios: • Aumentan la eficacia y eficiencia de los revisores en la detección de defectos [Melo & Shull, 2001] • Minimizan la influencia del revisor (estándar de análisis de artefactos) • Organizan la lectura y sirven de guía para el revisor • Minimizan interrupciones (revisiones espontáneas) • Muchas de ellas pueden adaptarse a cada equipo de trabajo. abril de 2013 P. 4Inspección de software
  • 5. Técnicas • Ad-hoc • Checklist based reading (CBR) • Stepwise abstraction • OO code • Use Case Reading (UCR) (McMeekin, 2005) • Abstraction-Driven Reading (ADR) • Traceability-Based Reading (TBR) • Usage based reading (UBR) • Perspective based reading (PBR) abril de 2013 P. 5Inspección de software
  • 6. Ad-hoc Reading (AHR) • Depende de la habilidad, conocimiento y experiencia para detectar defectos. • Simple pero considerada como muy efectiva [McMeekin, 2005]. • Libertad (expertos) vs. falta de proceso (inexpertos). Aplicable a: • cualquier artefacto abril de 2013 P. 6Inspección de software
  • 7. Checklist Based Reading (CBR) • Estándar usado en la industria [Laitenberger and DeBaud, 2000] • La primera técnica recomendada por Fagan [Fagan, 1976]. • Describe “qué” buscar y no “cómo” encontrarlo [Laitenberger, 2000]. Heurísticas para creación/mantenimiento de checklists: [A survey of software inspection checklists, Brykczynski, 1999] • Deben ser actualizadas regularmente (incentiva lectura y uso). • Deben ser de una página de largo. • Deben escribirse de tal forma que la respuesta “no” indique un defecto. • Los items no deben ser vagos/ambiguos. • No se deben usar cuando otros métodos sean más eficientes. Aplicable a: • cualquier artefacto abril de 2013 P. 7Inspección de software
  • 8. Checklist Based Reading (CBR) abril de 2013 P. 8Inspección de software
  • 9. Checklist Based Reading (CBR) abril de 2013 P. 9Inspección de software
  • 10. Stepwise abstraction • Introducido por la comunidad Cleanroom. • Propuesta para casos en que CBR era inadecuado. • Procedimiento: – Consiste en leer una secuencia de sentencias y abstraer su funcionalidad. – Luego se continúa “hacia afuera” abstrayendo la funcionalidad del siguiente bloque. – Finaliza cuando se “deduce” la funcionalidad del conjunto (requerimiento) Aplicable a: • Código abril de 2013 P. 10Inspección de software
  • 11. Stepwise Abstraction Ejercicio (20 mins.) abril de 2013 P. 11Inspección de software
  • 12. abril de 2013 P. 12Inspección de software
  • 13. Use Case Reading (UCR) • Busca asegurar que cada objeto es capaz de responder de forma correcta a todos los posibles escenarios. • Procedimiento: – Elaborar escenarios a partir de los casos de uso basados en precondiciones, criterios de entrada y salida, etc.. • Escenarios se “corren” en diagramas de secuencia. – Cuando se llama a la clase inspeccionada en el diagrama, se cambia de artefacto y se baja al código de dicha clase. – Se verifica que el comportamiento de la clase y el estado posterior al llamado sea el esperado. Se aplica a: • Código (OOP), aunque involucra artefactos de diseño. abril de 2013 P. 13Inspección de software
  • 14. Abstraction-Driven Reading (ADR) • Busca obtener especificaciones abstractas de código en lenguaje natural. • Procedimiento: – Se analiza el acoplamiento entre las clases de un sistema. – Las de menor acoplamiento se analizan primero. • Se analiza el acoplamiento entre los métodos. • Los de menor acoplamiento se analizan primero. • Se realiza una abstracción en lenguaje natural y luego se comienza a subir el nivel de abstracción. – Al escribir abstracciones se van escribiendo defectos detectados. Se aplica a: • Código (OOP) abril de 2013 P. 14Inspección de software
  • 15. Abstraction-Driven Reading (ADR) abril de 2013 P. 15Inspección de software Ejemplo [Dunsmore, 2001]
  • 16. Traceability-Based Reading (TBR) • Busca que los documentos de diseño sean claros y libres de ambigüedad [Travassos, 1999]. • Documentos deben ser leídos: • “horizontalmente” para asegurar la consistencia de los mismos. • Diagrama de clases vs. descripción de clases • Diagramas de secuencia vs. diagramas de estado • “verticalmente” para asegurar que correctitud y completitud respecto a requerimientos funcionales. • Descripción de clases vs. requerimientos • Diagramas de secuencia vs. casos de uso Aplicable a: • Artefactos de diseño de alto nivel (OOP) abril de 2013 P. 16Inspección de software
  • 17. Usage Based Reading (UBR) • Se enfoca en la calidad del producto desde la perspectiva del usuario. • Defectos con más impacto negativo según percepción de calidad del usuario. • Se priorizan los casos de uso por percepción. • Procedimiento: – Una vez priorizados los casos de uso se elaboran escenarios (como en UCR). – Se desarrolla el escenario desde los requerimientos hasta el artefacto en revisión. – Defectos detectados no son tratados como iguales. Aplicable a: • Cualquier artefacto abril de 2013 P. 17Inspección de software
  • 18. Usage Based Reading (UBR) Ejemplo sobre documento de diseño: 1. Se elige el caso de uso de mayor prioridad. 2. Se “corre” el caso de uso en el documento de diseño identificando posibles defectos. 3. Se continúa con el procedimiento hasta agotar el tiempo o los casos de uso relacionados con el documento de diseño. abril de 2013 P. 18Inspección de software
  • 19. Perspective Based Reading (PBR) • Busca que la lectura se realiza desde la perspectiva de distintos stakeholders [Basili et al., 1996], [Laitenberger and DeBaud, 1997]. • No existe una definición monolítica de calidad. • Procedimiento: – Se determinan las perspectivas de lectura (roles). – Se elaboran escenarios para cada perspectiva (reutilizables). – Se realiza la lectura siguiendo el escenario. Aplicable a: • Cualquier artefacto abril de 2013 P. 19Inspección de software
  • 20. Perspective Based Reading (PBR) Ejercicio (30 mins.) abril de 2013 P. 20Inspección de software
  • 21. Referencias [Basili et al, 1996] Basili, V., Green, S., Laitenberger, O., Lanubile, F., Shull, F., Sorumgard, S., and Zelkowitz, M. (1996). The Empirical Investigation of Perspective-based Reading. Journal of Empirical Software Engi- neering, 2(1):133–164. [Basili et al., 1996] Basili, VR, Scott Green, & Oliver Laitenberger. 1996. “The empirical investigation of perspective-based reading”. Empirical Software … [Brykczynski, 1999] Brykczynski, Bill. 1999. “A survey of software inspection checklists”. ACM SIGSOFT Software Engineering Notes 24(1) (Dunsmore, 2001) Dunsmore, A. 2001. “An Empirical Investigation of Three Reading Techniques for Object-Oriented Code Inspection”. : 1–44. [Laitenberger & DeBaud, 1997] Laitenberger, O. and DeBaud, J.-M. (1997). Perspective-based Reading of Code Documents at Robert Bosch GmbH. Information and Software Technology, 39:781–791. [Laitenberger & DeBaud, 2000] Laitenberger, Oliver, & Jean Marc DeBaud. 2000. “An Encompassing Life-Cycle Centric Survey of Software Inspection”. Journal of Systems and Software 50(1): 5–31. [Laitenberger, 2000] Laitenberger, Oliver. 2000. “Cost-effective Detection of Software Defects through Perspective-based Inspections”. [McMeekin, 2005] McMeekin, David Andrew. 2005. “A Comparison of Code Inspection Techniques.”. [Melo & Shull, 2001] Melo, Walcélio, & Forrest Shull. 2001. Software Review Guidelines. [Oladele, 2010] Oladele, Rufus O. 2010. “Reading Techniques for Software Inspection: Review and Analysis”. Journal of Institute of Mathematics & Computer Sciences (Computer Science Series) 21(2): 199–209. [Travassos et al., 1999] Travassos, Guilherme Horta et al. 1999. “Detecting Defects in Object Oriented Designs?: Using Reading Techniques to Increase Software Quality.” In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), [Wong, 2006) Wong, Yuk Kuen. 2006. Modern Software Review?: Techniques and Technologies. abril de 2013 P. 21Inspección de software