As Pragas do Teste de Software – Parte 2

Na primeira parte do artigo sobre as pragas do teste de software, abordamos sobre as pragas da repetitividade, da amnésia e do tédio. Caso não tenha lido, pode acompanhar a leitura aqui.

Já nessa segunda parte, iremos falar sobre mais algumas pragas: 

  • A praga da casa nova (The Plague of Homelessness) 
  • A praga da cegueira (The Plague of Blindness)

A praga da casa nova (The Plague of Homelessness)

Essa praga se inicia com uma pequena definição, são dois grupos distintos que encontram bugs com frequência: os testadores e os usuários, que acabam se deparando com os erros quase que na maioria das vezes sem querer. Isso acontece com a combinação da interação da aplicação com usuários reais, utilizando dados reais e em um ambiente real.  Leia mais

Software parametrizável ou personalizável, qual a melhor estratégia para desenvolvimento?

É muito comum que empresas sofram as consequências de um legado de decisões tomadas sem considerar os impactos. Para qualquer empresa que desenvolva software, decidir quando e como deve-se modificar o sistema é um trabalho que exige responsabilidade, pois muitas vezes os reveses de ter que sustentar tal código custam mais do que escrevê-lo. 

São diversas as estratégias que podem ser adotadas para desenvolver soluções sistêmicas. Por exemplo: desenvolver de forma unitária e escalável “software de caixinha”; com componentes acopláveis; parametrizável, com opções de ligar ou desligar rotinas; personalizável, que permita codificar soluções em cima de um core base; etc. Vale lembrar que cada uma delas tem suas vantagens e desvantagens, pois tudo depende do problema que se pretende resolver. 

Escolhendo a melhor estratégia de desenvolvimento para cada perfil de empresa 

A estratégia adotada na concepção de uma solução sistêmica pode mudar muito dependendo de qual objetivo se pretende alcançar. Um fator importante é: para quem está sendo desenvolvido? Ou seja, qual o perfil do seu público-alvo? 

Para ser mais específico, tomaremos como base uma solução ERP (sistema integrado de gestão). Assim podemos imaginar situações práticas e definir cenários hipotéticos para cada perfil de empresa. 

Dependendo do movimento operacional,  estratégia e capacidade financeira, as empresas podem: querer melhorar seus processos, apenas sistematizar processos que já estão bem definidos, estar focadas em melhorar seus resultados, dentre muitos outros objetivos. Vamos entender três perfis de empresas e que tipo de solução pode ser mais adequada.   Leia mais

As Pragas do Teste de Software – Parte 1

Segundo James A. Whittaker, existem as chamadas “Pragas do Teste de Software”, que resumem problemas vividos no cotidiano de testers. Algumas delas são: 

  • A praga da repetitividade (The plague of Repetitiveness) 
  • A praga do tédio (The Plague of Boredom) 
  • A praga da amnésia (The Plague of Amnesia) 
  • A praga da casa nova (The Plague of Homelessness) 
  • A praga da cegueira (The Plague of Blindness)

Hoje, falaremos um pouco sobre as 5 pragas acima. Em breve, teremos aqui uma parte 2 com as outras duas Pragas do Teste de Software. Vamos lá? Leia mais

Principais comandos de Docker: Usando containers no desenvolvimento de software

Ao desenvolver uma aplicação, torná-la acessível para colegas de equipe e para o cliente pode se tornar um desafio. Afinal, na sua máquina funciona, mas e no Sistema Operacional de quem precisa testar? Pois é, para resolver comportamentos inesperados que geram gargalos no projeto, surgiu o conceito de Container e o Docker.

O que são Containers?

Containers compartilham de um mesmo Sistema Operacional, diferente das tradicionais VM’s (Virtual Machines, ou Máquinas Virtuais) que necessitam de enormes capacidades de disco e memória para rodar diversos SO’s. Um container isola recursos e permite uma comunicação mais fácil entre diferentes containers. Assim, basta que o outro usuário tenha o Docker instalado para acessar sua aplicação em seu container.

Saiba mais sobre o surgimento do conceito de Container, além de DockerFile e Docker Compose nesse artigo de Larissa Roder.

Principais comandos de Docker: Ciclo de Capacitação gratuito!

Quer entender mais sobre o Docker e aprender a começar?  O desenvolvedor Pedro Mázala apresentou um Ciclo de Capacitação em formato de vídeos para explicar:

  • Os problemas enfrentados sem utilizar containers
  • O diferenciar de criar aplicações containerizadas
  • As desvantagens de Virtual Machines
  • Como funcionam Containers na prática
  • O uso de imagens
  • Como personalizar sua imagem
  • Como aplicar Docker em produção
  • Os principais comandos de Docker

Leia mais

Prazos: Missão impossível…ou não

Quem nunca recebeu uma tarefa e disse para si mesmo “É IMPOSSÍVEL!”? Atire a primeira pedra (uma de cada vez…rsrs)!

Sabe aquela tarefa que você disse “sim”, mas para si mesmo você disse “não”? Que para não receber o olhar de rejeição de seu patrão, chefe, gerente, supervisor, colega, amigo e etc., você acaba aceitando aquela solicitação, mas pensando consigo mesmo: “não vai dar pé, não tem como essa tarefa ser realizada”.

