Blog

Entrevista: Testador de Software – Daniela Custodio

Olá Pessoal,

Dando continuidade a nova série de entrevista profissionais. Esse mês resolvi entrevistar uma colega de trabalho a Daniela Custodio. Por que escolhi a Daniela? Bem, para quem acompanha o blog, ano passado publiquei um artigo sobre uma nova certificação e como está o mercado brasileiro para a demanda de “Testador de Software”. E por acaso conheci a Daniela no finalzinho de 2008 e discutindo sobre carreiras, qual é a função da Daniela? Especialista em Testes de Software. Então não joguei fora a oportunidade e fiz um convite, para ela falar um pouco como é essa área e como está a demanda. Para quem quer investir na área e conhecer um pouco mais vale apena conferir a entrevista da Daniela.

Let’s go….

Links interessantes:

danirosto

Daniela Reis Custodio

22 anos – Campinas SP

Atualmente trabalhando  em uma multinaciona situada proximo a Hortolandia/SP como Test Analyst em projeto Americano

Idiomas – português, inglês

danielareiscustodio@gmail.com

  1. Camilo Lopes: Olá Daniela, você pode falar um pouco de sua profissão para os leitores do blog?

Daniela: Graduando Ciência da Computação 2º ano na Faculdade Anhanguera de Campinas. Trabalho nessa companhia há 8 meses como Analista de Teste. Conheço a linguagem de Java há 4 anos e estou estudando para tirar a certificação SCJP o mais breve possível.

  1. Camilo Lopes: A função de analista de testes tem como “elaborar planos de testes, funcionais e/ou estruturais, consistentes com a tipologia de requerimentos, restrições e critérios de aceitação de produtos e serviços definidos com o Cliente e observando as diretrizes aplicáveis definidas no framework / processo ou metodologia selecionados para uso no projeto e tecnologia utilizada para implementação da aplicação” você pode falar como acontece na prática cada momento descrito acima?

Daniela: Um analista de testes deve, primeiramente, seguir a metodologia que seu projeto adota como qual ou quais softwares serão utilizados para a elaboração de testes, a execução e etc. Onde estou atualmente, devemos ler o um documento enviado que é chamado de “Requerimento”. Este documento é enviado ao time responsável onde deve conter diversas informações as quais deverão ser utilizadas para a elaboração dos tests cases ou o tão chamado testes. Após a leitura do mesmo, devemos passar para um arquivo onde estarão os testes criados e que serão enviados ao cliente para a aprovação do mesmo. Após aprovado e autorizado é iniciada a execução.

  1. Camilo Lopes: o analista de testes tem algum contato com os desenvolvedores? Ou isso é evitado para não influenciar nos testes?

Daniela: Sim, porém quando há os defects(defeitos) são os momentos onde há mais contatos. Isso é bom porque sempre quando andados juntos, os problemas serão resolvidos mais rápidos. Se não houvessem o contato com eles, ficaríamos a merce!

  1. Camilo Lopes: Se existe algum “plano de testes” no seu projeto e como este é desenvolvido?

Daniela: Desenvolvemos o plano de teste através de um programa de texto, onde escrevemos resumos do que vamos utilizar e depois de tudo feito é so criar os testes com os textos criados.

  1. Camilo Lopes: Quando inicia a fase teste? Após todo desenvolvido ter acabado, antes da primeira linha de código, ou tudo é feito paralelamente?

Daniela: A fase de teste começa quando após a criação dos casos de testes enviamo-os aos gerentes do projeto, e os mesmos fazem leitura do mesmo se serão ou não aprovados para começar. Após o retorno por eles, começamos a execução. Tudo isso e feito paralelamente e da maneira correta para não pular as etapas.

  1. Camilo Lopes: Qual é o pré-requisito para um profissional que deseja trabalhar como Analista de Testes?

Daniela: Para se trabalhar aqui, o principal pré-requisito é ter uma boa comunicação na lingua inglesa. Também deve ser estudante pois as vagas para testes são iniciadas como estágio para após o desenvolvimento da pessoa ela ser avaliada se sera ou não funcionário. Só mais uma observação, o que digo aqui é da companhia onde trabalho, quanto as demais não sei como é a procedencia.

  1. Camilo Lopes: Como você ver a carreira, tem futuro ou é algo “fogo de palha”? Realmente vem surgindo vagas e procura de profissionais nessa área e que vale apena investir?

Daniela: A carreira de testes cada vez mais tende a subir. Devido a fatores da crise que houve nos USA, a demanda da área de testes crescerá bastante ainda. A procura de vagas subiu bastante, porém ainda faltam bastante são profissionais com o inglês. Então vale a pena fazer um curso e ir atrás de uma oportunidade.

  1. Camilo Lopes: Há quanto tempo você vem desempenhando essa função e o como esta profissão afetou sua carreira profissional, ou seja, o que conseguiu aprender?

