Atalhos de teclado para desenvolvedores .NET

Você, desenvolvedor: como é a sua relação com os seus periféricos? Você é daqueles que sabe todos os atalhos do teclado e quase não usa mouse? Ou é o completo oposto: fica com uma mão em cada? Eu, pessoalmente, gosto muito do mouse. Isso desde quando eu era criança e não entendia porque o mouse do computador da escola precisava de dois botões (eu tinha um Mac em casa). 🤣 Confesso que, atualmente, me esforço para utilizar mais os atalhos do teclado, em uma tentativa de ganhar agilidade enquanto programo. Portanto, resolvi vir aqui e listar os atalhos de teclado para desenvolvedores .NET, uma lista que resolvi desenvolver por conta própria para me ajudar a selecionar e memorizar as hotkeys mais importantes no meu dia-a-dia!

Um caranguejo fofo digitando em um teclado e eventualmente mexendo em um mouse, muito feliz.
Continuar lendo Atalhos de teclado para desenvolvedores .NET

Criando testes de carga no Visual Studio (com Selenium)

Olar!

Há algum tempo atrás, no meu trabalho, fiquei responsável por criar testes automatizados e de carga para o sistema que desenvolvemos. Em relação à testes automatizados, eu já tinha alguma ideia de como me virar – apesar de eu (ainda!) não ter nenhum conhecimento formal sobre o assunto. Agora, em relação à testes de carga… o conhecimento era zero mesmo! Eu nem imaginava que fossem possíveis de uma forma tão fácil pelo Visual Studio. E bem… digamos que EU CONSEGUI:

Mas antes de mais nada, para você é que é júnior do júnior e chegou no mundo da TI agora: o que é um teste de carga?

Os testes de carga testam se o aplicativo pode tratar de uma carga especificada de usuários para um determinado cenário e ainda atender à meta de resposta. O aplicativo é executado sob condições normais.

Testes de carga (e testes de estresse) são importantes para garantir que um aplicativo Web seja eficaz e escalonável. – Documentação da Microsoft

Estamos entendidos até aqui? Então bora: vamos montar o seu primeiro teste de carga no Visual Studio!

Continuar lendo Criando testes de carga no Visual Studio (com Selenium)

Testes automatizados com C# e Selenium – parte 2

E aí! Vamos (finalmente!) escrever aquele teste com Selenium!

Oprah com um microfone gritando e apontando para a platéia

🔙 Caso você não tenha visto a parte 1 desse post, com todas as configurações para fazer esse teste, corre lá!

⚠️ Lembrando: estamos criando um projeto de teste solo e vamos testar algo bem básico; no caso, vamos pesquisar algo no Google e conferir se o primeiro resultado vem preenchido. Também quero recordar que estou usando e passando somente os conhecimentos que estão dentro da minha alçada, ou seja: .NET Framework e IEDriver como navegador para o Selenium.

Continuar lendo Testes automatizados com C# e Selenium – parte 2

Testes automatizados com C# e Selenium – parte 1

Quem nunca quis morrer por conta de um sistema legado, que atire a primeira pedra! Esse era exatamente o sentimento que eu tinha há algum tempo, com o atual sistema que trabalho. Ele é um senhorzinho que funciona muitíssimo bem, mas que aos poucos está sendo atualizado e, junto com isso, veio a oportunidade de aplicar alguns testes automatizados nele.

Mas é claro que nada é tão simples assim…

Elmo dando de ombros

Por conta da maneira que ele estava desenvolvido, a única automação de teste possível seria com o Selenium – ou seja, desenvolver um projeto de testes que simulasse o usuário utilizando o sistema e suas inúmeras possibilidades de fluxos. Já é alguma coisa, não?

Eu nunca tinha trabalhado com o Selenium puro, somente com o SpecFlow, que eu vejo como uma ferramenta facilitadora: ele faz com que seja mais fácil incluir a gerência no processo de desenvolvimento de casos de teste, por exemplo.

Dada essa introdução, vim fazer um mini-tutorial (em partes) de como fazer seu primeiro teste automatizado com Selenium e C#!

Continuar lendo Testes automatizados com C# e Selenium – parte 1

