Últimos posts


Um dos princípios fundamentais do desenvolvimento Agile é que o teste é uma responsabilidade comum. Todo mundo na equipe deverá descobrir o que testar e testar o produto. Em essência, toda a equipe é co-proprietária de todos os testes.

No entanto, alguns tipos de testes, especialmente os testes funcionais, são difíceis de ser compartilhados. Ao contrário dos testes unitários, que são conceituados e implementados por desenvolvedores, os testes funcionais são geralmente implementados por desenvolvedores, mas conceituados por outra pessoa (podendo ser engenheiros de produto, QA, BA, testadores, ou outros papéis. Pelo bem da sanidade, vou me referir a esse grupo como QA). Essa dinâmica força uma transferência, o que torna difícil de realmente compartilhar de testes.

Uma maneira de lidar com essa questão é exigir que todos os membros de uma equipe Agile possa tanto conceituar quanto implementar testes funcionais. Em outras palavras, certifique-se de que cada membro da equipe possa codar. Apesar de possível, essa abordagem elimina todo um grupo de profissionais de QA que são ótimos para entender o que testar e encontrar bugs, mas não estão interessados em escrever código. Isso não é o ideal.

Uma maneira melhor é o QA e os devs unirem forças e escreverem testes juntos. Essa colaboração poderia funcionar como a técnica de “teste ping-pong”, comum no pareamento TDD. Ao usar essa técnica, um desenvolvedor escreve um teste de falha e seu par escreve o código de passagem. Não seria ótimo se houvesse uma maneira de fazer algo semelhante com um pareamento QA/Dev?

Felizmente, existem ferramentas disponíveis que tornam esse tipo de colaboração possível. Vou me concentrar em duas: Test Manager e Twist.

Os competidores

Microsoft Test Manager

A Microsoft lançou o Test Manager como parte do Visual Studio 2010. Ele permite que você defina casos de teste e organize-os. Cada caso de teste é um conjunto de passos, e eles podem ser compartilhados (o que significa que um passo pode ser reutilizado em diferentes casos de teste). Eles podem ser automatizados usando Coded UI Tests, que são escritos em C# e podem ser executados contra um navegador.

Twist

O Twist é uma ferramenta da ThoughtWorks Studios. Ele também permite que você defina casos de teste, organize seus testes, e automatize os passos dentro de um caso de teste usando Sahi ou Selenium. Você interage com o Twist por meio de uma versão personalizada do Eclipse, e os testes são automatizados em Java.

A comparação

Sei que essas duas ferramentas são muito mais do que apenas a criação de testes, mas estou basicamente interessado em saber como elas solucionam o problema da colaboração. Para entender isso, precisamos considerar como cada ferramenta facilita “passar o bastão” entre QA e desenvolvedores. Correndo o risco de simplificação excessiva, deve ser fácil fazer algo assim:

  • QA escreve um teste e entrega o teclado ao Dev
  • O Dev escreve o código para implementar o teste
  • Ambas as partes executam o teste e se certificam de que ele passa
  • Dev entrega o teclado de volta para QA
  • Enxágue e repita a operação para melhores resultados

Com a solução da Microsoft, os QAs deverão trabalhar em um ambiente (Test Manager), enquanto os devs estarão em outro (Visual Studio). Esse fato por si só torna a colaboração que eu descrevi acima relativamente envolvida e desnecessariamente complicada:

No Visual Studio:

Visual Studio

No Text Manager:

Text Manager

Por outro lado, o Twist permite que ambas as partes coexistam no mesmo ambiente, e transferir um teste escrito para implementação é literalmente tão simples quanto selecioná-lo e pressionar e Ctrl + Clique. O Twist cria automaticamente (ou reutiliza) uma classe conteiner Java com uma função nomeada com o mesmo nome que a etapa de teste:

Twist

O ponto principal

Mesmo correndo o risco de dizer o óbvio, vou afirmar que apenas uma dessas ferramentas torna mais fácil colaborar, e ela não é o Test Manager. Para ser honesto, isso é bastante decepcionante, pois o Test Manager se integra muito bem no desenvolvimento do ecossistema da Microsoft e ele teria sido bom de usar.

***

Texto original disponível em http://tatiyants.com/agile-testing-dev-qa-collaboration/


Promoção de Aniversário

Calendário Calendário

Ferramentas para Automação de Teste de Software / Duração: 20h

