Pesquisar este blog

segunda-feira, 30 de janeiro de 2012

Boa Leitura Sobre Testes Exploratórios

Segue os Links abaixo:

 
Heuristic Test Strateg Model
http://www.satisfice.com/tools/satisfice-tsm-4p.pdf

A Tutorial in Exploratory Testing
http://www.kaner.com/pdfs/QAIExploring.pdf

Session-based testing
http://en.wikipedia.org/wiki/Session-based_testing

Dynamics of Exploratory Testing
http://www.quardev.com/content/whitepapers/ExploratoryTestingasSport_JonBach_PNSQC06pdf.pdf

Exploratory Testing in an Agile Context
http://www.agilistry.com/downloads/ETinAgile-agile2011-final.pdf

The Nature of Exploratory Testing
http://www.testingeducation.org/a/nature.pdf

How to Manage and Measure Exploratory Testing
http://www.quardev.com/content/whitepapers/how_measure_exploratory_testing.pdf

Exploratory Testing in Pairs
http://www.kaner.com/pdfs/exptest.pdf

How to: Start an Exploratory Test Session in Microsoft Test Manager
http://msdn.microsoft.com/en-
us/library/hh191616(v=vs.110). aspx

Exploratory Testing – An Agile Approach
http://xebee.xebia.in/wp-content/uploads/2009/11/Exploratory-Testing-an-Agile-approach.pdf

Learning Styles and Exploratory Testing
http://www.testingeducation.org/a/lset.pdf

Session-Based Test Management
http://www.satisfice.com/articles/sbtm.pdf

Learning Styles and Exploratory Testing
http://www.kaner.com/pdfs/ExploratoryTestingandLearningStyles(Final).pdf

Testing in Session - How to measure exploratory testing
http://sasqag.org/pastmeetings/ExploratoryTesting_SessionBasedTestManagement.pdf

Test Heuristics Cheat Sheet
http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf

Testing without a map
http://www.developsense.com/articles/2005-01-TestingWithoutAMap.pdf


Vídeos
Exploratory Testing talk at Mozilla
http://www.youtube.com/watch?v=CC0TR6qQIWM

Exploratory Testing
http://www.youtube.com/watch?v=8Y4WCdJRfV4

Large-scale Exploratory Testing: Let's Take a Tour
http://www.youtube.com/watch?v=fNkYz1hB7r0

Livros
Whittaker, James A. Exploratory Software Testing: Tips, Tricks, Tours, and Techniques to Guide Test Design.

Kaner, Falk, and Nguyen. Testing Computer Software (Second Edition)

Kaner, Cem; Bach, James; Pettichord, Bret (2001). Lessons Learned in Software Testing. John Wiley & Sons

Como verificar as conexões das portas ativas ou bloqueadas.

Nos testes de performance usando o JMETER ou RPT, tive problemas com a conexão de portas, geralmente estão fechadas por algum programa (anti-vírus, firewall) da empresa. Veja os comandos abaixo, para saber se a porta está bloqueada.



Telnet é um protocolo cliente-servidor usado para permitir a comunicação entre computadores ligados numa rede (exemplos: rede local / LAN, Internet), baseado em TCP.

Verificando a Conexão com a porta das maquinas:
Entre no prompt do windows, no Windows 7, Digite "cmd" na barra de pesquisa do menu iniciar.


Comando "telnet" + ip +  porta
Exemplo:
telnet 170.00.84.235 1099

Obs.: Se não conectar, tem algum programa ou antivirus ou firewall, bloqueando a conexão com a maquina.


Telnet comandos:
Digite no cmd o comando telnet,  vai abrir o console do telnet, para digitar os camandos abaixo:
Os comandos podem ser abreviados. Os comandos com suporte são:

c    - close                  fecha a conexão atual
d    - display                exibe parâmetros operacionais
o    - open hostname [port]   conecta a um nome de host (padrão porta 23).
q    - quit                   encerra o telnet
set  - set                    define opções (digite 'set ?' para listas)
sen  - send                   envia cadeias de caracteres ao servidor
st   - status                 imprime informações de status
u    - unset                  anula definições de opções (digite 'unset ?'
                              para listas)
?/h  - help                   imprime informações de ajuda

Instalação do Telnet em Windows 7
Em Inglês:
http://www.itdoescompute.com/2009/10/29/how-to-enable-telnet-in-windows-7/
Em Português:
http://www.iotecnologia.com.br/windows-7-habilitando-recursos-opcionais-tftp-e-telnet

Você pode usar o TCPView da SysInternals para verificar os processos e a porta remota que esta sendo usado, segue o link: https://technet.microsoft.com/en-us/sysinternals/bb897437


Mostra as conexões estabelecidas com a porta 80, e qual o status:

netstat -an |grep 80






















terça-feira, 24 de janeiro de 2012

Ferramentas de Teste


