Onde encontrar material sobre testes de software?

No primeiro post de 2014, compartilho com vocês uma lista com alguns dos blogs/sites, perfis do twitter e canais do You Tube, que acompanho (ou tento acompanhar) para me manter atualizado sobre testes de software.

Blogs/Sites:

Software Testing Club      Ministry of testing      Jmeter.com.br

Outros:

  

     

Sentiu falta de algum? Pode adicionar nos comentários =D

Teste está morto parte 2

Como havia prometido, volto hoje ao tema abordado na semana passada. Tentarei destacar os principais pontos abordados no vídeo recomendado na parte 1. E antes de tudo, obrigado a todos pela participação no blog, na DFTestes e no Linkedin. A colaboração de vocês é fundamental para o enriquecimento da discussão.

A primeira grande contribuição do vídeo trata-se da abordagem inicial a evolução das metodologias de desenvolvimento e consequentemente as diferentes formas de atuação dos testadores. O palestrante, Alberto Savoia, a divide em dois grandes momentos: Old Testmentality e New Testmentality. Partindo da dependência completa dos documentos de requisitos, aos ciclos mais curtos das metodologias ágeis associados a uma maior integração entre desenvolvedores e testadores.

Durante a chamada Old Testmentality, as aplicações só eram entregues quando estivessem completamente “prontas”. Enquanto, que na New Testmentality, as entregas passaram a ser frequentes, exigindo uma participação constante do cliente na construção do “produto correto”.

Em seguida, Savoia começa a destacar os pontos que o levam a pensar que o teste tradicional está morto. Começando pelo o que ele chama de Post-Agile, a qual tem como diferencial o fato de apresentar uma postura mais casual e descuidada em relação aos testes ágeis tradicionais.

Segundo Savoia, a questão central cada vez mais é a construção do “produto correto” e não o simples desenvolvimento correto do produto ou das funcionalidades, ou seja, o objetivo é entregar um produto, que em primeiro lugar, atenda às necessidades dos usuários. Não basta ser apenas perfeito funcionalmente.

O palestrante nos lembra que de fato existem diversas aplicações fabulosas construídas utilizando os conceitos tradicionais, mas que a estrutura existente nos dias atuais, como a computação nas nuvens, permitem diminuir o foco da qualidade de software e transferi-lo para garantir que estamos construindo o produto CORRETO.

Um grande exemplo citado é o twitter, que tornou famosa sua baleia com a enormidade de vezes que deixava os usuários na mão, mas mesmo assim eles continuavam voltando, pois o produto era o desejado.

Nesse novo cenário, que se desenha, segundo Savoia, precisamos nos voltar para outro tipo de bug, o chamado idea bug, que podemos traduzir como bugs de conceito ou de idéia do produto.

Um produto errado é muito pior do que um produto com o comportamento errado.

A chave é testar a idéia, ou seja, garantir que estamos desenvolvendo o produto certo.

E como podemos testar a idéia?

A sugestão de Savoia é começarmos utilizando protótipos iniciais (pretotype), os quais ele diferencia dos protótipos tradicionais, por serem desenvolvidos e aplicados em curtos espaços de tempo. É fundamental testar cedo e falhar rápido, segundo o mesmo Bons testes falham rápido, diminuindo o tempo e o capital investido. (BdB – Os bons testes falham)

Alberto cita ainda alguns dos sinais observados, que o levam a crer no fim dos testes tradicionais.

Sinais do Testpocalypse:

– Diminuição no numero de contratações
– Comoditização dos testadores
– Saída dos antigos líderes e ausência de novos
– Mais e mais empresas partindo para o Post-Agile

Acompanhado essa corrente de mudanças existem enormes oportunidades. Savoia enfatiza a crescente necessidade do surgimento de novos líderes na área de testes, com uma mentalidade diferente, e que possam conduzir essa etapa de transição. Onde, como o mesmo aponta, ainda conviveremos por um longo tempo com as diversas formas de teste. (BdB – Imagine um mundo sem Bugs no Software)

Por fim, um dos slides afirma “Test is dead. Don’t take it literally, but take it seriously.”, traduzindo, “Teste está morto. Não leve isso literalmente, mas leve a sério.”. Logo, a palestra é uma alerta e não uma simples afirmação arrogante, que se julga acima de todos nós. Uma apresentação, que vale a pena ser vista com atenção, e que nos deve levar a refletir sobre os caminhos, que estamos seguindo, as oportunidades de aprendizado e de mudança que podemos levar a nossa área. Sejamos o agente dessas mudanças.

P.S. Todas as imagens utilizadas estão nos slides da apresentação, disponível aqui.

O Futuro das Redes Sociais: Qual a próxima revolução?

Primeiro de tudo, não sou um pesquisador da área de redes sociais, e o que vou falar aqui é puramente minha percepção a respeito das redes sociais e do futuro delas.