Essa situação pode acontecer quando uma tarefa é muito difícil, ou quando existe um prazo apertadíssimo. O pior é que a qualidade do serviço acaba comprometida nessas missões impossíveis.

Não existe uma forma infalível, uma fórmula mágica (caso exista, infelizmente não temos acesso ao livro de feitiços e não recebemos a mente da Hermione), mas tudo bem. Hoje vou compartilhar com vocês algumas dicas para resolver essas situações difíceis com base na minha experiência. Leia mais

Criando onboarding com UICollectionView e Storyboard

Sabe aquelas telas de boas-vindas que vemos quando abrimos um app pela primeira vez? Este processo é feito para familiarizar o usuário com o app e suas funções. É uma oportunidade para apresentar as principais funcionalidades ou diferenciais do app, novidades de uma versão, ou tentar convencer usuários a se registrarem no serviço.

Neste tutorial irei ensinar como criar um onboarding no iOS usando UICollectionView e Storyboard. Os controllers das views serão escritos em Swift 4. Se quiser baixar o projeto completo, siga este link para o GitHub.

Storyboard

Acho legal usar o storyboard pra desenhar as views porque economiza muito tempo e linhas de código, fora a vantagem de poder ver todo o fluxo de telas da aplicação de uma vez!

Por isso, vamos criar um novo projeto, abrir o storyboard, remover a View Controller padrão e colocar em seu lugar uma Collection View Controller. Com a ajuda do Document Outline, selecione a Collection View que está dentro da Collection View Controller. Queremos alterar algumas propriedades para que ela se comporte como um onboarding com scroll horizontal:

Criando um projeto com storyboard Leia mais

Lightning Talk – Introdução ao SAP HANA

Afinal, o que é o SAP HANA? Ao pesquisar essa pergunta no Google, você encontrará a informação de que é um banco de dados in-memory, colunar e criado pela SAP. Porém, é muito mais complexo do que isso!

No Lightning Talk ministrado por Marcos Dias, você entenderá melhor o que é e como funciona o SAP HANA.

Confira tudo o que você aprenderá na Introdução ao SAP HANA:

  • O que é uma base de dados
  • Os dois tipos de organização de bases de dados – Tabelas (OLTP) e Colunar (OLAP)
  • O que é realmente o SAP HANA – Seu desenvolvimento, seus componentes e modos de uso
  • Benefícios para as decisões estratégicas
  • Estrutura da plataforma
  • Como é possível colocar a base inteira na memória

Assista ao Lightning Talk – Introdução ao SAP HANA

Transcreva sua voz de forma nativa com Javascript – Web Speech API

Atualmente a transcrição de textos é algo comum para os usuários de smartphones. A SIRI,  o Google Now e a Cortana popularizaram essa prática. Mas na Web isso não é tão comum assim. As grandes empresas de tecnologia hoje nos oferecem API’s para esse serviço, mas não é algo muito barato e nem tão trivial assim integrar com as gigantes.

Mas e se os browsers nos fornecessem essa API de forma nativa, para que pudéssemos transcrever tudo o que o usuário fala em texto apenas com uma permissão simples e HTTPS? Muito mais fácil, certo?

Essa é a ideia da especificação da W3C para a Web Speech API, para que o browser nos forneça esse serviço de forma nativa e muito simples. Então, veremos logo abaixo como podemos implementar essa API em nosso dia a dia para facilitar a vida do usuário e aumentar muito a acessibilidade das nossas aplicações. Leia mais

5 dicas para a sua documentação de requisitos gerar valor

Há alguns anos atrás a análise de requisitos era um tanto renegada no mercado de desenvolvimento de software, onde alguns profissionais diziam que encareciam muito um projeto e não geravam valor. Mas nos últimos anos essa realidade tem mudado. Os números demonstram que projetos com análise e especificação de requisitos agregam valor para o desenvolvimento e para o negócio e o seu valor é justificado.  

Mas é claro, é melhor não ter nenhuma documentação escrita do que ter uma especificação que não faça sentido para o projeto. Então, para lhe ajudar a entregar valor com sua documentação eu reuni cinco dicas para lhe auxiliar nessa tarefa. Mas como não existe “Bala de Prata” na engenharia de requisitos, você deve seguir aquelas que fazem sentido para a sua realidade e negócio.   Leia mais

O que são Requisitos Ágeis e como levantar requisitos com agilidade

É muito comum ouvirmos falar sobre metodologia ágil em TI nos dias de hoje. Realmente é bem raro encontrar alguém envolvido com desenvolvimento de software que nunca tenha ao menos ouvido falar em termos como XP, Scrum, Histórias de Usuário, Pair programmig e etc.

O conceito de agilidade surgiu por volta dos anos 2000 com a criação do Manifesto Ágil, que possui entre seus doze princípios os objetivos de satisfazer o cliente através da entrega contínua e adiantada de valor agregado ao cliente, além de aceitar mudanças de requisitos, mesmo no fim do desenvolvimento.

Este artigo visa comparar de maneira geral o papel dos requisitos no Modelo Cascata, utilizado antigamente, com os Modelos Ágeis tão amplamente difundido nos dias atuais. Vamos lá? Leia mais