quarta-feira, 16 de dezembro de 2009

10 Dicas de sobrevivência para um Analista de Testes

  1. Foque nas atividades para as quais você está sendo pago:
    1. Mapeie o tamanho do buraco em que vc vai atuar;
    2. Não abrace o mundo com as pernas: faça aquilo que está dentro das suas competências. Se você acha que pode fazer mais, peça autorização e tente ! Senão, estude, leia e corra atrás.
    3. Cumpra com o que você promete: o combinado nunca sai caro!
  2. Execute suas atividades da melhor maneira possível: Capricho nunca é demais;
  3. Use a disciplina a seu favor:
    1. Padrões são a chave para transformar disciplina em hábito;
    2. Mudança de hábito gera sofrimento: faça a mudança gradativamente;
  4. Sempre guarde a sua retaguarda:
    1. Documente tudo. Se tem memória ruim, grave !
    2. Equipe de QA tem sempre telhado de vidro. Pense, aja e fale com gentileza !
    3. Fique atento às contra-ações para dificultar suas atividades: as pessoas não gostam de sair da zona de conforto;
  5. Não perca o foco, mas tenha visão 360º:
    1. Saia da sua bolha: aumente seu raio de percepção – se é um executor de teste, passe a pensar/agir como um Analista .... quem sabe não recebe uma promoção ?
    2. Seja curioso: pergunte sempre. Mas pense 10 vezes antes de perguntar asneira.
  6. Nas tratativas pessoas, invoque seu estilo “Sílvio Santos” de ser ...
    1. Trogloditas não têm vez na área de QA;
    2. Use seu magnetismo pessoal para convencer as pessoas da importância de suas idéias e atividades ;
    3. Saiba se comunicar com quem te escuta ! Coesão e coerência são palavras-chave para uma boa comunicação;
  7. Nas tratativas técnicas, identifique o perfil do seu cliente;
    1. Não defenda “bandeiras” de soluções prontas: a melhor solução é aquela que cabe no bolso do cliente;
    2. Nem sempre o barato é o mais ideal: o cliente tem que enfiar a mão-no-bolso pra garantir a sua zona de conforto, em atividades de missão crítica;
    3. Sugira soluções dentro da capacidade de entendimento do seu cliente: O que eles querem saber é se a solução de QA atende às estratégias corporativas;
  8. Nas tratativas comerciais, haja pró-ativamente:
    1. Preocupe-se em cumprir com o que foi vendido para o cliente;
    2. Deixe claro quais são as contingências para problemas com recursos humanos ou operacionais;
    3. Quem paga, tem razão ? Nem sempre. Construa uma relação de confiança e simpatia antes de vender uma solução.
  9. Sempre demonstre profissionalismo:
    1. Não invada limites: peça licença para obter a atenção devida. Atualmente, as pessoas não têm tempo, a não ser que recebam alguma ordem para tê-lo !
    2. Passe segurança: se você não sabe algo, seja humilde e mostre sua intenção em aprender e dê um prazo para isso.
  10. Sempre dê feedback !!!!!!
    1. Feedback construtivo ou destrutivo fazem parte de qualquer carreira profissional. Seja responsável em fazê-lo.

sexta-feira, 11 de dezembro de 2009

Ferramentas Open Source Gratuitas - by Cristiano Caetano

Gostaria de compartilhar estas ferramentas de grande utilidade em Projetos e bases de Testes, segue as definições e link:

Testes de Performace
Testes Funcinais
Estimativas
Controle de Versões
Gestão de Projetos
Gestão de Testes
Gestão de Defeitos
Gestão de requisitos

Link: Open Source

quinta-feira, 10 de dezembro de 2009

Os 25 erros de programação mais perigosos

Experts se juntaram com o objetivo de identificar os erros de programação mais perigos e propor as soluções para estes problemas. O artigo pode ser lido no seguinte link:

CWE/SANS TOP 25 Most Dangerous Programming Errors
www.sans.org/top25errors/

quarta-feira, 9 de dezembro de 2009

Papel do Analista de Teste

O papel Analista de Teste é responsável por inicialmente identificar e posteriormente definir os testes necessários, monitorar a abrangência dos testes e avaliar a qualidade geral obtida ao testar os Itens de Teste-alvo. Este papel também envolve a especificação dos Dados de Teste necessários e a avaliação do resultado dos testes conduzidos em cada ciclo de teste. Às vezes, este papel também é denominado Designer de Teste ou considerado parte do papel Testador. Este papel é responsável por:

  • Identificar os Itens de Teste-alvo a serem avaliados pelo esforço de teste
  • Definir os testes apropriados necessários e quaisquer Dados de Teste associados
  • Coletar e gerenciar os Dados de Teste
  • Avaliar o resultado de cada ciclo de teste
Pessoal: Os papéis organizam a responsabilidade de executar atividades e desenvolver artefatos em grupos lógicos. Cada papel pode ser designado a uma ou mais pessoas, e cada pessoa pode desempenhar um ou mais papéis. Ao definir o perfil do papel Analista de Teste, você deve considerar as habilidades exigidas para o papel e as diferentes abordagens que podem ser feitas para designar o papel ao pessoal.

Habilidades:
As habilidades e o conhecimento exigidos para o papel Analista de Teste incluem:
  • boa habilidade analítica
  • uma mente desafiadora e curiosa
  • atenção aos detalhes e tenacidade
  • entendimento de falhas de software comuns
  • conhecimento do domínio (muito desejável)
  • conhecimento do sistema ou aplicativo em teste (muito desejável)
  • experiência em vários esforços de teste (desejável)

Abordagens de designação de papéis:

O papel Analista de Teste pode ser designado das seguintes formas:

  • Designe um ou mais membros da equipe de teste para desempenhar os papéis Analista de Teste e Testador. Esta é uma abordagem adotada com freqüência, sendo especificamente adequada para equipes pequenas e equipes de teste de qualquer tamanho, formadas por um grupo experiente de Testadores com nível de experiência relativamente igual.
  • Designe um ou mais membros da equipe de teste para desempenhar somente o papel Analista de Teste. Esta abordagem funciona bem em equipes grandes, particularmente em situações nas quais existem especialistas do domínio com experiência mínima em implementação de testes, mas que possuem um nível de conhecimento significativo do domínio para especificar os testes adequados e determinar os resultados apropriados para esses testes. Esta estratégia de designação de papéis também pode ser usada para separar responsabilidades se algum membro da equipe de teste tiver experiência mínima em automatização de testes e, em virtude disso, apresentar dificuldade para desempenhar os papéis Testador e Designer de Teste.
  • Designe um membro da equipe para desempenhar os papéis Analista de Teste e Gerente de Testes. Esta estratégia é uma outra opção para equipes de teste de pequeno a médio porte. Atente para que as minúcias do papel Analista de Teste não afetem de modo adverso as responsabilidades do papel Gerente de Testes. Para minimizar esse risco, atribua tarefas de Analista de Teste menos críticas a uma pessoa que desempenhe esses dois papéis, deixando as tarefas mais importantes para os membros da equipe que não possuem nenhuma responsabilidade direta de gerenciamento.
  • Designe um ou mais membros da equipe para desempenhar os papéis Analista de Teste e Especificador de Requisitos. Esta estratégia é uma outra opção para equipes de teste de pequeno a médio porte e geralmente é utilizada quando existem especialistas do domínio disponíveis para desempenhar ambos os papéis. Tenha cuidado para destinar o esforço apropriado ao atendimento dos dois papéis.

Observe também que os requisitos de habilidades específicas variam de acordo com o tipo de teste a ser realizado. Por exemplo, as habilidades necessárias para analisar corretamente os requisitos de teste de carga do sistema são diferentes daquelas necessárias para analisar os requisitos de teste funcional do sistema.

Fonte: wthreex

Hierarquia do Time de Teste de Software

1. Gerente de Teste de Software: O Gerente de Teste de Software tem como função primordial a iniciação do projeto de teste a ser realizado no produto a ser testado. Suas qualificações e competências se assemelham a um gerente de projetos típico: elaborar o plano do projeto de teste, aquisição de novos recursos, orçamento, riscos, prazos, elaboração de relatórios, limitações do escopo do projeto de teste e outras atividades gerenciais como constante comunicação com sua equipe, controle e monitoração das atividades, geração de métricas para alimentar indicadores, etc.

2. Líder de Teste de Software: É o profissional responsável pela condução dos testes e pela equipe de testes. Geralmente é um profissional com alto grau de conhecimento em ciclos de vida de testes, automação de testes, ambientes de testes. O Líder de Testes ajuda o gerente de Testes a elaborar 3 relatórios básicos para o acompanhamento do Projeto: Relatório de Status, Relatório de Progresso e Relatório de Desempenho.

