Call Tree View (session reports), 327
Caller/Callee View (session reports), 326-327
CAP (Call Attributed Provider) tool, 308
capability levels, 570
Capability Maturity Model Integration (CMMI)
CMMI Level 3, 571-573
MSF for CMMI Process Improvement
architects, 571
business analysts, 571
capability levels, 570
developers, 571
Lower Control Limits (LCL), 569
MSF for Agile Software Development compared, 574
overview, 569-570
process template, 482
project managers, 571
release managers, 571
testers, 571
Upper Control Limits (UCL), 569
capacity planning
enterprise deployment, 651
overview, 650
performance and scope, 650
small to medium deployments, 650
Caron, Rob (blog), 648
C/C++ code analysis
annotation support
in C, 254-255
in C++, 254
overview, 253-254
SA_FormatString attribute, 254
SA_InvalidCheck attribute, 254
SA_No attribute, 254
SA_NoAccess attribute, 254
SA_Post attribute, 254
SA_Pre attribute, 254
SA_Read attribute, 254
SA_ReadWrite attribute, 254
SA_Write attribute, 254
SA_Yes attribute, 254
code snippets, 300-303
command-line support, 251-253
disadvantages of, 262
Dynamic Link Libraries, 247
enabling, 248-249
executables, 247
how it works, 247-248
limitations of, 262
noise, identifying and minimizing, 261-262
overview, 245-246
#pragma support, 255-257
Team Foundation Server integration
check-in policies using C/C++ code analysis, creating, 257-259
overview, 257
setting check-in notes for your C/C++ code, 259-260
work items created from code analysis warnings, 260-261
versions, 246
Visual Studio 2005 integration
code highlighting, 250-251
disabling C/C++ code analysis, 248-249
enabling C/C++ code analysis, 248-249
overview, 248
setting warning levels, 249-250
viewing code analysis warnings and errors, 250-251
CCVs (common cause variations), 569
CHAOS report (Standish Group), 481
check-in and check-outs for Team Foundation version control
checking in an item, 549
checking out an item, 550-551
policies, creating and administering check-in, 551-553
check-in policies
using C/C++ code analysis, creating, 257-259
version control Team Foundation Server, 486-487
CI (Continuous Integration), 640-641
class, 101-102
Class Designer
code synchronization, 120-121
described, 16-17
designing code types
association relationships, adding, 112-113
DealingNotificationDelegate delegate, 117
DealingUtilities module, 118
DealStatus enum, 117
hard copy, reproducing class diagrams in, 119
inheritance relationships, adding, 110-111
interfaces, 118-119
members, adding, 111-112
methods, 115-116
one-to-many associations, 114-115
overview, 109-110
StockDeal classes, 110-115
StockQuote structure, 117
types other than class, 116-118
dynamic modeling
overview, 125
simulating collaboration diagrams using comments, 127
state pattern used to simulate statechart diagrams, 125-127
.NET Framework classes, 121
pattern library, building your own, 122-125
patterns, 121-122
toolbox
Abstract Class type, 103
Association item, 103
Class type, 102
Comment tool, 103
Delegate type, 103
Enum type, 103
Inheritance item, 103
Interface type, 103
Module type, 103
overview, 102
Structure type, 103
UML class diagrams comparison, 128-129
visualization of existing code
DealingApp class diagram, 104-105
members, visualizing, 108-109
overview, 103
StockBroker example, 104-108
StockDeal classes, 105-108
Class Diagrams, 284-288
Class type, 102
classification of process templates, 619-621
Client zone, 70
clients, 490
CMMI (Capability Maturity Model Integration)
CMMI Level 3, 571-573
MSF for CMMI Process Improvement
architects, 571
business analysts, 571
capability levels, 570
developers, 571
Lower Control Limits (LCL), 569
MSF for Agile Software Development compared, 574
overview, 569-570
process template, 482
project managers, 571
release managers, 571
testers, 571
Upper Control Limits (UCL), 569
Code Analysis for C/C++
annotation support
in C, 254-255
in C++, 254
overview, 253-254
SA_FormatString attribute, 254
SA_InvalidCheck attribute, 254
SA_No attribute, 254
SA_NoAccess attribute, 254
SA_Post attribute, 254
SA_Pre attribute, 254
SA_Read attribute, 254
SA_ReadWrite attribute, 254
SA_Write attribute, 254
SA_Yes attribute, 254
command-line support, 251-253
disadvantages of, 262
Dynamic Link Libraries, 247
executables, 247
how it works, 247-248
limitations of, 262
noise, identifying and minimizing, 261-262
overview, 245-246
#pragma support, 255-257
Team Foundation Server integration
check-in policies using C/C++ code analysis, creating, 257-259
overview, 257
setting check-in notes for your C/C++ code, 259-260
work items created from code analysis warnings, 260-261
versions, 246
Visual Studio 2005 integration
code highlighting, 250-251
disabling C/C++ code analysis, 248-249
enabling C/C++ code analysis, 248-249
overview, 248
setting warning levels, 249-250
viewing code analysis warnings and errors, 250-251
code analysis rules creation
introspection, 237
late binding, 237
new rules creation
base rule creation, 238
deploying a rule, 243
existing rules, learning from, 243-244
IIntrospectionRule interface, 240
implementing the rule, 238-243
Microsoft.Cci assembly, 239-240
overview, 237-238
Rules.xml, 242-243
writing the implementation code, 240-241
overview, 237
reflection, 237
code coverage
and instrumentation, 335
overview, 389-390
unit testing
enabling, 390
overview, 389-390
results, viewing, 390-391
code generation
DSL tools, 151-154
overview, 382
unit testing
generating code from tests, 386-387
generating tests from code, 382-386
overview, 382
code highlighting, 250-251
code refactoring
Encapsulate Field, 291-294
Extract Method, 294-296
Generate Method Stub, 299-300
Promote Local Variable to Parameter, 296-297
Remove Parameters, 298-299
Rename, 288-291
Reorder Parameters, 297-298
code snippets
Code Snippets Manager, 303-305
overview, 300
in Visual Basic, 300-302
in Visual C++, 302-303
Code Snippets Manager, 303-305
code synchronization
Class Designer, 120-121
described, 17-18
coded web tests, 409-411
CollectionAssert class
AllItemsAreInstancesOfType method, 374
AllItemsAreNotNull method, 374
AllItemsAreUnique method, 374
AreEqual method, 374
AreEquivalent method, 374
AreNotEqual method, 374
AreNotEquivalent method, 374
Assert methods, 371-374
CollectionAssert class, 374-375
Contains method, 374
DoesNotContain method, 374
IsNotSubsetOf method, 374
IsSubsetOf method, 374
overview, 374-375
columns displayed in Test Manager, choosing, 345-346
command-line analysis tool
build process code analysis integration, 236-237
options, 233-235
overview, 233
project files, 235-236
Command-line arguments to pass to the generic test option, 460
command-line interface for Team Foundation Build
deleting a build, 638-639
nightly builds, setting up, 639-640
overview, 638
starting a build, 638
stopping a build, 639
command-line load test execution, 426
command-line support, 251-253
command-line test execution
executing test lists, 426
executing tests, 426
options, 427
overview, 426
command-line tools
profiling
environment variables, setting, 331-332
executing a profiling session, 332
instrumentation configuration, 330-331
overview, 330
profiling a Windows service or ASP.NET application, 331
reports, generating, 332-333
VSInstr.exe utility, 330-331
VSPerfClrEnv.cmd utility, 331-332
VSPerfCmd.exe utility, 332
VSPerfReport.exe utility, 332-333
Team Foundation version control, 560-561
Comment tool
Application Designer, 31
Class Designer, 103
Logical Datacenter Designer, 60
System Designer, 82
common cause variations (CCVs), 569
Common Object Request Broker Architecture (CORBA), 11, 40
communication between endpoints, 200-201
communication problems and creating a software project, 501
CommunicationDefinition relationship, 176
complex types, 167-168
component implementation, 11
component interface, 11
components and deploy-time reuse, 9
conceptual overview of Microsoft Solutions Framework (MSF), 565-566
configuration
Application Verifier, 264-266
controllers, 428
generic testing
Additional files to be deployed with this generic test option, 460
Command-line arguments to pass to the generic test option, 460
Display execution application (window or console) at runtime option, 460
Environment Variables option, 460
Exit test run if run duration (in milliseconds) exceeds option, 461
Redirect standard output and error to test result option, 460
Specify an existing program to wrap as a generic test option, 459
manual test options, 440-442
Team Foundation architecture, 496-497
web test run settings, 399
configuring agents for distributed load tests attributes, 429
IP switching, 429
overview, 428
weighting, 429
Connection tool
Application Designer, 31
Logical Datacenter Designer, 60
System Designer, 82
Connector Map, providing a, 145-146
connectors, defining, 143
Conserve Memory setting (Application Verifier), 264
console applications, 56
ConstraintDefinition complex type, 182-183
ConstraintMember complex type, 178, 183-184
constraints
ConstraintDefinition complex type, 182-183
ConstraintMember complex type, 183-184
creating your own, 211-216
described, 71
enforcing, 215-216
Evaluate attribute, 183
FlowMember complex type, 184-185
ManagerDeclaration complex type, 185-186
overview, 182
Raiseerror attribute, 183
RelationshipConstraints, 208-209
ReturnEarly attribute, 183
SDM, 162, 208-216
SdmG (SDM Manager Generator), 212-215
setting constraints, 182
settings compared, 71-72
structural constraints, 182
System Definition Model (SDM), 182-186
TargetDefinition attribute, 183
validation, 209-211
consumer endpoints, 31
containment, 201-205
ContainmentDefinition relationship, 176
Contains method, 374, 375
context parameters, 404-405
Continuous Integration (CI), 640-641
contributor role, 543
Cooper, Alan (The Inmates are Running the Asylum), 576
copying diagrams, 54
CORBA (Common Object Request Broker Architecture), 11, 40
core services, 489
core template, 605-607
correcting problems with rule violations, 230-232
Corrupted end stamp of block header error, 270
Corrupted infix pattern for freed block error, 269
Corrupted prefix pattern error, 270
Corrupted start stamp of block header error, 270
Corrupted suffix pattern error, 269
cosmetic bugs, 438
Counter Sets (New Load Test Wizard), 416-417
Counters property page (Performance Explorer), 315
creating
ASP.NET unit tests, 388-389
custom manual test templates, 443-445
generic tests, 456-462
load tests, 411-418
manual tests, 439
new activities, 597-598
new workstreams, 596
ordered tests, 352-353
software project
communication problems, 501
failure of software development projects, reasons for, 501-502
metrics and estimation skills, lack of, 501
New Team Project Wizard, 502-505
operational details, too much focus on, 501
overview, 500-501
poor workflow management, 501
standards compliance, lack of, 501
Team Project, 500
understanding of processes, lack of, 501
Visual Studio Project, 500
system diagrams from scratch, 92
test lists, 344-345
a test plan, 654
test projects, 340-341
Visual Studio 2005
test template, 446
web tests, 396-397
your first unit test
failing tests, 363
identifying unit test classes, 363
identifying unit tests, 363
overview, 362-363
successful tests, 363
your own constraints, 211-216
critical bugs, 438
Critical section over-released or corrupted error, 272
cross-references, 600
Cunningham, Ward (Framework for Integrated Testing), 434
The current thread is performing a wait operating on a thread handle in DllMain error, 271
custom reports
building, 530-532
overview, 530-531
Report Builder used to create, 531-532
Report Definition Language files, 530
running, 532
viewing, 532
custom roles, creating, 600
custom settings, 75, 181-182
custom unit test properties, defining, 377
customization
manual test added to your project, 443
process templates
definitions, modifying template, 603-622
downloading a process template to your desktop, 601-602
navigating a process template, 602-603 overview, 601
Team Foundation Build, 644-646
work item elements, 599
customization tools
Microsoft InfoPath 2003, 593-594
MSF HTML Build utility, 594
overview, 592-593
third-party tools, 594-595
XML/XSL editors, 593
cycles in Microsoft Solutions Framework (MSF), 575-576