Visitantes

Pesquisar neste Blog

quarta-feira, 1 de abril de 2020

BDD - Behavior Driven Development



O BDD (Behavior Driven Development) 


É uma técnica de desenvolvimento Ágil de software, que encoraja colaboração entre desenvolvedores, setores de qualidade e pessoas não-técnicas ou de negócios num projeto de software, relaciona-se com o conceito de verificação e validação. 

BDD é uma técnica de desenvolvimento de software ágil que surge através de uma crítica de Dan North ao Test Driven Development(Desenvolvimento orientado a testes), onde ele visava otimizar o conceito de ‘verificação e validação’ já aplicado, e tornar mais eficiente a construção de cenários a serem testados e/ou desenvolvidos.

Para Kent Beck, criador do TDD, os testes devem ser escritos antes do código do software, assim irão falhar. Logo após, os desenvolvedores irão se basear nestes cenários falhos, irão implementar a aplicação de maneira a fazer os testes passar, e refatorar seu código até que fique mais limpo. De maneira cíclica. O que foi chamado de Red-Green- Refactor.
O BDD é uma técnica que foca no comportamento do software, com essa metodologia podemos criar testes e integrar as regras de negocio com a programação. A definição do comportamento geralmente é realizada por user stories onde os cenários devem ser escritos de uma forma curta com uma descrição simples da feature.

Ao contrário do que alguns podem pensar, esse conceito não se aplica apenas a profissionais de qualidade, mas para sua correta implantação todos os membros do time precisam entendê-lo, e estar comprometidos com um pensamento que gira em torno das necessidades de um usuário real.
O BDD deveria ser utilizado para verificar as partes mais importantes do aplicativo utilizando testes end-to-end, para os testes de integração, que a escrita devem ser simples, mas de modo que faça sentido para o negócio. 
O BDD deverá ser aplicado em testes de unidade desde que haja beneficio para o negócio, quando precisamos validar o comportamento de uma aplicação.
O BDD não é necessário em testes unitários que validem a implementação real, pois dessa forma seria um obstáculo a sua reformulação, uma vez que estes testes não passam por validação de um Stakeholder por serem escritos em códigos e a maioria dos Stakeholders não validam código.
Em todo e qualquer projeto deve sempre haver uma cooperação muito grande com o negócio, além disso a implementação do BDD é documentar o sistema de modo que qualquer pessoa do time possa e consiga ler o teste.
O foco do BDD é a prevenção de falhas de comunicação, onde nesta metodologia as equipes  sofrem frequentemente com um processo de comunicação baseados em exemplos reais, pois assim todas as experiências reais são trazidas e compartilhadas entre todos. A equipe de negócio pode somar seu conhecimento do negócio com a capacidade e domínio técnico das técnicas de desenvolvimento de software na elaboração das estórias.
O principal ganho deste processo é que os Analistas de Negócio podem expandir mais o seu conhecimento entendendo a técnica aplicada em cada cenário, e os desenvolvedores e os Quality Assurance podem ter uma ideia mais clara das necessidades do negócio. 
Então o que podemos resumir é que ferramentas de BDD são complementares á essa metodologia ágil, utilizar de uma ferramentas de automação ou escrever os testes em Gherkin são apenas parte do processo.
E está correto, porém a grande vantagem desta prática não é gerar testes, e sim pensar no design e nas regras negócios antes de escrever qualquer linha de código.
Assim surge o BDD, como uma prática que levaria o time de desenvolvimento a pensar no comportamento do usuário para entender o que deve ser feito. E atualmente através de  conceitos e ferramentas, ele já pode ser aplicado por todos os membros do time, e não apenas pelos desenvolvedores.
O BDD apresenta um framework baseado em três princípios:
  • .A área de negócios e o time de desenvolvimento precisam se referir a mesma parte do sistema da mesma forma;
  • Toda parte do sistema precisa ter um valor identificável e verificável para o negócio;
  • Analisar, projetar e planejar tudo de cima a baixo tem retorno decrescente;

Podemos definir o BDD como a união de várias práticas consideradas ágeis e úteis no desenvolvimento de software, cuja ênfase está nas funcionalidades de alto valor e na redução dos custos de mudança por meio da identificação do que de fato está sendo testado/desenvolvido.