Daniela: Estou na companhia há 8 meses porém como Analista de Teste somente há 4 meses, devido a grande demanda que houve por aqui. Esta área afetou bastante na minha carreira, pois em pouquíssimo tempo cresci o que eu não cresceria em outra área. Além do mais há diversas oportunidades de treinamentos para fora do país, ou seja, para quem gosta de outras culturas vale muito investir um pouco do tempo nesta área pois só terá beneficios.

  1. Camilo Lopes: o que seria um “teste aprovado” e um “teste reprovado”?

Daniela: Um “teste aprovado” é aquele que atendeu a tudo que o Requerimento solicitou que fizesse, ou seja em poucas palavras, é aquele que não apresentou nenhum erro. Quanto ao “ teste reprovado” é aquele que por alguma razão falhou durante sua execução. Neste caso, ele se torna blocked (bloqueado) ou failed (falhado) e aguardamos decisões dos gerentes e dos desenvolvedores para saber se realmente foi erro de código ou somente algum erro ditado no requerimento.

  1. Camilo Lopes:Há interação com o cliente durante o processo de teste?

Daniela : Se o projeto decidir que teremos contato com o cliente e/ou desenvolvedores sim.

  1. Camilo Lopes:É usado algum software especifico para testar alguma unidade do software?

Daniela: Sim. Usamos a ferramenta Mercury da HP, devida a escolha ter sido feita pelo proprio cliente. Há diversas outras ferramentas como por exemplo a Rational da IBM. Tudo isso leva-se em consideração de que sempre o Cliente escolhe qual ele quer usar.

  1. Camilo Lopes: Para alguns profissionais que estão de fora desse ambiente, acredita que testar o software é apenas abrir o programa e inserindo os dados a fim de encontrar alguma exceção, ou erros de execução, é assim que acontece, ou está muito além disso?

Daniela: (risos) Isso é o que eu imaginava antes de entrar aqui. Já era o tempo onde haviam analistas e somente os testers. Os analistas liam e escreviam tudo, e os testers liam o que os analistas escreviam e somente executavam. Hoje em dia, há um ciclo vital para que isso aconteça. Tudo é feita com extrema atenção para que nada saia de errado.

  1. Camilo Lopes:Para finalizar essa entrevista, que mensagem você gostaria de deixar para os leitores do blog?

Daniela: Digo a vocês que quem procura estabilidade hoje em dia, que apliquem no que primeiramente gostem. Não há nada melhor na vida do que aplicar para aquilo que te da motivação no que você faz. E lembrem-se de uma coisa, oportunidade há em qualquer lugar basta somente persistir que conseguirão. Caso queiram este setor a qual comentei aqui, há diversas oportunidades em grandes empresas, porém quem não tem inglês, corram e façam porque sera de extrema ajuda não só para testes mas para qualquer area que quiserem entrar. Abraços a todos e boa sorte!!

Espero que tenham curtido a entrevista, um forte abraço a todos e até a próxima. E quero agradecer a Daniela pela entrevista, e desejo a você muito sucesso.

Inserido/Recuperando informações MySQL com Java + Eclipse

insert

olá Pessoal, dando continuidade a nossa série desenvolvimento em java na prática, hoje vamos desenvolver a parte 2. O qual teremos a classe que inserir/recuperar informações do banco de dados. Como instalamos e configuramos o Mysql, Java e eclipse na parte 1, nessa aqui vamos focar na classe que é responsável por manipular informações no BD. Teremos novas importações é importante ter atenção a essas novas classes que serão importadas.

Lets go…

Leitura Recomendada:

Na parte 1, nos criamos uma tabela chamada de usuarios com apenas um campo chamado nome. Agora vamos criar uma nova classe com o método main. Veja o código abaixo. 

conexaopart2code1

 Explicação:

  • Para executar comandos SQL dentro da linguagem java usamos a classe Statement a qual pertence ao pacote .sql

  • para executar o comando temos que criar um objeto da classe Statement st = XX.createStatement() e em seguida executar o método adequando:

*executeQuery() ==> é para o comando Select de sql

  • *executeUpdate() ==> é para todos os outros comandos. 

Exemplo:

1. obter a conexao

Connection con = conexao.getConnection();

2. criar o objeto para escrever comandos sql

Statement st = con.createStatament();

//codigo sql em java aqui

st.executeUpdate(string dos comandos);

ResultSet ==> traz o resultado de uma consulta, criamos uma instancia para armazenar esses os resultados

sintaxe:

ResultSet rs = variavelStatement.executeQuery(variavel comando sql);

next() ele mova o curso para a próxima linha, quando nao tiver linha ele retorna false. 

