Вы находитесь на странице: 1из 14

Apuntes del curso de Testing

Proyecto Nahual
CLASE 1

http://www.nahual.com.ar/

Qu vimos en la primer clase?


1. Testing .qu?
2. Sobre nosotros: Proyecto Nahual
a. Nuestro manifiesto
3. Qu es un Tester? El curso es para m?
4. Introduccin a la Informtica
a. Qu es una computadora?
b. Componentes de una computadora
5. Los roles en la Industria del Software
a. Importancia del equipo
b. Roles que participan
6. El ciclo de vida del Software
7. Empezando a entrar al mundo del Testing
a. Celfar
b. Qu es una Especificacin?
c. Volviendo a Celfar
8. Recapitulando algunas definiciones...

http://www.nahual.com.ar/

Testing .qu?
Hola! Bienvenido/a al curso de Testing
A lo largo de este manual vamos a ir documentando todo lo que necesits saber sobre el
mundo del Testing, as que por ahora, por favor, no desesperes!
Antes que nada, queremos aclarar que este manual no reemplaza la asistencia a clases
sino que busca que tengas un material al cual acceder si lo necesits. Por eso, te
pedimos que no faltes.

Sobre nosotros: Proyecto Nahual


Antes que nada nos queremos presentar, Proyecto Nahual est formado por un grupo de
personas que les apasiona lo que hacen y les encanta transmitirlo, porque creemos que
de nada sirve quedarse con el conocimiento, sino que crecemos an ms cuando lo
compartimos, porque aprendemos los dos, nosotros de vos y vos de nosotros, no te
parece?

Nuestro manifiesto
Nuestras metas son la contencin y la integracin.
Contencin e integracin en respuesta a la desesperanza y a la fragmentacin social que
vivimos.
Contencin para aquellos que viven una realidad difcil y encuentran en este espacio un
lugar divertido, cordial e interesante. Divertido porque genera risas, cordial por su buena
onda e interesante porque despierta inquietudes.
Contencin tambin de los profesores que, al utilizar este espacio de enseanza y de
reunin, descubren nuevas formas de sentirse tiles; de dar y recibir.
Mediante juegos y compartiendo actividades del da a da buscamos desestructurar la
relacin alumno-profesor para luego sembrar perseverantemente una nueva relacin
fundada en el respeto, la paciencia, la comprensin. Slo as la transmisin de nuestros
valores rendir sus frutos.
Integracin al vincular el proyecto y sus miembros con el entorno, creando y fortaleciendo
lazos, combatiendo la exclusin, los prejuicios y la desesperanza.
Creemos en la integracin hacia adentro -donde los dems se acercan al proyecto- y
hacia afuera -donde los alumnos salen a crear sus propios proyectos y a caminar sus
propios senderos-.
Como vehculo que transporta el espritu del proyecto, elegimos la enseanza informtica
destacando la creacin de programas de computadora. De esta manera, estimulamos
directamente: la imaginacin, el trabajo en equipo, la comunicacin, la capacidad de
anlisis, la curiosidad por aprender, entre otras cosas. Estas herramientas, creemos, son
valiosas en cualquier disciplina y amplan el abanico de oportunidades.

http://www.nahual.com.ar/

La construccin de programas entendida como oficio puede ser una oportuna salida
laboral. En Nahual, nos interesa formar perfiles como programador, diseador, tester u
otros vinculados con la industria del software. Queremos que el proyecto sea un
complemento para el desarrollo laboral de los alumnos.
En el proceso recogemos frutos que no son buscados directamente; como ser la
alfabetizacin informtica, mayor contacto con el ingls, trabajo en equipo, razonamiento
matemtico y lgico-deductivo.
Si te interesa conocer ms sobre nosotros, pods encontrar ms informacin en
http://www.nahual.com.ar ,y si te gust...dale

Qu es un Tester? El curso es para m?


