quinta-feira, 2 de março de 2017

Aplicações para automatização de testes

Pessoal depois de um longo hiato, estou de volta.

Venho compartilhar uma pesquisa que fiz sobre ferramentas de automação de testes em interfaces gráficas Web ou em QT (https://www.qt.io/developers/).

Seguem a lista de ferramentas e seus valores:


  • http://www.sikulix.com/quickstart.html (openSource)



  • http://www.froglogic.com/squish/evaluate.php (1 licença - Node-locked EUR % 2,400)



  • http://www.inflectra.com/Rapise/Highlights/Features-Checklist.aspx (5 licenças $3,999.99 primeiro ano e renovações $899/ano)



  • http://www.ranorex.com/supported-technologies.html (1 licença - FLOATING USER LICENSE $4,500)  ou (1 licenças - Node-locked $2,590)



  • https://smartbear.com/product/testcomplete/pricing/ (1 licença - FLOATING USER LICENSE $4,500)  ou (1 licença - Node-locked $2,000) 



  • http://sahipro.com/pricing-licensing/ (1 licença - FLOATING USER LICENSE $995)  ou (1 licençaNode-locked $695) ??



  • http://www.testplant.com/eggplant/testing-tools/eggplant-developer/ (1 licençaNode-locked $7,999)

 São ferramentas fantásticas que tive a oportunidade de testar, sei que falta muitas outras, mas fica para um próximo post.

Até logo.

sexta-feira, 4 de dezembro de 2015

Gartner lista dez tendências tecnológicas de alto impacto para 2016


O Gartner ligou sua bola de cristal e liberou previsões tecnológicas para 2016. A consultoria listou dez tendências que possuem potencial de influenciar significativamente as organizações em um horizonte de doze meses.
Fatores que denotam o impacto desses conceitos incluem a elevada possibilidade de interferência nos negócios, nos usuários finais ou na TI; a necessidade de grande investimento; ou o risco de ser tarde demais para adotá-lo. Na visão de analistas, essas tecnologias afetam os planos, os programas e as iniciativas das empresas em longo prazo.
As três primeiras apostas do Gartner abordam a fusão dos mundos físico e virtual e o surgimento da malha digital. “Enquanto as organizações se concentram nos mercados digitais, o negócio algorítmico está surgindo – e logo essas relações e interligações definirão o futuro dos negócios”, afirma.
De acordo com a consultoria, no mundo algorítmico, muitas coisas acontecem em um plano em que as pessoas não estão diretamente envolvidas. Isso é possibilitado por máquinas inteligentes, abordadas pelas três tendências seguintes.
As quatro últimas tendências apresentadas se referem à nova realidade de TI, com a arquitetura e a plataforma de tendências necessárias para apoiar os negócios digitais e algorítmico.
1. Malha de dispositivos – O termo ‘malha de dispositivos’ refere-se a um extenso conjunto de pontos utilizados para acessar aplicativos e informações ou para interagir com pessoas, redes sociais, governos e empresas. Ele inclui dispositivos móveis, wearables (tecnologias para vestir), aparelhos eletrônicos de consumo e domésticos, dispositivos automotivos e ambientais – tais como os sensores da Internet das Coisas (IoT).
“O foco está no usuário móvel, que é cercado por uma malha de dispositivos que se estende muito além dos meios tradicionais”, diz David Cearley, vice-presidente do Gartner. Segundo ele, embora os dispositivos estejam cada vez mais ligados a sistemas back-end por meio de diversas redes, eles muitas vezes operam isoladamente. Como a malha evolui, esperamos que surjam modelos de conexão para expandir e aprimorar a interação cooperativa entre os dispositivos.
2. Experiência ambiente-usuário – A malha de dispositivos estabelece a base para uma nova experiência de usuário contínua e de ambiente. Locais imersivos, que fornecem realidade virtual e aumentada, possuem potencial significativo, mas são apenas um aspecto da experiência. A vivência ambiente-usuário preserva a continuidade por meio das fronteiras da malha de dispositivos, tempo e espaço. A experiência flui regularmente em um conjunto de dispositivos de deslocamento e canais de interação, misturando ambiente físico, virtual e eletrônico, ao passo que o usuário se move de um lugar para outro.
“Projetar aplicativos móveis continua sendo um importante foco estratégico para a empresa. No entanto, o projeto objetiva fornecer uma experiência que flui e explora diferentes dispositivos, incluindo sensores da Internet das Coisas e objetos comuns, como automóveis, ou mesmo fábricas. Projetar essas experiências avançadas será um grande diferencial para fabricantes independentes de software (ISVs) e empresas similares até 2018”, afirma Cearley.
3. Impressão 3D – Os investimentos em impressão 3D (três dimensões) já possibilitaram o uso de uma ampla gama de materiais, incluindo ligas avançadas de níquel, fibra de carbono, vidro, tinta condutora, eletrônicos, materiais farmacêuticos e biológicos. Essas inovações estão impulsionando a demanda do usuário, e as aplicações práticas estão se expandindo para mais setores, incluindo o aeroespacial, médico, automotivo, de energia e militar. A crescente oferta de materiais conduzirá a uma taxa de crescimento anual de 64,1% em carregamentos de impressoras 3D empresariais até 2019. Esses avanços exigirão uma reformulação nos processos de linha de montagem e na cadeia de suprimentos.
“Ao longo dos próximos 20 anos, a impressão 3D terá uma expansão constante dos materiais que podem ser impressos, além do aprimoramento da velocidade com que os itens podem ser copiados e do surgimento de novos modelos para imprimir e montar peças”, estima o analista.
4. Informação de tudo – Tudo na malha digital produz, utiliza e transmite informação. Esses dados vão além da informação textual, de áudio e de vídeo, incluindo informações sensoriais e contextuais. O termo ‘informação de tudo’ aborda essa afluência com estratégias e tecnologias para conectar dados de todas essas diferentes fontes.
A informação sempre existiu em toda parte, mas muitas vezes isolada, incompleta, indisponível ou ininteligível. Os avanços nas ferramentas semânticas, como bancos de dados de gráfico e outras técnicas de análise de classificação e de informação emergente, trarão significado para o dilúvio, muitas vezes caótico, de informações.
5. Aprendizagem avançada de máquina – No aprendizado avançado de máquina, as Redes Neurais Profundas (DNN) movem-se além da computação clássica e da gestão da informação, criando sistemas que podem aprender a perceber o mundo de forma autônoma.
As múltiplas fontes de dados e a complexidade da informação tornam inviáveis e não rentáveis a classificação e a análise manual. As DNNs automatizam essas tarefas e possibilitam a abordagem de desafios-chave relacionados a tendências.
As DNNs são uma forma avançada de aprendizado de máquina particularmente aplicável a conjuntos de dados grandes e complexos, e fazem equipamentos inteligentes aparentarem ser ‘inteligentes’. Elas permitem que sistemas de hardware ou baseados em software aprendam por si mesmos todos os recursos em seu ambiente, desde os menores detalhes até grandes classes abstratas de conteúdo de varredura.
Essa área está evoluindo rapidamente, e as organizações devem avaliar como aplicar essas tecnologias para obter vantagem competitiva.
6. Agentes e equipamentos autônomos – O aprendizado de máquina dá origem a um espectro de implementações de equipamentos inteligentes – incluindo robôs, veículos, Assistentes Pessoais Virtuais (APV) e assessores inteligentes –, que atuam de forma autônoma ou, pelo menos, semi autônoma. Embora os avanços em máquinas inteligentes físicas, como robôs, chamem a atenção, elas, quando baseadas em software apresentam um retorno mais rápido e impacto mais amplo.
Assistentes Pessoais Virtuais como o Google Now, o Cortana da Microsoft e o Siri da Apple estão se tornando mais inteligentes e são precursores de agentes autônomos. O surgimento da noção de assistência alimenta a experiência usuário-ambiente, no qual um agente autônomo se torna a interface com o usuário principal. Em vez de interagir com menus, formulários e botões em um smartphone, o indivíduo fala com um aplicativo, que é realmente um agente inteligente.
“Ao longo dos próximos cinco anos evoluiremos para um mundo pós-aplicativos, com agentes inteligentes fornecendo ações e interfaces dinâmicas e contextuais. Os líderes de TI devem explorar como usar equipamentos e agentes autônomos para aumentar a atividade, permitindo que as pessoas façam apenas os trabalhos que humanos podem fazer. No entanto, eles devem reconhecer que agentes e equipamentos inteligentes são um fenômeno de longo prazo, que evoluirá continuamente e expandirá seus usos nos próximos 20 anos”, projeta o vice-presidente do Gartner.
7. Arquitetura de segurança adaptativa – As complexidades dos negócios digitais e a economia algorítmica, combinadas com uma ‘indústria hacker’ emergente, aumentam significativamente a superfície de ameaça às organizações. Basear-se no perímetro de defesa fundamentado em regras é pouco, especialmente pelo fato de que as empresas exploram muitos serviços baseados em nuvem e Interfaces de Programação de Aplicação (API) abertas para clientes e parceiros de integração com seus sistemas.
Os líderes de TI devem concentrar-se em detectar e responder às ameaças, assim como no bloqueio mais tradicional e em outras medidas para prevenir ataques. A autoproteção de aplicativos e a análise de comportamento de usuários e entidades ajudarão a cumprir a arquitetura de segurança adaptativa.
8. Arquitetura de sistema avançado – A malha digital e as máquinas inteligentes requerem demandas intensas de arquitetura de computação para torná-las viáveis para as organizações. Isso aciona um impulso em arquitetura neuro mórfica ultra eficiente e de alta potência. Alimentada por matrizes de Portas Programáveis em Campo (FPGA) como tecnologia subjacente, ela possibilita ganhos significativos, como a execução em velocidades de mais de um teraflop com alta eficiência energética.
“Sistemas construídos em Unidades de Processamento Gráfico (GPU) e FPGAs funcionarão como cérebros humanos, particularmente adequados para serem aplicados à aprendizagem profunda e a outros algoritmos de correspondência de padrão usados pelas máquinas inteligentes. A arquitetura baseada em FPGA possibilitará uma maior distribuição de algoritmos em formatos menores, usando consideravelmente menos energia elétrica na malha de dispositivo e permitindo que as capacidades avançadas de aprendizado da máquina sejam proliferadas nos mais ínfimos pontos finais da Internet das Coisas, tais como residências, carros, relógios de pulso e até mesmo seres humanos”, afirma Cearley.
9. Aplicativo de rede e arquitetura de serviço – Designs monolíticos de aplicação linear, como arquitetura de três camadas, estão dando lugar a uma abordagem integrativa de acoplamento mais informal: aplicativos e serviços de arquitetura. Ativada por serviços de aplicativos definidos por software, essa nova abordagem permite desempenho, flexibilidade e agilidade como as da web.
A arquitetura de micros serviços é um padrão emergente para a criação de aplicações distribuídas, que suportam o fornecimento ágil e a implantação escalável tanto no local quanto na cloud. Contêineres estão emergindo como uma tecnologia essencial para permitir o desenvolvimento e a arquitetura de micros serviços ágeis. Levar elementos móveis e de IoT para a arquitetura de aplicativos cria um modelo abrangente para lidar com a escalabilidade em nuvem de back-end e a experiência de malha de dispositivos de front-end.
Equipes de aplicativos devem criar arquiteturas modernas para fornecer utilitários baseados em nuvem que sejam ágeis, flexíveis e dinâmicos, com experiências de usuário também ágeis, flexíveis e dinâmicas abrangendo a malha digital.
10. Plataformas de Internet das Coisas (IoT) – As plataformas de IoT complementam o aplicativo de rede e a arquitetura de serviço. Gerenciamento, segurança, integração e outras tecnologias e padrões da plataforma são um conjunto básico de competências para elementos de criação, gestão e fixação na Internet das Coisas.
Essas plataformas constituem o trabalho que a equipe de TI faz nos bastidores, de um ponto de vista arquitetônico e tecnológico, para tornar a IoT uma realidade. A Internet das Coisas é parte da malha digital, que inclui a experiência do usuário, e o ambiente do mundo emergente e dinâmico das plataformas é o que a torna possível.
“Qualquer empresa que adote a IoT precisará desenvolver uma estratégia de plataforma, porém abordagens incompletas de provedores concorrentes dificultarão sua implementação até 2018”, projeta Cearley.
Fonte: Computerworld

quinta-feira, 26 de novembro de 2015

Lei de Brooks

Segundo Jeff Sutherland.

...Para simplificar, ele diz que “acrescentar mais gente em um projeto de software atrasado resulta em um atraso ainda maior”. Isso já foi demonstrado em vários estudos. Lawrence Putnam é uma figura lendária na indústria de desenvolvimento de software e tornou sua missão de vida estudar quanto tempo as coisas demoram para ser feitas e por quê. Seu trabalho sempre demostrou que projetos com vinte ou mais pessoas precisavam de mais esforço do que aqueles que contavam com cinco ou menos. 

Não era só um pouco mais, mas muito mais. Uma equipe grande levaria cinco vezes mais horas do que a equipe pequena para realizar o mesmo trabalho. Ele viu isso repetidas vezes, em meados da década de 1990, decidiu tentar realizar um estudo amplo para determinar o tamanho certo de uma equipe. Ele analisou 491 projetos de médio porte em centenas de empresas diferentes; todos exigiam a criação de produtos novos ou novas funcionalidades. 

Lawrence dividiu os projetos de acordo com o tamanho das equipes e logo notou que se uma equipe ficava com mais de 8 membros, ela passava a levar muito mais tempo para realizar seu trabalho. Grupos de três a sete pessoas precisavam de 25% menos esforço do que os de nove a doze pessoas para realizar o mesmo trabalho...

Autor: Frederick P. Brooks Jr.
Experiência: Gerente de projeto no System e OS/360 da IBM.
Anos: 1975, 1986, 1995
Quantidade de capítulos: 19

Ele é uma mistura de fatos sobre Engenharia de SW e opiniões com a visão do autor para a gestão de projetos complexos.

“Leitura obrigatória para todos os gerentes de projeto de Software”.

quarta-feira, 4 de novembro de 2015

SCRUM - Shu HA RI

Shu Ha Ri



O Scrum tem suas raízes no pensamento e na prática japonesas. 

Nas artes marciais aprende-se um conceito Shu Ha Ri, que se refere a diferentes níveis de habilidade. No estado Shu, você conhece todas as regras e formas. As quais deve repetir, como passos de uma dança, em resumo você nunca se distrai.

No estado Ha, quando as formas já estiverem dominadas, você poderá fazer inovações.

No estado Ri você será capaz de descartar formas, já terá dominado totalmente a prática e poderá ser livremente criativo.

O Scrum é bem parecido com isso, exige prática e atenção, mas também um esforço contínuo para chegar a um novo estado no qual as coisas apenas fluem para que todo o resto aconteça.

Pontos principais:

  • Hesitação é a morte - Observe, avalie, decida, aja. Saiba onde está, avalie as opções, tome uma decisão e aja!!!
  • Procure respostas -  Sistema adaptativos complexos seguem algumas regras simples, que aprendem a partir do ambiente em que se encontram;
  • Grandes equipes – São multifuncionais, autônomas, capazes de tomar decisões e motivadas por um objetivo transcendente.
  • Não adivinhe – Planeje (Plan – P), Faça (Do –D), Verifique (Check – C) e Aja (Act – A) Planeje o que irá fazer. Verifique se os resultados são o que desejava. Aja de acordo com as informações e faça as coisas de outra maneira. Repita em ciclos regulares e, ao fazer isso, obtenha um aprimoramento contínuo;
  • Shu Ha Ri -  Primeiro, aprenda as regras e as formas e, uma vez que as dominar, faça inovações. Por fim, em um estado elevado de domínio, descarte as formas e apenas seja – com todo o aprendizado internalizado as decisões são tomadas de forma quase inconsciente.

Livro: Scrum, A arte de fazer o dobro do trabalho na metade do tempo, Jeff Sutherland.

segunda-feira, 26 de outubro de 2015

Normas ISOs que são imprescindíveis para segurança da Informação


ISO 27041: regula sobre a conformidade para métodos de investigação de evidências digitais, sendo mais uma norma entre as disponíveis para análise forense computacional / segurança forense. 

ISO 27039: sistemas detecção de intrusos: um guia para seleção, contratação, desenho, operação e administração de sistemas IDS (Intrusion Detection Systems).

Comentários: as duas próximas normas (ISO 27037 e ISO 27038) tratam sobre segurança forense, e este tema volta a ser citado nas normas ISO 27041 e ISO 27042". Já as ISO 27038 e ISO 27039 tratam sobre ferramentas que automatizam atividades para SI.

ISO 27037: orientações para a identificação, coleta, aquisição e preservação de evidências forenses digitais. Esta norma está focada na manutenção da integridade destas evidências. Sem dúvidas, uma das normas mais relevantes para profissionais que seguem ou pretendem seguir carreira de perito forense (caso não tenha intimidade com este tema, consulte publicações no Portal como estas 04 vídeo aulas de Segurança Forense, este vídeo sobre análise de Malware em forense computacional, ou este e-book gratuito sobre Análise Forense.

ISO 27038: especificação para redação digital. Uma norma qual considero bem interessante por conta do seu grau de especifidade: trata sobre requisitos para a redação e compartilhamento da informação digital de forma adequada, seja ela publicada internamente na organização ou a partes externas.

ISO 27032: aborda “Cybersecurity”. Está em sua definição a preservação da confidencialidade, integridade e disponibilidade da informação em "Cyberspace".