Vou ficando por aqui mais uma vez, e espero que tenham curtido a série desenvolvimento na prática. Abraços.

Criando conexão Java + Mysql com eclipse

javamysqleclipse

Ola Pessoal, após esse feriadão e muitos ovinhos de páscoa, fiquei pensando o que postar? Bem, ai em uma bela praia aqui na Bahia, veio em minha mente, as dificuldades e curiosidades que tive quando iniciei com Java. Que foram:

  • como conectar uma class java à um BD ?

  • Será que essa minha simples classe “Hello World” posso conectar ao um BD? Ou é preciso de algo mais complexo?

Etc.

Hoje vamos para um post bem mais técnico. Eu sentir isso, logo depois de aprender os fundamentos java, foi o que veio logo na minha mente.

Bem, a partir disso, pensei: “Que tal ajudar aqueles que estão iniciando com java e mostrar como é simples fazer uma conexão com BD em Java”.

Usarei o eclipse + MySql como ferramenta.

Nessa primeira parte do post, vou apenas mostrar como conectar à um BD nesse caso vamos usar o MySQL. Na segunda parte vamos através de códigos java inserir /recuperar informações no Banco de dados.

Lets go..

Leitura recomendada:

Nota: Irei explicar apenas pontos cruciais para funcionamento, assuntos relacionados a conceitos básicos do java e eclipse não serão abordados tais como: importação, encapsulamento etc ,criar projeto no eclipse, criar nova classe, compilar etc.

Outro detalhe importante muitas das explicações estão no código no formato de comentário isso para que o post não fique muito grande e que você entenda o que está sendo explicado com o código do lado.

