Testes com Visual Studio 2013 Everton Arantes. Principais Clientes.
Transcript of Testes com Visual Studio 2013 Everton Arantes. Principais Clientes.
Testes com Visual Studio 2013Everton Arantes
Principais Clientes
Agilidade para o negócio
Tendências no ALM
Cloud Services
Continuous Quality
Multi Platform Multi Device
Continuous Feedback
Heterogeneousdevelopment
teams
Continuous Delivery
SocialUser-Centric
Planejar Desenvolver Monitorar
BUILD | MEASURE | LEARN
BUILD | MEASURE | LEARN
Entregar
Gestão Moderna de Aplicações
Gestão Moderna de Aplicações
BUILD | MEASURE | LEARN
BUILD | MEASURE | LEARN
Planejar
Desenvolver
EntregarDisponibilizar software em produção
Ideias se transformam em software
IdealizaçãoREQUISITOS
BACKLOG
RELEASE
MonitorarCriar
SOFTWARE FUNCIONANDO
MonitorarExecutar e Monitorar software em produção
15
MonitorarCriar
Product backlog
Deployment pipelines
Time
Gestão de apps de ponta a ponta
Gerenciando qualidade
Gestão de release
Mentalidade “Live site”
• Time estruturado• Cadência entrega
Engajamento do cliente
Team ExplorerEverywhere
E X T E N S I B L E A P I s
SharePoint
Project Server
System Center
SQL Server
Office
Web Access
Windows Azure
Version Control
Build Automation
CustomizableProcesses
RequirementsManagement
Test CaseManagement
ProjectManagement
End-to-EndTraceability
Lab Management
Analytics
TEAMFOUNDATIO
NSERVER
Team Foundation ServerTeam Foundation Service
Systems Center Operations Manager
Cross platform build engines
(Ant, Maven, iOS)
Lab environments• Standard self-management
environments• Virtualized environments
managed by Systems Center
Heterogeneous Organizations
MSFT Platform Teams
Visual Studio
Java Teams
Eclipse
iOS Teams
VS Tools TEE
Integrated ALM Workloads
• Project Planning & Mgmt• Team Development• Quality Enablement and Testing• DevOps• Traceability and Reporting
Incl. Android
TEE cross platform tools
• Microsoft Project Server• Microsoft SharePoint
Server
SCM Work Item
TrackingLab Management Build
Automation
Integrated Reporting and
Analytics
Testing Tools and ServicesAgile Planning
End-to-end integration and traceability
• SQL Server Reporting Services
• SQL Server Analysis Services
Integration APIs
Partner Solutions
Testes Continuous
User Interface
ServicesBusiness Processes
Business Rules and LogicService integrations
Data accessIdentity
Data
Automated testing Unit testing Integration testing Performance testing Load testing
Manual testing User testing Ad-hoc exploratory testing Planned manual testing
Automated testing Keyword testing UI automation testing Performance testing
Continuous integrationsBuild | Deploy | Test
Dev
SIT
UAT
Stress
Prod
Shortened cycle times
Testing toolboxRole tailored tools
Lab manageme
nt automation
Testes de Software com Visual Studio
Team Foundation Server
Visual Studio IDEMicrosoft Test Manager
Unit testing
UI automation
testing
Performance testing
Load testing
Code quality analysis
Test planning and
management
Test case managemen
t
Lab manager
Manual testing
Microsoft Feedback Client
User testing
Work item tracking Source control Lab management services Test execution services Build services Reporting and BI
Pluggable components
Test runners Build engines Lab environmentsDiagnostic data collectors
Exploratory testing
Manual TestingMicrosoft Test Manager
Test planning and
management
Test case managemen
t
Lab manager
Manual testing
Exploratory testing
Test Execution
Manual step
through
Record & Playback
Pause & Resume
Data Collectors
Actionable Defect Reporting
IntelliTrace Logs
Audio/Video
Recording
System Logs
Action Recordings
Quality Analytics
Test Results
Code Coverage
Build Testing
Custom & ad-hoc reports
Rastreamento completoCom o TestManager coletores de dados configuráveis podem gravar múltiplos fluxos de dados, a partir de registros do IntelliTrace e vídeos gravados com áudio, isto para facilitar a reprodução de erros encontrados.
Organize os testes com multiplas configurações
Armazenamento de dados e controles para
automação futura.
Pause, salve, feche e volte de onde parou.
Record and reportCapturar a informação correta é essencial para reduzir o tempo de reparo de um bug. Coletores de dados ricos permitem a equipe de testes compartilhar exatamente o que é necessário para a correção rápida dos defeitos.
IntelliTrace Logs
Informações das configurações do sistema
Status detalhado e histórico visível a todos os membros
do time.
Audio & Video gravados
Visibilidade total dos testesAcompanhe o estado de seus testes em tempo real, gráficos de fácil entendimento e indicadores detalhados, como a cobertura de código de seus testes manuais. Combine isso com métricas de qualidade de código para visualizar o que está coberto por testes de unidade e testes de integração manuais.
Obtenha uma visão da execução dos testes com
gráficos pizza sumarizados.
Analise a cobertura de código dos testes manuais
determinando quais partes específicas do código foram
testadas.
Associe testes manuais com builds e ambientes.
Testes ExploratóriosMicrosoft Test Manager
Test planning and
management
Test case managemen
t
Lab manager
Manual testing
Exploratory testing
Test Execution
Video Recording Rich Text Screen
Capture
Defect Reporting
Test Case Creation
Bug Reporting
Data Attachmen
ts
Quality Analytics
Test Results
Code Coverag
e
Action Recording
Audio Recording
Sem roteirosSeus usuários finais não seguirão um roteiro. Seus testadores precisam experimentar o seu aplicativo a maneira como os usuários fazem, sem suposições sobre o comportamento pretendido.
Complemente seu teste com testes exploratórios para sondar as profundezas das incógnitas, e encontrar os bugs escondidos nas estranhas antes que seus usuários o façam.
Crie comentários ricos com imagens ao longo do teste exploratório.
Sessões de testes são gravadas para facilitar
a reprodução dos testes
Explore sua aplicação para identificar novos
defeitos
A barra de testes do lado esquerdo da tela registra
automaticamente seus passos durante a sessão de testes
exploratórios.
Como você fez isso?Não é um bug até que seja relatado. Com os testes tradicionais ad-hoc, pode ser difícil reproduzir as condições que levaram ao comportamento defeituoso.
Em vez de "bem, eu acho que eu fiz isso ...", os passos ficam detalhados, registrados na sessão de testes e nos defeitos criados.
Passos e comentários são adicionados
automaticamente nos detalhes do bug.
A sessão de testes exploratórios fica
paralisada enquanto o bug é criado
Crie novos bugs sem finalizar ou sair de uma sessão de testes
exploratórios
Adicione como anexo o vídeo gravado durante a
sessão de testes exploratórios para otimizar a
reprodução do bug.
Crie um caso de teste vinculado ao bug de forma automática.
Torne o teste repetívelA partir do bug você pode criar um novo caso de teste para seu roteiro de regressão ou para o próximos ciclo de testes, o Test Manager facilita esta atividade preenchendo automaticamente as informações de acordo com os passos gravados durante a sessão de testes.
Passos de teste são adicionados
automaticamente
Continue…Um defeito encontrado durante os testes é uma lombada, mas não é o fim da estrada. Ainda há muito aplicativo que precisa ser testado.
Após a criação de um bug e caso de teste a sessão continua de onde você parou.
Continue o teste exploratório direto de onde você parou
Acesso rápido aos erros e casos de teste criados
durante a sessão de testes
Automação de Testes da Interface do Usuário
Coded UI Test Authoring
Manual Coding
Import Existing
Test Case
Record Actions
Test Case Association
Test Case
Execution Methods
Direct Executio
n
Build Integration
Test Manager
Visual Studio IDE
Unit testing
UI automation
testing
Performance testing
Load testing
Code quality analysis
Defect Reporting Quality Analytics
Code Coverag
e
Build Reports
Bug Creation
Keyword Based
Grave, converta e flexibilizeGrave seus testes repetíveis de forma rápida e simples, converta em código para maior flexibilidade, insira fontes de dados externas, validações, modularize para facilitar a mudança e reutilização.
Converta o caso de teste em código para
maior flexibilidade
Gere sua codificação de testes de uma gravação
existente, ou grave um novo caso de teste em tempo real
OtimizeA automação de interface do usuário interage com o aplicativo como um usuário, seguindo os passos gravados, isso de forma rápida, autônoma e contínua.
Passe o mouse, navegue, preencha os dados do formulário, clique em botões. No IE e outros navegadores. Use parâmetros para executar o mesmo cenário várias vezes com dados variáveis .
CodedUI tests interagem diretamente
com a interface do usuário
Os testes podem ser executados e monitorados na máquina local, ou ainda em
uma máquina virtual
Com suporte Cross-browser seus testes automatizados são
executados em vários navegadores
Detecção precoce reduz custosQuando os scripts de testes automatizados fazem parte de um build automatizado, estes são executados de forma automática como parte do processo, quando algo da errado, o build não é publicado e o problema é resolvido sem impactar os demais membros do time e o ambiente.
Testes de interface do usuário codificados podem ser executados como parte da sua suíte de testes de unidade, permitindo que os desenvolvedores detectem mais cedo os
defeitos
Mesmo que ocorra alterações no “look & feel” da aplicação o teste automatizado ainda executa
corretamente.
Coded UI tests são mantidos no “source
control” dando máxima visibilidade
Java, iOS, Android…Estender automação de teste em ambientes multi-plataforma e multi-dispositivos: Java, MacOS, iOS, Nokia, e muito mais.
Mantenha tudo transparente e conectado integrando “Squish tests” no Visual Studio e Microsoft Test Manager.
Solução de parceiros recomendadas: FrogLogic/PerfectoMobile
Importe e execute “Squish GUI tests”
diretamente no Visual Studio e veja os
resultados
Publique seus “Squish tests” no TFS
Associe Squish tests com casos de teste no Microsoft Test Manager
Elimine redundânciaO tempo de um testador é precioso demais para desperdiçar.
Seus testadores podem ver facilmente que os casos de teste foram automatizadas, e até mesmo executar os testes automatizados diretamente do Test Manager.
Então, eles podem concentrar o seu tempo nos testes que realmente precisam de um olho humano.
Associe testes automatizados com
casos de teste
Test Case Conversion
Scenario Setup
Visual Studio
IDE
Web Performance Test Projects
Testes de carga e performance Web
Microsoft Test
Manager
Visual Studio IDE
Kick-off Methods
Automated Builds
Test Mix Browser MixLoad Pattern
Page Response
Times
System Under Test
Performance
Detailed Analytics
Key Response
Times
Client
Testes de carga e performance WebExecution Methods
Visual Studio 2012
Ultimate
No Virtual User Limit
System Under Test
Web ServerTest Agent
Data Collector
Test Controller
Load AgentsTest
AgentTest
AgentTest
AgentTest
AgentTest
Agent
Local Distributed Test Controller
No Virtual User Limit
System Under Test (One per agent)
Web ServerTest Agent
Data Collector
Grave cenários reaisTestes de desempenho significativos devem reproduzir cenários reais de usuários esperados.
Economize tempo gravando rapidamente seu script de testes de desempenho para criar um conjunto completo de testes.
Grave cenários de uso da sua aplicação que
serão reproduzidos nos testes de performance
O “Web Test Recorder” grava suas ações enquanto você
usa sua aplicação
Configure cenários realistasUm cenário de carga realista deve combinar uma variedade de operações do usuário prováveis.
Misture testes web gravados e / ou testes de unidade definindo um mix de execução para criar uma verdadeira representação do uso do sistema.
Performance and load tests work like any other coded test for
your system and are completely automatable
Assign the expected distribution of browsers,
connection speeds, and use cases to your load tests
Teste os limitesSimule o sistema em espera, em situações de pico, e cargas de estresse, em seguida, analise os resultados para definir onde as correções serão necessárias.
Realize testes de carga e stress durante o desenvolvimento, garantindo que a arquitetura e o design da aplicação estão aderentes as expectativas antes da implantação em grande escala.
Testes de desempenho simulam no sistema a
quantidade de usuários simultâneos esperada
Obtenha resultados detalhados em vários
formatos para o diagnóstico do sistema em teste
Team Foundation Service
AGILE PLANNINGCOLLABORATION
SOURCE CONTROL
CONTINUOUS BUILDS
TEST EXECUTION
http://tfs.visualstudio.com/pt-br/learn/load-testing
Teste de Carga na nuvemVocê pode usar o teste de carga baseado em nuvem para fornecer máquinas virtuais que geram a carga de muitos usuários acessando o seu site ao mesmo tempo.
Gerenciamento de laboratório automatizado
Lab management services
Environment templates
Environment provisioning
Environment snapshots
Development and Testing
Environments Development environments
Repro environmentsTest environments
On-premise | Cloud
Continuous Build-Deploy-TestAs aplicações modernas precisam ser implementadas e testados em vários ambientes.
Se você armazenar seus ambientes de teste no seu data center ou na nuvem, Lab Manager permite a automação e aumenta a colaboração, reduzindo o tempo do ciclo de compilação e teste.
Crie novos ambientes usando templates de máquinas virtuais no
SCVMM
Crie um ambiente usando máquinas em execução no SCVMM
Crie novos ambientes nas máquinas
existentes
AutomatizeQuando os desenvolvedores e testadores colaboram, temos ganhos de qualidade.
Os desenvolvedores criam o aplicativo, implantam em um ambiente e executam os casos de testes automatizados em uma única etapa, preparando o caminho para os testadores.
Escolha rapidamente vários conjuntos de testes para executar após a implantação
Escolha o seu ambiente, para construir, implantar e testar nesse ambiente a partir de uma única caixa de diálogo
Gerencie os AmbientesTestadores levantam ambientes para executar os testes manuais, onde os agentes de testes gravam todos os dados requeridos para reproduzir qualquer bug.
Congele ambientes e anexe nos bugs criados para que os desenvolvedores possam reproduzir exatamente o ambiente onde o defeito foi encontrado.
Crie “Snapshots” do ambiente durante os testes manuais para
facilitar a reprodução de bugs
Gerencie seus ambientes de teste virtuais de dentro Test Manager ou acesse um ambiente virtual para uma sessão de testes manuais
Intelligent analysisEnable data collectors and generate detailed test results to ensure any bugs that are found are actionable.
Team Foundation Server keeps track of all the pieces, keeping your entire team on the same page and reducing time to repair.
Test run results are attached to specific builds and
environments
Collect all the data required to recreate bugs from virtual environments
Windows Azure
$30
$25
$20
$15
$10
$5
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
Mar
ket
Share
(in
B
illio
ns)
Public Cloud Platform
Porque considerar serviços na nuvem para suportar os testes?
EconômicoEscalávelRápido
RápidoCrie Máquinas Virtuais de um único núcleo a oito núcleos, de menos de 1 Gb a 56 Gb em menos de 10 minutos e comece a testar imediatamente.
EscalávelAproveite a nuvem para testar o aplicativo sob carga sem afetar seus aplicativos de produção. Teste várias configurações ampliadas e reduzidas para assegurar que o aplicativo esteja pronto para uso pelo cliente.
EconômicoVocê paga pelo que você usa.
FundamentosWindows Azure
Heterogêneo
Aberto, Amplo e Flexível
Languages
CMS
Devices
Databases
OperatingSystems
data
servicestableHDInsight
blob storage
SQL database
app
services
media
hpcintegratio
n analytics
caching identityservice
bus
web sitesmobile
services
cloud services
infrastructure
servicescdn
virtual machines
virtual network vpn
traffic manager
Apps
virtual network
tablecloud services
caching identitydata
servicestableHDInsight
blob storage
SQL database
app
services
media
hpcintegratio
n analytics
caching identityservice
bus
web sitesmobile
services
cloud services
infrastructure
servicescdn
virtual machines
virtual network vpn
traffic manager
virtual network
data
servicestableHDInsight
blob storage
SQL database
app
services
media
hpcintegratio
n analytics
caching identityservice
bus
web sitesmobile
services
cloud services
infrastructure
servicescdn
virtual machines
virtual network vpn
traffic manager
Azure datacenters,your datacenters.
vpn
virtual network
virtual machine
s
vpn
Developers
IT Admin
Desenvolva, Teste e execute suas aplicações
Custo efetivo (pague o que você usar)Tenha mais agilidade com os serviços da plataformaCrie cenários realistas e escaláveis de testesUse diversas ferramentas de desenvolvimento e linguagens
Testes e desenvolvimento usando Windows Azure Manage environment
Use VMs
Provision VMs
Dúvidas?
“Tente uma, duas, três vezes e se possível tente a quarta, a quinta e quantas vezes for necessário. Só não desista nas primeiras tentativas, a persistência é amiga da conquista. Se você quer chegar aonde à maioria não chega, faça aquilo que a maioria não faz.”
Bill Gates