Como mudar o número de usuários máximo do seu teste de carga de maneira fácil

Recentemente, fiquei responsável na minha equipe por desenvolver testes automatizados e de carga no sistema. Foi um desafio novo: por mais que eu já tivesse feito alguns testes automatizados antes, começar tudo do zero era algo que eu nunca tinha feito; especialmente os testes de carga, que eu nem sabia que eram possíveis de serem feitos tão fácil pelo Visual Studio.

Depois de desenvolvidos os testes automatizados e criados vários testes de carga diferentes a partir deles (cada um deles com seu próprio .loadtest), foi me pedido uma alteração específica, nos testes de carga que eram executados por tempo: que o número máximo de browsers que fossem abertos fossem 15 (inicialmente foi programado 25).

Já irritada, pensei: vou ter que apagar todos os testes e criar de novo, porque essa é uma das informações que é definida em uma espécie de wizard de criação de testes de carga.

Print screen do wizard de criação de testes de carga do Visual Studio

Mas como eu sou brasileira e não desisto nunca, fui procurar se havia alguma maneira mais fácil de alterar os testes sem precisar apagar tudo e fazer de novo. E existe!

Continuar lendo Como mudar o número de usuários máximo do seu teste de carga de maneira fácil

Detalhes desconhecidos: como recuperar a seção applicationSettings de um arquivo App.config?

Esses dias, enquanto estava configurando um serviço em um dos projetos do trabalho, tive um momento de nervoso porque não fazia a menor ideia de como recuperar um dado da seção applicationSettings, que fica dentro do arquivo App.config.

Explico: trabalhar com os .config da vida não é algo novo para mim; praticamente todos os projetos do meu trabalho tem um. É um arquivinho deveras útil quando precisamos parametrizar certos aspectos do sistema (e não queremos que este seja recompilado para que a parametrização funcione).

Um homem negro digita em um computador enquanto uma fogueira arde ao seu lado.

Porém, eu só havia me deparado com dois cenários esse tempo todo:

1- criar uma seção de appSettings e declarar meus parâmetros ali dentro, com chave e valor:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <appSettings>
      <add key="NomeDoParametro" value="Valor do parâmetro" />
   </appSettings>
</configuration>

E recuperá-los via ConfigurationManager, da biblioteca System.Configuration:

using System.Configuration;

private string _recuperandoParametroArquivoConfig = ConfigurationManager.AppSettings["NomeDoParametro"];

2- criar uma seção relativa à algo específico e ali criar os parâmetros com chave e valor:

<NomeDaSecao>
      <Autenticacao>
         <add key="Username" value="Usuario" />
         <add key="Password" value="SenhaDoUsuario" />
      </Autenticacao>
      <Constantes>
         <add key="Endereco" value="ValorDoEndereco" />
      </Constantes>
</NomeDaSecao>

E recuperá-los com o NameValueCollection e ConfigurationManager:

NameValueCollection Autenticacao = (NameValueCollection)ConfigurationManager.GetSection("NomeDaSecao/Autenticacao");
NameValueCollection Constantes = (NameValueCollection)ConfigurationManager.GetSection("NomeDaSecao/Constantes");

string Url = Constantes.Get("Endereco");

Pois bem, ali estava eu, em um cenário totalmente novo: eu tinha uma tag applicationSettings e precisava do valor que ficava ali dentro dela.

    <applicationSettings>
        <Projeto.Properties.Settings>
            <setting name="NomeDaConfiguracao" serializeAs="String">
                <value>ValorDaConfiguracao</value>
            </setting>
        </Projeto.Properties.Settings>
    </applicationSettings>

Depois de uns 10 segundinhos de nervoso pensando: “como é que eu chego ali?”, fui consultar o Oráculo (Google + Stack Overflow) e a solução é MUITO mais simples do que eu podia imaginar. (Às vezes eu esqueço que o Visual Studio pode facilitar bastante a nossa vida…)

Robert Downey Jr. fazendo sinais de joinha com as mãos.
Continuar lendo Detalhes desconhecidos: como recuperar a seção applicationSettings de um arquivo App.config?