terça-feira, 22 de julho de 2014

Organizando seu Teste Automatizado - WebDriver C#

Você já parou para pensar como devo organizar o seu teste automatizado?
Não existe uma regra, mas algumas boas práticas podem te ajudar a dar manutenções.

Vou compartilhar um pouco com vocês a minha maneira de organizar os scripts de teste.
Não é uma forma fechada, pois até hoje tenho novas ideias de como organizar.

Vou contar a experiência de como estou organizando os scripts de teste hoje.
A ferramenta não irá influenciar em nada.
Hoje uso o Visual Studio 2013.

Então vamos  começar.

Um dos projetos que hoje estou trabalhando está bem no início.
Tem um menu de Cadastros, que são de duas funcionalidades. TAG AOL e PCL.

Apesar de funcionalidades diferentes, irei utilizar informações em comum, tais como: URL do Sistema; usuário e senha de acesso a aplicação; caminho onde as evidências de teste serão gravadas dentre outras.

terça-feira, 15 de julho de 2014

Criando Evidência de Teste - WebDriver C#

Por falta de conteúdo de como criar Evidência de Teste usando Selenium WebDriver com C#, resolvi compartilhar com vocês uma classe que criei.

Antes de chegar nessa solução, passei por várias maneiras e formas de criar a evidência. Estou desenvolvendo ainda, mas já está funcionando.
Usei um pouco de Bootstrap (bem pouco mesmo).
Irei compartilhando com vocês as melhorias.

A classe gera um arquivo em HTML e funciona da seguinte maneira:

Na minha classe de teste, faço a chamada ao final do teste (passou ou falhou) da seguinte maneira:


Tenho referências a outras classes, como nome do HTML a ser criado, Print da tela.
Irei em um outro artigo entrar em mais detalhes sobre cada uma delas.

O código onde tudo acontece 


sexta-feira, 16 de maio de 2014

Segurança no Software - Vulnerabilidades e Ataques - Injection

Em um artigo anterior, falamos um pouco sobre Segurança no Software - Vulnerabilidades e Ataques.
Nesse artigo iremos dar algumas dicas de como testar seu Software usando Injection.
  
Nos exemplos abaixo verificar possíveis vulnerabilidades na autenticação do Software.

Na tela de autenticação do Software:
Teste 1
    

Primeiramente, o invasor tenta inserir um nome utilizando aspas. Isso serve só para verificar se o formulário possui alguma função, java script ou alguma linguagem que bloqueie o uso de um caractere como a apóstrofo (‘) ou aspas simples. Conforme mostra a Figura 1. Caso não seja feito esse tipo de tratamento, ocorrerá um erro da instrução SQL (incorrect Sintax). Diante desse resultado, o invasor já sabe que existem possibilidades de invasão do referido site.


quinta-feira, 10 de abril de 2014

Gerenciar Testes Automatizados em Vários Browsers - WebDriver C#

Quem já não se deparou nesse cenário:

Tenho uma suite ou mais de teste automatizado com vários scripts e preciso que o teste seja executado no Internet Explore, Firefox e no Chrome.

A primeira coisa que vem a cabeça é repetir cada suite de teste uma para cada browser.
Na teoria problema resolvido. Mas já pensou se um elemento muda na tela? Você teria que ir em cada suite de teste para fazer a alteração.
Parece um absurdo mais já me deparei com essa situação.

Mediante essa situação, consegui "elaborar" uma maneira mais fácil de acabar com esse problema.

Primeiro criei uma Classe chamada ClBrowser.cs


segunda-feira, 7 de abril de 2014

Segurança no Software - Gerenciar Perfis - Vulnerabilidades e Ataques

Continuando a séria sobre Segurança no Software, iremos abordar alguns testes que podemos fazer a fim de garantir a segurança.

Como errar é humano, e, quando uma Aplicação começa a ser utilizado, contém inúmeros bugs, e essas vulnerabilidades que existem na Aplicação estão sujeitas a ser descobertas.

Mas como podemos, Bugs Busters, evitar que nossas Aplicações contenham vulnerabilidades (ou pelo menos diminuir)? 

Teste 1 
     Verificar o grupo de acesso cadastrado e suas respectivas permissões  de acesso.
     Cadastrar os perfis, e em cada perfil associar um determinado usuário e logar no Aplicação. 
  Resultado esperado: a Aplicação deve permitir acesso conforme perfil associado.
   Risco Mitigado: acesso indevido a dados e funcionalidade
________________________________________

terça-feira, 1 de abril de 2014

Segurança no Software - Vulnerabilidades e Ataques em Autenticação de Autorização

Em um artigo anterior, falamos um pouco sobre Segurança no Software - Vulnerabilidades e Ataques.
Nesse artigo iremos dar algumas dicas de como testar a sua Aplicação na parte de Autenticação e Autorização.
 
Teste 1
     Entrar na URL da Aplicação e no campo senha, digitar. 
     A senha não poderá ser visualizada. Apesar de ser um teste muito trivial (e muitos que nem consideram um teste, por ser padrão), já me deparei com algumas Aplicações que era possível visualizar a senha ao digitar.
 
Teste 2
     Verificar se a Aplicação está utilizando login seguro, se está utulizando o HTTPs.
     Caso a autenticação realizada por sua Aplicação seja usada em outras Aplicações, deve-se utilizar um mecanismo de canal seguro, seja SSL ou Kerberos dentre outros.

sexta-feira, 28 de março de 2014

Teste de Segurança - Autorização - Conversando com a Aplicação

No artigo anterior falamos sobre as perguntas que devemos fazer a Aplicação de identificação e autenticação.
Hoje iremos abordar as perguntas sobre autorização. 

Autorização

Autorização se refere ao procedimento de determinar quais dados ou funcionalidades o usuário tem acesso. As perguntas a seguir visam à determinação dos controles relativos à determinação e manutenção das autorizações.


     1 - A Aplicação requer restrições de acesso conforme a máquina de onde vem acesso? 
A aplicação aceitará apenas acessos vindos de máquinas específicas, não permitindo o acesso a determinadas ou todas as funcionalidades da Aplicação.
 Pode-se também perguntar se a Aplicação requer restrições de acesso conforme a sub-rede de onde vem o acesso.
  Risco Mitigado: invasão externa (hacker)
 ________________________________________