Abaixo temos uma lista de ferramentas para teste de software.

Lista de ferramentas de teste:

Gerenciamento de teste:
01- TestLink (http://www.teamst.org/)

Ferramenta de gestão de teste que proporciona a criação, execução e controle das atividades de teste.

Bugtracker:
01- Mantisbt (http://www.mantisbt.org/)
Ferramenta de gestão de incidentes, pratica e bastante robusta
02- Bugzilla (http://www.bugzilla.org/)
Um completo servidor para ajudar o gerenciamento do desenvolvimento de software.

Testes Funcionais Automatizados:
01- Selenuim (http://seleniumhq.org/)
Suite de ferramentas para testes funcionais em aplicações WEB.
02- SiKuLi (http://sikuli.org/)
Ferramenta para automatizar teste de interfaces gráficas do usuário (GUI) utilizando imagens
03- BadBoy (http://www.badboy.com.au/)

Ferramenta de testes para aplicações WEB e Ferramentas para Testes de Performance

01- Apache JMeter (http://jakarta.apache.org/jmeter/)
Originalmente foi desenvolvida para ser uma ferramenta para teste de Performance em aplicações WEB, mas que permite inúmeros tipos de testes.

Manual Web: http://jmeter.apache.org/usermanual/index.html
Testes Remotos: http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.pdf
Gravação dos Testes e Exportar pro Jmeter: http://www.badboy.com.au/



Vídeos:
http://www.youtube.com/watch?v=8jpXFjcHuhc
http://www.youtube.com/watch?v=dpHpsh9mosU
Tutorial de Sites em Pt: 
http://www.devmedia.com.br/post-4118-JMeter-executando-testes-de-desempenho.html
http://www.zezologs.org/blog/ferramenta-de-testes-jmeter/
 http://www.testexpert.com.br/?q=taxonomy/term/11






Testes Unitarios:
01- JUnit (http://junit.sourceforge.net/)
Umas das ferramentas mais difundidadas de testes unitarios, para aplicações Java.
02- TestNG (http://testng.org)
Ótima framework para testes unitarios.
03- NUnit (http://www.nunit.org/)
Framework para teste unitario para aplicações que utiliza a tecnologia dotNet.

segunda-feira, 26 de dezembro de 2011

Como Capturar as requisições que AppScan gera.

A ferramenta AppScan não mostra as requisições enviadas, só as que ele encontra vulnerabilidades, tentei realizar através do fiddler, mas a quantidade gerada é tão grande que chegou a travar, pesquisando bastante encontrei um Plugins que pode ser adicionado a ferramenta, podendo realizar essa função.

Passos:
1. Baixe o Arquivo abaixo:
http://www.4shared.com/zip/gsmjUppS/AppScanRepPpt-bin-12.html
2. Instale o Executável TrafficViewerSetup.msi
3. Instale o Plugin pela AppScan
  3.1 - No menu Tools, em Extensions, clique em Extension Manager


  3.2 -  Na Tela do Extesion Manager clique em Install, selecione o arquivo baixado TrafficViewerAppScanExtension.zip, clique em "Ok", para instalar, posteriormente reinicie o AppScan.

4. Configurar o Proxy
  4.1 - Agora temos que adicionar o proxy no AppScan e no Traffic Viewer, para isso precisamos abrir os dois programas.


 Em Tools, depois em options, configure o proxy.

No menu Scan do AppScan, clique em Scan Configuration, na parte de Connection selecione "Communication and Proxy", digite o endereço e a porta do seu proxy.

Ao Clicar em "Tail", começa a capturar o Trafico, ao clicar em "Stop", vai parar a captura do trafico.

  4.2 Ao realizar seus testes no AppScan, seram capturados as requisições pelo Traffic Viewer, sendo necessário configurar os dois aplicativos ao mesmo tempo antes de realizar os testes. Pra que capturar as resquisições? Primeiro é essencial a pessoa entender como a AppScan faz os testes e como ela muda as requisições, que tipo de testes ela está fazendo, no eventual problema é necessário tentar reproduzir e entender o erro, verificando as requisições que o AppScan enviou.

quinta-feira, 15 de dezembro de 2011

Tutorial Avançado da Ferrramenta IBM AppScan



Fiz um Tutorial Avançado da Ferramenta, para aqueles que sentirem dificuldade na sua execução, a ferramenta não faz milagres, é necessário um profissional que saiba manuseá-la e entenda de segurança, o manual é de grande ajuda na realização dos testes, muitos dos Passos foram remendações dos consultores da IBM.




Link do Tutorial em PDF:

http://www.4shared.com/document/E4sNW8m9/Tutorial_Avancado_com_AppScan.html

Tutorial em Vídeo:

http://www.4shared.com/video/jJlE1OA-/projAppScan.html




terça-feira, 13 de dezembro de 2011

Curso de Auditoria de Segurança em Aplicações Web baseado na OWASP

O Curso vai ser Apresentado em Manaus entre os Meses de Março e Julho de 2012 na SOFTESTE.

BRATESTE - Piores Práticas em Testes de Software (e como evitá-las)




Na minha opinião, não existem melhores práticas universais para testes de software (e mesmo para
as demais disciplinas da engenharia de software). Porém podemos aprender com os erros dos outros
e evitar cair nas mesmas ciladas. Abaixo seguem algumas experiências que eu tive e que me
trouxeram problemas no passado. São trechos da apresentação realizada no Brateste. Para acessar
a apresentação completa, utilize o link ao final do artigo.

1. Deixar os testes para o final do projeto
Testes fazem parte do ciclo de vida do projeto e devem ser considerados desde o início. Infelizmente,
essa prática ainda não é adotada em todas as organizações, e quando deixamos os testes para o
final do projeto, o que costuma ocorrer é: os testes são comprimidos ou deixam de ser executados.
Mais grave ainda é que a importância dos testes reduz, pois normalmente próximo ao final do projeto,
a expectativa é de que não hajam defeitos - qualquer defeito encontrado pode significar um atraso na
implantação.

Para evitar essa má prática: os testes devem iniciar junto com o projeto e os
testadores devem fazer parte da equipe e colaborar com o desenvolvimento
(whole team). No início do projeto, o foco é no planejamento e no design dos
testes. Temos que manter a rastreabilidade dos produtos de trabalho de testes
com os demais produtos de desenvolvimento. Também podemos incluir requisitos
que facilitem a testabilidade do sistema (se deixarmos para o final do
projeto, é muito mais difícil que esses requisitos sejam implementados). Para
evitar essa má prática, o desenvolvimento iterativo é a chave para que os
testes não sejam executados só no final do projeto - devemos ter ciclos de
execução dos testes a cada iteração.

2. Buscar 100% de automação dos testes
Uma ilusão perseguida por muitas empresas que focam em testes é automatizar todos os testes de um
sistema. Chamo isso de ilusão pois sequer é possível definir quais são todos os testes possíveis para
um sistema. Além disso, essa prática é pouco benéfica para o principal objetivo dos testes - encontrar
defeitos. Muitas tentativas de automatizar os testes acabam criando um monstro - um conjunto de
scripts de automação difícil de ser mantido e pouco eficiente em encontrar novos defeitos (o teste só
vai ser automatizado se o software estiver funcionando - e portanto só vai encontrar defeitos se algo
que estava funcionando deixe de funcionar).

Para evitar essa má prática: a automação dos testes pode ser muito benéfica em
alguns casos (como por exemplo no desenvolvimento iterativo ou em métodos
ágeis - para ajudar nos testes de regressão). Mas a automação sozinha não deve
responder por encontrar os defeitos do sistema. Na prática executamos testes
manuais para encontrar a maior parte dos defeitos e automatizamos os cenários
que trazem algum ganho para a empresa, por exemplo: tarefas repetitivas,
principais cenários de utilização do sistema para teste de regressão, etc.
Também devemos considerar a automação de outras tarefas relacionados com teste
tais como a gerência dos testes e o reporte de defeitos. Em resumo: evite dar
toda atenção à automação e não esqueça da principal tarefa dos teste: evitar
que defeitos sejam encontrados pelos usuários da aplicação.

3. Focar nas evidências dos testes
Testadores detalhistas, empresas com níveis de controle muito altos e gerentes com uma visão
distorcida dos testes, costumam cobrar documentações detalhadas dos testes.Ás vezes o foco na documentação
ofusca o real trabalho dos testes. Os testadores devem encontrar defeitos e impedir
que esses defeitos sejam encontrados por clientes. Evidenciar os testes é uma conseqüência do
trabalho dos testadores. Documentações muito elaboradas, padrões, níveis de maturidade são menos
importantes do que encontrar defeitos.

Para evitar essa má prática: ter uma documentação detalhada dos testes não
chega a ser uma má prática se não tirar o foco dos testes de encontrar
defeitos. Meça a produtividade da equipe de testes: quantas horas são
necessárias para encontrar 1 defeito? Quantos defeitos são encontrados e
corrigidos antes que o software chegue em produção? Qual é o valor dos testes
para sua organização e de que forma eles ajudam na qualidade do projeto?


Artigo por FelipeFreire palestrado na BRATESTE
O evento, focado em testes, contou com cerca de 200
participantes e foram abordados tópicos atuais sobre os
testes de software, tais como: Agile, frameworks e
ferramentas de testes, tendências, etc. Contou com
palestrantes internacionais, autores de livros de referência para a área de testes, tais como Lee Copeland, Martin
Pol e Janet Gregory (Test Design Technics, TMap e Agile Testing).

Slides da Palestra: