Neste artigo será apresentada uma introdução básica aos testes unitários exemplificando como os escrever na linguagem C#, usando as ferramentas que acompanham o Visual Studio Community. Escrever testes de caso é uma parte importante do teste de software. Testar software é sempre um “quebra-cabeças” para programadores e testadores pois existem imensos tipos de casos de teste possíveis. Os testes unitários são um método pelo qual pedaços de um programa, módulos ou até conjuntos de módulos, são testados por forma a determinar se estão em condições de serem utilizados.
Para escrevermos bons testes unitários, devemos entender como é que um caso de teste funciona, e porque precisamos de o testar!
Muito se tem falado desde a passada sexta-feira sobre cyber-segurança, mas antes disso pouco se dizia. Isso faz lembrar o ditado português, “depois da casa roubada, trancas na porta”. Ora bem, na passada sexta-feira, um ransomware, infectou imensos sistemas, colocando os dados reféns de um resgate a ser pago aos criadores do malware. Até aqui, nada de inédito, este tipo de ataques tem sido cada vez mais co- mum! O estranho é o “pânico” gerado em volta da situação e mais estranha será a falta de uma política “pró-activa” de prevenção!
Um ransomware, encripta os dados contidos nos discos rígidos e solicita um pagamento de um resgate! Bem, se existirem cópias de segurança, para quê pagar resgate? Restaura-se a cópia de segurança e recomenda-se aos “autores” do “dito cujo” que vão “plantar nabos num qualquer deserto”, porque os dados continuam disponíveis e o ataque foi apenas mais um fracasso! Situação em que se poderia dizer que “venha de lá o assalto” que as trancas estão na porta! Mas infelizmente numa grande quantidade de situações tal não aconteceu!
Existem diversas orientações para programação orientada por objectos, no entanto, neste artigo apenas iremos focar SOLID com exemplos em C#.
SOLID é um acrónimo dos cinco primeiros princípios da programação orientada a objetos e design de código identificados por Robert C. Martin Este mesmo acrónimo foi introduzido por Michael Feathers, após observar que os cinco princípios poderiam se encaixar nesta palavra.
Programar pode ser uma arte, apesar de ser uma acção e não necessariamente uma “expressão” no sentido mais conservador. Nesse caso um programa seria “uma forma de arte” e consequentemente os developers seriam artistas.
Ainda assim, isto nem sempre é observado desta forma! Numa atitude quase que “patológica” ou “desenquadrada” pro- gramar é muitas vezes visto como um ofício, uma tarefa, um trabalho e não propriamente uma forma de arte! Por exemplo e sem divagar muito, ensinam-se artes plásticas, expressão dramática, música, etc… nas escolas, no entanto ainda não existe de forma “massificada” a programação como matéria de ensino e estudo! Ainda que pareça precoce ver os mais novos a aprender a programar, certo será admitir que hoje em dia qua- se todos sabem usar um tablet, ou mesmo um computador!
Algumas vezes necessitamos que o nosso programa interaja com uma página web, seja para obter alguma informação ou para testar o seu funcionamento. Normalmente, isto pode ser feito interagindo com o conteúdo da página, usando a API DOM (Document Object Model – representação dos objetos da página em forma de árvore) e obter informações ou interagir com a página (preenchendo caixas de texto ou clicando em botões pelo programa).
Isto, além de ser difícil e sujeito a erros, pode ter de funcionar de maneira diferente nos vários browsers. Uma maneira mais simples de fazer isto, além de ser compatível com a maioria dos browsers é usar uma ferramenta open source, chamada Selenium (http://www.seleniumhq.org/). Neste artigo, iremos mostrar como usar o Selenium para interagir com o Google, fazer uma pesquisa e mostrar os resultados numa Listbox WPF.
Um dos problemas mais habituais em programação SQL é pedir dados que aconteçam no intervalo de duas datas. O tipo de dados dos campos de data/hora variam conforme o SGBD (DATE, TIME, DATETIME, DATETIME2, SMALLDATETIME, etc.), mas o problema descrito em baixo é semelhante em todos.
Problema: Necessito dos registos cujo campo CampoData está no intervalo 2016-01-01 (inclusive) a 2016-12-31 (inclusive).
Como não podia deixar de ser, nesta edição resolvemos dedicar um espacinho ao Web Summit deste ano.
Para os leitores que não estão tão familiarizados com o mundo da tecnologia, queremos relembrar que a Web Summit é uma das maiores conferências mundiais de tecnologia.
A primeira vez que este evento teve lugar foi em 2009 em Dublin (onde se realizaram nos últimos 5 anos) e rapidamente se tornou um dos maiores eventos do género, uma vez que é dos acontecimentos anuais mais aguardados. A Web Summit foi fundada por Paddy Cosgrave, David Kelly e Daire Hickey.
Ainda que possa parecer o título de um “filme de terceira categoria”, qualquer semelhança é apenas mera coincidência fruto de um qualquer infortúnio das palavras! Passando as brincadeiras, e mudando para o verdadeiro assunto do artigo, todos ouvimos falar de interrupts (sinal emitido pelo hardware ou software enviado ao processador, indicando que um evento necessita de atenção imediata), para os mais “vintage” da tecnologia que passaram pelos “tormentos” de configurar os interrupts nas BIOS cada vez que se acrescentava uma placa num PC, o conceito será certamente mais familiar, mas não se trata de interrupts de hardware ou software que escrevo! Trata-se antes das “interrupções” no trabalho de um programador e na relação das interrupções com a produtividade.
No 29º Encontro das Geek Girls Portugal, lançaram-me o desafio de “transformar” a apresentação e escrever um artigo para a Programar, o que me traz hoje até vos, caros leitores.
Gostaria de vos apresentar e sensibilizar para debater alguns pontos sobre o contributo de um profissional de Marketing & Comunicação no sector das TIs. Ao longo deste artigo foco-me em alguns pontos debatidos ao longo do encontro, que se destinou essencialmente aos profissionais de Marketing que estejam a abraçar o desafio de desenvolver um gabinete de Marketing & Comunicação numa empresa do sector das TIs. De acordo com a minha experiência pessoal e profissional, deverão ter em mente os seguintes aspectos: