Not everyday a new browsers sees the market. Tomorrow Microsoft will launch Windows 10 with the new Edge Browser. From zero to a serious market share, I think.
At least such a big market share that you want to use your Test Automation investments also to this new Edge browser.
Microsoft is supporting this with a WebDriver, which can be used by most test automation frameworks. Play with the Webdriver. For example you investments in Selenium test automation can be reused.
Selenium is already updated for the Edge driver (see github).
Not in the Nuget Packages yet, so you have to build it yourself…
With the 7 July release of Visual Studio Online (Card colors and personal access tokens – Jul 7) the capability of Personal Access Tokens is available.
A Personal Access Tokens gives just a bit more granular control over what an external system can do on you behave with Visual Studio Online. Amount of days, VSO resources and VSO accounts.
To make your system use this token actually nothing special has to be done. Before you had the UserName Password, now you have nothing, pat for you authentication.
So you HTTPClient can stay the same (0 changes :-) :
only the calls to it are different:
HttpClient client = GetVSOClient(userid, password);
HttpClient client = GetVSOClient(“”, pat);
Within or Dev/Test on Azure Office 365 solution you can use this token now for give access to the team room to past messages, when you start or stop a VM.
In this way you have the actions on the environments your team uses close at a place where everybody sees it.
Soon (after my vacation also available in the Free MSDN OneShare Solution)
Gitflow is great, it supports you and your team members in following a proper flow for branches and commits.
See A successful Git branching and a successful Git branching model.
Also happy Jakob Ehn made a Gitflow Visual Studio extension for VS2015, which is very useful.
Visual Studio Branch policies are great too, it helps you and your team members to control the quality of a branch.
VSO branch policies are release in May, see: Build preview, updated backlog navigation, branch policies, and more... – May 15
‘Enabling branch policies will require changes to be submitted using pull requests.’
Using them together is great, but …
GitFlow mainly executes on the local repository and the VSO branch policies work on the Remote branches. Tuning your flow a bit will make them work together.
After you have defined your branch policies and configured the Visual Studio GitFlow addin. Start a new Feature and do you coding magic.
When done and you want to finish the feature. Clicking on the Gitflow ‘finish feature’ will merge / rebase the feature branch to the develop branch, local.
now the local develop branch has the change.
the problem now is, when you want to push your changes to develop the branch policy jumps in.
to work around this there are several possibilities.
You can make an additional develop / integration branch mark that one in the GitFlow configuration as development branch, use the finish Feature and push changes from that branch to remote, and finally make a Pull Request from that branch to the branch with the policies configured.
The additional needed branch can be a reason to use another solution, also the Pull requests all come from one Branch which can be challenging when abandon a Pull Request.
The other way is not use the ‘Finish Feature’ Gitflow activity. but. After finishing the feature, fetch the develop branch (contains the latest pull requests), merge develop in to the feature branch and Push it. In Visual Studio Online create a Pull Request to develop.
and the branch policies jump in for develop. keeping track of the quality of the branch which is going to be merged.
[this is the VSO policy traffic light ]
When all policies are fulfilled complete the Pull Request and delete the remote feature branch.
A small workaround with a clean result.
All thoughts are welcome to tune it.
With the joining of Wunderlist with Microsoft an obvious scenario falls in place, a connection between Visual Studio Online and Wunderlist (team tasks versus personal tasks). Take carefully planned Team activates in Visual Studio Online with you, by putting them together with your daily tasks in Wunderlist, ideal for the busy programmer.
With this idea a weekend project has started. I already planned (on my Wunderlist task list :-) to learn more about the Visual Studio Online extensibility model.
This is an overview video of the functionality.
On GitHub you can find the sources.
For the implementation I mainly used the VSO examples together with the Wunderlist API docs and a I toke some C# from 6wunderkinder/Wunderlistchen (thx Christian Lang)
Only the happy flow from VSO to Wunderlist is implemented, it is far from production ready. I wonder if it ever will be, also because Wunderlist works on an integration point with Zapier. That gives us (VSO users) an easier integration point than building it yourself.
Happy to mention we got awarded as finalist for the Microsoft Application Lifecycle Management partner of the Year 2015.
See the Worldwide Partner Conference site.
The credits go mainly to or adoption accelerator for Dev and Test on Azure service, OneShare.
It is a nice follow up on or 2011 Country partner and or 2013 ALM partner awards.
I can’t use my MSDN Azure benefit anymore, because I forgot to switch off a Virtual Machine.
It happens too often.
Although it is easy to schedule a virtual Machine via the Azure portal (see: Script Center and azure automation ), users still forget to configure it or don’t take the time or simply don’t know how to do it.
To make it easier to organize, start, stop, schedule (and snooze) Azure VM’s and stay within your MSDN Azure benefit we a light version of the O365 App ‘OneShare’.
Development and Test on Azure with OneShare.
OneShare is a solution and service build by Sogeti for Development and Test teams who are using Azure for their environment needs (Cloud usage flavors for Development and Test teams.).
OneShare provides insight, control and self servicing on top of Azure within Office 365 and with Visual Studio Online.
Every project within OneShare gets a Visual Studio Online account, an Azure Subscription and a Office 365 portal.
The OneShare Solution connects these three together, which gives the team a consistent view and entry point on all the resources a team needs to be Fast and Flexible.
Azure and Office 365 MSDN benefit for Development and Test on Azure.
OneShare for Azure MSDN benefit is a light version of the OneShare Enterprise edition which is connected to an Azure Enterprise Enrolment (and has many more features see this video). For now it contains the start, stop, schedule features (more will be added every sprint).
How To setup.
Activate your Azure and Office 365 MSDN Benefits.
Download the OneShare App.
When your Office 365 developer tenant is created get the OneShare App, download it from here (later I’ll publish it to the Office 365 Store, which gives an easier model for distributing).
OneShare App : http://1drv.ms/1Mk7WTF
In the MSDN Office 365 tenant you get a developer site by default, you can upload the OneShare App in this site or create an AppCatalog site and upload it there. The difference is that from the developer site you only can use it there, via the AppCatalog you can put it on any site you have in your tenant.
When you have uploaded, deployed and trusted the OneShare App to a site, you can add the VM State AppPart to the site. Go to ‘edit’ (upper right corner of the site) and select, Insert, AppPart, Azure Virtual Machine.
Save the page (upper right corner) and configure the OneShare App for your Azure Subscription. Click on the ‘Azure Virtual Machine’ header of the AppPart. This brings you to the configuration section.
Select Project Settings and download the certificate. This certificate needs to be uploaded to the Management Certificate Store of you Azure Subscription.
When you want to be updated on OneShare state fill the Mail Contact.
NOTE: using Azure Management Certificates is not the most ideal way of authentication against an Azure Subscription. The OneShare Enterprise version authenticates against Azure Active Directory which gives a more fine grained control. When you remove the certificate from the store, OneShare can’t access the subscription anymore, this is the way to opt out.
Save the project settings, will bring you to the VM Properties screen. In this screen you can edit the properties of the VM’s.
Push ‘Refresh’ when you want to collect existing VM’s from your Azure subscription.
Per VM properties can be set for category, estimate, start, stop and notification.
The NoStartStop Schedule option is useful when you want to give other people access to the SharePoint site where the OneShare app runs on. When you add a OneShareAdmin group to the site and make yourself member. you can switch of the capability for other users to start and stop a Azure VM.
On the AppPart the settings are visualized as.
The VM Status History page shows the usages history of the VM in a graphical overview. A easy way to figure out how the VM’s are used in your subscription.
Have fun with it. while the OneShare Enterprise version has support this version is As-Is no support, no guarantees are provided and without warranties of any kind.
But, I’m happy to answer all questions.
You also can use UserVoice http://oneshare.uservoice.com/
For the whole setup, also the one via an AppCatalog see this YouTube video. (without sound, some construction going on around the house, too much noise ;-)
Already did a lot of post about Development and Test on Azure … see small list below. Now a promotional video about our Dev and Test services …
Cost is an interesting thing when developing on and for Azure.
A team now has direct influence on the run cost of the different environments. Not only development and test but also staging and production is in their influence zone.
With the right insight in environment cost a team can make architectural decision based on environment billing information.
For example, within Azure you can put all the code in an Azure VM, which is easy (lazy) and pretty expensive when you have them On all the time. Specially when you have Azure VMs for al stages.
See graph below, a team before 22 November everything on VM’s and always on, after 22 November with some more awareness the costs went down with almost 70%.
Project Azure costs, before and after being aware of the environments costs of their environments.
Other example, moving functionality from VMs to Azure Cloud Services lowers the price a bit (and finally also lower the operational costs). But moving Data from an Azure SQL Server to Table Storages is also a very beneficial move. Or moving a Worker Role to Azure Schedule Jobs or Web Jobs really pays off.
Below the Azure Billing costs of a project which tightly makes architectural decisions based on costs. For the team it is a challenge to constantly lower the daily cost.
With the daily updated Azure Costs insight they can see bad decisions (see spike) and good decisions (the big drop) immediately.
Also the slight rising of daily costs over time is something to pay attention to. Although the teams adds new functionality constantly the costs stays almost the same on a daily base.
Teams can get with Azure much more cost aware. For this to happen teams need daily updated insight in costs.
Read more: http://clemensreijnen.nl/post/2015/01/17/Insight-and-Self-Servicing-needs-for-Dev-Test-Teams.aspx
The current battle field in the software industry is among the provisioning and configuring of environments, specially cloud environments.
To live the DevOps dream one of the skills a team must have is the capability to be fast and flexible in the provisioning, configuring and usages of environments.
These environments cover not only test environments but also the complete needed ALM infrastructure and the team member workspace. See this post: Cloud usage flavors for Development and Test teams.
An interesting part of the battle field gives this survey Deployments in .NET 2014/2015 Report
although the list of tools is pretty long it isn’t compete and more are coming almost on a daily base.
Which deployment tool and technology to choose is really hard and often depends on the experience of a team member or the tools the operations department used to use.
Infrastructure as Code
While Deployment technologies is one part of the battle field and other part and even more important is the provisioning and configuring of environments. The Infrastructure as Code technologies.
For example this is a small list of tools which automate the provisioning and configuration of environments.
To make all these technologies of provisioning, configuring and deploying valuable it must be done in relation to a release, to customer value.
Release Management tools which support the flow and relate it to functionality, reports and tests are a must for teams. Support of tools which help to integrate the environments and releases in to the complete Application Lifecycle.
Microsoft Visual Studio Release Manager is one of these tools, another one is HP Codar. And probably there are many more….
Investing leaning time (and money) in the moving target of Provisioning and Configuring (Cloud) environments is a must for every team. As with all investments, it can be a waste of money. When a technology or tool doesn’t take off, or the capabilities aren’t what you expected.
It is for teams often hard to get a grip around what to do, which technology, which tools. My advice: start by asking the operations department (the Ops part of DevOps)is a good start to make a decision.
Two important aspects must be given to teams who work from and on Azure. Insight and Self Servicing.
Insight in usages of Azure resources (and money) in relation to the team activities. When you are in the automation business, you are lazy by default. Team members will forget to switch off machines. Team members will leave test environments running, even when there aren’t any test runs going on or planned.
When you give team members direct insight how they are consuming Azure resource in relation with their activities, they will pay a lot more attention to it.
With this insight the lower cost, pay per use, scenario will really take off.
Self servicing and some help with it. Team member who are busy for days to setup their work machine isn't from this age any more, even teams who are busy for days setting up (and configuring) the complete test infrastructure or automate build and test environments isn’t accepted by customers anymore.
The creation of machines on Azure is pretty easy, but still additional software installing and configure for example networks takes a lot of specialized knowledge not every team member has.
Making it easy for every team member to create environments, also the ones without PowerShell knowledge or even Azure services knowledge, is key for the success of using the Cloud for your teams.
Dev and Test Teams Portal.
At Sogeti we created the OneShare service and solution for teams. An O365 hosted portal where every team/ project gets a site, a Visual Studio online account and an Azure sub-subscription, all connected with each other. to give insight and self servicing for every team member.
For more details watch this video…