3. Arquiteto de Teste de Software: É o profissional responsável por montar e garantir o correto funcionamento da infra-estrutura e ambientes de teste. É também a pessoa que cuida da instalação das ferramentas e que garante o correto funcionamento das mesmas.

4. Analista de Teste de Software: É o profissional responsável por traduzir os requisitos do sistema em modelagens, cenários e casos de teste. Os defeitos encontrados por este profissional são encaminhados à equipe de desenvolvimento e o mesmo deve garantir que os mesmos foram corrigidos através do Teste de Confirmação.

Os cargos, funções e qualificações mostrados acima podem se diferentes em muitas empresas. Este é um resumo do que é mais usual no mercado de teste no Brasil.

Fonte: testexpert

terça-feira, 8 de dezembro de 2009

A Tabela ASCII

A Tabela ASCII (American Standard Code for Information Interchange) é usada pela maior parte da industria de computadores para a troca de informações. Cada caracter é representado por um código de 8 bits (um byte). Abaixo mostramos a tabela ASCII de 7 bits. Existe uma tabela extendida para 8 bits que inclue os caracteres acentuados.
Complemento com Caracter, Binário e Comentário.

Visualizar Tabela

Tabela completa com: Decimal, Hexadecimal, Html encode, Xml, JavaScript, Java (unicode).
Visulizar tabela Completa ASCII

segunda-feira, 7 de dezembro de 2009

Classificação Hacker

Para tornar-se um hacker é necessario passar por uma complicada hierarquia. Veja a seguir a classificação segundo a concepção americana.

Lamer: é o principiante que se acha o máximo.
Acabou de ganhar um micro e já quer invadir os computadores do pentágono.

Wannabe: é o principiante que aprendeu a usar algumas "receitas de bolo" (programas já prontos para descobrir senhas ou invadir sistemas). Conseguiu entrar num provedor frágil e já pensa que vai conseguir entrar nos computadores da NASA.

Larva: está quase se tornando um verdadeiro hacker. Já consegue desenvolver suas próprias técnicas para invadir sistemas.

Crackers black hat hackers (hackers Chapéu preto): é o "hacker do mal". que invade sistemas, rouba dados e arquivos, números de cartão de crédito, faz espionagem industrial e quase sempre provoca algum tipo de destruição, principalmente de dados.

Phreaker: "hacker" com altos conhecimentos de telefonia. Faz chamadas internacionais sem pagar, usando determinadas ferramentas para isso. o que lhe permite desenvolver seus ataques a partir de um servidor de outro país, ampliando ainda mais as formas de invasão.

Hacker: tem conhecimentos reais de programação e de sistemas operacionais, principalmente o linux e o unix, que são os mais usados pelos servidores de internet. Conhece quase todas as falhas de segurança dos sistemas e está sempre em busca de outras. Desenvolve suas técnicas e programas de invasão.

Script Kiddies: pessoas com pouco conhecimento técnico que simplesmente fazem o download de scripts.

Packet monkeys: pessoas que faz ataques de DOS (denial of service).

White hat Hackers (hackers Chapéu branco): hackers envolvidos em pesquisar e identificar vulnerabilidades.

Carder: é o especialista em fraudes com cartões de crédito. Sabe como conseguir listas de cartões válidos em sites que os utilizam (sites de compras,de chat pago, etc.), gerar números falsos que passam pela verificação e mesmo roubar e clonar cartões verdadeiros.

Cracker: chamado de "Hacker do mal" ou "hacker sem ética",normalmente é especializado em quebrar as travas de softwares comerciais para poder pirateá-los (chamados de warez-dOOdz), mas também usa seus conhecimentos para invadir sites e computadores com objetivos ilícitos, como vandalismo ou roubo. Muitas vezes os crackers são excelentes programadores e podem criar programas que infectem ou destruam completamente sistemas alheios sem deixar vestígios - os lammers normalmente usam programas criados pelos crackers. Mas a grande maioria é pouca coisa mais esperta que os lammers. A diferença é que os crackers são persistentes: conhecem e fazem usode uma miríade de ferramentas para explorar vulnerabilidades conhecidas
nos sistemas que querem invadir. Um lammer age por impulso e não sabe o que está fazendo. Um cracker sabe o que faz e, mesmo sendo um hacker medíocre, tem noções suficientes para "se virar" caso algum imprevisto ocorra.

