GTAC 2009: Testing for the web

google iconEl próximo 21 y 22 de octubre se celebra en Zurich (Suiza), la cuarta edición de la “Google Test Automation Conference” que concentra un año más a los mejores profesionales del sector en materia de “software testing and automation”. Este año, la organización propone los siguientes temas:

  • Testing the UI of modern web applications (HTML5, Ajax)
  • Testing applications on mobile devices
  • Testing in the cloud
  • Web testing tools (Selenium, Webdriver and co)
  • Testing distributed asynchronous applications
  • Testing for web browser compatibility
  • Testing large storage systems
  • Load and performance testing
  • Finding and reproducing failures that matter
  • It seemed like a good idea (things you expected to work, but that didn’t)

Aún estás a tiempo de presentar un “paper” para esta conferencia (ideas innovadoras, experiencias polémicas, problemas, y soluciones), las presentaciones son el minuto 45 + la sesión de ronda de preguntas.

RQNG – Requirements Network Group

RQNGDe RQNG o “Requirements Network Group” es una comunidad sobre la gestión de requisitos la cual incluye artículos, foro, herramientas, podcasts y un montón de cosas más. Podrás encontrar artículos sobre la “elicitation” de los requisitos, comparativas de herramientas, tipos de requisitos, responsabilidades de un BA…etc. Este grupo nace de la necesidad de juntar a toda la gente que se dedica a la gestión de requisitos.

Link: RQNG

REICIS – Revista Española de Innovación, Calidad e Ingeniería del Software

revistaOs recomiendo la lectura de la revista REICIS (Revista Española de Innovación, Calidad e Ingeniería del Software) que ya lleva varios años publicándose. REICIS es una revista digital que está integrada dentro de E-Revistas, una iniciativa del CSIC para revistas digitales abiertas. “Es una revista de investigación y transferencia de conocimiento sobre la innovación, la calidad y el enfoque de ingeniería en el desarrollo y mantenimiento de software desde un punto de vista aplicado y práctico” REICIS.

Solamente tenéis que ir a E-Revistas y hacer una búsqueda por REICIS. Encontraréis artículos publicados desde el 2005 por gente especializada en el sector. El editor de esta revista gratuita es la ATI (asociación de técnicos informáticos), publicando 3 números al año.

Referencias: ATI, E-Revistas

Norma ISO 29110 – Modelo de ciclo de vida de software para pequeñas empresas.

ISOToda empresa de desarrollo de software busca de una manera o de otra dos cosas: 1) que el producto se desarrolle correctamente (Validation), 2) que el producto satisfaga las expectativas del cliente (verification). Para ello, las PYMES es muchas ocasiones se ven forzadas a implantar un modelo de mejora que les permita optimizar y fortalecer sus procesos de desarrollo y como empresa.

Estos modelos suelen ser de difícil implantación en una empresa pequeña (PYMES) por su complejidad y lo estricto de sus procesos. Aún así, las PYMES pretenden también mejorar la calidad de sus productos, reduciendo el número de defectos encontrados en producción y estandarizar sus procesos sin que esto les suponga un coste demasiado elevado. Hasta ahora estas empresas tenía que usar CMMI-DEV, ISO 12207, ISO 15504 (también conocida como SPICE) e ISO 9001 como modelos de mejora de procesos y referencia mundial en la industria en la mejora de la calidad, modelos que están muy enfocados a grandes empresas. Read more

PRIS 2009 – IV Taller sobre Pruebas en Ingeniería del Software

PRIS2009Dentro del marco de JISBD 2009 (XIV Jornadas de Ingeniería del Software y Bases de Datos) se celebra el IV Taller sobre Pruebas en Ingeniería del Software. Un evento que celebra su catorceava edición, este año en San Sebastián el día 8 de septiembre. El objetivo de este taller es continuar con la divulgación de buenas prácticas o problemáticas actuales del testing en la empresa. Aún tienes tiempo hasta la semana que viene (26 de Junio) para presentar un trabajo y apotar tu conocimiento y experiencias a estas jornadas.

Referencia: PRIS 2009, JISBD2009.

Business Analyst Body of Knowledge (BABOK v.2.0)