TDD - Test-Driven Development




O TDD (Test-driven development)  

É o chamado "Desenvolvimento de Software Orientado por Testes". 

O TDD tem se tornado sem dúvidas uma prática recorrente entre bons desenvolvedores. 
O conceito é bem simples, é o  desenvolvimento de  software baseado em testes que são desenvolvidos antes de escrevermos o código de produção
Para que o TDD dê certo é necessário trabalhar rigorosamente com um ciclo contínuo de ações sem pular nenhuma fase.
Para facilitar isso, existe já tem muitos anos os algorítimos e fluxogramas que auxiliam muito a lógica de programação na execução dessa tarefa.

Por Ana Mercedes Gauna
Analista de Sistemas Senior

terça-feira, 24 de março de 2020

coronavirus





Hoje ouvi um áudio que as pessoas levam o vírus para dentro da moradia, o vírus grudado na sola do sapato

Tem que lavar o chão com água + sabão em pó + água sanitária

E lavar a sola de todos os sapatos com essa água com sabão em pó junto com um pouco de água sanitária

quinta-feira, 13 de fevereiro de 2020

Lei Geral de Proteção de Dados em 5 passos


http://revistasecurity.com.br/lei-geral-de-protecao-de-dados-em-5-passos/


Lei Geral de Proteção de Dados em 5 passos


Fonte: DefesaNet
Sob o argumento de que muitas empresas não estão preparadas, projetos de lei tentam adiar a Lei Geral de Proteção de Dados, que, na versão original, entraria em vigor neste mês. Se o PL 5.762/19, do deputado Carlos Bezerra (MDB-MT), for aprovado na Câmara dos Deputados, será prorrogada por mais dois anos, de agosto de 2020 para agosto de 2022, a vigência da maior parte da LGPD – uma espécie de “código de ética” a ser seguido sobre o tratamento de dados de pessoas físicas nas suas mais variadas aplicações e ambientes.
A legislação traz mudanças na forma como esses dados são tratados atualmente, ou seja, estabelece regras para coleta, utilização, acesso, reprodução, transmissão, processamento, armazenamento, transferência e destruição dos dados pelas empresas públicas e privadas. Mas, por que as empresas brasileiras ainda não se adequaram? O que está faltando? Como adequar a empresa para não ter que correr contra o tempo e ter tudo pronto até agosto, caso se mantenha o prazo para início da validade da LGPD?
De acordo com Luciana Sterzo, superintendente jurídica da Tecnobank, diferentemente de como é feito na Europa, no Brasil todas as empresas, da multinacional ao empreendedor individual, vão ser tratadas da mesma forma. “Pois, independentemente de tamanho ou segmento de atuação, o tratamento de dados acaba por ser inerente à atividade empresarial, ainda que se refira apenas à sua estrutura hierárquica interna”, ressalta.
O alerta principal recai sobre a não-adequação ou problemas de uma adequação feita sem estar de acordo com o que pede a lei. Isso porque a estimativa de especialistas é a de que as multas possam chegar a até 2% do faturamento das empresas, o que pode acarretar em problemas financeiros e até mesmo em perda de contratos. “Isso sem falar na reputação da empresa. Na nova economia, a confiança do consumidor e do usuário é essencial para a sobrevivência da organização” ressalta a advogada.
Se a lei entrar em vigor em agosto, é importante que a empresa comece a se preparar o quanto antes, pois essa adequação compreende três fases principais: (I) mapeamento, (II) desenho de soluções e (III) implementação. “O trabalho relativo à execução dessas etapas vai demandar comprometimento e trabalho árduo de profissionais de diversas áreas das empresas, além da contratação de escritório de advocacia e de prestador de serviços de tecnologia da informação especializados em proteção de dados”, adianta e orienta Luciana. Neste processo, ela lista cinco dicas muito importantes:
1) É importante, antes de começar, que todos os colaboradores da empresa entendam a importância do que vai ser feito a partir daquele momento. Depois de contextualizá-los, são necessárias atividades de mapeamento de dados e definições de como vão ser feitos os acompanhamentos de todo o trabalho.
2) O mapeamento dos dados deve abranger todo o ciclo que as informações têm dentro da empresa. É essencial incluir neste projeto colaboradores que pensem de forma estratégica. Caso haja dificuldade, não há problemas em recorrer a terceirizados – afinal de contas, todo mundo está se adaptando às mudanças.
3) As informações recolhidas com base no que pede a LGPD devem ser avaliadas. Deve-se pensar em uma forma de solucionar possíveis problemas futuros, tentando inclusive enxergar e imaginar o que pode surgir.
4) Todas as ações que forem feitas devem ser documentadas no programa de governança de privacidade e proteção de dados, um tipo de documento que deve ser mantido em local seguro e atualizado constantemente.
5) A manutenção do projeto de conformidade à LGPD deve ser contínua e permanente, com avaliações periódicas sobre o seu funcionamento e efetividade.
Segundo Luciana, um dos momentos mais sensíveis é o de cuidar do que vem sendo feito. A ideia é monitorar o serviço e mantê-lo em conformidade com a LGPD, por meio de auditorias periódicas, treinamentos e a manutenção do fluxo desta ação sempre em constante movimento. “É de extrema importância a criação de procedimentos técnicos para a promoção de uma cultura organizacional que privilegie a proteção de dados como elemento intrínseco do trabalho realizado por todos os colaboradores, bem como do feixe de relações contratuais que compõem a empresa”, finaliza.


