O valor de uma vírgula

5 08 2010

Este não será um post de minha autoria, mas poderia ter sido, rsrs. Explico: sabe quando você lê alguma coisa e pensa: “Poxa, por que não pensei nisso antes???” O texto do Edwagney, fala sobre a qualidade dos textos na descrição dos requisitos de um software. E isso tem tudo a ver comigo por dois motivos: trabalho com qualidade e sou estudante do curso de  letras (inglês), e por isso também me preocupo muito com o modo de como os requisitos e casos de uso são escritos, se estão transmitindo corretamente a informação. Gostei muito do texto e gostaria de compartilhar com meus leitores. Espero que gostem!

===================================================

Caros amigos.

Ao contrário do que muitos pensam, Qualidade de Software vai além da investigação e busca por defeitos em umsoftware. Ela começa na fase de levantamento de requisitos.

De forma análoga, imagine quando você vai comprar um carro. Quais requisitos você pede? o que o carro precisa ter para que você se sinta bem ao comprá-lo? Em software é a mesma coisa… Requisito é aquilo que o cliente deseja receber quando o software ficar pronto. E a qualidade desse software será avaliada pelo cliente, ou seja, estou feliz com o que recebi?

Tá, mas o que isso tem a ver com o título desse post?

Tudo que fazemos surge de um desejo. Depois materializamos esse desejo. Em um projeto de software essa materialização começa na transposição do desejo para o papel e é nesse ponto que os defeitos começam a ser introduzidos nele. Portanto, qualidade de software está intimamente ligado à qualidade do texto que escrevemos para tornar nosso desejo em realidade.

Hoje recebi um e-mail de uma amiga sobre o uso da vírgula. E isso me deu a idéia de levantar uma questão importantíssima e que, sob meu ponto de vista, vejo cada vez mais sendo colocado de lado por muitos profissionais. O Português!

Não existe mais, ou não pode mais existir aquele pensamento de que pessoas ligadas às áreas de exatas não ligarem muito para o Português. Aquele pensamento de que, “isso pra mim não é importante, preciso apenas escrever códigos e fazer o software funcionar.” Esse é um pensamento retrógrado e arcaico. Ou você acha que para escrever um e-mail não precisa conhecer regras de português? Acha que todos os e-mails que escreve pode usar “vc” ao invés de “você”. Pode usar “naum” ao invés de “não”? Pior ainda e é aí que quero chegar, uso davírgulaconcordância.

Não é raro pegar documentos de requisitos onde o uso incorreto da vírgula muda completamente o sentido do texto. E isso para a materialização do desejo, é um tremendo erro que certamente se tornará um defeito grave no futuro, caso não seja identificado nas fases iniciais de um projeto de software.

Portanto, profissionais de qualidade, antes de estudarem técnicas e mais técnicas, irem atrás de certificações, etc, pensem em como está o nível do Português. Pensem na forma como estão escrevendo. Ao contrário do que muitos pensam, muita gente escreve textos gigantescos sem nenhuma, isso mesmo, nenhuma pontuação. Não precisa muito esforço. E-mails é o meio mais comum de disseminação dessa prática. Será preguiça de quem escreve? Talvez seja, mas que é ruim e doído de ler, isso é.

Certa vez, em um dos fóruns que participo, tivemos uma discussão acerca desse assunto. Para minha surpresa, um dos integrantes justificou que grande parte dos participantes eram estagiários e que erros desse nível era normal ocorrer, pois estavam aprendendo. Achei engraçado e ao mesmo tempo entrei em pânico, pois se eram estagiários, obviamente estavam em alguma faculdade. Ora, pelo que eu sei, a disciplina que mais pesa em um vestibular é o? PORTUGUÊS!!! Aeee!!! (mas pelo visto não era o caso deles).

Outro ponto levantado foi a justificativa de que existe muita literatura em Inglês e isso faz com que o Portuguêsfique de lado. Mais um motivo para entrar em total desespero. Quer dizer que se eu aprender o Inglês, devo esquecer meu idioma nativo? E se eu aprender outro idioma, devo esquecer o Inglês? Uma lógica um tanto quanto estranha…

Para aprendermos um outro idioma, necessariamente espera-se que pelo menos o SEU idioma seja dominado. Você fala e estuda ele desde que nasceu e TEMOBRIGAÇÃO de saber lerfalarescrever muito bem.

Peço por gentileza em nome de todos os profissionais, que como eu, gostam de ler bons textos. NÃO DETURPEM A LÍNGUA PORTUGUESA. Mesmo conhecendo “n” outros idiomas, moramos no Brasil, trabalhamos no Brasil, fazemos projetos no Brasil, isso por si só nos dá subsídio mais do que o suficiente para saber que, PRECISAMOSDEVEMOS saber falar e escrever BEM o nosso rico e belo Português Brasileiro.

E para discontrair um pouco e refletirmos um pouco mais sobre o poder que tem uma vírgula. Dêem uma olhada abaixo:

1. Vírgula pode ser uma pausa… ou não.
– Não, espere.
– Não espere.

2. Ela pode sumir com seu dinheiro.
– 23,4.
– 2,34.

3. Pode criar heróis..
– Isso só, ele resolve.
– Isso só ele resolve.

4. Ela pode ser a solução.
– Vamos perder, nada foi resolvido.
– Vamos perder nada, foi resolvido.

5. A vírgula muda uma opinião.
– Não queremos saber.
– Não, queremos saber.

6. A vírgula pode condenar ou salvar.
– Não tenha clemência!
– Não, tenha clemência!

E por fim, como prêmio aos que conseguiram chegar ao final desse texto… Onde você colocaria a vírgula no texto abaixo?

SE O HOMEM SOUBESSE O VALOR QUE TEM A MULHER ANDARIA DE QUATRO À SUA PROCURA.

Aguardo o resultado nos comentários.

Abraços e até a próxima!!!

Anúncios




Fundamentos do Teste de Software

28 09 2009

Há algum tempo venho pensando em escrever algo mais fundamentado aqui no blog. Hoje parei pra pensar, arrumei um tempo e resolvi falar sobre o capítulo 1 do Foundation Level Syllabus, material base pra certificação do ISTQB e BSTQB. É quase um resumão, às vezes com algumas considerações minhas imbutidas conforme minha experiência na área.

Este capítulo fala sobre os Fundamentos do Teste de Software.

Erro ao tentar finalizar uma transação importante!

Erro ao tentar finalizar uma transação importante!

Muitas pessoas devem se perguntar por que se faz necessário testes em software. Ora, devemos levar em consideração o contexto de cada software em desenvolvimento. Atualmente todos temos acesso a diferentes softwares diariamente. Em menor ou maior grau de dificuldade de uso, como por exemplo, aplicações bancárias, sejam elas acessadas pela web, celular ou caixa eletrônico. Você poderia imaginar o desastre se essas aplicações não fossem muito bem testadas? Você se sentiria seguro em realizar uma transação pela web? Bom, eu com certeza não. Outra aplicação que nos serve como exemplo, é o nosso querido Gmail. Bom, eu não vivo mais sem ele, e diferentemente do sistema bancário, eu não me preocupo muito em perder informações ali contidas (minha opinião tá, tem gente que tem muita coisa armazenada ali!!). Uma outra aplicação que considero importante de ser testada, são os sistemas de lojas e supermercados. Até hoje eu tenho o hábito de verificar os valores dos itens que estou comprando, porque não me sinto segura no sistema de barramento x valor do produto. Enfim, ema ema ema, cada um com seus problemas!! Esses exemplos servem pra mostrar que softwares que não funcionam corretamente podem trazer diversos prejuízos e grandes impactos para as pessoas e empresas que os utilizam.

Algumas causas dos problemas de software podem ser causadas por erros (enganos) humanos. O erro gera um defeito (bug) no software. E esse bug, gera uma falha no sistema. É atrás dessa falha que os testadores correm atrás (imaginei uma corrida de cachorros, onde eles correm em busca de um coelho, ou A recompensa).

Testadores atrás de um bug

Testadores atrás de um bug

Falhas podem ocorrer também, por eventos externos ao software, como quedas de luz, radiação, calor, poluição, campos magnéticos ou eletrônicos. Conheço um caso onde os servidores ficavam na mesma sala com 8 desenvolvedores, onde o ar condicionado no verão mal dava pra refrescar as pessoas. A temperatura da sala girava em torno dos 24 graus diariamente. Resultado disso: queda frequente do sistema, devido ao aquecimento das máquinas no ambiente.

Os testes têm funções específicas em cada fase do desenvolvimento e manutenção do software, e servem para reduzir os riscos de ocorrências de problemas no ambiente operacional, quando os defeitos encontrados são corrigidos em fase anterior a implantação na produção.

Qualidade em software implica em testes em todas as fases do desenvolvimento, desde o planejamento, através de testes na documentação, até a fase final do aceite do cliente. O teste ajuda a medir a qualidade em termos de defeitos encontrados por características e requisitos funcionais ou não funcionais do sistema. Os resultados da execução dos testes bem projetados pode representar a confiabilidade do software, quando poucos são os erros encontrados ou quando os mesmos são encontrados e corrigidos de forma efetiva.

Testes finalizados!

Testes finalizados!

E a pergunta que não quer calar é: quando devemos parar com os testes?

Bom, não se tem uma resposta padrão pra essa pergunta, porque tudo depende de cada projeto. Diversos são os fatores que podem definir quando parar-se de testar, como por exemplo: prazo, orçamento e riscos. É nesse sentido que os testes devem trazer informações suficientes para a tomada de decisão pelos stakeholders. Seus interesses são fundamentados nas limitações do projeto e, acredito eu, no grau de maturidade e qualidade do software desenvolvido. Para isso é que temos as versões beta, não é mesmo?





Qualidade do software

19 05 2009

Dando continuidade aos posts dos estagiários, agora é a vez do Marcello Caon (vulgo DJ Jogadi Apaixonado). Ele possui pouco tempo de experiência na área, mas já mostra que captou a essência da importância dos testes dentro da empresa.