Requisitos: Para este post é necessario ter os softwares a seguir instalados e configurados na máquina. A instalação dos softwares listados a seguir não levará mais que 30min, uma vez feito o download.

  • Eclipse: IDE

  • Mysql 5.0 : Instale no modo padrão, ou seja, siga a instalação sem mudar nada, não esqueça da senha de root.

  • Connector MySql (MySQL Connector/J — for connecting to MySQL from Java) : para instalação descompacte o arquivo mysql-connector-java-5.1.7-bin.jar em LOCAL_INSTALACAO_JAVA_NA_SUA_MAQUINA\Java\jdk1.5.0\jre\lib\ext
    na minha máquina:
    C:\Program Files\Java\jdk1.5.0\jre\lib\ext

  • Java 1.5/superior: tutorial de instalação confira.

  • GUI Mysql Tool: muito bom para executar comandos sql, é opcional baixa-lo, mas recomendo pois digitar comando sql via prompt não tão legal quanto usar o GUI. Esse deve ser instalado após instalação do mysql. (Single bundle including all GUI tools (MySQL Administrator, MySQL QueryBrowser, MySQL MigrationToolkit and MySQL Workbench)

Cenário: Aqui está nosso cenário:

  • teremos duas classes: 1. para conexão com o BD ; 2. uma class que testa a conexão

  1. crie um projeto no eclipse e dê um nome, aqui vamos chamo-lo de usuario

  2. agora clique com o botão direito do mouse sobre o projeto e vamos adicionar o connector mysql ao projeto. Como o proprio nome já diz o conector é que vai fazer sua app (aplicação) “conversar com o BD”.

  3. Agora clique no botão a esquerda ADD External JARs… e em seguida informe o caminho que está o conector.

  4. Após adicionar o conector basta dar um clique no botão ok. Sua tela deve ser semelhante a seguir:

  1. Crie uma classe sem o método main e chame esta de conexão (conexao.java)

conexaopoint4

Essa será a classe responsável por estabelecer a conexão com BD.

conexaocode1

– Tanto a linha de obter o Driver quanto de obter a conexão deve ser inserida dentro do um

bloco try/catch, pois as classes de .sql sao exceções verificadas.

  1. Para criar um usuario basta abrir MySQL Administrator e logar como root.

  1. Agora vamos criar nosso Schema, se você está usando MySQL Query Browser (GUI), Ele vai pedir um usuário use o root e deixe a tela com a seguir:(coloque sua senha e clique em ok)

    conexao-point-7

  2. agora crie as tabelas usando o comando sql.

  3. A seguir o comando sql, ou, usando o GUI clique com o botão direito a direita e escolha Create Table.

create table usuarios (

    nome varchar(50) NOT NULL default ‘) ;

  1. Nesse post não iremos trabalhar com a tabela acima, mas já deixamos criada para a parte

  2. Agora crie a classe a seguir para testar a conexão.

conexaocode2

12. Agora compile a classe, não esqueça de certificar se o Mysql está executando.

Se tudo ocorrer como planejado você deve ter uma mensagem como a seguinte na tela de output do eclipse. Um detalhe importante

conexaoresultado

Vou ficando por aqui e espero que tenha gostado do post. Abraço a todos.

Série 2: Array & ArrayList em Java

Olá Pessoal, dando continuidade a série Arrays em Java, hoje veremos mais algumas funcionalidades de como é facil de trabalhar com array. Aqui veremos como Array & ArrayList se entendem muito bem. Espero que gostem dessa série.

Lets go..

dica: Para visualizar melhor o código basta clicar na imagem.

Leitura recomendada:

Série 1: Array em java

Collection

Bem, você acabou de aprender como usar ArrayList e quer trazer os dados que estão em um Array, o que fazer? O método asList() é a solução.

Array.asList() – é um método que COPIA UM ARRAY para uma LIST.

  • A mudança realizada em uma lista/array é atualizado em ambos automaticamente.

E de uma lista para um array? O método toArray() dar uma ajuda:

toArray() – faz o inverso, COPIA DA LISTA para o ARRAY.(retorna um Object).

Não queira reinventar a roda conheça a interessante api Iterator, esssa aqui ajuda a percorrer um conjunto enquanto tiver elemento.

Iterator – é um objeto, onde permite fazer um loop do conjunto. Ele possui dois métodos:

hasNext()retorna verdadeiro – true, se tiver mais de um elemento no conjunto.

next()esse aqui retorna o objeto e move o foco, para o próximo elemento seguinte.

  • O iterator deve ser do tipo da sua lista

Bem, a partir do java 5 pode usar o for aprimorado, mas para quem está em outra versão diferente o Iterator é a solução, veja no código a seguir que seu uso não é complicado.

code1-array11


Code 2:

code2-array2

Vou ficando por aqui e espero que tenham gostado dessa série, bom feriado .Abraços!

Série 1: Array em Java /Anniversary Blog

happybirthday44

olá Pessoal, Hoje vou apresentar alguns pontos importantes no uso de array em java. O objetivo aqui é ajudar aqueles estão iniciando/migrando para tecnologia. Não queira reinventar a roda. Isso é importante em qualquer área de desenvolvimento. Você pode até implementar usando a sua lógica em situações como as que serão apresentadas mas, fique atento aquilo que já está pronto e pode ajudar bastante no ambiente de produção, principalmente quando o processo de desenvolvimento é em equipe. Veja como é simples e fácil manipular os dados dentro de um array (em outras linguagens é conhecido como vetor). Analise as situações a seguir, e acredito que todos progamadores já se depararam com elas e gastaram e horas x horas programando para ordenar o array por exemplo.

Bem quero aproveitar e agradecer a todos por esse 1 ano de parceria com criticas, sugestões, participação. Se nao fosse por vocês leitores, nao estaria aqui hoje comemorando um ano de blog. E e espero que essa data venha se repetir. Agradeço a todos de coração e desejo sucesso muito sucesso na carreira profissional. E nao esqueça  que a persistência é a chave do sucesso.

Novo Arquivo em JFile:

Ética em TI

lets Go..

bem, to precisando ordenar meu array…”

  • Simples use o método sort da class Arrays. Não queira reinventar a roda 🙂

agora to precisando encontrar um elemento no Array…”

  • basta usar o método binarySeach

Algumas regras que você deve saber;

  • os objetos devem ser mutuamente comparáveis, ou seja, os objetos devem ser do mesmo tipo, não posso ter com tipos diferentes. Ex.: Integer com String.

  • As buscas retornam o índice int positivo do elemento que foi procurado se este for encontrado.

  • Quando realizar uma busca, o conjunto deve ser classificado antes da procura. (O inverso o resultado não serão previsíveis).

Em ação:

import java.util.*;

class ArrayBusca{

public static void main(String args[]){

String[] sa = {“ceu “, “lucas “, “camilo “};

Arrays.sort(sa);

for(String a : sa)

//imprimo o array ordenado – usando for aprimorado

System.out.print(a);

/*se o resultado for positivo o elemento foi encontrado no caso de negativo, não foi encontrado nenhum elemento, e o valor significa a posição que esse elemento estaria no seu array levando em conta que este está ordenado */

System.out.println(“\none = ” + Arrays.binarySearch(sa,”camilo “));

}}}

import java.util.*;

class ArrayOrdenado{

public static void main(String args[]){

String[] sa = {“ceu “, “lucas “, “camilo “};

Arrays.sort(sa);

for(String a : sa)

//imprimo o array ordenado

System.out.print(a);

} }

Um forte abraço, e até a série 2. Para os iniciantes ao mundo Java, sejam bem vindo! 🙂
Sei que receberei N e-mails e comentários falaado que é um post muito basico para está aqui, porém o objetivo é ajudar aqueles que estão tendo os primeiros contatos com a tecnologia e nao custa nada poder ajudar.