Como licencio as ferramentas de teste do TFS e do VSTS?

Imagine, por um momento, que você trabalha como desenvolvedor numa empresa e algumas pessoas lá – membros da sua equipe, fornecedores ou até mesmo usuários – precisam testar os sistemas que você e sua equipe produzem.

Nesse momento, surge o desejo de se "estruturar" o processo de testes, através da adoção de um processo de planejamento, execução e coleta de evidências mais organizado. Por conta disso, alguém pergunta: "alguma ferramenta de testes poderia nos ajudar a simplificar esse processo?"

Como em sua empresa vocês usam o TFS/VSTS, você responde de bate-pronto:

Por que não usamos as ferramentas de teste do TFS/VSTS? Tem o Test Manager, tem a interface web do Hub de Testes, tem o plugin do Chrome para Teste Exploratório… Tá tudo lá, integrado ao que a gente usa!

E é lógico que nesse exato instante alguém pergunta "mas quanto custa?" E todo mundo se vira para você, esperando ver como você se sai com essa pergunta à queima-roupa.

E agora, o que você responde?

A resposta, como não poderia deixar de ser, é a óbvia…

Depende…

😉

Perguntas sobre licenciamento nunca são fáceis de responder. Não é por acaso que comecei a escrever um post sobre o assunto!

Entendendo os cenários

Para facilitar o entendimento, vou tentar descrever abaixo alguns cenários de uso e os modelos de licenciamento mais adequados. Imagine que você emende ao seu "depende" a pergunta "o que você quer fazer com a ferramenta?" Eis, a seguir, as respostas que você normalmente poderia ouvir e os modelos de licenciamento correspondentes.

1. "Preciso apenas escrever casos de testes"

Escrever casos de teste, seja no TFS ou no VSTS, pode ser tão simples quanto criar um item de trabalho ("work item") do tipo Test Case. E como, para criar itens de trabalho, basta um acesso do tipo Stakeholder, podemos dizer que um acesso gratuito (do tipo Stakeholder) é o bastante para criar casos de testes. Custo: Gratuito

Para criar itens de trabalho do tipo Test Case, basta um acesso do tipo Stakeholder
Para criar itens de trabalho do tipo Test Case, basta um acesso do tipo Stakeholder

Por outro lado, há ferramentas mais convenientes para a criação de casos de teste. A mais antiga delas é o MTM (Microsoft Test Manager). Custo: CAL + Test Manager

Criando um caso de test no Microsoft Test Manager
Criando um caso de test no Microsoft Test Manager

Outra opção, mais recente, é o Hub de Teste (Test Hub). É assim que é conhecida a aba "Test" na interface Web do TFS 2013+ e do VSTS, que veio para substituir o MTM.

O Hub de Teste tem um recurso exclusivo: a grade de edição de casos de testes. Com ela, é possível cadastrar seus casos de testes tão facilmente quanto seria digitá-los numa planilha do Excel. Porém, essa conveniência tem um custo: É preciso ter uma licença apropriada para isso. Custo: CAL + Test Manager

Grade de edição de testes na interface web. É, de longe, a mais rápida e conveniente maneira de cadastrar casos de teste!
Grade de edição de testes na interface web. É, de longe, a mais rápida e conveniente maneira de cadastrar casos de teste!

2. "Preciso apenas executar casos de testes"

Em algumas empresas, os papéis de construção de casos de testes e a sua respectiva execução são separados e ficam a cargo de pessoas diferentes. Ou seja, há pessoas cuja única necessidade é a de executar casos de testes.

Em outras empresas, há por vezes a necessidade de que os próprios usuários dos sistemas possam executar testes construídos para eles por algum analista. Um exemplo típico é quando há o desejo de se orientar o usuário no processo de homologação, provendo-o com os casos de teste que representam as funcionalidades que foram implementadas.

A execução de casos de teste formais (aqueles que contêm o passo-a-passo pré-definido para sua execução) requer o uso ou do MTM ou do Web Test Runner.

O uso do MTM traz um grande benefício – a coleta rica de evidências e dados diagnósticos durante a execução do teste, sem esforço adicional algum por parte de quem testa.

Entretanto, tanto benefício tem um custo. Custo: CAL + Test Manager

Teste sendo executado pelo MTM. Vários dados diagnósticos, como o gravador de tela, a captura das ações (teclado e mouse) e o IntelliTrace, são capturados de modo automático
Teste sendo executado pelo MTM. Vários dados diagnósticos, como o gravador de tela, a captura das ações (teclado e mouse) e o IntelliTrace, são capturados de modo automático