A internet era “individual”, até que a revolução dos serviços de chat começaram a fazer as massas se conectarem (mIRCICQ,  Serviços de bate-papo nos sites, etc). Nesse momento você não estava mais só, você tinha oportunidade de falar, conversar e conhecer milhares de pessoas espalhadas pelo mundo.

Esses serviços de chat evoluiram para serviços de chat via texto  mais elaborados (MSN Messenger, gtalk, Yahoo messenger, etc).  A partir daí a revolução para comunicação via voz (skype, gtalk por voz, etc). Logo em seguida, uma rápida evolução também para comunicação com vídeo.

As pessoas estavam cada vez mais conectadas, mas as “conexões” ainda eram basicamente a dois, ou em pequenos grupos, no caso dos chats. Foi aí onde começou a grande a sacada, reunir todas as pessoas em uma rede social, aonde você pudesse estar relacionado a diversos outros “amigos”, participar de comunidades voltadas para um tema específico, trocar informações com diversas pessoas ao mesmo tempo, compartilhar fotos e vídeos com todos os seus conhecidos, achar pessoas que você não tinha contato a muito tempo (por meio da recomendação). Maravilha!

Começaram a surgir então ferramentas com esse foco, conectar pessoas a diversas outras, neste ambiente altamente colaborativo, onde cada um contribuiria para a submissão de informação, dados e conteúdo em geral. As primeiras iniciativas de sucesso foram o Orkut, MySpace e por aí vai. Até que chegou o Facebook, abalando! Praticamente nessa mesma época, começaram a surgir (e ainda estão surgindo) também redes socias com objetivos mais específicos como o LinkedIn (para conexões profissionais), Last.fm (para compartilhar e escutar músicas e gostos musicais), Votizen (rede social em desenvolvimento com foco político para o povo expressar suas idéias e feedbacks), Flicker para compartilhamento de fotos entre conexões, Foursquare que é uma rede social que envolve geolocalização para fazer checkins (utilizando a app mobile tanto para android quanto para iphone) nos lugares que você frequenta, dentre diversas outras.

E aí veio o Twitter! E o twitter chegou e “pegou”. O twitter cresceu tanto que até o mercado em volta do twitter cresceu com ele (clientes de twitter, outras redes sociais que se integram a API que o twitter disponibiliza, etc).

Então só resta uma questão:

Qual vai ser o futuro das redes sociais? Qual a próxima revolução?

Todo esse histórico das redes sociais é importante pois entendendo o passado é que se constrói o futuro.

  1. Então uma coisa é certa, a próxima revolução vai envolver redes sociais. Mas o que será exatamente?
  2. Dado o sucesso do twitter, podemos concluir talvez que a próxima revolução também vai envolver comunicação em larga escala.
  3. Dado o sucesso do foursquare,  a próxima revolução vai envolver geolocalização.
  4. Dado o sucesso das aplicações mobile, a próxima revolução vai estar no seu celular, no seu tablet e também no seu browser, e não apenas em um só lugar.

Definitivamente, os que sairem na crista da onda da próxima revolução das redes sociais vão ganhar dinheiro e mercado e serão copiados por centenas de pessoas e empresas.

Será que estamos seguindo as pistas certas?

XSS na mídia

Nos últimos dias quem acompanhou as notícias do mundo de TI deve ter visto ou ouvido sobre o bug do on mouse over do twitter ou do Bom Sabado do Orkut.

Entrando um pouco mais em detalhes sobre a causa do problema vamos ver que a falha de segurança foi ocasionada pelo famoso Cross-Site Scripting ou simplesmente XSS (é famoso mas muita gente não conhece, inclusive eu não conhecia 😛 #ShameOnMe). Para começar, vamos a uma rápida definição de XSS:

Cross-site scripting (XSS) is a type of computer security vulnerability typically found in web applications that enables malicious attackers to inject client-side script into web pagesviewed by other users.

Quem já ouviu falar em SQL Injection? Pois bem, XSS é uma vulnerabilidade semelhante só que utilizando javascript, algum usuário insere código javascript malicioso (pegar as sessões de usuário, redirecionar navegação para outro site mais malicioso ainda, etc) em algum formulário na web, e BANG! quando alguém vizualizar aquelá informação no sistema, o código malicioso será executado (e possivelmente propagado, como no caso do bug do orkut).

Meu amigo Edwin Carlo me apresentou o OWASP (Open Web Application Security Project) que é uma organização focada em melhorar a segurança dos sistemas web, e eles mantém um rank das vulnerabilidades mais comuns, e adivinha? XSS é a segunda (só perde para injections tipo sql injection).

A boa notícia é que existem soluções fáceis para evitar ataques do tipo XSS, e aqui vai um redirect para outro amigo meu, Tiago Farias que fez um post bem legal e detalhado sobre como criar um Filtro Anti-XSS em Java. Você, meu amigo desenvolvedor, por favor atente para isso a partir de agora 🙂