Oh how I love technology

I really like my job.  It allows me to try out new things and I am always learning.  The one thing about technology these days is how one thing evolves into another so quickly that we rarely step back and think about what is actually going on.  I thought I would show how a few cool things working together can make some REALLY cool.  Microsoft has made such an excellent product that truly is an integrated development environment.

For the airport’s intranet site, I created a CodedUI test using Visual Studio 2010 Premium to exercise the user interface for a particular page.  It consisted of opening up the browser, clicking on links, Assert()ing that they existed and that everything is working as it should.  A CodedUI test can then be “played back” when the tests are run.

Now on to the next bit.  I am using Team Foundation Server (TFS) 2010 for Source Control, Work Item management, and Building.  What’s really slick is being able to utilize the TFS server to build the project.  I defined a build specification so that it would work like a Continuous Integration (CI) system.  Whenever code is checked in, the server will build the code and copy the binaries to a directory.  If the build fails, the code is rejected.

So what makes this even more awesome, is that with Visual Studio Test Agent, I can run CodedUI tests on a separate test machine from my Visual Studio instance.

Recently, I have been granted access to the network over VPN.  VPN is Virtual Private Networking.  Basically, anywhere there is internet, I can access the servers on the airport’s local network without physically being there.

So there I was, sitting at home drinking coffee.  I pull out my laptop at the kicthen table and connect through VPN (no wires or anything, wireless is cool beans), and decide to make a quick change to the code of the intranet site.  When I check in my code, the TFS server all the way over at the airport builds the code, copies the build to the test machine, runs the CodedUI test on the test machine, delivers the result to the build server and then TFS accepts the new code (Changeset).

I think that’s really slick.  It’s truly mind boggling to think of all the underlying technology it takes for that to just “work.”  And this is why I really love technology.