Se você não precisa da coleta rica de dados diagnósticos do MTM, ou se não deseja instalar um software no computador apenas para poder rodar os testes (o MTM precisa estar instalado no computador), uma alternativa mais interessante pode ser o Web Test Runner.

Neste caso, até mesmo o licenciamento se torna mais barato. Custo: CAL

Execução de testes com o Web Test Runner. Apesar de não contar com coletores avançado de dados (como o IntelliTrace ou o Action Recording), permite a gravação de tela e a captura de screenshots
Execução de testes com o Web Test Runner. Apesar de não contar com coletores avançado de dados (como o IntelliTrace ou o Action Recording), permite a gravação de tela e a captura de screenshots

3. "Preciso criar planos e suítes de testes"

Para planejar e executar adequadamente seus casos de testes, não basta apenas criar work items do tipo Test Case. É preciso agrupá-los em suítes e planos, que permitem a correta organização do processo de testes. Atualmente, tanto o MTM quanto o Web Test Hub permitem a criação de planos e suítes (originalmente, apenas o MTM permitia a criação de planos). Para ter acesso aos recursos de planejamento de testes – suítes e planos – é preciso ter o nível adequado de licenciamento. Custo: CAL + Test Manager

Criação de planos e suítes de testes na interface Web
Criação de planos e suítes de testes na interface Web

4. "Preciso executar testes exploratórios"

A grande diferença entre a execução dos casos de testes (que discutimos até agora) e a execução de testes exploratórios é que estes não pressupõem a existência de um caso de teste. Ou seja, sempre que você quiser fazer algum teste sem partir de um caso de teste formal previamente definido, estará fazendo um teste exploratório.

Para testes exploratórios, até algum tempo atrás era preciso usar o MTM. Hoje, podemos usar também o plugin de Test & Feedback.

Com o MTM, é possível usar a coleta rica de dados diagnósticos também durante a execução de testes exploratórios. Muitos times preferem poder tirar proveito desse recurso, dado que ele facilita (e muito) a vida dos desenvolvedores ao tentar reproduzir os erros encontrados. Custo: CAL + Test Manager

Teste exploratório no MTM. É possível fazer um teste exploratório "do zero" (1) ou a partir de um item de requisito/estória (2), selecionado dentre os itens do backlog (3). Neste caso, o resultado do teste é associado automaticamente ao item de trabalho testado
Teste exploratório no MTM. É possível fazer um teste exploratório "do zero" (1) ou a partir de um item de requisito/estória (2), selecionado dentre os itens do backlog (3). Neste caso, o resultado do teste é associado automaticamente ao item de trabalho testado

Agora, se o que você procura é a conveniência de fazer os seus testes exploratórios de aplicações Web diretamente a partir do browser, sem precisar instalar nada no computador (além, é claro, da extensão no browser 😃 ), então o novo Test & Feedback é uma ótima opção – além de ser mais em conta! Custo: CAL

Extensão Test & Feedback para o Google Chrome. Com ela é possível executar testes exploratórios diretamente no browser
Extensão Test & Feedback para o Google Chrome. Com ela é possível executar testes exploratórios diretamente no browser

5. "Preciso fazer acompanhamento de resultados e relatórios de testes"

Para acessar os relatórios de acompanhamento de progresso dos testes nós precisávamos do MTM. Entretanto, agora é possível expor todos os gráficos e relatórios de acompanhamento do progresso dos testes diretamente nos dashboard da interface web do TFS/VSTS, eliminando a necessidade de uma licença de Test Manager. Custo: CAL

Dashboards de acompanhamento de testes no VSTS
Dashboards de acompanhamento de testes no VSTS

6. "Preciso homologar uma aplicação"

Nós já descrevemos o cenário de homologação ao falarmos da execução de casos de testes e dos testes exploratórios. A licença vai depender da ferramenta escolhida e não do papel do usuário.

Se você usar o MTM para testes formais e exploratórios durante a homologação: Custo: CAL + Test Manager

Agora, se você usar o Web Test Runner e extensão Test & Feedback para os mesmos testes formais e exploratórios, o custo é mais baixo. Custo: CAL

Mas e agora? Como licenciar?

Se o seu cenário corresponde a algum dos listados acima que continha a inscrição Custo: CAL + Test Manager, então veja aqui o que isso significa.