Ahora lleg la parte en la cual te contamos ms sobre este trabajo misterioso que
significa ser un Tester, justamente, para que veas que no tiene nada de misterioso.
El Testing es un oficio dentro de la Industria del Software. Esta industria es la que genera
programas de computadora como por ejemplo los que todos usamos. Es una industria
ms, como podra serlo la industria automotriz, la petrolera, o cualquier otra que se te
cruce por la cabeza, pero como venamos diciendo, su objetivo es crear programas. Estos
programas pueden ser de cualquier tipo, desde el programa gigante para manejar un
banco o una empresa, el software para controlar un avin o hasta los jueguitos que todos
jugamos en el celular.
El Tester es la persona que hace Testing. Qu significa eso? Que se encarga de
asegurar la calidad de estos programas que te venimos mencionando. Y en castellano,
qu es eso? Asegurar la calidad de los programas significa verificar que los programas
funcionen como tienen que funcionar. Como te venamos diciendo, es un oficio, y como en
todo oficio, el Tester tiene responsabilidades que tiene que conocer. Antes de que te
asustes con todo esto, el Tester no trabaja solo, sino que est en un equipo junto con
otros Testers y otras personas que cumplen otras funciones dentro de la Industria del
Software.
El oficio de Tester, como la mayora de los de la Industria del Software, tiene mucha
salida laboral hoy en da, por eso es que creamos este curso.
Si tens una compu cerca, Fede, uno de los Nahualeros, te explica en un lindo video todo
esto que te venimos contando: https://www.youtube.com/watch?v=7nOVzt-VTt4
A no desesperar con tantas palabras nuevas! Cualquiera con ganas y voluntad puede ser
un Tester (o cualquier cosa que se proponga), y para eso estamos nosotros, para que el
camino sea mucho ms fcil y feliz
. As que bienvenidos al curso ya Testear!!

http://www.nahual.com.ar/

La nica forma de tener buenas ideas es tener muchas ideas


Muvete y el camino aparecer
Cuidado con los miedos, les encanta robar sueos

Introduccin a la Informtica
Si bien tocamos algunos de estos conceptos informticos en la clase, vamos a reforzar
algunas ideas...

Qu es una computadora?
Como toda persona que trabaja en la Industria del Software, todo Tester usa como
herramienta de trabajo una computadora.
La idea no es que se vuelvan expertos en estas mquinas, pero s que tengan una idea
general sobre ellas, como por ejemplo la tiene un remisero respecto de su auto.
Yendo a Wikipedia, una computadora puede definirse como una mquina electrnica
que recibe y procesa datos para convertirlos en informacin conveniente y til.
Bsicamente, es una mquina que est diseada para facilitarnos la vida y ayudarnos
en nuestras tareas cotidianas, como elaborar cartas o una hoja de vida, hablar con
personas de otros pases, hacer presupuestos, jugar ,navegar en Internet, y sobre todo,
usar todos los programas y herramientas necesarias para cumplir con nuestra tarea de
Testers

Componentes de una computadora


Una computadora se compone principalmente del software, que se refiere al conjunto de
programas, instrucciones y reglas informticas, y el hardware que es el conjunto de los
componentes fsicos de los que est hecho el equipo.

El hardware es la parte que se puede ver y tocar de la computadora, es decir,


todos los componentes de su estructura fsica. Por ejemplo, la pantalla, el teclado,
la CPU, el mouse. Volviendo al ejemplo de un auto, vendran a ser las partes que
lo componen, como ser el chasis, el motor, la puerta, etc.
El software son los programas informticos que hacen posible la realizacin de
tareas especficas dentro de una computadora. Por ejemplo Word, Excel,
PowerPoint, los navegadores web, los juegos, los sistemas operativos, etc. Se
diferencian del hardware en que el software es intangible, lo que significa que no

http://www.nahual.com.ar/

se pueden tocar. Un ejemplo en el caso de un auto podra ser el programita que


avisa cuando el tanque est vaco.
En esta imagen les dejamos resumido lo que venimos hablando hasta ahora.

http://www.nahual.com.ar/

Los roles en la Industria del Software


Antes de empezar a ver las distintas tareas que hace un Tester, vamos a contarles un
poco sobre los distintos papeles que existen dentro de la Industria del Software.
Es muy importante que tengan una idea de qu hace cada uno, porque como les venimos
diciendo, un Tester no trabaja solo sino que es parte de un gran equipo.

Importancia del equipo


En Desarrollo de Software, como en otras actividades donde interactan personas, es
imprescindible el buen funcionamiento como equipo. Lo vemos en muchos deportes,
podr haber algunos deportistas que sobresalen por su capacidad, pero es el equipo el
que permite ganar un partido. Los resultados que puede obtener un equipo son
mucho ms y mejores que lo que puede obtener una sola persona.

