Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Visual Studio 2010 Testing Capabilities
1. Testing, testing
A first-look at the new testing
capabilities in Visual Studio 2010
Mathias Olausson
Callista Knowledgebase | QWise
QWise software engineering – refactored!
www.qwise.se
3. About the Presentation...
• What’s on the menu?
– Test planning and execution
– Issue tracking with rich bugs
– Eliminating the "works on my machine / cannot
reproduce" scenario
– Automated UI Testing
– Virtual Lab Management
QWise software engineering – refactored!
www.qwise.se
4. TEST PLANNING AND EXECUTION
QWise software engineering – refactored!
www.qwise.se
7. Agile Testing Quadrants
Business-facing
Manual
Functional Tests
Exploratory Tests
Unit Tests
Component Tests
Performance Tests
Load Tests
Security Tests
”-ilitets” Tests
Critisizing the product
Supporting the team
Automated &
Manual
Automated
Automated
Technology-facing
QWise software engineering – refactored!
www.qwise.se
8. Test Types
Manual Tests
UI Tests
Acceptance Tests
Unit Tests / Component Tests
QWise software engineering – refactored!
www.qwise.se
9. Testing in an Iteration
sprint
sprint
plan
plan
build 11
build
sprint
sprint
plan
plan
implement
implement
user story ‘1’
user story ‘1’
(us1)
(us1)
build 22
build
implement
Implement
Implement
us2
US2
US2
fix bugs
fix bugs
build 33
build
write tests
write tests
for us1
for us1
fix bugs
fix bugs
build 44
build
test us1 &
test us1 &
file bugs
file bugs
write tests
write tests
for us2
for us2
QWise software engineering – refactored!
build 55
build
build 66
build
verify fixes
verify fixes
test us2 &
test us2 &
file bugs
file bugs
build 77
build
regress
regress
impacted
impacted
tests
tests
verify fixes
verify fixes
www.qwise.se
10. Microsoft Test Manager and Visual Studio
Testing (Teams)
Development (Teams)
Engineering Support
Unit Testing
Specialist
Generalist
Coded UI Test
Microsoft Test Runner
Web Test
Fast Forward For Manual Testing
Load Test
Test Case Management
Lab Management
Data Collectors (IntelliTrace, Test Impact, Metrics)
Team Foundation Server
QWise software engineering – refactored!
Reporting
www.qwise.se
14. Should We Do Bug Tracking?
Pros
– Tracability
– Priority of work
– Visibility
Cons
– Overhead
Should we log bugs within an iteration?
QWise software engineering – refactored!
Source: Pixar ”A bugs’ life”
www.qwise.se
15. Defect Tracking in MTM and MTR
QWise software engineering – refactored!
www.qwise.se
16. No-more-no-repro
• Automatic data
collection
• Test settings
– Configuration of
diagnostic data
collectors
– Assigned to test plan
• Or per test run
QWise software engineering – refactored!
www.qwise.se
21. Automation Strategy
iteration 11
iteration
feature aa
feature
feature bb
feature
iteration 22
iteration
feature c c
feature
release iteration
release iteration
feature dd
feature
unit
testing
manual
testing
regression
testing
performance
testing
QWise software engineering – refactored!
www.qwise.se
22. Coded UI Tests
• Unit test for UI
• High-level framework
• Create test from
– Recording
– Test result (action
log)
– Using API
QWise software engineering – refactored!
www.qwise.se
28. Lab Management Infrastructure
Team
Foundation
Server (TFS)
Lab Management
System Center Virtual
Machine Manager (SCVMM)
Test Case management
Build management
Work Item Tracking
Source Control
QWise software engineering – refactored!
Hyper-V
Hosts
Library
Shares
Virtual
Machine1
Library
Share1
Virtual
Machine2
Library
Share2
Virtual
Machinen
Library
Sharen
www.qwise.se
29. Environments
• An environment is a set of machines with
different roles
• An environment can
– Be deployed, saved, removed
– Started, stopped
– Snapsshot
VM1
Lab Agent
QWise software engineering – refactored!
VM2
Lab Agent
www.qwise.se
30. Manual Tests in Lab
• Testing from the outside
– Easy for web applications
– Limitations in data collection
• Testing from the inside
– Run application in lab via environment viewer
QWise software engineering – refactored!
www.qwise.se
31. Automatic Tests in Lab
• Testing in VM
– Test case connected to test environment
– Test component comes from selected build
• Testing in build
– Test case connected to build definition
– Runs test list or test component
QWise software engineering – refactored!
www.qwise.se
Agile utveckling ställer nya krav på testning. I och med att vi vill jobba iterativt och inkrementellt fungerar inte den traditionellt vattenfallsorienterade modellen och det är risk för flaskhalsar i testning. Automatisering är en möjliggörar här.