.
Moshi Moshi:
si, ya se que tengo post retrasados, sry ando con una mega sobrecarga de trabajo, pero bueno así como un brake – mientras termina de escanear esa pc – me pongo a escribir esto… – son las 4:00 am- ….
La PatoAventura de hoy empieza hace 2 semanas, cuando un compa me trajo un CPU para que le eche la mano, pq tenia información súper importante, que no podía perder, y la pc tenia virus.. por la carga de trabajo que tenia-tengo- le dije que lo revisaría en unos días… y hoy recién revise esa pc…..
Diagnostico Previo:
- La Pc prendía, y entraba a Windows, aunque de un modo súper mega hiper lento….
- tenia el administrador de tareas, el registro, el DoS deshabilitado, cuando uno intentaba acceder a alguno de ellos, salía una pantalla negra, con una leyenda de que la fuente de poder no emitía suficiente calor y que había que incendiar la pc – mas o menos eso decía, no recuerdo bien-
- tenia oculta la carpeta windows, windows\system32, windows\inf , windows\system32\grouppolicy, entre otros.
- los virus escondía las carpetas y creaba a su vez archivos.exe –tenia varios virus - con el nombre de la carpeta e icono de una carpeta para que uno le de click.. se abría la carpeta, pero uno se re infectaba …
- accesos a propiedades tbm estaban restringidos…..
Propuesta de Posibles soluciones :
- Entre las cosas que se me ocurrió hacer, era formatear… pero Oh problema!!, no debía formatear – por el programa que tenia esa pc el cual fue construido a la medida y ya no había instalador-.. ósea? opción No aplicable.
- utilizar un programa llamado reg-unlocker o parecidos para quitar las restricciones…., el cual no dio resultado alguno, pq el virus deshabilito todo, sumado a que era windows xp home edition .. Solución No Aplicable.
- Intentar saltarse la restricción de bloque de registro, intentando entrar x el gpedit…. pero oh, era una pc Home edition.. no aplica el gpedit… y sumado a eso el virus había infectado al mmc.exe… así que al llamar a alguna consola msc… salía la pantalla negra…,en otras palabras…Solución No Aplicable. .
- Formatear…. que NO!, con un demonio… – si yo mismo me la raye!- , no podía formatear…. de nuevo… Solución No Aplicable.
- Intentar ejecutar algún antivirus, e intentar desinfectar la pc… hmm posible solución interesante…, veamos como funciona…
Poniendo en practica la probable solución :
- como ya e contado antes, soy una especie de tester para eset-o quizá mejor seria llamarlos partner- y tengo el antivirus nod32 –original-, asi que me puse a instalarlo…., de plano, no se instalaba bien, ya que uno de los virus, infectaba los ejecutables que se copiaban en la pc, además de que al no haber acceso al registro… luego de instalado todo, no funcionaba el kernel del nod32.. y por lo tanto era un antivirus inservible – en ese caso-, en otras palabras… el nod32 no podía hacer nada, en ese estado….. Intento en Vano.
- entonces….
Y entonces…. :
se me ocurrió intentar poner el microsoft security essentials, el cual confieso que lo había menospreciado, pq muchos de los virus que colecciono, no los habia detectado… –via virustotal-, pero como no tenia opcion… lo intente…
Opiniones iniciales sobre Microsoft Security sEsentials :
- curiosamente si llego a instalar, aunque recién al a tercera reiniciada, prendieron los módulos de escaneo..- el nod ni asi pudo-.
- Es tan simple, que ps se vuelve complejo ya que no da mucha información de lo que va haciendo…
- El escaneo es lento….- sobre esto ahondare ahorita-
- la desinfectada es lenta … – se entiende en este caso pq estábamos tratando con virus en la memoria – reinicie varias vece y si lo pudo quitar de la memoria -
Chingao, no que se gano tu respecto? tons como…. pues! :
- Curiosamente parecía ser algo lento y consumidor de mucha memoria…, pero avanzaba, y me puse a ver como era su escaneo, algo que pude notar : ….
- A diferencia de los antivirus tradicionales, que analizan archivos de la A a la Z con un determinado orden, y no vuelven a pasar por donde ya estuvieron… el antivirus en cuestión, no solo pasa por los archivos de sistema –windows- , sino que cuando va revisando otros programas a su vez revisaba las dependencias del programa.., a que me refiero? a que si X archivo cuando se ejecuta llama al archivo Y.. entonces el MSE tbm analiza a la dependencia…., pero eso no es todo…
WTF??
- Además de hacer el escaneo a dependencias de archivos, este tbm se fija en las dependencias a nivel de registro, para ver errores en ellas o dependencias a virus!, y no solo escanea el registro… TAMBIEN LO REPARA!!, a diferencia de otro antivirus, que solo se ocupan de quitarte el virus, pero no te dan la cura…, en cambio este si hizo varias modificaciones al registro.., si bien no todas –no es perfecto- si la gran mayoría, los restantes pude repararlos mediante el “regunlocker”
- Si bien el antivirus es lento, sirvió lo suficiente, como para eliminar los archivos en carpetas de sistema, y referencias a virus…., y me dejo instalar el nod32..-ya tengo control nuevamente de la pc- y ya con el nod hice un escaneo que va a mucho mas velocidad que la de el… y termino de eliminar las demas copias del virus que estaban repartidas por toda la pc.
Conclusiones:
- Si bien el “microsoft security essentials” es algo pesado y lento, cumple su cometido, ya que puede instalarle – al menos lo que vi- en territorio hostil.. y hacer su trabajo…, no solo quitando virus, sino en la medida de sus posibilidades reparando entradas de registro…
- la parte grafica del antivirus no es muy de mi agrado – ocupo cosas mas avanzadas- pero como cumple su cometido… es perdonable.
- para ser un producto gratuito, no esta nada mal, lógico para instalarlo, te pide que tengas un windows original.
- No importa que sea lento y pesado? … creo que mientras cumpla bien su trabajo, estará bien… y esta vez si cumplió…
- la pc ya es funcional de nuevo, y sin formatear la pc…, gracias a microsoft security essentials…
- si… se siente raro recomendar un producto de ms.. ya que en su mayoría de veces normalmente digo las cosas malas… jeje, pero esta vez si se lo merecía.
- de donde pueden bajar ese antivirus? : http://www.microsoft.com/Security_Essentials/
Tons Recomiendas ese antivirus? :
la respuesta es simple , SI, si lo recomiendo a Microsoft Security Essentials , al menos por el trabajo que hizo hoy, – o bueno ayer- si me rindió,a razón de sus posibilidades,pero lo hizo; lo lento del antivirus, se equipara con el poder del mismo, solo espero que las definiciones del mismo esten siempre actualizadas.
Confieso que menosprecie a este antivirus antes de usarlo, me equivoque, y sinceramente estoy feliz de haberme equivocado.
pdta:.. vuelvo a dormir.. ya son las 4 :42 am… y al rato tengo que ir a la oficina…. odio los lunes!,
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
les cuento 2 historias…., de esas que casi nunca ocurren –mínimo unas 500 veces al día en todo el mundo - en un lugar muy muy lejano – quizá a 5 metros de Uds.-, cualquier parecido con la realidad, es pura coincidencia!!.
1 - El y Su Amado Excel:
Era una persona, común y silvestre, que había estudiado alguna carrera de administración o
quizá contabilidad o derecho, pudiera ser hasta “secretariado computarizado bilingüe” – y en mas extraño de los casos puede ser medico-, el punto es que sus bastos conocimientos de computación –o informática- se extendían a un curso de “computación u Ofimática” de unos 6 meses – o quizá un poco mas-, sabe manejar a la perfección el Word, Excel, Outlook y el PowerPoint es súper especialista usando el MSN y sabe aplicarle parches para usar varias cuentas de Messenger a la vez, sin contar sus amplios conocimientos en Hi5, MetroFlog, FaceBook; esta persona como tal, siente que ya sabe lo suficiente y no le interesa saber mas de “computación”, ya que sabe que si tiene algún problema, existen unos seres extraños al que llama nerds, y que por mas que entre ellos se llamen “geeks”, para el son “nerds mejor vestidos”. se siente satisfecho con lo que sabe, y quizá lo único que le interesa saber es de donde bajar mas iconos para el Messenger.
Esta persona común y silvestre –si, de esas que andan sueltas por allí-, “implemento” u “organizo” su área, metiendo sus conocimientos de “informática" -a su modo-, lo que antes se manejaba en papel, el lo movió a “archivos de Word y/o Excel”, hizo sus plantillas, toda la información que ocupaba “organizada”, la tiene en múltiples archivos de Excel “muy ordenadamente, separados por semana o mes” , cuando tiene que escribir un reporte, sabe que tiene una hoja base en Word, y solo hace “copy and paste” , y agrega una nueva hoja a su archivo de Word o modifica el existente; si algún día su jefe ocupa un reporte en graficas de los datos que maneja, puede crear una grafica en Excel o importarla a Word, o si ocupa unos nuevos cálculos, los puede hacer en unos 15 minutos usando las formulas de Excel. En otras palabras, el trabajo que realiza, a su forma de ver, esta organizado y tiene todo lo que ocupa, por mas que su jefe diga que el es ineficiente, el siente que tiene todo controlado, con sus macros y formulas, con sus hojas de Word, esta cómodo, ya que siente que no ocupa saber mas de las computadoras – solamente ocupa saber como ganar al maldito solitario y/o buscaminas, que siempre lo vence-, es una persona que contantemente se actualiza en su profesión – la que sea-, va a cursos de actualización, y para no perder el ritmo fue a otro curso de ofimática, donde le enseñaron a usar la ultima versión del office.
Un día, llego lo llamo su jefe y le dijo que iban a “mejorar” su área, que habían contratado a una consultora que les haría un sistema, que mejoraría el proceso de la empresa y este conseguiría que se logre ahorrar tiempos en el trabajo y tendrían un mayor control, de todo lo que pasa en la empresa, mientras su jefe decía todo esto, esta persona común y silvestre solo pensaba “pero yo tengo todo controlado, se que archivo de Excel tiene que información, se generar mis reportes, se hacer los cálculos, seguro andan pensando en reemplazarme por una maquina como esos robots de la TV, y me quedare sin trabajo” –aunque suena ilógico, hay quienes de verdad terminan pensando así-, y le presentan a ese ser extraño que “ mejorara los procesos y automatizara su trabajo”…
este ser extraño le hace muchas preguntas, lo interroga de todo y el le cuenta aunque por dentro sigue pensando que será reemplazado por algún robot, y como se siente en “peligro” , siente que no debe decirle todo o quizá simplemente de la pura presión, se le olvida hacerlo..; esa consultora cuenta un un “especialista en usabilidad y diseño de interfaz”, que iba a hacer que sea “fácil de usar”.
y llega el día en que le enseñan el “nuevo sistema”, se le hace algo extraño, e totalmente diferente a su tan amado office, le parece un rectángulo con muchos botoncitos e iconos, allí no sabe donde están las cosas, por mas que le dan un curso de capacitación, se le hace complejo, además que si hacer algunos cálculos, no puede hacer sumas en las celdas de al lado “ por que no hay!”, y si ocupa nuevas cosas tiene que hacer un pedido, luego esperar unos días o semanas, ademas de que tiene algunos problemas que los seres raros llaman “bugs”, para el todo esto es muy pesado, el extraña su amado Excel y Word, donde si tenia un error de calculo, solo modificaba y listo; y entonces llego un día, había una reunión y en esa el jefe le pidió de “ya” un reporte especial –con sus graficas y todo, ya que los jefes solo saben leer graficas- y “oh sorpresa” el reporte no existía en ese famoso sistema, llamo a los seres raros y ellos le dijeron que en unos 5 días estaría el reporte, luego de algunas discusiones, le dijeron que para el día siguiente, pero el los ocupaba de ya, así que agarro algunos datos de otro reporte, abrió su tan amado Excel copio los datos que ocupaba, y genero su grafica, todo esto en una 1 hora – mucho menos que lo que tardan los seres raros-, y de alli se colgó para comenzar a bombardear a ese sistema…, luego de un tiempo, el sistema dejo de ser usado, y el Volvió a su amado Excel.
2 - Amor al Word por toda la vida!
Otro Caso es de un Medico, que hacia los reportes de las consultas de su consultorio en "en Word”, tenia muchos muchos archivos, y un día fueron a ofrecerle un sistema, le costo una buena cantidad –le cobraron bien, pq es doctor y dicen k puede pagar- el lo pago, pensando que le ayudaría, e igual recibió un cuadrado, que no se parecía en nada a su Word, con muchos rectángulos donde le dijeron que metiera los datos, y donde tenia que escribir el diagnostico, no veía forma de resaltar los aspectos importantes, – negritas, subrayado, etc- luego de un tiempo, los seres extraños, hicieron unos botones para que pueda hacer eso, pero no era tan cómodo y simple como su amado Word, que por mas que le decía que tenia una copia pirata, aun le dejaba hacer las cosas como el quería, luego de un tiempo…. dejo el sistema y volvió a su tan amado Word..
Por que Sucedió esto?
así como estos casos hay miles y miles, de proyectos que terminaron en fracaso, y ojo, no me refiero necesariamente a los proyectos que están súper mal programados.. – eso es otro tema –, en muchos casos, es por que los usuarios son personas que no les interesa estar actualizados “tecnológicamente”, no saben, ni les interesa saber que existen cosas como silverligth, Ajax, WPF, etc. personas que tienen carreras no relacionadas con cosas de tecnología, mas que con cosas de ofimática, personas que están mas preocupados en actualizarse en cosas relacionadas con su carrera, que en cuestiones tecnológicas, están cómodos con su forma de trabajar con el Office y tienen gran resistencia al cambio, muchas veces son los causantes de “serruchar, grillar, o promover que un sistema deje de ser usado” ya que comienzan a ver todos sus “problemas”, los cuales básicamente son “por que el office me hace esto y el sistema no?” , aunque parezca ilógico, hay sistema que fracasan por eso, por que esos usuarios comunes y silvestres, no se acostumbran a esa nueva interfaz, ya sea web, win , RIA, etc… por que simplemente no se acostumbran – y no le da la gana de acostumbrarse –, en teoría lo usuarios deberían usar si o si el sistema, pero la realidad muestra que muchas veces, estos son saboteados por los mismos usuarios, o hacen a propósito el trabajo mas lento… y esto por que?
ellos solo quieren usar el office y nada mas, para nuestra suerte desde hace un tiempo existe algo llamado
Visual Studio Tools for Office – VSTO
y que 3#$#$%#$%# es eso?
Son herramientas, que están en el Visual Studio –desde el VS 2005 con modo gráfico, ya que en 2003 era como un beta, muy limitado –, las cuales nos dejan desarrollar aplicaciones para office, y OJO, no me refiero a VBA, esto es totalmente diferente, ya que se pueden usar los lenguaje VB o C#, la programación es muy parecida a Windows Form, con la diferencia que en el ide del Vs en vez de ver un formulario, veremos una hoja de Excel, o de Word, –además de poder hacer add-in muy fácilmente-, pero que beneficios tenemos aparte de esto? :
- Podemos aprovechar la funcionalidad existente del Office: cuestiones como guardado, importación, exportación, graficas, corrector ortográfico, ya están incluidos, listo para usar por el cliente, sin que nosotros tendríamos que programar algo extra, aunque como es lógico, mediante programación podemos usar y extender esas funcionalidades, esto nos ahorra mucho tiempo de programación ,de cosas repetitivas.
- Interfaz Amigable para el usuario : Muchas veces la resistencia al cambio, del usuario es por que no se siente seguro con la aplicación, pero si le damos una aplicación que este dentro del office, de entrada el usuario se sentirá mas cómodo de usarlo, ya que sabe donde se encuentra mucha funcionalidad, y solo hay que indicarle que mas se le a agregado; con esto, la resistencia al cambio es mínimo o nulo.
- El Usuario puede hacer Cambios sin ocupar llamar a soporte constantemente : ya que las demás celdas o funcionalidad, no quedan bloqueadas – por defecto-, si el usuario por ejemplo ocupara hacer un grafico X de los datos que le muestra el sistema, no ocuparía llamar a soporte, solo lo haría como ya sabe hacerlo, o igual si ocupa modificar un reporte – una suma, un calculo extra-, el usuario podría agregar los campos que ocupe, ya que sabe usar el Excel como tal sin ningún problema.
- soporte para trabajar “Offline” – en casa – : como el office ya de por si puede guardar datos, podemos configurar la aplicación, para poder trabajar datos, en modo offline – trabajo en casa les suena?- y ya cuando vuelve a la oficina, la aplicación actualizaría la db y esto sin necesidad de instalar alguna db “imagen” en el cliente.
- Soporta Lenguajes .NET : al estar dentro de .net, podemos usar los lenguajes de programación .net que usamos comúnmente, así que no habría que saber otro lenguaje de programación, lógicamente si cosas inherentes al VSTO – como trabaja- pero nos ahorramos el lenguaje.
los que mencione son algunas de las funciones, y las que a mi parecer son las mas destacables.
ahora si les cuento, hace unas 2 semanas, platicaba con un amigo y me dijo que por que no publicaba los borradores que tenia – post- y bueno, digamos que me convenció, y los iré sacando, -en el orden de la cola en que están – , y de los mas antiguos que tenia eran sobre VSTO, así que sacare varios POST, sobre como es el desarrollo para office, el cual uso en mi trabajo y los usuarios que lo usan están muy satisfechos, intentare compartirles mis experiencias y tips de como programar allí, desde un “hola mundo” hasta aplicaciones mas avanzadas, y luego –quizá- si hay gente que le interese, hasta podría hacer un – o varios – webcast al respecto, lógicamente dependiendo del interés de la gente, según cálculos, enviare mínimo 1 por semana.. y si se me olvida, plz hágamelo recordar plz.
creo que sin querer me salió otro testamento – será posible que alguna vez envíe uno corto?? –, este fue la introducción, en el siguiente voy a mostrar ya de un modo técnico como trabaja el VSTO.
casi me olvido, lógicamente todo esto será con Visual Basic !
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Situacion:
platicando con un amigo, encontramos una situación algo compleja, ya que leyendo el boletín de Microsoft sobre los Problemas de Seguridad en IE allí dice explícitamente
justamente en una platica con un amigo de Microsoft el me decía que “ Windows 7 no es afectado” , y yo le decía que si… y el me dijo “ es la información oficial”.. (http://www.microsoft.com/technet/security/bulletin/ms09-034.mspx)
hace unos momentos me acerque al historial de actualizaciones y vi esto:
y en esa imagen dice que “ si es vulnerable”, así que en primera instancia se ve una contradicción... pero veamos… a que se deberá esto?
Mis Suposiciones – ya que no tengo información oficial al respecto- :
- La Versión RC del Win 7 – la que todos los mortales que no son empleados de MS y no están con el Partner Program(solo unos cuantos selectos, creo que los OEM y quiza unos mas) tenemos, ya que ellos ya usan el RTM- si es vulnerable al problema ese – no olvidar que tenemos el build 7100 y el RTM pasa el 7600 –.
- Al ser un Producto Beta – ya que públicamente aun no llega a la gente común y silvestre el RTM- ms no lo quiere marcar en la lista – un bug menos- y ponerle el parche cuando salga al publico – 6 de agosto – o en estos momentos recompilarlo… .
- el build 7600 ya NO es afectado por ese bug, pocas personas en este planeta pueden verificarlo… al menos yo no pude, ya que aun no tengo acceso al RTM – y por suerte solo tengo que esperar unos cuantos días mas, ya que ms ya dijo que siempre si me lo dará free jeje-
fuera cual fuera el caso, la realidad es que el Win 7 RC, la que miles de personas tienen y lo tendrán usando hasta el próximo año SI es afectado por el bug antes mencionado, me parece algo malo que Microsoft no lo mencione en la lista de programas afectados, por mas que sea un software beta, ya que Microsoft mismo distribuyo masivamente el RC.
por mas que sea un software Beta, se debe de ACTUALIZAR WINDOWS siempre, justo platicaba con otro amigo que tenia el RC, y me dijo que no tenia ni un solo parche del win 7 instalado.. “ por que era beta” … espero los demás no cometan el mismo error, sea beta o no, si es afectado por un bug, son vulnerables a ataques…. y como ya saben, es mejor prevenir que lamentar.
En Conclusión:
Windows 7 RC SI ES AFECTADO POR EL BUG DEL MS09-034, asi que deben de actualizar windows!
si quieren revisar la información oficial, pueden verlo en : http://www.microsoft.com/technet/security/bulletin/ms09-034.mspx
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
por msn me envio un compa unos links que son virus…: ( cuidado con los links k descargan un virus en .exe… no lo ejecuten… )
el primer mensaje decia :
“ oye viste este video donde dicen q michael jackson puede estar vivo :X http://UNIVERSALNOTICIAS.tk/michael-jackson vivo ese miralo “
y luego este otro :
“ehy estas ahi?? bueno espero que te guste oki? http://POSTALBUBA.TK/?postalid=Julio9877633 “
investigando un poco pude ver que estos estaban hosteados aqui… en este dominio….. http://www.mlib.cnr.it
y mas aun jugando con las url .. pude ver 4 templates para hacer pishing e infectar pcs … –paginas con datos falsos-
http://www.mlib.cnr.it/ARRM1/templates/xos_travelportal/.e/Escritorio/ <— verán 4 carpetas.. cada una es una web falsa…
no se cuanto tiempo esten esas paginas online ya que ya las reporte como virus..seria interesante si las ven…..
casi se me olvida.. los que tengan firewalls bloqueen todos estos dominios… por seguridad de su red.
ACTUALIZACION... HASTA AHORA ESTOS ANTIVIRUS LO DETECTAN : http://www.virustotal.com/es/analisis/807c076c5081b90cdb9c2e4ce4221163f07be2e8d8f5c2c80fe30398068f156c-1248992663 , espero pronto lo detecten los demas tbm
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Acaban de salir 2 boletines de Microsoft con el nivel de URGENTE , donde pide actualizar, en el primero el Internet explorer – todas las versiones, hasta el 8- y en el 2do el Visual Studio 2008 – el texto dice:
MS09-034 / Crítico para las versiones de Internet Explorer 5.01, 6, 7 y 8 corriendo sobre versiones de Windows XP, Vista, Windows Server 2003 y Windows Server 2008 (mas info aquí: http://www.microsoft.com/technet/security/bulletin/ms09-034.mspx)
MS09-035 / Afecta a las aplicaciones desarrolladas con la tecnología Active Template Library (ATL) incluida en Visual Studio. Esta actualización es específica para desarrolladores de componentes y controles. ( mas info aquí : http://www.microsoft.com/technet/security/bulletin/ms09-035.mspx)
Por favor, siga las siguientes recomendaciones:
• La actualización de seguridad MS09-034 para Internet Explorer, es importante asegurarse de seguir los siguientes pasos para protegerse:
- Ejecutar el Windows Update y asegúrese de instalar: Actualización de seguridad No. KB 972260
• La actualización de seguridad MS09-035 para Visual Studio, es importante asegurarse de seguir los siguientes pasos para protegerse:
- Ejecutar el Windows Update y asegúrese de instalar: Actualización de seguridad No. KB 969706
Bueno según lo que aparece en el Windows 7 la descarga del fix para el MS09-34 es de 5.9mb, mientras que la descarga para el MS09-35 es de 365.2MB.
sobre si es bueno o malo… ps solo podría decir “ACTUALICEN, ESTO NO ES UN SIMULACRO”
si bien en el boletín dicen que aun no sea detectado ataque contra estas vulnerabilidades, no duden que en esto días aparece, así como paso con el Conficker la ultima epidemia de virus que ataco este año y se bajo a miles de PC en todo el mundo,eviten desastres, actualicen no esperen que haya una tragedia para hacerlo.
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Hola de nuevo, esta es una cortita, la pongo en caliente, pq sino luego se va a la cola y ya no sale…:
bueno, tengo que aceptar que quizá este post tenga algo de bilis, espero que sea en su mínima expresión.
Antecedentes
esta pato aventura empezó, por que tuve que lanzar un proceso de análisis –automatizado- de una app el cual iba a demorar un par de horas, así que me puse a ver como me entretenía, como había platicado con Eber via twt sobre cuales apps eran mas inseguras las de win32 o las de .net – eso es otro tema… – se me ocurrió probar el hacer el análisis de un archivo obfuscado con un desensamblador tradicional y en un editor hexadecimal.. Vs un archivo la versión original de ese archivo, en este caso era una app win que había echo días atrás, y para esto utilice el OllyDbg 1.1 y tbm el notepad++ con el plugin de fuente hexadecimal.. – si, ya se existe el WinDbg, pero no puedo dejarlos a un lado –..
Y que paso???
Me puse a analizar el código en ensamblador que mostraba, entonces… se me ocurrió ver que cadenas ASCII y las UNICODE – use el plugin “Ultra String Reference” del OllyDbg .. este pluging ademas de mostrarme las referencias del archivo, tbm me mostro las referencias string, de los archivos referenciados y dependientes … y en eso pude ver esto….
cuando vi esto…. recordé unas experiencias previas con win 2k3..
si ven en la parte izquierda, esto viene de “ntdll.dll” una libreria de win7, y esta referenciando a una ruta “ e:\win7rc\minikernel\theranpool\ntdll\waiter.c” – oh win 7 lo hicieron en C xD!”- pero que es esto? simple, parte del codigo de la dll esta referenciando, al archivo fuente, el cual lógicamente no tengo, y además, que esta en otra partición – la cual no necesariamente podría existir en mi pc-, y esto pa que o que? en algunos casos cuando ocurre algun error, o en determinada situación Windows intenta buscar el archivo fuente – para lanzar su depurador – pero “oh sorpresa” el archivo no existe…. como ya deben de saber, el buscar archivos es algo costoso – en procesamiento - y mas aun si no existen, pq pueden lanzar excepciones y ps una excepción provocada por otra excepción pues es doblemente costosa… o me equivoco?.
se que mas de uno ya estara pensando en responder al post con un “es beta”, y justo por eso muestro esto :
es la misma dll “ntdll.dll”, con la diferencia que es del Windows 2003 R2..versión final … escogí la imagen al hazar, y la dll tbm, ya que no son las únicas con este “detalle”, si se fijan en este caso los archivos con “.CPP” ósea que al windows 2003 r2 lo programaron en… ? xD!, pero bueno, no nos salgamos del punto….
Cual es el punto?
el punto es que los programadores de Microsoft, dejan referencias a rutas absolutas de archivos “fuente” dentro de sus dlls, las cuales luego son llamadas por X o y motivos… y estas al no estar presente lanzan a su vez otra excepción, que conseguimos con esto? simple… que nuestros win respondan de modo mas lento, ya que todas las excepciones no controladas son muy costosas – asi como las novias que son “pedilonas xD” -
creo que cualquier administrador de server decente -y especifico decente, pq el echo de meter el disco y darle next a todo no los hace un administrador de server..- y cualquier otra persona que sea muy fan de ver el visor de eventos, a visto alguna vez en su vida, un error marcado casi sin motivo al parecer alguno en el visor de eventos, donde el mensaje dice “no se encuentra el archivo d:\nt\base\ntdll\……” y uno nomas dice “juat!??” , esto muy común en Windows 2003 - ojo, win 2003 me parece un muy buen sistema operativo, pero de todas maneras no se escapa de esto –.
Personalmente aun no entiendo el por que los programadores de Microsoft hacen esto, para una app que usaran personas que no tienen el fuente a la mano…, ya que habrían otras formas de ubicar la fuente del error, sin tener que hacer llamadas a esos archivos.. la verdad no les entiendo, ya que evitando esto, podrían hacer que windows sea un poco mas estable…, la verdad cada vez los entiendo menos….
se que hubiera cerrado con broche de oro, mostrar una imagen del filemon donde sale la llamada a ese archivo o el visor de eventos, donde se hace una llamada a esos archivos, pero no e podido sacar aun una serie de pasos repetibles sobre como hacer k aparezcan estas llamadas y ando con mucha chamba … – las cuales ya me han pasado varias veces - , y aunque este tipo de “situaciones” no se ejecuten todos los días, pueden hacer que un día X cuando estemos con alguna aplicación critica, truene algún proceso y este a otro y esta bolita de nieve se vuelva una avalancha y sea algo mas fuerte - ya me paso… –, si mas adelante me sale uno, lo agregare a este post….- un screen shot -
que podemos hacer nosotros en estos casos ? … lamentablemente nada… y solo rezar por que no nos pase… y tbm rezar pq ms deje de hacer esto en las apps de producción …
por situaciones como esta, es que recomiendo siempre que al listado de pruebas por hacer, se haga una revisión al archivo desensamblado, para ver que posibles detalles se podrían encontrar por allí…, lamentablemente no muchos lo hacen.. :(
postdata: las imagenes que puse alli son al hazhar... si quieren verlo por sus propios ojos, las cientos - si es que no miles - de llamadas... pueden buscarlo uds mismos .. ;) ....
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
tenia esta respuesta pendiente.... al post de jersson, con respecto a la pregunta que hice en el twitter
personalmente creo que SI es una moda, esto de "ser agil", o usar "SCURM"....
y antes que salten encima con sus uñas, aclaro, que intentar mejorar no me parece malo, ni tampoco que se use scrum - bien aplicado- ...
algo que ley muy seguido en el twt es "sentido común".. y curiosamente eso mismo es lo que me parece el "manifiesto agil", es algo tan obvio, que el echo que gente se haya tenido que juntar para poder darse cuenta de eso, demuestra lo mal que estaba la industria del software.
Lamentablemente la industria del software es de las menos serias entre todas las profesiones, aunque, eso si, muchos hacen el esfuerzo para corregir eso.., lo malo es que no hay un verdadero norte..., todas son especulaciones, sobre como se podría mejorar, y le digo especulaciones, por que no todas las soluciones funcionan para todos..- en un momento completo la idea-.
se quiera o no aceptar en la industria del software, todo se basa en fondo de "que autor eres fan", si eres fan de don box, de Watts Humphrey, de alguno de los los scott, de Kent Beck, etc.., muchos autores para muchos temas, ya sea cmmi, xp, scrum, etc...., a diferencia con las carreras mas formales, donde uno puede leer a un autor X y por mas bueno que sea, no fanatizarse con uno u otro aspecto, al menos en mi carrera original, podia leer muchos libros de diferentes autores, sobre procesos, reacciones y demas, pero ninguno le ganaba a los datos, que eran irrefutables, en soft eso no se puede hacer... por algo muy simple... el factor humano.
lo que cuenta la historia..., -lógicamente todos buscando la solución a los problemas..-. en el desarrollo de software.. quieran o no, se crearon modas… , entre los mas resaltantes estuvo la OOP, luego recuerdo que en Perú llego la moda del RUP, - pude ver a muchos mvps, y demas en ese tiempo k a todo lo veían con ojos de RUP, esto hizo que muchos sigan a rup- luego llegando a México pude ver la moda del CMMI, en tecnologias microsoft, hubo la moda del dataset, luego tbm vino la moda linq,- y junto con pegado LinQ2SQL, el WinME de .Net-, cuando se hizo obvio que linq2sql no era "muy bueno" - oh sorpresa- luego muchos se fueron corriendo a EF...- , y hace poco - por mas que estuvo mucho tiempo en beta- ASPNET MVC..., una de las modas que mas me causo risa, y que aun sigue, es la de Sharepoint, el cual salió hace mucho... la gente lo veia y nadie le hacia caso, - en ese tiempo yo use implemente y recomendaba SharePoint-, y luego algún famoso - no se aun quien fue- mostros a SharePoint.... y OH WOW... luego otro grupo tras de SharePoint... en este medio, no importa que la tecnología exista de tiempo atrás.. solo importa si algún famoso lo muestra y dice que es cool... para que corra un gran grupo tras de esa tecnología/ metodología, etc...
y ojo, no digo que esas tecnologías / metodologías sean malas...- bueno a excepción de linq2sql, que si opino que es el peor error de ms de los ultimos años-, sino que la gente no se basa en investigaciones, en estudio, en evaluaciones, sino se basa en lo que otros opinen al respecto..., y eso mismo lo e visto aqui en geeks.ms.. por eso es que le llamo moda.
un ejemplo claro, en Perú y España a pegado mucho esta moda, en España me parece claro y lógico, por que muchas de las personas mas resaltantes optan por esta tecnología, - y estoy seguro que en base a investigación y evaluación-, y eso llevo a que otros se sumen – no muy estudiosos- , en peru dependen mucho de lo que digan los autores de eeuu con respecto a .net - y eso lo e visto en muchas personas, y "celebridades" -, en cambio, aqui a México llego hace un par de años Watts Humphrey , era logico que venga, ya que el ITESM tiene convenio con Carnegie Mellon University, vino y explico sobre PSP y TSP, la gente quedo impactada, y acto seguido, todos querian llevar PSP Y TSP, esto pego tanto, que actualmente en la maestría de ing de software, tocan básicamente PSP Y TSP, en las universidades se esta enseñando, y empujan a los alumnos a certificarse en PSP, y les dicen que "con eso arreglaran sus lios", sin fijarse en las capacidades de las personas.... , me pregunto, que hubiera pasado si Watts hubiera ido a peru en vez de a mexico?... xD!!?
Intentar seguir técnicas "Agiles" es malo? definitivamente no, pero una cosa es eso, y otra gritar a los 4 vientos "Soy agil, y vamos te ayudo a que seas agil"... , asi como rodrigo dice, que aparecen muchos "Gurus"... asi estan apareciendo muchos en lo que respecta a agil... ya que ahora "ser agil es ser cool" ...
y si, rodrigo tiene mucha razon al decir que el fondo de la "agilidad", es avanzar con respecto a los procesos que ya estaban establecidos, - como cmmi-... pero ahora viene mi pregunta, cuantos que estan intentando seguir las cosas "agiles" lo son por que han estudiado, analizado, investigado y comparado con respecto a las otras metodologías / tecnicas? y cuantos solo por que vieron a un "compa" en el cual creen que sabe mas y "si el usa cosas agiles es por que es bueno, asi que yo tbm voy a usarlo"..
vamos, querer negar esto, seria como querer hacer agua con tan solo juntar unos átomos de hidrogeno y oxigeno a temperatura ambiente... o para que lo entiendan mejor, querer tapar el sol con un dedo....
pero algo importante - y que muchos aceptan- es que no todos pueden usar todas las metodologias, por ejemplo, a rodrigo le funciona usar SCRUM en su empresa, por que el tiene en su equipo a gente que son muy buenos en su area, y muy inteligentes, pero cuantos pueden darse ese lujo? hablando por el twt con unos amigos, hace poco ellos mismos decian que la realidad es que en el mundo real aun predominan las empresas donde todos hacen de todo, no se contrata personal idoneo y muchas veces hay que verselas con programadores o analistas mediocres...., para poder usar SCRUM o XP -como ejemplo- necesito gente que sea inteligente y proactiva, que no sean personas que les de flojera usar sus neuronas...; pero que pasa si mi equipo no es de los mejores? pues en muchos casos es mejor retroceder un poco a cosas como CMMI o TSP que son mas pesados, mas documentacion, etc etc, pero que podrian darme un mejor resultado, con respecto al tipo de personal que cuento,....., si seguro pensaran que subestimo a la inteligencia de los desarrolladores, pero suene feo o no, es la verdad..., es como en los kentucky, mac donals, etc... sus cocineros no son buenos, pero si siguen el manual al pie de la letra, el resultado puede ser mejor de lo esperado....
si, se que en el soft existe el factor humano, que desequilibra cualquier ecuacion, por eso es que en soft no habra - al menos en los proximos 15 años- una forma real y tangible de hacer soft con una seguridad de hacer soft con cierto % de calidad, con cualquier tipo de personal....
que es lo que dice la definición de moda? según RAE? “Uso, modo o costumbre que está en boga durante algún tiempo, o en determinado país”, esto es lo que se ve, en casi todo lo que respecta a tecnologías/ metodologías, etc…
lógicamente hay quienes si llegan a la conclusión de usar determinada tecnología/metodología/ tecnica, basándose en experiencias previas, evaluaciones e investigaciones, esas personas si tienen mi respecto… pero la mayoría no es asi, solo siguen por que “algun guru local lo hace” .. suene feo o no es la realidad…
estoy seguro que esto de lo agil, scrum y aqui en mex el psp y tsp, seguirán vigente hasta que aparezca algo que los reemplace.... cuando algún gurú local o internacional use otra cosa que sea “mas cool” …
tengo muchas cosas mas en mente, pero bueno al menos por ahora le parare, y repito, la definición de “agilidad” no me parece mala.
les dejo una pregunta? .. SCRUM hace cuanto se creo? hace cuanto estuvo esto de la “agilidad” en el mercado… y desde cuando se hizo “famoso” y “cool” y se volvió masivo? empaten las fechas…. y me avisan..
ahora si, disparen con todo lo que tengan xD!!
Salu2
Dacito Bauer!
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Hola:
les voy a contar mi ultima pato aventura..
Ddaz.mode=Daniel
hoy en la mañana me llego un email, de esos típicos que te dicen que alguien te envío una postal…
a diferencia de antes cuando enviaban este tipo de emails de alguna cuenta inventada, que podía ser fácilmente marcada como “no deseado”, están enviando estos emails de la cuenta “info@hi5.com” que esta tomada como “cuenta normal” y a casi nadie le llega a la carpeta de “correo no deseado” – lógicamente fue enviado desde un lugar que no es el verdadero… en teoría el email viene desde el dominio metropostales.com, y el que envió el email no es el mismo dominio
lo primero que suelo hacer en este tipo de casos es ver el encabezado del email, en hotmail – o live mail – pueden darle con el botón derecho al email y seleccionar “ver código fuente”, les dejo la imagen del encabezado, no borre las direcciones ni dominios originales – para que vean quien fue el que lo envió… -

Al ver este tipo de datos en la cabecera del email es posible estar seguros a un 99.9% de que es un email falso, al dar clic al vinculo – no pude resistirme – me di cuenta que descargaba un archivo que tenia un icono de un circulo y decía claro –si, el de una empresa de telefonía que funciona en Perú –, en este momento ya estaba totalmente seguro que era un virus, solo que aun no estaba muy seguro de que sea de Perú.
en esta ocasión hice lo que siempre hago – soy partner de ESET,si los del nod32 –, y les envío de vez en cuando alguna muestra de virus que encuentro – bueno tbm me gusta coleccionarlos, quien sabe, quizá algún día los ocupe –, lógicamente al ser domingo es lógico que no respondan rápidamente, así que decidí esta vez analizarlo un poquito,
luego me puse a ver las propiedades del archivo y pude ver esto :
Al ver estos datos pude ver que el que creo el virus no es tan metódico, ya que dejo demasiadas cosas sueltas como el nombre del proyecto “Proyecto1” , y el archivo original se llamaba formulario.. e visto virus mas elaborados y no se saltan este tipo de detalles.
el segundo paso era saber con que fue compilado – en que lenguaje se hizo –, para esto use la herramienta “File Inspector XL”, el cual pueden descargar desde esta web http://www.exetools.com/file-analyzers.htm , dándome como resultado :
ya con esto pude saber que lo hicieron con Visual Basic - donde están los que dicen que el VB no sirve ? -
ya sabiendo esto, solo tenia que buscar el descompilador – o desensamblador - adecuado, ya que no todos los desensambladores funcionan con todos los ejecutables, en este caso use 2, uno es el VB decompiler lite y el otro fue el W32DASM – con un parche para referencias VB –, y las imágenes que salieron fueron:
de esta imagen algo que destaca es “MicrosoftUpdateManager” suena a la ventana de Windows update, pero no dijo mucho, así que me fui con el W32DASM.
al abrir el archivo con el w32dasm, y luego ir a la sección de “String references” salieron estos datos – cadenas de texto usadas en el programa y que pudo analizar el de compilador, en frio, vienen datos como :
- “load=C:\windows\system32\updmngr.exe” que debe ser el nombre de como se instalara el Virus, y esto se podría ver luego en el msconfig.
- “http://minux2010.no-ip.org” este es el sitio donde el virus envía /recibe información.
- “c:\windows\system32\drivers\etc\hosts” este es un archivo de sistema que guarda unas urls en cache de la pc… el virus – como muchos – infectara la pc, lo mas común es para que cuando uno abra una ventana del navegador, automáticamente se conecte allí.
- En la imagen se ven algunas secciones como <PRE> y </PRE> así que de aquí se puede suponer que mostrara una ventana con algo de código HTML.
todo esto aun sin analizar en código ensamblador mostrado – que tomaría algo mas de tiempo - y bueno, al menos por ahora es suficiente, ya que es un analisis simple, sin tener que ejecutar la aplicación.
intente correr el programa en una pc virtual con Windows 2003 y en mi pc host con Windows 7, pero como no tenia las librerías de VB6 – msvbvm60.dll - , salió un error y el virus no funciono uhh que pena – si alguien quiere el virus, se lo puedo enviar por email – si es que me lo pide… lógicamente-
Quería enviarles un screenshot de la ventana del virus… pero al menos por ahora aun no me animo a descargar la dll que hace falta, para poder abrirlo….
lógicamente no mostré mucho sobre el desensamblado – cosas que mostrare en un futuro - , el w32dasm pueden encontrarlo en “Crackerskit 2” – googleando lo encuentran – o tbm en esta pagina http://www.exetools.com/disassemblers.htm .
Se que esto no tiene nada que ver con .net… pero recuerden que “No solo de .Net vivirá el hombre, sino de todo código que sea escrito y sea funcional.”
con esto respondo el pedido de Ebersys
Ddaz.mode=Dacito
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Estoy últimos días e visto platicas, post ( uno de ellos es este ) y mensajes en el twitter sobre cuestiones “agiles” y temas afines, aunque un tema en particular atrajo mi atención, es sobre TDD o como algunos lo conocen, y ya no pude evitar querer dar mi opinión al respecto; aunque antes que nada me veo obligado a dar unas premisas, en las cuales basare mi “punto”
Premisas ( o como las quieran llamar) :
- No todos los Programadores tienen el mismo Nivel : Esto es conocido por todos, aunque no aceptado públicamente – cuestiones de orgullo –, así como hay programadores que no necesitan documentación – un amante de gnu por allí de ejemplo? –, y otros que no necesitan pruebas unitarias para hacer programas con cero errores o quizá un numero mínimo de ellos… así también hay programadores, que con toda la documentación, capacitación y pruebas unitarias les falla la aplicación.. causas? quizá algún gen maligno, magia negra, el chupa cabras, la CIA interfiriendo nuestras ondas cerebrales con algún aparato electrónico a lo “Agente 86”… o quizá algo mas de experiencia y aprender de los errores pasados sumado un poquito de mucho estudio y practica.
- Que exista cierta metodología o proceso, implica que hay personas a las que SI les funciono, pero no significa que a todos les funcionara. que exista RUP, SCRUM, etc. significa que hay personas a las que siguiendo los pasos que le fueron indicados, tuvieron éxito en lo que buscaban, pero esto a su vez no implica que a todos les ira bien, posibles factores son muchos -
- Las Metodologías, técnicas, etc., no son Leyes : aunque suene feo, si obviamos usar determinada metodología “así tal cual viene en la caja”, si evitamos usar rup, scrum, etc etc etc.. esto no implica que nuestro software tenga muchos errores, o no sea optimo, las metodologías solo son una guía en la cual nos podemos basar para intentar tener un buen resultado con un mínimo costo / tiempo, OJO no estoy impulsando a no usarlas, solo quiero aclarar que no es un pecado capital “el no usarlas”, lógicamente que es como el juego de la ruleta rusa, nos puede ir bien o nos puede ir mal, personalmente no soy de los que usa algo “tal cual viene en la caja” sino que lo personalizo hasta poder sacar el máximo rendimiento.
- Un Programador no piensa igual que alguien involucrado a fondo en el área de pruebas – a menos que tenga extrema experiencia en el tema- : en este punto e tenido algunas discusiones – muy placenteras – con algunos colegas; tengo algunos años – no muchos si los comparo con algunos de los maestros que rondan por aquí en geeks.ms – e trabajado junto a desarrolladores de al menos 2 países ( Perú y México) y con mas de 6 años de experiencia en pruebas, y e podido constatar – eso sin tomar en cuenta a lo que ya dicen muchos respecto al tema –, que la forma de pensar de un programador “promedio” – ojo con la premisa 1 - su forma de ver las cosas es como “construir” algo, su mente este abocada a armar software y es muy difícil – por no decir casi imposible – en pensar a fondo en pruebas, lógicamente se le ocurrirá una que otra, de cosas simples o básicas, pero no de las que son a profundidad; a diferencia de alguien involucrado en pruebas – y no me refiero a los pica botones – en el cual su mente esta abocada a “Destruir” y pensar en como destrozar algo que otro realizo, se que muchos me dirán que no es cierto, pero e realizado la prueba con muchos programadores -soy del tipo que le gusta hacer experimentos son la gente- y los resultados fueron muy claros. Lógicamente hay personas con algo de experiencia – y que no tienen perdida de memoria - y con el transcurrir el tiempo van pensando en pruebas cada vez mas complejas, lamentablemente este ultimo grupo es muy reducido. – no me extiendo mas, sino me auto robo el tema del siguiente post, que espero sacarlo ahora si -
- Una prueba unitaria básicamente es: probar que metiendo A datos a X función me devuelva Y; pero esto no implica que si meto B me devolverá Z: el titulo habla por si solo, me extenderé en esto mas adelante.
- Basarse “solamente” en una forma de medir el software puede ser tu perdición : aquí es simple, el usar “solo X” puede ser la causa que un proyecto se venga abajo, ya que en el software interviene el factor humano, el cual es capaz de romper cualquier regla, en otras palabras, el hombre esta aplica principio de incertidumbre de Heisenberg, y por lo mismo quizá una forma única de ver las cosas nos diría que estamos en lo correcto, mientras que otra medida nos diría que no. ( al hablar de medidas me refiero a pruebas )
Veamos ahora algunos puntos acerca de TDD – por comodidad me fusilare los pasos descritos en wikipedia -
- Escribir El Requerimiento.
- Esto es algo que se repite en cualquier metodología/ y forma de trabajar, el error en este punto varia directamente proporcional al que recoge los requerimientos… aunque de aquí depende mucho el avance del proyecto, sobre que tantos y que tan buenos fueron los requerimientos recogidos –aquí hay material para extenderse otro post -
- Escribir las Pruebas.
- Bueno:
- El fin aquí es escribir el menor código “funcional” – de la app – al hacer que el programador se dedique a generar código que pase las pruebas, estas pruebas están basadas en los requerimientos establecidos, aquí el nivel de efectividad depende de la calidad de requerimientos.
- El echo de escribir la prueba antes que la funcionalidad, nos abre un poco mas la vista sobre que es lo que realmente necesita la aplicación de acuerdo a determinado requerimiento – ya que hay casos en que el error es que simplemente no se entendió bien el requerimiento –.
- Cuando hay cambios en la aplicación, se puede correr las pruebas y verificar que la aplicación “aun” supere las pruebas.
- Las Pruebas unitarias no son el chupa cabras : algo que es absoluto es que Si o SI se tienen que hacer pruebas a la aplicación, ya sea antes o después – como puso Rodrigo en este post , aunque para algunos, escribirlas después hace que ya NO sea TDD-; personalmente las prefiero después.
- Muchos de los beneficios los integro Ibon Landa en varios links de este post, que seria bueno que lo vean.
- Malo:
- El Echo de que TDD pida que se hagan las pruebas antes, implica que el programador hace tareas de el encargado de pruebas : algo que se puede subsanar dando las pruebas para que lo realice una tercera persona, o se realicen luego de escrita la funcionalidad, lo cual podría traer líos con los puristas de TDD
- Algunas veces para intentar cubrir todo, se crean requerimientos redundantes, que traen a su vez pruebas redundantes, lo que implica una perdida de tiempo que se puede entender por perdida de $$.
- En Algunos casos las pruebas terminan siendo mas complejas que la funcionalidad en si, haciendo que mas que una ayuda, sea un lastre para el proyecto – ojo que no es en todos los casos-
- Muchas personas – no aplica en todos los casos – consideran que es una perdida de tiempo escribir las pruebas antes que el código, esto también depende de la pericia del programador y a como este acostumbrado a trabajar, personalmente no soy “fan” de escribir las pruebas antes, aunque si me gusta desde la etapa de requerimientos, definir las pruebas que debería pasar la aplicación.
- que tenga 3000 ( o mas ) pruebas unitarias, no implica que este tomando en cuenta la totalidad de “posibilidades”, ya que una cuestión es probar valores puntuales en funcionalidad puntual y otra muy diferente tomar valores y estados en conjunto, ya que por ejemplo tomando un universo de 10 variables, estas 10 independientemente pueden funcionar a la perfección, pero en conjunto, en determinada situación pueden causar un error, que quizá no será un error de aplicación, sino un error de lógica y a su vez obtener valores erróneos,
- Trabajar con demasiadas pruebas puede hacer que uno caiga en la desesperación como en este caso , que por cierto tiene gran parte de razón, ya que las pruebas se pueden extender infinitamente, y un proyecto que pudo desarrollarse en 3 meses podría extenderse 2 años por el puro echo de ir programando pruebas, a la hora de hacer las pruebas, hay que saber en que punto detenerse.
- Algunas personas llegan a creer que por el echo de que la aplicación haya pasado las pruebas unitarias significa que ya esta lista para irse a producción: Lamentablemente aun hay personas y empresas, que toman a menos a los encargados de pruebas, quizá por que en muchos casos se contrata a personas sin – o muy bajos – conocimientos técnicos y esto hace que los programadores y jefes de proyectos tomen a menos a los del área de pruebas. – aunque si hay casos en el que el razonamiento es justificado –; esto sumado al ego – si, ya se, estoy desvariando, los programadores no tenemos el ego grande, ni tenemos complejo de todopoderosos, son alucinaciones mías –, han llegado al punto de hacer que en ciertos casos los programadores minimicen o ignoren errores reportados – me consta- , los cuales luego tronaron – fallaron – en producción y trajeron muchos dolores de cabeza, este tipo de problema es algo complejo de resolver, por que escapa a lo “profesional” y se va a lo personal. algo que si es definitivo es que a pesar de todas las pruebas unitarias que le hagamos, aun la aplicación debe de pasar por un proceso de pruebas, algo mas especializadas y quizá no automatizadas.
- Las pruebas Automatizadas no aseguran que la aplicación este libre al 100% de errores : ya que muchos de los causantes de sitios web hackeados, son por vulnerabilidades que las pruebas automatizadas no detectaron, sino miren el ejemplo de MS y que le paso por confiar en sus pruebas automatizadas , por eso es casi de ley hacer pruebas de esas que son basadas en el “ojímetro” – espero poder dar ejemplo prácticos sobre esto en un futuro no muy lejano -
- Verificar que la prueba falla:
- Aquí verificaremos que el error se presente… el problema es que pudimos habernos pasado unos 30 minutos o 1 hora escribiendo cierta prueba, que a las finales no falla, y no necesariamente por que la prueba este mal, lo que implicaría de nuevo una perdida de tiempo, aunque a su vez nos podría confirmar que X funcionalidad trabaja correctamente.
- Escribir la implementación:
- aquí escribimos la funcionalidad de la aplicación, la cual deberá integrar las validaciones necesarias para poder superar la o las pruebas, en teoría – si estuviéramos en con Alicia en el país de las maravillas – la aplicación debería de funcionar sin problemas, la codificación de la aplicación debería de ser mínima, lamentablemente es algo que no pasa muy seguido a menos que el programador ya tenga una amplia experiencia, lo cual nos saca del foco del “programador promedio”.
- Ejecutar las pruebas automatizadas:
- Aquí la aplicación debería de pasar todas las pruebas, pueda darse que la aplicación pase las pruebas a la primera corrida, pero esto no implica que este libre de errores, solo indica que puntualmente la aplicación esta respondiendo con determinados datos, pero no a todos
- Eliminación de duplicación: aquí vamos refactorizando, algo útil, que a su vez es una inversión, este proceso no es malo, siempre y cuando se haga mesuradamente, ya que existen personas que se trauman demasiado con la optimización – si, ya se, estarán pensando “perro hablando de pulgas” – y hacen que se pierda demasiado tiempo en esto.
- Actualización de la lista de requerimientos: como el nombre lo dice, reordenamos los requerimientos y si es posible a repetir el proceso!.
Mi Experiencia Personal: no es exactamente TDD, pero usaron el modelo de pruebas.
Creo que ya lo conté en algún post…, no me canso de ponerlo, por el impacto del proyecto – de algunos millones de pesos – , erase un soft, al cual se le hizo un listado de requerimientos, y fue construido tal cual los requerimientos, el soft había pasado las pruebas planteadas en los requerimientos; si uno usaba el soft tal cual indicaba el manual – las funciones puntuales trabajaban a la perfección – la aplicación funcionaba súper bien, el problema era cuando alguien daba un clic de mas, o presionaba en otro botón, o hacia cualquier acción no contemplada en el proceso del manual de usuario; en ese momento la aplicación tronaba, fallaba,hacia BOOM…, no participe en la construcción de ese proyecto, aunque si en la destrucción – viendo como tronaba igual al pop corn- cual fue su error? basarse “exclusivamente” en las pruebas echas en base a los requerimientos, y no ir “mas allá” error en el cual algunos caen por que se confían demasiado en “las pruebas unitarias”, lógicamente esto también depende con que se cuente con un área de pruebas, ya que existen empresas en las cuales el programador tiene que hacerlas de tester, y eso puede volverse un gran problema.
Mi Opinión y conclusiones :
El echo de que TDD exista, es por que hay personas a las cuales les funciono, pero antes que nada tenemos que tomar en cuenta el tipo de personas que lo usan, ya que de acuerdo al nivel de las personas, es que podemos hacer determinadas cosas, por ejemplo yo no podría hacer algo al mismo ritmo de alguno de los Scott – que salen por todos lados – , o un recién egresado a mi ritmo, por lo mismo no todas las metodologías funcionarían con todas las personas – por mas que la teoría diga que si se puede.
Escribir las pruebas antes que la aplicación, en la mayoría de casos – por no decir casi todos-, involucra que el programador realice funciones que no le corresponde, por eso mismo, personalmente prefiero las pruebas luego que el código de la aplicación y mas aun, prefiero que el que escriba las pruebas sea uno encargado de pruebas, así el programador se enfoca básicamente a programar la aplicación, aunque podría ir escribiéndose las pruebas y la aplicación en paralelo, esto depende de si se cuenta con personal capacitado para esto – si el de pruebas sabe programar pruebas, o solo es un pica botones -
Por que no estoy muy conforme con TDD?
como ya lo puse, así como el modelo lo muestra, – y como es implementado normalmente- el programador tiene que hacer las pruebas y la aplicación, lo que implica doble trabajo y hacer tareas que deberían tocarle a otras personas; estoy totalmente de acuerdo en que se deben de hacer pruebas, pero a mi parecer, lo debería de hacer alguien mas, y mas aun que esta persona debe de estar integrada al equipo desde la etapa de diseño – esto es del siguiente post – . Lógicamente existen en nuestro medio personas excepcionales, que programan a una gran velocidad, y estas personas pueden programar pruebas y la funcionalidad aun en menos tiempo, de lo que un programador promedio podría hacerlo, si esta fuera la situación, que se da, en no todos los casos, pero se da, allí no tendría ningún problema con que el programador haga las pruebas que quiera; pero lamentablemente esto no pasa en todos los casos.
Jorge Gamba me dijo vía twitter que BDD es mejor que TDD… ya habrá tiempo para opinar sobre eso.
Para terminar creo que TDD no es del todo malo, siempre y cuando se apliquen pruebas exhaustivas aun luego de que estas pasen las pruebas unitarias o pruebas automatizadas, confiar “solo” en estas pruebas unitarias, seria un grave error – se que Jersson dirá de que en TDD tbm se hacen pruebas – , el problema que hay es cuando personas con poca experiencia en el desarrollo de software usan esta metodología, es muy fácil que sientan que con las pruebas unitarias, ya tienen todo a la perfección y alli empiezan los problemas.
por si alguien quiere saber las mensadas que suelo poner – y que no llego a poner aquí por lo corto de las ideas, pueden encontrarme en el twt http://twitter.com/ddaz – y lo de las mensadas es muy en serio eh xD –, se que dicen que el twt no es un chat, pero hay ideas que hay que replicar en caliente, sino se va la inspiración.
espero sus opiniones y retroalimentación al respecto, no olviden que es mi apreciación personal :), quizá se me paso escribir algunas cosas que en este momento no se me vienen a la mente… pero de todas maneras este paso a ser otro “Testamento de Dacito”, veamos cuantos llegan a leer hasta este punto.
y como lo prometi.... lo publique antes de irme a dormir... siendo las 3:36 am.. fugo para dormir...
Salu2
Ddaz – El Dacito -
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Se que tengo algunos post prometidos pendientes, se que no es excusa, pero hace unos días nació mi primogénita, Sakura Susana, los últimos días del embarazo maría me tuvo muy ocupado.
Nació el 2 de Abril, y sus Especificaciones iniciales fueron :
- Estatura 56 cm
- Masa 3.4 Kg
- Peso 3.4 Kg Fuerza a 0 msnm.
en este momento estoy escribiendo un post, pero no podría ponerlo, sin antes poner sobre esto. les dejo una imagen de sakura
si les da curiosidad…. regularmente iré poniendo como una bitácora en línea sobre ella aquí http://marddaz.com/Informes.aspx
y Aquí un video de Sakura :
si… ya se… estoy idiotizado por mi hija… lo acepto!!!
Salu2
Ddaz – el Dacito -
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
estaba intentando instalar el Expression Studio 2.0 en Win 7 .. y el autorun del instalador, me pidió instalar el “.net framework 3.5” – cosa que el win 7 ya trae… me dio curiosidad y la di en aceptar y entonces me salió el mismo mensaje que con el sp1 del vs 2008, de que el “language pack” se tiene que instalar desde panel de control / agregar o quitar componentes ( http://geeks.ms/blogs/ddaz/archive/2009/03/03/una-cortita-mi-primer-problema-con-win-7.aspx ) ya me andaba preocupando…, pero en eso se me ocurrió entrar a la carpeta “setup” y ejecutar el archivo “XSetup.exe”, y con esto ya no me pidió el FW y pude instalar el Expression Studio 2 en español; cabe señalar que este inconveniente es solo con las versiones en español, si , ya se que muchos dirian que use las versiones en ingles… pero me gusta mas el software en mi idioma.
aclaro, esto no lo considero un bug… lo pongo como tip.
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
este post lo tenia en borrador hace uff... en si ya encontre mas bugs de win 7... pero aun asi me parece bueno...
si , ya se....
hoy me anime a instalar en la particion principal de mi pc el win 7 y luego me puse a instalar el soft que uso regularmente........
tuve unos detallitos ... pero nada comparado a cuando quise instalar el SP del Visual Studio 2008 ...
para empezar, yo uso las ediciones en español del VS - si ya se que muchos dicen que hay que usar en ingles, pero a mi me gusta en sp y lo uso -.
el Windows 7 trae por defecto el Framework 3.5 SP1 nativo, asi que a la hora de poner el SP 1 del VS 2008 - en spanish - intenta instalar el paquete de idioma del fw 3.5 sp1, y alli es donde rebota.
Mirando el archivo de log y luego verificando a mano - descargue el archivo dotnetfx35langpack_x86es - me sale un mensaje, de que ese paquete de idioma tengo que habilitarlo desde " agregar o quitar componentes" -algo que aun no existe en el windows 7, me refiero a agregar esa caracteristica desde agregar o quitar componentes -, supongo que esta parte estara disponible mas adelante...- eso espero - , aunque no se como se hara con versiones como la home premium - donde estoy probando -, que no deja instalar paquetes de idioma, ojala y pronto decidan esto y lo habiliten, ya que en este momento no se puede instalar....
aun no decido si poner una virtual o volver al xp... jeje, pero no pondre el vs 2008 en ingles jeje -a las finales tuve que ceder, por presiones laborales- .... cuestiones de orgullo :), ya envie el reporte al team.. - y otros 4 mas - veremos que dicen en ms :)
fuera de eso, aun me gusta el win7...
salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
hace unas semanas, había tomado la decisión de alejarme de todo lo técnico, mientras acomodaba mi mente… para lo que esta por pasar dentro de poco – nace mi hija –, y bueno tenia que meditar muchas cosas, y sumado a la sobrecarga de trabajo… hizo que deje de lado hasta la comuna, – ni revisaba los comentarios al blog –, la meta para dejar el aislamiento vencía hoy… así que espero ya comenzar a ponerme al día, en las respuestas a este y al otro – en msmvps.org – los post que había prometido y tenia pendiente.
bueno al menos no perdí el tiempo, en mi tiempo de aislamiento, arme – junto con la PK – un Avion F-14 a escala xD
![SDC10940[1] SDC10940[1]](http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/ddaz/SDC109401_5F00_thumb_5F00_7806F97D.jpg)
así que empecemos!
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
si, no niego, me gusta el win 7, pero esto trae una cola, el echo de que a nivel global muchas personas empiecen a descargar el programa, hace que se saturen las redes, no se en otros lados, pero por aquí los DSL empezaron a caerse uno trae otro ( varias líneas ), al parecer telmex ya no se da abasto, o no se…
El problema es que los usuarios comunes y silvestres no entienden que como salió un nuevo beta ( ni entienden la palabra ) por eso el internet falla los msn se les cierran y las paginas no abren, piensan que uno es mago y con un par de clics puede arreglar el mundo :s …
espero y se calme pronto, por que al menos hoy si e estado batallando mucho con los usuarios….
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
hago esta pregunta a todos para ver si soy el unico con el problema....
lo que pasa es que actualice a la ultima version del live msn writer, etc que salia en el inter, ( 9) y lo que paso es que ya no puedo usar el live writer con este blog.
en modo edicion no me deja escribir nada, se pone el color del tema del blog, pero no me deja escribir contenido, solo en modo "html" y esto con esta version, antiguamente si me dejaba usarlo...
a alguien mas le paso lo mismo? lo digo esto por que hasta el momento no encuentro referencias en inter sobre esto.
pdta : ya probe en mas de 1 pc y sale el mismo problema, 2 de ellas estaban recien formateadas.
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
No intento unirme a la fiebre de post que hablan de la disponibilidad del beta en publico, etc....
normalmente soy muy critico con cosas que no me parecen, pero aun puedo decir de cosas que si me gustan....
la situacion es esta, Ms hace unas semanas me envio un email invitandome al beta del win 7, la vdd algo dudoso acepte....
Pude descargar el win 7, aunque me pidieron que instale el Home basic Premium, lo instale.... y aqui les dejo unas cosas que pude ver
-
El logo de inicio y el grafico que sale, me gusto, me hicieron recordar a la serie el auto fantastico
-
La forma de agrupar las ventanas tambien me gusto ( con miniaturas )
-
Mientras instalaba me detecto la wireless y me pidio el pass para conectarme ( antes de que termine la actualizacion )
-
Creo algo como un "grupo" ( con clave ) para enlazarlo a mis demas pcs de la casa - aun no pruebo esta caracteristica, por que solo tengo una pc.
-
Me da la impresion de ser mas ligero y que las ventanas se mueven mas rapidamente que con un vista recien instalado.
-
Tuve que instalar un fix especial (KB961367) para que no me desgracie los mp3... esto me paso en un beta del vista, menos mal que ahora si sacaron a tiempo el fix.
-
Entre las descargas pude ver un win 7 server.... asi que supongo que por alli se viene otro ....
-
Me detecto los drivers de la lap ( hp pavilion dv6000) sin problemas
agregado luego :
-
me parecio curioso que el word pad abra los .docx pero no los .doc
-
conecte el media center con la xbox 360 y me gusto, definitivamente deproducire las cosas con el media center :) la experiencia me parece mucho mejor que en vista.
-
trae el windows media player 12.
en unos dias me toca hacer el upgrade al ultimate.
Logicamente aun me faltan probar muchas cosas, pero hasta el momento y con el nivel del beta que es, puedo decir que me siento satisfecho con el producto.
En esta vez me siento en la confianza de recomendarles que bajen el beta publico ( no dare links, ni imagenes, por que ya para eso otros han posteado del tema, pueden ver los otros post).
Omar tiene de nick "¡¡Ahh, a Ddaz le gustó Windows 7!! Imagínense lo bueno que tiene que ser para lograr eso..".. tan dificil es que me guste algo???.... jeje
espero no haber roto ningun nda .... jeje
hasta la proxima...
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Este post esta adelantado a su tiempo - porque tenia que salir antes otro post - , pero la situación lo amerita.
Antes que nada, estoy consiente de que este bug es algo difícil de encontrar, pero por el tamaño de la victima, es imperdonable.
Hace unos cuantos días salió un otro parche critico al IE, este bug (súper critico) al parecer a estado unos 9 años en el mercado, solo que hace poco recién a sido sacado a la luz, lo cual no dice desde cuando a podido ser explotado, ya que hasta donde se, no todos los bugs son “públicos”, siempre hay algunos que se guardan (para así poder ser usados )…, igual y este no es el caso , igual y si…; aquí lo importante es que ya salió a la luz y de que ya hicieron el parche, para muchos allí queda todo, pero me puse a intentar leer sobre el tema (algunas veces trato de dar seguimiento a los bugs ) y me encontré información en la web que me pareció por demás interesante :
- Microsoft acepto que este bug no fue encontrado por sus “testers” o equipos de pruebas, por que “ no no están capacitados para hacer este tipo de pruebas” : me parece algo bueno que hayan aceptado eso, lo que me parece importante aquí es que Microsoft es una de las mas grandes compañías de software a nivel mundial, así que no tienen la excusa de “no hay dinero” para no haber capacitado a sus equipos de pruebas, será que quizá ellos no tienen / no contratan personal “realmente capacitado, para el puesto?” , para una empresa de su tamaño, es imperdonable que sus equipos de pruebas, el cual tienen que luchar contra los hackers del mundo y demás dacitos, no hagan todas las pruebas conocidas, por el impacto del producto ( en este caso Internet Explorer ), y por la cantidad de ataques que recibe, el equipo de pruebas, debería ser de lo mejor, y debería estar capacitado en todos los tipos de ataques posibles, para así poder probarlos. Ojo aquí estoy separando, una cosa es que el equipo no haya encontrado el bug ( por error humano), y otra que no estén capacitados para encontrarlo. quizá debería hacer leer a los de Ms mi post anterior ??? jeje
- Usar solamente “Herramientas automatizadas, no protege al 100%” : bueno para este tipo de casos, hay unas herramientas llamadas Fuzz, o fuzzing, pueden leer mas sobre eso aquí o aquí tbm ( en este ultimo, salen un listado ), si bien a la hora de hacer pruebas, normalmente se tiene un “check list” de cosas a probar y como probarlas, la realidad es que esa lista no es “todo lo que hay que hacer”, hay que “salirse del libre” y comenzar a hacer pruebas aleatorias, o como dicen algunos “ por instinto”, si de esas que no son ordenadas, de esas que el listado de pruebas no indica ( me viene a la mente la aclaración de Jersson, a mi ultimo post, que luego terminare de re-aclarar ) , esto es algo que comentare luego, si, muchos “ puristas” de los procesos y metodologías, siempre piden ( o exigen) que uno siga el libreto establecido, pero en cuestiones de pruebas, seguir “solamente” el libreto, puede ser uno de los peores errores. Se que algunos dirán “allí dice que no hay casos documentados para este tipo”- en referencia a lo que dice ms con respecto a este bug - , a lo cual les diría … no hay casos documentados “públicamente”, quizá si los de MS entran tantito mas al IRC, podrían enterarse de mas casos :) – bueno si, muchos grupos son privados-.
No puedo negar de que en los últimos tiempos Microsoft se enfoco mas a la seguridad, pero estos 2 últimos bugs críticos ( si, aun no me olvido del otro que salió hace poco ), hacen pensar que quizá no están lo suficientemente capacitados, como se pensaba.
seria bueno que lean los artículos, que a su vez son las fuentes para este mini post:
y como ya puse antes, un listado de Fuzzers : http://www.infosecinstitute.com/blog/2005/12/fuzzers-ultimate-list.html
pdta: este solo es un ejemplo de las cosas que pueden pasar (de los puntos que mencione en mi anterior post), en la siguiente entrada me explicare un poco mas.
Salu2 y nos leemos al rato…
Ddaz –Dacito Grinch -

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Espero que este sea el primero de varios, sobre seguridad en aplicaciones ( y tantito en servers ), hay varios temas interesantes que tocar ( entre ellos uno de criptografía que me pidió sergio tarrillo, los cuales vendrán luego), tengo algunos post en la sección borradores, esperemos que luego puedan salir.
Preludio
un amigo me pidió que cuente algunas de mis experiencias… y eso me hizo recordar ciertas cosas… y bueno recordando viejos tiempos, cuando empecé a meterme “profesionalmente” a lo de informática ( no cuento lo de servers, eso es otra historia ), por allá en el 2001, empecé como “tester”, ya que era un simple estudiante de Ing. Química, dentro de una empresa que hacia Software de Ingeniería ( Software especializado para Ingeniería de Procesos, lógicamente de los Químicos), que solo sabia algo de pascal, assembler, RPL y algo de programación PLC –a excepción de assembler, lo demás nos lo dan en la carrera-, pero con ningún conocimiento formal sobre Ing. de Software, o procesos de desarrollo de software –lógicamente ya estoy cubriendo esa falencia –, empecé en esa empresa formada por ex alumnos de la facultad mi universidad (UNI ), curiosamente me metí a este mundo, por que por los cálculos avanzados de la carrera ( matemáticos y demás), se tenia que realizar simulación de procesos y la universidad solo tenia un “trial - limitado” de la versión actual y la versión full era demasiado antigua como para poder hacer las simulaciones ( la licencia pasaba de los USD $ 250,000.00 ), así que con unos compas empezamos a buscar el “crack”, pero como no existía ( casi no existen de software especializados, por suerte :)), nos pusimos a estudiar ensamblador, y finalmente pudimos usar la aplicación…, lógicamente, ya a estas alturas de mi vida, ya no promuevo el “crackeo ilegal” – si, de eso viene el otro post –, aunque eso hizo posible mi incursión en el mundo del software, ya que me acoplaron a una empresa de ex alumnos, cuando yo aun era alumno. Ya luego logre ver a .Net, me maravillo y comencé a programar allí, me fue gustando mas el mundo de la informática, así que poco a poco que termine alejándome del mundo de la Ing. Química y me fui al software ( discúlpenme que no considere a la “Ingeniería de software” una ingeniería de verdad – por mas que desde el 2004 “estudio formalmente sobre informática y/o sistemas” y trabajo en cuestiones de software - , pero mi concepto de “ingeniería” es muy diferente al de los informáticos tradicionales –por mi carrera base- y me es imposible – al menos por el momento- considerarlo una ingeniería. ), luego ya cuando vine a México, me metí al 100% a lo de software :)- en varios campos -, ….
Ahora si, ya entrando al tema de este post
:
Algo que se esta volviendo muy común, en las empresas de software, es que cada vez están pensando – y ya muchas lo hacen – , el tener un área de “control de calidad”, o área de pruebas, (sobre este tema Miguel Llopis tiene varias entradas al respecto, coincido en muchas cosas – con respecto a este tema –, aunque en algunas otras… aun estoy algo escéptico; pero de todas maneras me parece interesante lo que pone ;), léanlo ).
Lógicamente hay muchas empresas que tienen bien estructurada y organizada su área de pruebas, aunque de todas maneras se les escapan “bugs”, entre ellos tenemos a Microsoft, Google, etc; por lo que e visto en los betas de MS que ando metido – empecé con el vs 2005 alpha – Microsoft a mejorado mucho su modo de tomar los errores, y como los recibe, desde Betaplace hasta ahora con Connect , y e visto que hablan que tienen sus tester y demás, pero aun así, se les escapan bugs, algunos gigantescos, lo bueno es que ahora los encargados de los productos hacen mayor énfasis a recibir comentarios y sugerencias; pero si asi pasa con una empresa que invierte mucho dinero en pruebas, imagínense como es con las empresas con una mínima o nula inversión al respecto.
A mi parecer, en muchos casos aun veo algunos detallitos al como se aplica la parte de pruebas en las empresas, dentro del desarrollo de software, lógicamente hay empresas que si aplican muy bien esto, y el % de errores que se les escapa es “mínimo”, veamos algunos que pude lograr ver.
- Personal no Especializado El detalle aquí es que en la mayoría de veces se pone “solamente” a las personas con menos experiencia, o mejor dicho personas no especializadas en el tema (no estaría mal, que si el equipo tuviera una parte de un tipo y otra del otro tipo ), o también a personas con un nivel bajo o nulos conocimientos de programación, los ponen a “usar la aplicación”, si bien al estar considerados como “Usuarios comunes y silvestres” saldrán varios “detallitos”, pero quizá no los mismos que podría sacar alguien con algo mas de conocimientos – aunque como siempre, hay casos que rompen la regla, esos con dones “destructivos”, en los cuales todo lo que tocan falla :) –, pero el detalle aquí es que la cantidad de errores descubiertos, puede ser mínima, comparando con los que realmente tiene la aplicación, por eso es bueno tener gente especializada, si bien quizá no todo el equipo, pero no debería de faltar alguien especializado,al respecto también a escrito hace algún tiempo Joel Spolsky sobre este tema en su articulo Las Cinco Principales Razones (Equivocadas) por las Cuales no tienes Ingenieros de Prueba, aunque el a su vez aclara que es difícil conseguir buenos, y en algunos casos solo podamos ir rotando gente sin experiencia.
- Tienen un área de pruebas, pero nadie les hace caso : E visto esto en varias empresas, donde los programadores, se podría decir que casi ignoran los tickets enviados por los de pruebas, y dicen “ luego los arreglo” – algo que nunca pasa –, es algo ilógico tener un área de pruebas y que casi nunca se les haga caso, esto en algunos casos es por la mala planeación y que los programadores estén “contra el reloj” terminando funcionalidad y “no tengan tiempo para corregir”, aunque en otras es culpa de los programadores, pueden ser muchos los posibles motivos, aunque parezca algo loco, lo e visto :); hasta me a llegado a pasar ya un par de veces con los team de MS, enviaba bugs y hubo casos en que se demoraban hasta meses para tan solo revisar el error – imagínense en repararlo - , por suerte ya esta mejorando esto, jeje y bueno también tengo un usuario “moderador” en Connect.
- Poco o nulo énfasis a la seguridad – (este será el foco de los siguientes post) los encargados de pruebas, en la mayoría de casos, se dedican a ver que la aplicación funcione “ como debe”, el detalle aquí es que en muchos casos se limitan a dar unos cuantos clics, a la aplicación y piensan que con eso eso la aplicación esta libre de problemas y que es segura, lógicamente hay varios niveles de seguridad, dependiendo de la solución, puede ser algo básico o niveles extremos como los que usa la NASA – así le dice Jerson - ( sobre esto creo que mejor no me extiendo por ahora y lo dejo para un siguiente post), lógicamente ya muchos pensaran, pero hay programas ( de terceros) que hacen esto, a lo cual les diría, que esos programas, si bien es cierto que ayudan en muchos casos, no nos dan una seguridad al 100% (lógicamente también depende de la solución y del nivel de seguridad que necesitemos); otros dirán “ Visual Studio” trae herramientas muy potentes, lo cual es en extremo cierto, pero no para “análisis automático” allí también hay que programar pruebas :), personalmente me parece una herramienta muy potente y algunas de las veces que me han pedido que haga “pruebas” e usado al VS como herramienta de trabajo –a ver si mas adelante escribo algo de esto-. La seguridad es un mundo no es posible tocarlo en un solo post, todo dependerá de que tanto queremos
- Los encargados de pruebas, tienen flojera : No puedo negar que es algo tedioso y en algunos casos algo aburrido estar “probando aplicaciones” , y muchas veces e visto a tester’s que por lo mismo, y pro zafarse del trabajo (para luego poder seguir googleando), le dan una revisada “al vuelo” y no concienzudamente, aunque también, hay quienes pueden estar trabajando todo el día buscando errores y encontrar unos cuantos mientras hay quienes solo con 40 minutos, puedes sacar una gran cantidad de errores; lógicamente si detectamos personas que no hacen bien su trabajo, no merecen menos que el despido.
- No se tiene un buen control del historial de “bugs” : por mas que tenga buenos encargados de pruebas, si no lo hago de un modo ordenado, todo eso se volvería un caos, existen múltiples programas, entre free y de paga ( hasta un starter kit de aspnet 1.0) con el que podemos tener bien registrados los errores.
- No se Integra desde la etapa de diseño la seguridad : mucho se habla de esto, aunque quizá no muchos lo apliquen, en la etapa del diseño de la aplicación debería integrarse la parte de seguridad, lamentablemente es muy difícil conseguir un programador y un diseñador que sepa de seguridad (saber de verdad), la mayoría no piensa en seguridad, o en su defecto, tienen un conocimiento empírico, saben que tienen que poner seguridad, pero en la realidad no aplican seguridad…, y luego cuando empiezan los problemas ( lógicamente no en todos los sistemas aparecen) , tienen que comenzar a “parchar”, lo cual hace que se pierda mas tiempo, al menos por eso lo que suelo recomendar es que el diseño pase por un análisis previo de seguridad, este entra al de funcionalidad.
De todos estos puntos que puse, en el que quiero especificar es en el de la seguridad y especialización, lógicamente sin olvidar sobre el performance, ya que como dicen algunos “intentar poner seguridad de manera desmedida, sin tomar en cuenta el impacto en el performance es malo”.
En el siguiente post, espero tocar una pregunta que en algunos casos es controversial… “saber técnicas de hacking y/o cracking, es malo?”, intentare explicar, el por que creo que no es malo, mas bien por el contrario, es imprescindible.”, ya luego vendría uno de criptografía :) , si, la respuesta al post de Sergio Tarrillo
Para terminar – por ahora - quiero dejarles algo para que piensen… “el mejor ataque, es cuando la victima no se a dado cuenta que a sido atacada, y que están dentro del sistema” ( la idea es evitar esto, ya que no es necesario que nos modifiquen una pagina, o que nos pongan una foto, para que “estén dentro” ) .
Salu2

:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Este articulo me lo paso Jersson , lo leí y me pareció demasiado interesante, así que se los comparto, vean tbm los hipervínculos( referencias ), ya que llevan a información de blogs “msdn” :) , esto sobre Linq2SQL, sobre el muerto que no esta muerto :), anda de parranda :).
http://www.stephenforte.net/PermaLink,guid,bc1bc043-3cdc-4ac2-8b46-3c72ad1d61cf.aspx
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
Hoy fuimos a la clínica para que la PK se haga el ultrasonido, y el doc dijo eso, que el bb será niña les dejo las imágenes del ultrasonido, para que las vean!!, allí dice cuando podría nacer y demás cosas.
Salu2
Ddaz
:) Publicacion cruzada desde Geeks.ms :) http://geeks.ms/blogs/ddaz
More Posts
Next page »