Projetos com testes automatizados bem feitos são mais baratos de desenvolver e manter. Entretanto, é interessante que, mesmo com esta constatação, ainda é comum encontrar projetos “sem testes automatizados” ou, o que pode ser até pior, com testes que não reduzem o custo total. Além disso, ainda mais comuns são projetos com distribuição não balanceada de […]
Iniciando o desenvolvimento de uma skill para a Amazon Alexa
Assistentes virtuais, como a Alexa, são cada vez mais presentes no dia a dia das pessoas. Seja em casa ou no escritório, elas fornecem diversas funcionalidades, incluindo entretenimento, automação residencial e controle de agenda. Associando criatividade e visão de mercado, algumas empresas estão disponibilizando, via assistentes virtuais, formas inovadoras de comunicação com clientes, diversificando experiências […]
Centralidade elevada indica estresse de um microsserviço e fragilidade de um sistema distribuído
Após extrair um microsserviço do sistema monolítico, segregando as bases de dados, com classificação apropriada de APIs internas e externas e instrumentação suficiente para observabilidade, é importante estabelecer indicadores que suportem a evolução arquitetural. Um das análises fundamentais acontece a partir da centralidade. Em sistemas distribuídos, indicadores de centralidade ajudam a determinar a importância relativa de […]
Estratégias genéricas para migração de cargas de trabalho para a nuvem
É de conhecimento geral que, para as organizações manterem-se competitivas em um mercado acelerado como o atual, a nuvem é essencial. Benefícios como agilidade, elasticidade e a possibilidade de efetuar experimentações, sem comprometer recursos a longo prazo, fazem da nuvem o ambiente ideal para a evolução dos produtos e serviços oferecidos pelas empresas. Contudo, um […]
A adoção de testes automatizados de aceitação melhora o alinhamento do time técnico com o negócio
Alinhamento de propósito é fundamental para autonomia de atuação. Mesmo times técnicos competentes tem mais chances de falhar se não estiverem em “sintonia” com a intenção de suas implementações. [tweet]Sem alinhamento, as entregas técnicas ficam mais frágeis e “imprevistos previsíveis” ocorrem com mais frequência, forçando, muitas vezes, os times a contrair dívidas técnicas para atender […]
A adoção de recursos para habilitar tipagem estática, em Python, pode auxiliar na evolução de sistemas grandes
Há um debate, sempre atual, sobre os trade-offs da adoção de tipagem estática ou de tipagem dinâmica. Nesse debate, um quase consenso é que a evolução de sistemas grandes, escritos com tipagem dinâmica, é mais difícil. Essa ideia, inclusive, foi defendida recentemente pelo criador da linguagem Python, Guido van Rossum. Aprendi uma lição dolorosa: para […]
Estratégias para a segregação de bases de dados na transformação de monólitos em microsserviços
[tweet]Extrair um microsserviço de um monólito implica, invariavelmente, na revisão de como os dados são organizados e armazenados. Entretanto, é razoável postergar mudanças mais concretas até o último momento responsável.[/tweet] Até a estabilização funcional do sistema, é recomendável que nenhuma alteração duradoura seja feita. Isso significa que os dados devem permanecer, majoritariamente, na base de […]
Pequena entrevista sobre testes de unidade com Vladimir Khorikov
Vladimir Khorikov atua como consultor em diversos tópicos relacionados com desenvolvimento de software, incluindo Domain-Driven Design, programação funcional, padrões para desenvolvimento de aplicações corporativas e boas práticas. Ao longo de anos, desenvolveu diversos cursos populares na Pluralsight e um bocado de artigos. Recentemente, ele orientou seu trabalho para tornar a escrita de testes de unidade […]
Short interview about Unit Testing with Vladimir Khorikov
Mr Vladimir Khorikov started as an adviser on general programming topics, including Domain-Driven Design, functional programming, enterprise software development patterns and best practices. Over the years, he authored several popular Pluralsight courses and a lot of articles. Lately, he shifted focus to unit testing with a central message of teaching software developers how to make unit […]
Unit Testing: Principles, Practices, and Patterns
Unit Testing: Principles, Practices, and Patterns, de Vladmir Khorikov, é referência para quem deseja escrever testes de boa qualidade. O argumento do autor é que nem todos os testes são iguais, por isso devemos questionar a existência de cada teste a partir da ótica do negócio, ou senão, estará somente aumentando o custo code coverage. […]