BASi eres “Business Analyst” (BA) o estás pensando en enfocar tu carrera profesional hacia este campo, no puedes dejar de leer el BABOK v.2.0. Esta versión está todavía en revisión…así que si queréis hacer el examen de certificación tendríais que estudiar la versión 1.6. El BABOK es como el PMBOK (”Project Management Body of Knowledge”) para el Project Manager, es un conjunto de procesos y áreas de conocimiento que te enseña las buenas prácticas dentro de la disciplina del BA.

El libro incluye la toma de requisitos, análisis, priorización, gestión, documentación y comunicación…etc. Recomiendo su lectura…muy interesante, ya que en todo ciclo de vida de desarrollo el correcto análisis de los “Business Requirements” es clave…según un estudio del NIST(National Institute of standards and technology) el 70% de los defectos son introducidos en la fase de requisitos y diseño. Dato importante a tener en cuenta.

Referencia: IIBA

Libro – “PRAGMATIC SOFTWARE TESTING: Becoming An Effective And Efficiente test”

pracmaticEstos días he estado leyendo el libro: “PRAGMATIC SOFTWARE TESTING: Becoming an Effevtive and Efficiente Test”. La primera parte del libro trata de como el testing encaja en el ciclo de vida de desarrollo, objetivos, tácticas y estrategias de testing. Este libro os puede interesar tanto a “beginners” como a gente experimentada en el mundo del testing. La segunda parte del libro trata técnicas de risk-based testing. Aprenderás como analizar, priorizar, y documentar riesgos utilizando técnicas formales e informales.

Pero para que nuestro testing sea eficiente y efectivo debemos de tener siempre en mente esta figura, extraída del ISTQB…es importante diferencias entre la prevención y la detección (QA Contructivo y QA Analítico):

ISTQB

Referencia: Amazon.com

ISSECO Certified Professional for Secure Software Engineering

ISSECOLa seguridad en el desarrollo de software está siendo de gran importante para garantizar la calidad de nuestro Software. Mientras la seguridad de sistemas es algo básico para cualquier empresa, el software seguro es también crítico para establecer un entorno empresarial totalmente seguro.

El ISQI (International software Quality Institute) ofrece la certificación de “ISSECO Certified Professional for Secure Software Engineering” que acredita conocimientos en “secure software development”. Read more

¿Que es Test-Driven Development (TDD)?

tddTest-Driven development (TDD) es una práctica de programación que implica el desarrollo de pequeñas piezas de código basándose en test cases escritos con anterioridad. ¿Y esto que quiere decir? Quiere decir que el desarrollador escribe los test cases antes de escribir el código.  El tipo de pruebas (test cases) que hace el desarrollador suelen ser unitarias y automatizadas. ¿Como funciona?:

  1. Se selecciona un requisito.
  2. El desarrollado escribe el test case o test cases para probar ese requisito.
  3. Los ejecutan los test. Con el resultado de que todos los test cases fallarán (si el test no falla esto quiere decir que el requisito probablemente ya ha sido implementado o hemos escrito incorrectamente el test case)
  4. Se implementa el código, de tal manera que haga que la prueba pase satisfactoriamente.
  5. Una vez terminamos, se hace “refactoring”, para eliminar código duplicado.
  6. Podríamos lanzar los test cases otra vez para verificar que no hemos roto nada durante el refactoring.

Read more

Mejora la calidad a través de tus “Builds”

assLas mejoras de nuestro producto de software deben considerarse en cada una de las fases del “Software Development Life Cycle” (SDLC), desde la toma de requisitos hasta el “Deployment”. En esta ocasión me gustaría centrarme en como podemos mejorar la calidad de nuestros Builds considerando unas sencillas “Best Practices”:

  • Mantén todo tu código en un repositorio común.  Existen muchas herramientas Open Source, como por ejemplo el Subversion.
  • Realiza un Build completo todos los días. Muchas veces se realizan a lo largo del día una sería de Buids incrementales (ya que son más rápidos), pero esto puede ocasionar problemas.  Por eso es recomendable hacer un build completo todas las noches (Nightly Build).
  • Automatiza tus Builds. Usa scripst para automatizar todo el proceso, conseguirás un proceso repetible y evitas fallos derivados de procesos manuales. Read more