segunda-feira, 3 de fevereiro de 2020

ASP


Livros de programação ASP para download grátis

https://www.academia.edu/41600972/Essential_Angular_for_ASP.NET_Core_MVC_3_A_Practical_Guide_to_Successfully_Using_Both_in_Your_Projects_-_Second_Edition?auto=download

VBA


Para ler o manual do VBA, o site da Microsoft algumas vezes exige que a pessoa faça o login, tem que ser com o teu email do hotmail.com ou do outlook.com

Referência de linguagem do VBA (Visual Basic for Applications) = https://docs.microsoft.com/pt-br/office/vba/api/overview/language-reference


Referência do VBA do Excel = https://docs.microsoft.com/pt-br/office/vba/api/overview/excel






Python

Python 3.8.0 Download = https://www.python.org/downloads/

Comunidade Python Brazil = https://python.org.br/

Google Groups - Python Brasil = https://groups.google.com/forum/#!forum/python-brasil

IDEs para Python = https://wiki.python.org.br/IdesPython

Python Para Web = https://wiki.python.org.br/PythonParaWeb

Python para quem está começando = https://python.org.br/introducao/

Aprenda a programar Python = https://wiki.python.org.br/AprendaProgramar

Eventos Python Brasil = https://python.org.br/eventos/

Python Apostila Online = https://aprendendo-computacao-com-python.readthedocs.io/en/latest/index.html

Python Para Desenvolvedores (2a. edição) = https://ark4n.files.wordpress.com/2010/01/python_para_desenvolvedores_2ed.pdf

Tutorial Python = https://wiki.python.org.br/Tutorial_Python



Angular


Livro Angular 6 Pro (PDF)

https://www.academia.edu/41697019/Pro_Angular?email_work_card=view-paper

Linguagem R

R - Instalação

R Studio - Download = https://rstudio.com/products/rstudio/download/

Como Baixar e Instalar o Sistema R = http://www.clickgeo.com.br/download-instalacao-sistema-r/

Microsoft R Open versão 3.5.1 - download = https://mran.microsoft.com/download

Installing Microsoft R Open 3.5.1 [Archived Documentation] = https://mran.microsoft.com/releases/3.5.1

R - Apostilas

Introdução ao uso do programa R  = https://cran.r-project.org/doc/contrib/Landeiro-Introducao.pdf

Introdução ao R = https://www.fundaj.gov.br/images/stories/NEES/apostila_r.pdf

Aprendendo R = http://www.de.ufpb.br/~tatiene/Disciplinas/2014.2/LivroR/aprendendo_r.pdf

Tutorial R / RStudio  = https://edisciplinas.usp.br/pluginfile.php/4883125/mod_resource/content/1/Tutorial.pdf