Roles que participan


Un equipo de desarrollo puede ser una sola persona, o muchas, pero en cualquier
equipo existen una serie de roles o funciones, que pueden ser identificados.
En un equipo chico, puede que una persona cubra mltiples roles, mientras que en
equipos ms grandes, es ms comn tener funciones dedicadas.
Independientemente del caso, la identificacin de los roles en el equipo ayudar a
estructurar el mismo, y a crear conciencia de las responsabilidades. Por ejemplo, si
nadie se siente responsable de probar el software, ser inevitable que haya errores en la
versin final.

http://www.nahual.com.ar/

El Cliente
Bsicamente, el cliente, o como nos gusta llamarlo a nosotros, El Seor Billetn ;), es
quien tiene una necesidad que nuestro equipo tiene que resolver y el que pone la plata
para que nosotros podamos solucionarla.
Se puede pensar que tratar al cliente como parte del equipo de desarrollo es extrao, pero
en realidad, no lo es: El cliente es un factor importante en el xito de un proyecto, tanto
como cualquier otro miembro del equipo, por eso es importante contar con la participacin
activa del cliente dentro del proyecto.
Tambin es importante entender quin es en realidad El Cliente. El cliente, es, quien
pone en marcha el proyecto, paga las cuentas, o define el resultado final. Aun si no
se tiene literalmente un cliente, es bueno entender que aun as existe un rol cliente en
el proyecto. Esto puede ayudar a evitar confusiones. Hay que asegurarse de que exista
algn responsable de tomar las decisiones cuando estos requisitos sean
contradictorios.
El Analista Funcional
El Analista Funcional es alguien que es responsable de entender las necesidades del
cliente, y asegurarse de que la solucin que est siendo desarrollada se ajusta a
esas necesidades.
Las actividades tpicas de un analista incluyen el relevamiento de requisitos, reuniones
con clientes y la redaccin de especificaciones funcionales. No se desesperen ;), a lo
largo del curso vamos a ir viendo qu significan estas palabras raras.
En resumen, el Analista Funcional es quien habla con el cliente para ver qu es lo que
necesita, y lo traduce para que los miembros de nuestro equipo lo entiendan.
El Desarrollador
El desarrollador es la persona que programa la solucin. Nuevamente, ayudndonos de
nuestra amiga Wikipedia Un programador o desarrollador es la persona que elabora
programas de computadora. En una palabra, es la persona que crea el producto que
le vamos a entregar al cliente. Suelen ser personas muuuuy nerds, como pueden ver en el
dibujito, toman mucho caf y a veces son poco comunicativos.
El Tester
Las pruebas son una parte importante para asegurar que el software funciona de la
manera que debera. El tester es quien verifica la calidad del software que se est
fabricando.
La calidad involucra muchos aspectos y es importante que el tester los tome en cuenta.
Estos son algunos:
Asegurar que el software cumpla con las necesidades del cliente
Asegurar que no haya errores introducidos por los desarrolladores

http://www.nahual.com.ar/

Asegurar que el software sea agradable visualmente


Dar ideas al usuario para lograr un mejor uso de la aplicacin

El Lder de Proyecto
Un lder o gerente de proyecto tiene muchas responsabilidades. Es responsable de la
planificacin del proyecto, de mantener el proyecto dentro del presupuesto, y de la
solucin de problemas. En resumen, l resuelve cualquier problema que ponga en
peligro el progreso del proyecto.
Muchas de las tareas del gerente del proyecto tienen que ver con la comunicacin, la
comunicacin al cliente sobre el progreso del proyecto y la comunicacin con todos los
miembros del equipo.
El Usuario
El usuario final es la persona que va a usar el software que se est fabricando.
El usuario final es tanto o ms importante que cualquiera de los otros roles. Algunas
veces, el cliente y el usuario pueden ser la misma persona, pero puede pasar
muchas veces que no lo sean. Si el usuario no queda satisfecho con lo que se hizo, es
muy probable que se niegue a usarlo y as hacer fracasar todo el trabajo realizado. Hay
que pensar como un usuario para intentar saber qu le gustar y qu no le gustar.

El ciclo de vida del Software


Bueno, habindoles introducido los diferentes personajes que existen en la Industria del
Software, ahora vamos a contarles cmo se relacionan y encadenan todos ellos en lo que
se conoce como el Ciclo de Vida del Software.
Como todos nacemos, crecemos, nos reproducimos, y pasamos pa' el otro lado, con el
software pasa lo mismo! Las aplicaciones tienen un ciclo de vida que se los ilustramos
con un dibujo!

http://www.nahual.com.ar/

Todo empieza cuando alguien tiene un problema a resolver, que por algn motivo no lo
puede hacer por su cuenta (porque no sabe, porque no tiene tiempo, no tiene ganas, etc)
y como tiene $ (El seor billetn guio guio) contrata gente para que le resuelvan su
problema. Esta personita a la que cariosamente llamamos Sr Billetn es el cliente.
El Cliente tiene una necesidad y se la cuenta a otra persona, esa otra persona es el
analista, el analista anota todo! Todos los detalles, y con lo que le cuenta el cliente arma
un documento (porque sino nos olvidamos de las cosas, no?) que se llama
Especificacin/documento funcional/requerimientos, ah enumera todas las cosas
que el cliente quiere y llegan a un acuerdo: resolver su problema inicial.
Con ese documento el analista charla con otra persona encargada de tirar magia, de
construir con pico y pala, el programador/desarrollador! El programador es el encargado
de crear ese software (una de las partes del mismo, ya que se termina haciendo entre
todos), a partir de los documentos, traduce esas oraciones en otros ingredientes que al
terminar de integrarse crean un programita.
Entonces, ya est? Le dan el programa al cliente y listo? qu me vas a ensear
entonces?
Paren paren, somos humanos y nos equivocamos no? por eso mismo estn ustedes! Ac
aparece el rol del Tester. El tester es el encargado de controlar que ese programita que
http://www.nahual.com.ar/

se hizo cumpla con lo que pidi el cliente y hasta que el tester no d el "OK" no se
termina el proceso, por eso es un rol super importante! El tester asegura la calidad del
producto final, compara lo que se escribi en las especificaciones contra el resultado final
(el programita) y busca las diferencias!
Ahora, se dan cuenta de lo importante que es que existan los testers?

Empezando a entrar al mundo del Testing


Vamos a empezar a ver la parte prctica del curso, para no aburrirnos con tanta teora
toda junta.
Todos los ejercicios que usemos los pueden encontrar en http://nahual.github.io/

Celfar
Esta es la primera aplicacin que vamos a usar. Es un programita sencillo que convierte la
temperatura de grados Celsius (los que vemos en la tele en el pronstico) a otro formato
llamado Fahrenheit.
Cuando entren a la pgina van a ver varios links. Van a encontrar un link a las
Especificaciones, y seguido a esto, van a ver varias versiones del programa.
Primero vamos a abrir las Especificaciones:
Descripcin conversor grados Celcius y Fahrenheit

El sistema muestra la pantalla con las siguientes caractersticas


o Ttulo de la pgina: CelFar
o Ttulos de la aplicacin:
CelFar
Conversor de temperaturas entre grados Celcius y Fahrenheit (las palabras Celcius
y Fahrenheit tienen asociado un link a wikipedia)
o Campo numrico (Tamao mximo: 6 dgitos, separador decimal: .). Inicialmente este
campo se encuentra vaco.
o Botn convertir!
o Resultado. Inicialmente este campo dice: Pendiente de clculo...
Si se completa el campo texto con el valor que desea convertir, y se selecciona convertir! o la tecla
enter:
o Caso normal
El sistema emite el resultado del clculo: (x*9/5)+32 (siendo x el valor ingresado)
o Caso alternativo
Si el valor tiene menos de 7 dgitos (es decir, sin contar el separador de decimales
y el signo) y es menor a -273, el sistema emite un mensaje El valor ingresado est
debajo del 0 absoluto (con un link a wikipedia a la pgina de 0 absoluto)
Si el campo se deja vaco o el valor ingresado no es numrico, el sistema emite el
mensaje El valor ingresado no es un nmero (recuerde que los decimales deben
expresarse con '.' y no con ',')
Si el valor tiene ms de 6 dgitos (es decir, sin contar el separador de decimales y
el signo), el sistema emite el mensaje: El valor ingresado es muy largo
Cuando se modifica el valor el campo numrico, el sistema reemplaza el resultado de la operacin
anterior por el mensaje Pendiente de clculo...

http://www.nahual.com.ar/

