You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Applies common application lifecycle management (ALM) concepts and practices to application development using SharePoint technologies.
10
-
**Provided by:** Eric Charran, Microsoft Corporation
11
-
12
-
13
-
14
10
15
-
**Contributors:** Vesa Juvonen, Microsoft Corporation | Steve Peschka, Microsoft Corporation
16
-
17
-
18
-
19
-
11
+
**Provided by:** Eric Charran, Microsoft Corporation
20
12
13
+
**Contributors:** Vesa Juvonen, Microsoft Corporation | Steve Peschka, Microsoft Corporation
21
14
22
15
> **Important:**
23
16
> This topic refers to autohosted SharePoint Add-ins. The preview program for autohosted apps has ended. Please disregard all references to autohosted SharePoint Add-ins.
24
-
25
-
26
-
27
17
28
18
29
19
## Overview of application lifecycle management (ALM)
30
20
<aname="Overview"> </a>
31
21
32
22
Microsoft SharePoint gives developers several options for creating and deploying applications that are based on SharePoint technologies, for both on-premises and in hosted or public cloud platforms. SharePoint offers increased flexibility in the shape applications can take as well as new options for using standards-based technologies with applications. Although these application capabilities and deployment options afforded by the new application model inSharePoint provide an effective means for developers to create new and immersive applications, developers must be able to infuse quality, testing and ALM considerations into the development process. This article applies common ALM concepts and practices to application development using SharePoint technologies.
33
-
34
-
35
-
36
23
37
24
### What's new
38
25
<aname="WhatsNew"> </a>
@@ -100,17 +87,12 @@ The selection of a development environment should be made based on multiple fact
100
87
101
88
**Figure 1. Development environment components and tools**
102
89
103
-
104
-
90
+
105
91
106
92
[
107
93
108
94
109
95
110
-
](http://go.microsoft.com/fwlink/?LinkId=391723)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391723)
111
-
112
-
113
-
114
96
115
97
### Development environment philosophy
116
98
<aname="DevPhilosophy"> </a>
@@ -145,10 +127,6 @@ Figure 2 shows how developers can use Office 365 as a development environment an
145
127
146
128
147
129
148
-
](http://go.microsoft.com/fwlink/?LinkId=391724)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391724)
149
-
150
-
151
-
152
130
Developers with MSDN subscriptions can obtain a development tenant that contains aSharePointDeveloper Site. The SharePointDeveloper Site is preconfigured for developing applications. Users can use not only Visual Studio 2012 in developing applications, but with Office 365 developer sites, Napa can be used within the site to construct applications. For more information about getting started with anOffice 365 Developer Site, see [Set up a development environment for SharePoint Add-ins on Office 365](http://msdn.microsoft.com/library/b22ce52a-ae9e-4831-9b68-c9210af6dc54%28Office.15%29.aspx).
153
131
154
132
@@ -207,8 +185,6 @@ For organizations or developers who choose not to use Office 365 developer sites
207
185
208
186
209
187
210
-
](http://go.microsoft.com/fwlink/?LinkId=391725)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391725)
211
-
212
188
213
189
214
190
Figure 3 describes the development tools and application types that can be enabled with developer sites when using an on-premises SharePoint farm as a host. Note that NapaOffice 365 development tools cannot be used in this environment as they are a capability only present in Office 365 development sites.
@@ -249,8 +225,6 @@ Figure 4 shows the types of applications that can be created using an on-premise
249
225
250
226
251
227
252
-
](http://go.microsoft.com/fwlink/?LinkId=391726)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391726)
253
-
254
228
255
229
256
230
Developers can conduct remote development for the SharePoint and cloud-hosted applications within their own SharePoint farms as well as the development of full trust farm solutions. These farms are often hosted within a virtualization server running either on the developer's workstation or in a centralized virtualization private cloud that can easily be accessible to developers. The SharePoint farm environment is usually separate from other developers' farms and provides a level of isolation that is required when developing full trust code that may require the restart of critical services (that is IIS).
@@ -427,9 +401,6 @@ Figure 9 shows a standard process for SharePoint application builds and deployme
427
401
428
402
429
403
430
-
](http://go.microsoft.com/fwlink/?LinkId=391727)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391727)
431
-
432
-
433
404
434
405
The developer checks in the SharePoint application Visual Studio 2012 solution. Depending on the desired configuration (that is, continuous integration or scheduled build), TFS build services will execute the steps defined by the SharePoint application build definition. This definition, configured by developers, contains the continuous integration build process template as well as post-build instructions to execute Windows PowerShell scripts for application deployment. Note that the SharePoint Online Management Shell extensions will be required in order to deploy the application to SharePoint Online. For more information about SharePoint Online Management Shell extensions, see [SharePoint Online Management Shell page](http://www.microsoft.com/en-us/download/details.aspx?id=35588) on the Download Center.
435
406
@@ -461,9 +432,6 @@ Note that for cloud-hosted (auto and provider) applications, developers can depl
461
432
462
433
463
434
464
-
](http://go.microsoft.com/fwlink/?LinkId=391728)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391728)
465
-
466
-
467
435
468
436
As shown in Figure 10, when developers make changes to the solution that represents the SharePoint application, there may be circumstances where changes are made to the projects within the solution that do not apply to theSharePoint application project itself. In this circumstance, the SharePoint application project does not have to be redeployed as it has not changed. The changes associated with the cloud-hosted projects must be redeployed.
469
437
@@ -493,10 +461,7 @@ Figure 11 shows the types of testing approaches that are best used with SharePoi
493
461
494
462
[
495
463
496
-
497
-
498
-
](http://go.microsoft.com/fwlink/?LinkId=391729)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391729)
499
-
464
+
500
465
501
466
502
467
Figure 11 suggests the use of different types of tests for testing SharePoint applications by type. Coded UI tests should be used against SharePoint-hosted applications where the business logic and the user experience reside in the same layer. While business logic can be abstracted to JavaScript libraries, a primary means of testing that logic will be through the user experience.
@@ -573,9 +538,6 @@ Developer testing can occur in the environment where the developers are creating
573
538
574
539
575
540
576
-
](http://go.microsoft.com/fwlink/?LinkId=391731)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391731)
577
-
578
-
579
541
580
542
Developers will execute tests from Visual Studio against the solution components deployed in their own Office 365 or on-premises developer site. For cloud-hosted applications, the tests will also be executed from Visual Studio against the solution components that reside on provider-hosted infrastructure. These components will reside in the developer's Microsoft Azure subscription.
581
543
@@ -607,10 +569,6 @@ In order to test the application, all of the development components should be as
607
569
608
570
609
571
610
-
](http://go.microsoft.com/fwlink/?LinkId=391732)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391732)
611
-
612
-
613
-
614
572
For this type of testing, the ALM platform will build and deploy the SharePoint application and any required components to the target environments. For SharePoint-hosted applications, this will either be an Office 365 site or an on-premises/IaaS SharePoint site collection specifically established for integration and systems testing. For SharePoint cloud-hosted applications, TFS will also deploy the components to a centralized Microsoft Azure subscription where the services will be configured specifically for integration/systems testing. TFS will then execute coded UI or unit tests against the SharePoint application, as well as any components that the solution requires on hosted infrastructure.
615
573
616
574
@@ -633,9 +591,6 @@ For user acceptance testing (UAT), organizations often have separate environment
633
591
634
592
635
593
636
-
](http://go.microsoft.com/fwlink/?LinkId=391733)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391733)
637
-
638
-
639
594
640
595
As shown in Figure 14, users assigned to conduct acceptance testing or organizational testing resources conduct test scripts in a stable environment that is focused on a well-publicized build of the application. While code deployment and testing continues in the integration environment, users will conduct manual testing to validate that the application meets required use or test cases. The application and any provider-hosted infrastructure will be deployed, typically by a release manager, into this testing environment. An automated deployment is possible as well. This sort of deployment uses a dedicated UAT build definition in TFS that mirrors the one that conducts deployment for the integration and systems testing environment.
641
596
@@ -653,10 +608,7 @@ For cloud-hosted infrastructure, deployment into a Microsoft Azure subscription
653
608
654
609
[
655
610
656
-
657
-
658
-
](http://go.microsoft.com/fwlink/?LinkId=391734)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391734)
659
-
611
+
660
612
661
613
662
614
@@ -675,10 +627,7 @@ The code promotion process between the development and testing environments as w
675
627
676
628
[
677
629
678
-
679
-
680
-
](http://go.microsoft.com/fwlink/?LinkId=391735)[Click to see enlargement.](http://go.microsoft.com/fwlink/?LinkId=391735)
681
-
630
+
682
631
683
632
684
633
Following a check-in to TFS, an automated build procedure will compile and deploy the solution to the target integration and system testing environment where build verification tests will be executed as part of the build definition in TFS. This approach includes deploying the provider-hosted components of the solution to the target environment (Microsoft Azure or on-premises environments). Note that for Microsoft Azure infrastructure, the Microsoft Azure subscription can be the same one used for both integration and system testing as well as UAT and QA assuming they are deployed to different namespaces and separate SQL databases.
0 commit comments