R para Cientistas Sociais = http://www.uesc.br/editora/livrosdigitais_20140513/r_cientistas.pdf

Minicurso de Estatística Básica: Minicurso de Estatística Básica:  Introdução ao software R  = http://www.uft.edu.br/engambiental/prof/catalunha/arquivos/r/r_bruno.pdf

Software Livre R: aplicação estatística  = http://www2.ufersa.edu.br/portal/view/uploads/setores/137/Apostilas%20e%20Tutoriais%20-%20R%20Project/Apostila%20R%20-%20GenMelhor.pdf

E-book: Introdução ao Ambiente Estatístico R =http://www.clickgeo.com.br/introducao-sistema-estatstico-r/   

The Undergraduate Guide to # R  = http://www.biostat.jhsph.edu/~ajaffe/docs/undergradguidetoR.pdf

R Studio Data Visualization with ggplot2 Cheat Sheet  = https://rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf

Colors in R  = http://www.stat.columbia.edu/~tzheng/files/Rcolor.pdf

Treinamento em Programação no Ambiente R  = https://gent-esalq.github.io/cursoR/cursoR_pdf.pdf

R Programming for Data Science =   https://www.cs.upc.edu/~robert/teaching/estadistica/rprogramming.pdf

Conhecendo Comandos Básicos do Sistema Estatístico R = http://www.clickgeo.com.br/comandos-basicos-do-sistema-estatistico-r/


R Studio





R - Instalação

R Studio - Download = https://rstudio.com/products/rstudio/download/

Como Baixar e Instalar o Sistema R = http://www.clickgeo.com.br/download-instalacao-sistema-r/

Microsoft R Open versão 3.5.1 - download = https://mran.microsoft.com/download

Installing Microsoft R Open 3.5.1 [Archived Documentation] = https://mran.microsoft.com/releases/3.5.1

R - Apostilas

Introdução ao uso do programa R  = https://cran.r-project.org/doc/contrib/Landeiro-Introducao.pdf

Introdução ao R = https://www.fundaj.gov.br/images/stories/NEES/apostila_r.pdf

Aprendendo R = http://www.de.ufpb.br/~tatiene/Disciplinas/2014.2/LivroR/aprendendo_r.pdf

Tutorial R / RStudio  = https://edisciplinas.usp.br/pluginfile.php/4883125/mod_resource/content/1/Tutorial.pdf

R para Cientistas Sociais = http://www.uesc.br/editora/livrosdigitais_20140513/r_cientistas.pdf

Minicurso de Estatística Básica: Minicurso de Estatística Básica:  Introdução ao software R  = http://www.uft.edu.br/engambiental/prof/catalunha/arquivos/r/r_bruno.pdf

Software Livre R: aplicação estatística  = http://www2.ufersa.edu.br/portal/view/uploads/setores/137/Apostilas%20e%20Tutoriais%20-%20R%20Project/Apostila%20R%20-%20GenMelhor.pdf

E-book: Introdução ao Ambiente Estatístico R =http://www.clickgeo.com.br/introducao-sistema-estatstico-r/   

The Undergraduate Guide to # R  = http://www.biostat.jhsph.edu/~ajaffe/docs/undergradguidetoR.pdf

R Studio Data Visualization with ggplot2 Cheat Sheet  = https://rstudio.com/wp-content/uploads/2015/03/ggplot2-cheatsheet.pdf

Colors in R  = http://www.stat.columbia.edu/~tzheng/files/Rcolor.pdf

Treinamento em Programação no Ambiente R  = https://gent-esalq.github.io/cursoR/cursoR_pdf.pdf

R Programming for Data Science =   https://www.cs.upc.edu/~robert/teaching/estadistica/rprogramming.pdf

Conhecendo Comandos Básicos do Sistema Estatístico R = http://www.clickgeo.com.br/comandos-basicos-do-sistema-estatistico-r/

ASP


Livros de #ASP para download grátis

https://www.academia.edu/41600972/Essential_Angular_for_ASP.NET_Core_MVC_3_A_Practical_Guide_to_Successfully_Using_Both_in_Your_Projects_-_Second_Edition?auto=download