Qu es una Especificacin?
Como pueden ver en el texto de Celfar, la Especificacin es un documento que explica
qu es lo que tiene que hacer y tener el software que vamos a testear.
Yendo a una definicin un poco ms formal, la Especificacin Funcional es un documento
que detalla todas las funcionalidades que debe tener una aplicacin.
Cuando hablamos de funcionalidades nos referimos a determinadas acciones o
comportamientos que debera realizar un software. Por ejemplo, ingresar al sistema, sera
una funcionalidad.
En el desarrollo de software generalmente hay mucha gente involucrada por lo que se
vuelve ms complicada y compleja la comunicacin entre todos. En un proceso de
desarrollo de software vamos a encontrar a un cliente (quien tiene una necesidad) y un
proveedor (quien satisface dicha necesidad).
Cuando un cliente solicita el desarrollo de un software est describiendo algo que
todava no existe y por lo tanto es importante que se pueda definir bien cmo debe
funcionar ese software (que debe hacer, y que no debe hacer).
Para que el cliente se anime a comprar (o a esperar por) algo que an no existe es muy
importante que el cliente y el equipo de proyecto se puedan poner de acuerdo sobre
qu va a recibir el cliente cuando el proyecto termine, es decir, cmo va a funcionar
esa aplicacin.
La persona encargada de crear este documento y de pasrnoslo a los Testers es el
Analista Funcional. Y algo muy muy importante que SIEMPRE tenemos que tener en
cuenta es que es nuestro documento de referencia. Qu significa esto? Que cada vez
que probemos un software, no podemos hacer lo que queramos, sino que tenemos que
probar que el software cumpla con los puntos detallados en la Especificacin.

Volviendo a Celfar
Bueno, habiendo hecho esta introduccin sobre las Especificaciones, los desafiamos a
que lean bien despacito y prestando mucha atencin la especificacin de Celfar y ver qu
cosas se cumplen y cules no en la Versin 1 del software. Pueden hacer una listita en
una hoja de papel con las cosas que creen que no se estn cumpliendo.
Algo que NO tienen que hacer, aunque sabemos que puede ser tentador, es entrar
directamente a alguna de las versiones del software y empezar a probar sin haber
ledo la Especificacin antes. SIEMPRE SIEMPRE hay que leer la Especificacin
primero.
Durante la clase..estuvimos escribiendo qu cosas no se cumplan en Celfar, segn la
especificacin, para las distintas versiones de Celfar.

Diferencias que encontramos juntos en la pantalla...


*No se encontraba el ttulo en la pestaa del browser.
*Haban faltas de ortografa en "Conversor" y "Clculo".
http://www.nahual.com.ar/

*Faltaba "Pendiente de Clculo" al inicio de la app.


*El resultado NO est dentro de un campo.
*Link "Celcius" no asociado.
*Mensajes diferentes a lo que dice la especificacin.
*Error de clculo ingresando valores negativos.
*No convierte valores menores a -273.
*No convierte valores con ms de seis dgitos.
*Ingresando valor "0" NO es correcto el clculo.

Vimos juntos que podamos clasificar estas diferencias como errores en la pantalla
(como dijo Dani "look&feel") y errores relacionados al funcionamiento de Celfar.
Aquellos errores del funcionamiento de Celfar eran ms graves!!...porque no se cumpla el
objetivo principal para lo que fue creado Celfar ...
"... convertir grados Celcius a Fahrenheit".

Cmo reportamos estos errores?


...lo sabremos en la CLASE 2

http://www.nahual.com.ar/

Recapitulando algunas definiciones...

Aplicacin, Software: es un programa cualquiera. Como facebook, twitter.


Desarrollador: es la persona que construye el programa.
Analista: es la persona encargada de entender la necesidad y traducirla en un
documento.
Tester: la persona encargada de asegurar la calidad de una aplicacin.
Especificacin: es un documento que realiza el analista, donde describe el
programa y cmo funciona.
Navegador, Browser: son los programas que nos permiten entrar a Internet. Por
ejemplo Internet Explorer, Firefox, Chrome, Opera, Safari.
Versin: puede entenderse como un cdigo de identificacin del programa, que a
medida que se hacen cambios este cdigo va incrementndose. En clase lo
definimos algo as como diferentes "niveles" del programa.

http://www.nahual.com.ar/

Вам также может понравиться