30 de julho a 03 de agosto / Noite: 18:45 às 22:45 / Local: TargetTrust Confirmada
27 de agosto a 31 de agosto / Manhã: 8:00 às 12:00 / Local: TargetTrust
30 de outubro a 06 de novembro / Noite: 18:45 às 22:45 / Local: TargetTrust
08 de dezembro a 22 de dezembro / Sábado Integral: 8:30 às 12:30 e 13:30 às 17:30 / Local: TargetTrust
17 de dezembro a 21 de dezembro / Noite: 18:45 às 22:45 / Local: TargetTrust

Oracle 11g: Administração do Banco de Dados II / Duração: 30h

31 de julho a 09 de agosto / Noite: 18:45 às 22:45 / Local: TargetTrust Confirmada
03 de setembro a 13 de setembro / Manhã: 8:00 às 12:00 / Local: TargetTrust
18 de setembro a 28 de setembro / Noite: 18:45 às 22:45 / Local: TargetTrust
06 de outubro a 10 de novembro / Sábado Integral: 8:30 às 12:30 e 13:30 às 17:30 / Local: TargetTrust Confirmada
30 de outubro a 09 de novembro / Manhã: 8:00 às 12:00 / Local: TargetTrust
13 de novembro a 23 de novembro / Noite: 18:45 às 22:45 / Local: TargetTrust

Orientação a Objetos com UML / Duração: 20h

01 de agosto a 07 de agosto / Manhã: 8:00 às 12:00 / Local: TargetTrust
04 de agosto a 18 de agosto / Sábado Integral: 8:30 às 12:30 e 13:30 às 17:30 / Local: TargetTrust Confirmada
06 de agosto a 10 de agosto / Noite: 18:45 às 22:45 / Local: TargetTrust Confirmada
03 de setembro a 10 de setembro / Noite: 18:45 às 22:45 / Local: TargetTrust
01 de outubro a 05 de outubro / Manhã: 8:00 às 12:00 / Local: TargetTrust
01 de outubro a 05 de outubro / Noite: 18:45 às 22:45 / Local: TargetTrust
05 de novembro a 09 de novembro / Manhã: 8:00 às 12:00 / Local: TargetTrust
05 de novembro a 09 de novembro / Noite: 18:45 às 22:45 / Local: TargetTrust
03 de dezembro a 07 de dezembro / Manhã: 8:00 às 12:00 / Local: TargetTrust
03 de dezembro a 07 de dezembro / Noite: 18:45 às 22:45 / Local: TargetTrust

(mais…)


Esta formação é voltada a profissionais da área da tecnologia da informação que desejam obter ou atualizar seus conhecimentos sobre o desenvolvimento de aplicações WEB e DESKTOP utilizando a plataforma MICROSOFT .NET 4.0 e os padrões mais conhecidos de mercado.

ASP.NET é a plataforma da Microsoft para o desenvolvimento de aplicações Web que permite através de uma linguagem de programação integrada na .NET Framework criar páginas dinâmicas. As aplicações para essa plataforma podem ser escritas em várias linguagens, como C# e Visual Basic .NET.
O ambiente de desenvolvimento utilizado nesta formação é o Visual Studio .NET que possui diversas características que facilitam o trabalho do programador, como os componentes visuais para criação de formulários de páginas Web.

Hoje o mercado demanda muito por profissionais com conhecimento nesta tecnologia, uma vez que a mesma está presente em muitos ambientes corporativos e que necessitam de Aplicações Web dinâmicas e com performance.
Nesta formação voce irá adquirir os conhecimentos para entrar neste mercado!

Curso de Orientação a Objetos com UML

Este curso de Orientação a Objetos com UML é essencial para o desenvolvimento de aplicações Web nas linguagens PHP, JAVA, .NET, Ruby on Rails, entre outras linguagens orientadas a objetos.

Objetivos
- Identificar classes e objetos;
- Conhecer o conceito de orientação a objetos para trabalhar com as linguagens;
- Conhecer polimorfismo;
- Conhecer herança e abstração;
- Reconhecer e projetar interfaces;
- Modelar sistemas com os diagramas de Classes e de Use Case.
Curso de UML em Porto Alegre Rio Grande do Sul (mais…)


Capacitar o aluno no desenvolvimento de aplicações Desktop, através de Windows Forms, utilizando a linguagem C#.

Windows Forms com Visual Studio 2010

Objetivos

- Capacitar o aluno no desenvolvimento de aplicações Windows Forms
- Programar utilizando Orientação a Objetos

(mais…)