“Uma área essencial: A qualidade do software é um dos tópicos mais valorizados pelo cliente na escolha de uma empresa para desenvolver seu sistema. O cliente quer resultado, não adianta ter um projeto pronto, com telas bem elaboradas, botões personalizados e menus interativos se nada disso funcionar direito! Não adianta ter um software assim se ele aceitar “ç” no campo data, ou aceitar um cadastro de usuário sem o campo “nome” estar preenchido, ou ainda uma visualização de notícia que exiba nomes de variáveis ao invés de seu conteúdo. E esses erros, acredite ou não, são comuns no campo da programação. E para captar esses erros que podem gerar desconforto na hora da apresentação do software para o cliente, surge o setor de “teste de software”.

Cada vez mais as empresas, sejam elas pequenas, médias ou grandes, observam o constante crescimento dos testes de software, e acabam se adaptando a esta nova “mania” que acaba se tornando essencial em algumas empresas, pois pode prevenir gastos enormes com manutenções futuras, de um simples bug que poderia ter sido detectado ainda na fase de programação do projeto se a empresa tivesse pensado em ter uma equipe de testes desde o início do mesmo.

Os benefícios dos testes de software não são observados apenas pela empresa, pois primando pela qualidade do software, além de evitar gastos com manutenções desnecessárias, o cliente pode ter em suas mãos um software mais estável e pouco suscetível a erros.

O ganho de agilidade durante a elaboração de um projeto também é grande, pois libera os programadores dos testes, que podem ser realizados por uma equipe especializada, que encontra erros, falhas e vícios de programação enquanto os programadores continuam no desenvolvimento do projeto.

Os benefícios trazidos por uma boa equipe de testes, com sua própria estrutura, seus próprios casos de teste, sua própria “independência” são incontáveis. É notório que as empresas que se adequam a esta “novidade” estão muito satisfeitas com os resultados e investem cada vez mais neste setor, primando sempre pela qualidade de seus softwares.”

O mais legal disso tudo é ver como esses meninos estão aprendendo a importância da qualidade no desenvolvimento de um produto. Nem todos seguirão a trilha de encontrar erros, acredito que muitos tem o dom de programar mesmo, mas serão desenvolvedores muito melhores, pelo simples fato de saberem que devem fazer o seu melhor a todo instante. Tô ficando orgulhosa 🙂





Motivação do tester

11 05 2009

Começo aqui uma série de posts vindos dos meus queridos estagiários.

Cada um é livre pra falar sobre o que quizer, claro, respeitando a área em que atuamos. Até porque se eu deixar livre, vai ter um Jogadi Apaixonado publicando musiquinhas cuti-cuti por aqui, não é mesmo DJ Caonzinho? 😛

Brincadeiras a parte, aqui vai o primeiro texto, do estagiário sênior:  Márcio Santos.

“Uma das maiores alegrias de um tester é encontrar um bug. É um prazer humano apontar o erro de outra pessoa. Mas como se manter motivado quando não se acha mais os erros?

O tester pode ficar horas procurando e não achar nada, muito comum em final de projeto quando já foram encontrados uma boa parte dos bugs. Às vezes a empolgação de quando o tester encontra um bug nessa reta final pode fazer com que o tester não analise o erro. Exemplo: Pode ser falta de limpar cookie ou cache, falta de update do sistema, e por ai vai. A atenção começa a faltar no pequeno tester que já não se sente mais motivado para achar erros alheios. Sensação de que o trabalho não está sendo bem feito, começa a não sentir confiante em validar. Mas aí, o que fazer?

Alguns analistas podem motivar com prêmios. Conheço uma analista que dá estrelinhas para quem encontrar um mega bug. É um meio de criar competição sadia consigo mesmo, ir atrás das tão sonhadas estrelinhas. Reuniões que mostram os bons resultados do projeto podem também criar motivação. É importante estar sempre disposto e realizado com o trabalho, se sentir importante no que faz e gostar. Afinal é uma área nova e que tem muita coisa para ser descoberta. Então é sempre importante fazer pesquisas sobre a área, inventar coisas novas, descobrir meios de tornar a atividade gostosa e ao mesmo tempo séria. Então, temos um mundo de inovações para testar e isso é um motivo maravilhoso para se sentir motivado.”

O que o Márcio relatou é algo muito comum mesmo em fases mais estáveis dos projetos. Acabamos por encontrar “pelo em casca de ovo” (como já dizia o mestre Abu, erros ou acertos bem sutis, que não fazem muita diferença no desempenho final do objeto desenvolvido. Mas o que importa mesmo Márcio, é a sensação do dever cumprido, de que fizemos o melhor para garantir que o nosso cliente receba um software “livre” de bugs. É garantir a qualidade daquilo que nossa equipe está desenvolvendo. Não fique tão preocupado, pois novos projetos sempre existirão, e dai faltará tempo pra cadastrar todos os errinhos que encontrarmos!!!