BugsTriaging
Ubuntu Open Week - Trabajando con Bugs - Dante Díaz - Martes 3 de noviembre 2009
Toggle line numbers
1 [17:58:29] <viperhoot> Hola a todos, en unos momentos iniciamos la charla sobre cómo trabajar con bugs
2 [17:59:13] <alucardni> A continuación le damos lugar a viperhoot con su charla sobre trabajo con bugs
3 [17:59:31] <viperhoot> Permitanme primero presentarme, mi nombre es Dante Díaz (aka viperhoot) , miembro del equipo peruano de ubuntu (ubuntu-pe)
4 [17:59:46] <viperhoot> Es momento de comenzar
5 [18:00:01] <viperhoot> Como ya sabrán, muchos de los proyectos de software libre tienen una gran comunidad detrás
6 [18:00:18] <viperhoot> desde personas que apoyan en el desarrollo de aplicaciones como quienes las difunden con el boca a boca
7 [18:00:30] <viperhoot> Ubuntu y las aplicaciones que contiene no son la excepción :)
8 [18:00:54] <viperhoot> Gran parte del trabajo de mantener ubuntu se centra en Launchpad, una plataforma que aloja proyectos de software libre y facilita herramientas para colaboración y mejoramiento continuo de los proyectos allí alojados.
9 [18:01:04] <viperhoot> https://launchpad.net
10 [18:01:27] <viperhoot> En ubuntu, como otros proyectos que emplean launchpad se cuentan con equipos, que se encargan de diversas tareas
11 [18:01:49] <viperhoot> por ejemplo pueden colaborar con traducciones, ideas para nuevas versiones, corrección de errores, responder dudas, etc.
12 [18:02:05] <viperhoot> Nosotros en esta charla nos centraremos en el trabajo de corrección de errores (bugs).
13 [18:02:29] <viperhoot> En ubuntu hay un equipo que se encarga de trabajar constantemente contra los bugs, el Ubuntu BugSquad
14 [18:02:35] <viperhoot> https://launchpad.net/~bugsquad
15 [18:03:04] <viperhoot> La manera más sencilla de iniciarnos en el trabajo con bugs es por medio del "triaging"
16 [18:03:34] <viperhoot> consiste en clasificar aquellos errores que han sido ya reportados, adjuntarlos al paquete afectado, marcarlos por importancia, entre otras cosas.
17 [18:03:57] <viperhoot> Esta charla constará de dos partes: cómo hacer un buen reporte de error (bug report) y cómo clasificar errores de bugs ya reportados (triaging).
18 [18:04:10] <viperhoot> Primer tema: ¿Cómo hacer un buen reporte de bugs?
19 [18:04:25] <viperhoot> Digamos que estamos trabajando de lo más cómodo con nuestro sistema y de repente algo falla
20 [18:04:40] <viperhoot> no funciona como se espera, se trata muy probablemente de un fallo
21 [18:05:09] <viperhoot> si esperamos que sea solucionado (a la brevedad), lo mejor que podemos hacer es informalo para que algún desarrollador de este programa se ponga a trabajar en una solución.
22 [18:05:19] <viperhoot> Esto es hacer un reporte de error (bug report)
23 [18:05:34] <viperhoot> En Ubuntu reportar un bug es sencillo, pero se necesita de que el autor (la persona que reporta el error) brinde la mayor información posible.
24 [18:05:50] <viperhoot> El punto de partida para reportar un bug es esta página: https://bugs.launchpad.net/bugs/+filebug
25 [18:06:04] <viperhoot> allí, como indica, debemos de rellenar la información relacionada al bug
26 [18:06:14] <viperhoot> si afecta a una distribución (ubuntu)
27 [18:06:26] <viperhoot> un proyecto específico (digamos firefox por ejemplo)
28 [18:06:39] <viperhoot> y una breve descripción del error, a la que se puede adjuntar logs, .diff, etc
29 [18:07:19] <viperhoot> * Es importante que todo esto sea explicado en inglés, es el lenguaje con el que generalmente se trabaja en los reportes de errores y launchpad en general. atención con esta recomendación ;)
30 [18:08:00] <viperhoot> Existen algunas otras maneras más de reportar un bug, las vemos rápidamente
31 [18:08:21] <viperhoot> Dirigiéndonos directamente al menú "Ayuda" de alguna aplicación y escoger la opción "Informar de un problema"
32 [18:08:46] <viperhoot> esta opción hace el trabajo explicado anteriormente por nosotros
33 [18:08:59] <alucardni> <Tonny> Pregunta: Para trabajar por ejemplo en una universidad se puede montar launchpad ? que tan complicado es
34 [18:09:50] <viperhoot> alucardni, podrías usar launchpad como plataforma para proyectos de software que tengas en un curso relacionado a una ingenieria de software
35 [18:10:13] <viperhoot> Tonny, launchpad es una plataforma bastante buena y compleja para la gestión de proyectos de software
36 [18:10:40] <viperhoot> te ofrece herramientas suficientes para encaminar tus proyectos, por lo que si, podrias usarla si es el caso de querer gestionar proyectos de software (libre)
37 [18:11:10] <viperhoot> volviendo al tema, nos dirigimos a "Ayuda"/"Informar de un problema"
38 [18:11:21] <viperhoot> esta opción hace el trabajo explicado anteriormente por nosotros
39 [18:11:26] <alucardni> <jimbodoors> pregunta: miro que tambien podes reportar a debian, este reporte se envia al BTS de debian?
40 [18:12:21] <viperhoot> jimbodoors, no, en un primer momento todo se gestiona internamente por launchpad, launchpad se encarga de informar a las personas encargadas sobre este fallo
41 [18:12:28] <viperhoot> unicamente
42 [18:12:53] <viperhoot> puede pasar al BTS de Debian pero al ser bugs de muy alta prioridad
43 [18:13:49] <viperhoot> seguimos: "Informar de un problema", esta opción hace el trabajo explicado anteriormente por nosotros, es decir, recopila información de /var/crash e informa del proyecto (aplicación) afectado automaticamente
44 [18:14:07] <viperhoot> nosotros sólo tendremos que hacer una descripción del bug,
45 [18:14:19] <viperhoot> creo que es la manera más sencilla
46 [18:14:46] <viperhoot> Otra manera es abrir el terminal y escribir "ubuntu-bug nombre_programa", tendremos un resultado similar.
47 [18:15:08] <viperhoot> Unas muestras de cómo es un reporte de bug
48 [18:15:15] <viperhoot> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/266951
49 [18:15:27] <viperhoot> Este es un bug "bien reportado" incluye bastante información útil para facilitar la detección del error.
50 [18:15:50] <viperhoot> Cuando hagamos un reporte de error hay que detallar toda la información posible acerca del mismo
51 [18:16:06] <viperhoot> por ejemplo con logs, pantallazos, describir los minutos previos y posterior al error, información adicional, todo lo posible
52 [18:16:25] <viperhoot> Aquel bug, parece ya haber sido corregido gracias al gran seguimiento que se pudo hacer al tener una buena información que ayudó a su investigación
53 [18:16:38] <viperhoot> Ahora veamos un ejemplo de un bug "mal reportado"
54 [18:16:41] <viperhoot> https://bugs.edge.launchpad.net/ubuntu/+bug/406072
55 [18:16:55] <viperhoot> Notan diferencias?
56 [18:17:08] <viperhoot> Empezando por un título que no dice demasiado acerca de cual es el fallo.
57 [18:17:45] <viperhoot> la información que alli nos muestra son simplemente la lista de los dispositivos del pc, pero no hay información acerca del bug como tal
58 [18:18:06] <viperhoot> Este tipo de bugs terminan siendo cerrados por no poder hacer nada sin información para detectar el bug.
59 [18:18:50] <viperhoot> AHora les dictaré los pasos para empezar a hacer nuestro primer reporte de bugs, sólo recuerden no enviarlo al final, para no enviar un reporte inútil ;)
60 [18:18:56] <alucardni> <rmayorga> pregunta, no existe una guia para que la gente reporte bugs ?, en un proyecto que estoy esta subscrito a los bugs de launchpad, llegan todas las semanas 5 bugs repetidos, reportados por diferentes personas
61 [18:19:21] <viperhoot> rmayorga, existen varias de hecho, generalmente en inglés, pasaré unos enlaces al final con varias guías sobre este proceso vale?
62 [18:19:47] <viperhoot> A modo de ejemplo: Digamos que estamos navegando con Firefox y de un momento a otro el navegador se congela siempre que visitamos una página determinada.
63 [18:20:13] <viperhoot> Probablemente se trate de un error! Haremos un reporte de ejemplo
64 [18:20:32] <viperhoot> Para reportar el bug, nos dirigimos en Firefox al menú Ayuda/Informar de un problema
65 [18:21:19] <viperhoot> Se empezará generar un reporte con información sobre el sistema y el programa que ayude a los desarrolladores
66 [18:21:38] <viperhoot> Luego de ello el sistema nos preguntará si de verdad queremos enviar el reporte de error, pues claro :P
67 [18:22:06] <viperhoot> Nos dirigirá al sitio de launchpad, automaticamente ya se ha añadido los logs y la aplicación a la que hace mención el error
68 [18:22:28] <viperhoot> Ahora en el sitio de Launchpad, solamente necesitaremos añadir un resumen del fallo, sencillo.
69 [18:22:47] <viperhoot> Un resumen mas o menos decente puede ser como: "[karmic] mozilla firefox 3.5 se congela al cargar xxxx sitio"
70 [18:23:04] <viperhoot> es una buena práctica poner primeramente la versión de ubuntu a la que hacemos referencia
71 [18:23:15] <viperhoot> la versión de la aplicación y un titulo general del error (bug)
72 [18:23:37] <viperhoot> ahora, lógico que tiene que ser en inglés, por lo que quedaría algo como [karmic] mozilla firefox 3.5 freezes on accessing xxxx site
73 [18:24:08] <viperhoot> Dependiendo de si nuestro resumen se asemeja a algun otro bug reportado anteriormente, se nos mostrará una lista con bugs que pueden ser el que tratamos de reportar
74 [18:24:28] <viperhoot> si ese es el caso, es mejor escogerlo directamente, para evitar bugs duplicados.
75 [18:24:39] <viperhoot> Sino, reportamos directamente un nuevo bug.
76 [18:25:11] <viperhoot> Luego de esto seremos redirigidos a otra sección del sitio donde añadiremos información adicional sobre nuestro bug
77 [18:25:29] <viperhoot> Aqui podemos agregar, por ejemplo, la serie de pasos para reproducir el error
78 [18:25:34] <viperhoot> 1) Abrir mozilla firefox
79 [18:25:49] <viperhoot> 3) Ingresar al sitio web: algo.com
80 [18:25:55] <viperhoot> 4) Mostrar tal fallo
81 [18:25:56] <viperhoot> etc
82 [18:26:03] <viperhoot> Qué sucedió y qué esperabamos que sucediera.
83 [18:26:15] <viperhoot> y alguna otra descripción extra que podamos pensar que sea útil
84 [18:26:25] <viperhoot> (librerias en uso por ejemplo)
85 [18:26:32] <viperhoot> adjuntar pantallazos
86 [18:26:33] <viperhoot> etc
87 [18:26:55] <viperhoot> Y finalmente tendríamos que dar click en: Submit Bug Report (NO HACER CLICK YA QUE ESTAREMOS ENVIANDO UN BUG TOTALMENTE FICTICIO)
88 [18:27:14] <viperhoot> He creado un reporte a modo de demostración en base a este bug ficticio en: He creado un reporte a modo de demostración en base a este bug ficticio en
89 [18:27:28] <viperhoot> https://bugs.launchpad.net/ubuntu/+source/firefox-3.5/+bug/473546
90 [18:28:07] <viperhoot> como decía, es importante colocar los pasos para replicar el bug (disculpen si por descuido no lo incluí) :)
91 [18:28:48] <viperhoot> pero, por ejemplo, al reporte se le ha adjuntado información de mi versión de firefox, de la arquitectura de mi pc y una serie de datos que si en un principio no parecen entendibles, si que lo son y de gran utilidad para los encargados de revisar el bug
92 [18:29:11] <viperhoot> En esta página de bug veremos alguna información relacionada al error
93 [18:29:34] <viperhoot> dentro de los cuales se encuentran Status (Estado), Importancia, package (paquete o nombre del proyecto).
94 [18:29:59] <viperhoot> El estado nuevo (new) es el estado por defecto cuando se envia un reporte y pues... no es más que eso
95 [18:30:07] <viperhoot> Veremos que significa cada uno más adelante.
96 [18:31:03] <viperhoot> con eso abremos terminado de hacer nuestro primer reporte de bug, elaborado de acuerdo a lo que diriamos de buena manera, bien explicado, con detalles clave, claro, la idea es hacerlo con bugs reales no?
97 [18:31:57] <viperhoot> recuerden, inglés, utilizar el opción "Informar de un problema" de la mayoría de aplicaciones en ubuntu que es el camino más fácil y describirlo lo mejor posible
98 [18:32:07] <viperhoot> cualquier dato extra que piensen que pueda ser útil cuenta :)
99 [18:32:47] <viperhoot> Segundo tema : Triaging
100 [18:33:07] <viperhoot> Como verán en nuestro bug de ejemplo: https://bugs.launchpad.net/ubuntu/+source/firefox-3.5/+bug/473546
101 [18:33:40] <viperhoot> hay una serie de pequeños cuadros donde aparecen información como estado, importancia, asignado a, entre otrso
102 [18:34:14] <viperhoot> Triaging consiste en clasificar este y todos los bugs de acuerdo a estos criterios, es decir, paquete al que hace referencia y a los que afecta el error, estado, importancia...
103 [18:34:41] <viperhoot> Hay literalmente miles de errores reportados en Launchpad que necesitan ser clasificados para que puedan ser asignados al equipo correcto encargado de corregirlos.
104 [18:35:15] <viperhoot> Ya reportamos un bug, ahora el siguiente paso es su clasificación
105 [18:35:42] <viperhoot> Como dije al principio, el Bugsquad es un equipo que justamente se toma el trabajo de clasificar los errores reportados
106 [18:36:09] <viperhoot> así será más sencillo (y cómodo) para los desarrolladores el tratar de corregirlos
107 [18:36:25] <viperhoot> es mucho trabajo, a veces algo complicado, pero alguien tiene que hacerlo :P
108 [18:36:42] <viperhoot> Volviendo a nuestro reporte de error
109 [18:36:45] <viperhoot> https://bugs.launchpad.net/ubuntu/+source/firefox-3.5/+bug/473546
110 [18:37:19] <viperhoot> Veremos que en la sección Affects aparece "firefox-3.5 (Ubuntu)" , en Status: New, en Importance: Undecided, Assigned to: Unassignet
111 [18:38:03] <viperhoot> firefox-3.5 (Ubuntu) es el paquete al que hicimos referencia del error, se agregó de manera automatica al reportar el bug con la opción Ayuda/Informar de un problema de firefox
112 [18:38:15] <viperhoot> Los demás son los valores por defecto de cada bug recién reportado.
113 [18:38:28] <viperhoot> Para empezar con el triaging justamente tenemos que rellenar/modificar esta información lo más exacto posible en relación a cada bug.
114 [18:38:51] <viperhoot> Es un trabajo libre, es decir, cualquiera puede hacer ello, sólamente es necesario contar con una cuenta de launchpad, ganas de trabajar y cuidado con poner información correcta en estos cuadros
115 [18:39:20] <viperhoot> Para rellenar esta información sólo es necesario (una vez identificado en launchpad, los que no tienen cuenta en launchpad, es hora de ir creandola) ir a la página del reporte de error
116 [18:39:36] <viperhoot> y hacer click en la pequeña flecha que aparece debajo de la opción Affects, seguro que la ubicaron ;)
117 [18:39:49] <viperhoot> Verán que se desplegan diversas opciones
118 [18:40:00] <viperhoot> Daré una descripción de qué significa cada una
119 [18:40:21] <viperhoot> Package: el paquete al que hace referencia el error
120 [18:40:27] <viperhoot> en este caso es firefox-3.5 (ubuntu)
121 [18:41:00] <viperhoot> en cualquier otro tipo de bugs, el paquete no necesariamente aparecerá
122 [18:41:12] <viperhoot> por lo que tendremos que ubicarlo desde la opción "Choose..."
123 [18:42:04] <viperhoot> como decia s un poco complicado cuando no tenemos mucha información acerca de cual puede ser el paquete al que hace referencia el reporte de error
124 [18:42:18] <viperhoot> En esta página:
125 [18:42:22] <viperhoot> https://wiki.ubuntu.com/Bugs/FindRightPackage
126 [18:42:51] <viperhoot> en inglés (trataré de traducirla en lo que va de la semana a ver si se ayudan de ello ; ) )
127 [18:43:04] <viperhoot> nos dan sugerencias de cual puede ser el paquete adecuado de acuerdo lo que dice el informe
128 [18:43:25] <viperhoot> Por ejemplo: si son fallos relacionados a firefox (como este caso) probablemente el paquete sea "firefox-3.5"
129 [18:43:44] <viperhoot> si son fallos relacionados a la impresora, seguramente el paquete sea "cups". Tienen toda una guia en ese enlace ;)
130 [18:44:11] <viperhoot> en nuestro caso del bug de demostración relacionado a firefox: el paquete es firefox-3.5
131 [18:44:37] <viperhoot> En la sección Status (estado), la opción New (nuevo) es como ya dije, el estado de cada nuevo reporte
132 [18:45:04] <viperhoot> El incompleto (incomplete) generalmente se marca por alguien que adopta este reporte y requiere mas informacion que consultar a la persona
133 [18:45:29] <viperhoot> Confirmado (Confirmed) es bueno.. , cuando el reporte tiene la informacion suficiente y el bug es reproducible.
134 [18:45:38] <viperhoot> tambien existen otros estados
135 [18:46:03] <viperhoot> Fix commited (Se ha enviado la corrección del problema a los desarrolladores pero aun no se ha publicado en los repositorios)
136 [18:46:24] <viperhoot> Fix released: La solucion al problema se ha publicado oficialmente en los repositorios
137 [18:46:43] <viperhoot> Won't fixed: Esto es un poco controversial y significa que no puede ser reparado.
138 [18:47:01] <viperhoot> In progress: Se esta trabajando aun para solucionar este problema
139 [18:47:25] <viperhoot> hay un estado en particular que no se puede marcar ya que es necesario ser parte del equipo ubuntu bug control para setearlo y es el estado Triaged
140 [18:48:01] <viperhoot> La sección Importance (importancia) tampoco se puede modificar ya que es necesario pertenecer al equipo de ubuntu bug control para ello.
141 [18:48:34] <viperhoot> La opción Assigned to (Asignado a) Dependiendo de quien le hará el seguimiento al paquete (Nadie, Yo, o algun equipo, por ejemplo, kernel team, gnome team, etc)
142 [18:48:57] <viperhoot> Trabajaremos con el reporte ficticio sobre un error de Firefox al ver xxxx página
143 [18:49:49] <viperhoot> Ya estamos en la página del reporte de error, es hora de hacer triaging completando los datos, aquí cualquier de los assitentes puede hacer la modificación respectiva :P (click en la pestaña que aparece debajo de la opción affects)
144 [18:50:12] <viperhoot> No es necesario hacer ninguna modificación al paquete, puesto que ya está fijado con firefox-3.5 , sólo faltan cambios en los otros puntos
145 [18:50:54] <viperhoot> Para rellenar la sección estatus: Debemos de tomar en cuenta cómo se encuentra el reporte, aquí entra mucho en juego el sentido común y la práctica constante de trabajar clasificando bugs.
146 [18:52:07] <viperhoot> Por ejemplo nuestro reporte cuenta con muchos datos de referencia, y digamos que hemos replicado los pasos y tenemos el mismo error en nuestras pc's, en este caso eligiremos que el bug es real, cambiaremos la opción Estatus a Confirmed (confirmado)
147 [18:52:47] <viperhoot> Importance estará bloqueado por defecto, no podremos mover nada allí
148 [18:52:56] <viperhoot> Para rellenar la sección Assigned to: Crees poder trabajar en una solución a este error?
149 [18:53:09] <viperhoot> En este caso no será así, por lo que dejamos la opción en Nobody.
150 [18:53:37] <viperhoot> Si lo deseamos podemos dejar algún comentario acerca de las modificaciones hechas, en inglés de preferencia, aunque esto es totalmente opcional.
151 [18:53:59] <viperhoot> A veces habrán datos que no podamos terminar de llenar debido a falta de información, por ejemplo en firefox para una mejor clasificación del bug
152 [18:54:18] <viperhoot> podremos necesitar saber la versión de java o de flash instalada o la cantidad de extensiones extras instaladas
153 [18:54:30] <viperhoot> Un buen lugar para solicitar esta información al autor del reporte es en la sección de comentarios ;)
154 [18:54:52] <viperhoot> Hay una serie de respuestas predefinidas para diversas situaciones de los reportes, las pueden revisar aqui: https://wiki.ubuntu.com/Bugs/Responses
155 [18:55:03] <viperhoot> *Recuerden que deben estar escritas en inglés, así nos entendemos mejor todos ;)
156 [18:55:26] <viperhoot> Como última opción está la de marcar la casilla "mail me about changes to this bug report" si queremos estar atentos acerca de las modificaciones hechas a este reporte de error por parte de otros colaboradores
157 [18:55:38] <viperhoot> con mensajes informativos a nuestro buzón de correo. Una manera sencilla de hacerle seguimiento.
158 [18:56:05] <viperhoot> Guardamos nuestros cambios (Save Changes) y gracias a que hemos rellenado datos clave, ya hemos clasificado un bug! Ahora será más sencillo para los desarrolladores de aplicaciones ponerse a trabajar en los fallos.
159 [18:56:31] <viperhoot> reo que eso es todo para empezar con el trabajo de triaging.
160 [18:56:52] <viperhoot> Algunos enlaces que les pueden servir para reforzar esta breve charla
161 [18:56:57] <viperhoot> https://wiki.ubuntu.com/Jams/ES/Bugs
162 [18:57:00] <viperhoot> https://wiki.ubuntu.com/BugSquad/KnowledgeBase/
163 [18:57:03] <viperhoot> https://wiki.ubuntu.com/Bugs/EasyTasks
164 [18:57:07] <viperhoot> https://wiki.ubuntu.com/Bugs/HowToTriage
165 [18:57:17] <viperhoot> Aquí finaliza la charla sobre cómo trabajar con bugs
166 [18:57:23] <viperhoot> Por mi parte gracias por su atención y ojalá les haya gustado ;)
167 [18:57:31] <viperhoot> Dudas en #ubuntu-centroamerica-chat
168 [18:57:53] <alucardni> muchas gracias viperhoot
169 [18:58:20] <viperhoot> Un gusto, nos leemos en alguna otra ocasión ;)
UbuntuOpenWeek_ES/openweekKarmicLog/BugsTriaging (last edited 2009-11-04 02:51:36 by pc161137)