Saiba se proteger contra as pragas do mundo online.

quarta-feira, 2 de dezembro de 2009

Principais Pragas da Internet

Para quem quer saber mais do que o básico em matéria de segurança ou simplesmente pra quem tem curiosidade em saber o que significa cada tipo de ameaça ai vai uma lista das definições bem explicadas. Mesmo pra quem não se interessa é sempre aconselhável saber.

Vírus: Arquivo que possui instruções em seu código para causar dano à sistemas operacionais, os níveis de dano podem ser até a destruição completa do sistema, inclusive à bios do mesmo. Ex: Vírus Chernobyl.

Adware: programa que se instala praticamente sem a percepção do usuário, sem a permissão do mesmo, promete alguma utilidade, mas, na verdade sua intenção é espionar os hábitos do usuário, traçando um perfil do mesmo, para a Empresa responsável pelo mesmo lhe enviar Spams.

Trojan: (CAVALO DE TRÓIA) uma das mais perigosas pragas existentes, sua função é espionar o usuário em tudo o que faz, e transmitir as informações:
Senhas, E-mail, Login etc., para o Cracker que o enviou. Esta PRAGA, costuma vir em E-mails ou mesmo em programas, muito bem disfarçada, e até existem técnicas para camuflar o Trojan tornando-o indetectável pelo Antivírus ou mesmo outro programa de Defesa.

Worm: VERME, uma variação de vírus com TROJAN, é altamente nocivo e possui instruções para alterar, destruir e se executar em determinado tempo, que pode ser semana, mês, dia e até hora marcadas para sua execução. É uma das mais perigosas PRAGAS existentes. Vêem camuflados e não é fácil sua detecção.

Hijacker: Sua função é alterar a navegação do Browser para sites pre-selecionados, muitas vezes sites pornô; o objetivo principal desta praga é controlar a navegação do usuário traçando o perfil do mesmo para lhe enviar Spam, objetivo principal comercial,outro espionagem.

Keylogger: Praga enviada para monitorar tudo o que é digitado pelo usuário, tanto localmente e principalmente quando o mesmo está on-line, e enviar os dados capturados para o atacante que instalou o Keylogger. O mesmo pode ser instalado tanto a distância como também presencialmente. Todo o cuidado com esse malware é pouco, ele pode capturar às telas e janelas do sistema também.
Essas PRAGAS, estão em todo o Planeta e podem ser enviadas por E-mail, ou mesmo vir disfarçadas em programas aparentemente inocentes.

BackDoor: Uma das piores pragas. Pode ser instalado tanto presencialmente como remotamente, a distância. Sua função abrir portas de comunicação sem o conhecimento do usuário, para que através delas, o mesmo sofra uma invasão ou um ataque. Pode ser usado para a ESPIONAGEM também, e informar ao atacante todos os movimentos da sua vítima. Pode vir disfarçado, burlar o Antivírus e o Firewall e sua detecção não é fácil. O nome se refere a abrir porta de comunicação nos bastidores do sistema, e através dela facilitar a invasão e controle remoto do mesmo, visando inúmeros fins nocivos.

Bots e Botnets: Também extremamente perigosos e difíceis de serem detectados, são na verdade também Rootkits – arquivos maliciosos que vêm com outros programas – aparentemente inofensivos. Mexem no registro do Sistema, alteram parâmetros, e conseqüentemente causam anomalias no sistema. São bastante perigosos e difíceis de detectar. A espionagem também é um dos seus atributos, para envio de Spam, Controle Remoto do Sistema e outros mais perigosos e destrutivos.

RootKits: Arquivos que possuem funções para alterar a navegação do usuário, alteram o controle e comportamento do Registro e de parâmetros do sistema com o intuito de espionagem, alteração da navegação do Browser e também funções de destruição do mesmo, sua instalação é bem camuflada e de difícil percepção, são arquivos bem pequenos.

Exploits: Talvez o mais perigoso do momento, porquê é um programa ou mesmo uma série de códigos enviados ao sistema, que são preparados para explorar vulnerabilidades dos mesmos. Bugs em Sistemas, Protocolos, serviços ou falhas em Browser, falta de atualização propiciam a possibilidade, de se alterar parâmetros e mesmo o controle do sistema, permitindo o controle remoto do mesmo, a alteração do Registro do Sistema e até à sua própria destruição ou instalação de um Backdoor ou Trojan, por exemplo.

Fonte: invasao.com.br