CAL (Client Access License)

A CAL, ou Client Access License ("Licença de Acesso de Cliente"), representa um acesso de usuário ao TFS. Já para o VSTS, o equivalente à CAL é chamado de VSTS Basic Subscription.

Isso quer dizer que seu usuário precisa de um acesso mais amplo que aquele provido pelo acesso gratuito de Stakeholders. Esse nível de acesso pode ser adquirido de várias formas:

  • Para usuários de TFS, o acesso pode ser adquirido através de uma das seguintes opções:
    • Compra de licenças de CAL para o TFS; ou
    • Compra de assinaturas VSTS Basic para o TFS no lugar das licenças de CAL (sim, o TFS pode ser licenciado com assinaturas do VSTS!); ou ainda
    • Licenças Visual Studio Professional com MSDN, Visual Studio Test Professional com MSDN ou Visual Studio Enterprise com MSDN;
    • Assinaturas de nuvem Visual Studio Professional (mensal) ou Visual Studio Enterprise (mensal ou anual).
  • Já para usuários do VSTS, não faz sentido falarmos de CALs. O acesso ao serviço se dá por meio de assinaturas e não de licenças. Assim, qualquer uma das opções abaixo seria o equivalente a uma CAL quando estamos falando de VSTS:
    • Compra de assinaturas VSTS Basic;
    • Licenças Visual Studio Professional com MSDN, Visual Studio Test Professional com MSDN ou Visual Studio Enterprise com MSDN;
    • Assinaturas de nuvem Visual Studio Professional (mensal) ou Visual Studio Enterprise (mensal ou anual).

Test Manager

Test Manager, neste contexto, não é um produto nem uma ferramenta – é apenas uma licença. Ou seja, ele não deve ser confundido com o Microsoft Test Manager – este sim, uma ferramenta.

No contexto de licenciamento, Test Manager significa que o usuário precisa de um nível de licenciamento superior àquele provido pela CAL (descrito acima), e que dá acesso às ferramentas de testes do TFS / VSTS (incluindo, agora sim, o Microsoft Test Manager). Atualmente, este nível de licenciamento é comumente obtido através da compra de uma extensão do VSTS chamada Test Manager, daí o nome da licença.

Confuso, né? 😃

  • Assinaturas da extensão Test Manager no Visual Studio Marketplace. Como falamos acima, esta extensão não é uma ferramenta, mas sim um veículo de licenciamento. Ao comprar assinaturas da extensão Test Manager, você está liberando o acesso às ferramentas de teste para as pessoas do seu time que precisam delas; ou
  • Assinaturas Visual Studio Test Professional ou Enterprise (incluindo as antigas Assinaturas MSDN).

IMPORTANTE

Se você optar pela aquisição da extensão Test Manager para licenciar o seu time – ao invés de usar uma licença VS Test Professional ou VS Enterprise – precisará adquirir também uma CAL, como descrito acima.
A extensão, por si só, não inclui o direito de acesso ao TFS/VSTS, diferente de quando você adquire uma assinatura do Visual Studio ou uma licença com MSDN.

Conclusão

As mudanças no modelo de licenciamento do Visual Studio e ferramentas associadas, que estão deixando de ser "licenças" no sentido mais antigo da palavra e estão passando a ser "assinaturas", mais alinhadas com o modelo de consumo de recursos da nuvem, geram muitas dúvidas. Aliás, era de se esperar, já que estamos bem no meio da transição.

E, como eu disse, licenciamento nunca é um assunto simples. 😃

Este post te ajudou de alguma forma? Restou alguma dúvida? Não hesite em comentar!

Um abraço,
Igor

Autor: Igor Abade

Igor Abade V. Leite (igoravl@mvps.org) é Microsoft MVP (Most Valuable Professional) de Visual Studio ALM desde 2006. Palestrante em diversos eventos da comunidade de desenvolvimento de software (TechEd Brasil, The Developers’ Conference, DevOps Summit Brasil, Agile Brazil, Visual Studio Summit, QCON e outros), é também autor de artigos em revistas e sites como o MSDN Brasil. Desde março de 2011 é um dos sócios da Lambda3, uma consultoria especializada em ALM, desenvolvimento de software e treinamentos. Visite seu blog sobre VS ALM em http://www.tshooter.com.br/ e siga-o no Twitter @igorabade.

Deixe seu comentário!