Showing posts with label Testing. Show all posts
Showing posts with label Testing. Show all posts

Thursday, September 04, 2014

Driving IE with the Web Driver Tool and Code Sample too

Microsoft Downloads - IE Web Driver Tool for Internet Explorer 11

The IE Web Driver Tool enables developers to create automated tests that simulate users interacting with webpages and report back results in Internet Explorer 11. It can also manage testing across multiple windows, tabs, and webpages in a single session.

Version: 1.000

File Name:



Date Published: 9/3/2014

KB Articles: KB2990999

The IE Web Driver Tool implements many of the high priority features from the W3C spec to allow developers to open a session, automate basic functionality against the pages, and return the results of the tests. The IE Web Driver Tool differs from JavaScript unit tests because it has additional access to functionality and information in the browser, and it can more accurately simulate user events or OS-level events.


MSDN Code Gallery - WebDriver Sample - Cumulative Security Update for Internet Explorer (KB2976627)

WebDriver is like a remote control for Internet Explorer and allows developers to create automated tests that go beyond simple JavaScript unit tests. In Cumulative Security Update for Internet Explorer 11 (KB2976627), the WebDriver API demonstrated in Internet Explorer Developer Channel comes to general release.

Building the Sample

Because WebDriver gives any app that knows how to use it the ability to control your browser, it is not completely installed with Cumulative Security Update for Internet Explorer (KB2976627). To install and enable the remaining components, please follow the instructions in the Developer Guide.

Following that, you will be able to use the Visual Studio solution in this sample as a jumping-off point to build your own apps using the WebDriver API. However those apps will only run on systems specifically enabled to use the WebDriver API.


The WebDriver sample provides a small example application that opens Internet Explorer, navigates to Bing, locates the Bing Search Box, types "WebDriver" into it, and executes the search. With dozens of commands available, this provides an excellent starting point for exploring the WebDriver API in Internet Explorer 11.

Source Code Files



Remember the days/weeks wasted and many tools we've used to "automate" UI testing of our web sites? Maybe, finally, those days are behind us? We can only hope...

Tuesday, January 22, 2013

Ben's Unit Testing &TDD Courseware for Visual Studio 2010 (for free)

Benjamin Day Consulting, Inc. - Unit Testing & Test-Driven Development Courseware for Visual Studio 2010

Well, like I mentioned in my last post, I’m planning to publish a lot of the old courseware that I’ve developed over time.  The idea is to share the materials that I’m no longer using with the good folks on the internet rather than to have it all sitting around collecting virtual dust on my laptop.

This time, I’m pushing out the labs and slides for my 2-day unit testing & test-driven development (TDD) course for Visual Studio 2010.  A few months ago, I started looking at upgrading the VS2010 course to Visual Studio 2012 and decided that it was actually time for a re-write because I don’t really write tests the same way anymore.   

The labs for this course focus on process and software architecture patterns for how to:

  • Create unit tests for a Deck of Cards using TDD
  • Unit test the Adapter pattern
  • Unit test the Repository pattern
  • Using mock objects to test in isolation
  • Unit testing a user interface using the Model-View-Presenter (MVP) pattern

Here are the materials for the course:

  • Course description and syllabus
  • Slides in PDF format
  • Slides in PowerPoint format
  • Labs in PDF format
  • Code for the labs (before and after) [GD:Click through for the download links]

Course description and syllabus

Unit Testing & Test-Driven Development with Visual Studio 2010

Unit testing enables you and your team to write high-quality software with fewer bugs. It also allows you say with confidence when something in your code is working and – more importantly – know when it is not working. Test-Driven Development (TDD) is a methodology for writing software that ensures that your application and your application code are testable and tested from the very start. This course is designed to give the student hands-on experience and knowledge for writing and maintaining applications using Test-Driven Development. Throughout the course we will discuss the options, process, and motivations for unit testing and TDD and reemphasize these concepts using hands on labs.

What you’ll learn:
· What is a unit test?
· What is Test-Driven Development (TDD)? Why is TDD important?
· What is the TDD process?
· Common (bogus) excuses for NOT doing Unit Testing & TDD
· How do I sell my team on Unit Testing & TDD?
· Create and write unit tests
· Test types in Visual Studio 2010
· Architect your application for testability
· Testing user interfaces
· Test non-public methods
· Strategies for unit testing legacy code
· The RhinoMock Framework – Mocks & Stubs
· Using Mocks & Stubs to avoid The Huge Integration Test pitfall
· Dealing with databases and test data in your unit tests
· Mocking web services, back-end systems, and database calls
· Design Patterns for testability: Repository, Adapter, N-Tier Architecture, Model-View-Presenter (MVP), Model-View-Controller (MVC), and Model-View-ViewModel (MVVM)
· Best Practices for fixing bugs & defects using TDD
· Refactor for testability
· What is Code Coverage and why do I care?
· What other non-TDD test types are available? Web Testing, Load Testing, and Coded UI Tests

This looks like a great learning resource, and since there's still a great many people on VS2010 (Yes, I'm looking at you...) I thought you all might find this useful. And even if you've moved forward, there's a good deal you can learn... :) Sure, it's only the "resources" and not the actual training, but that's still pretty cool. :)

Monday, October 15, 2012

Free your Typemock... New Typemock Isolator Basic is now available and free (Updated Typemock Isolator Essential & Typemock Isolator Complete also available)

ASP.NET Forums - Announcements - Typemock releases a new version of Isolator, suitable for all levels of software developers – including a FREE version

"Unit testing is a key element for any software developer, development team, or business. With proper unit testing, companies can reduce the cost of software defects while maintaining code quality and allowing for faster time-to-market. Typemock is committed to making unit testing easier and more accessible to developers and organizations.

The new Typemock Isolator packages provide easy unit testing tools to all developers as well as organizations based on their specific needs.

All versions support ASP.NET and ASP.NET MVC as well as the rest of .NET Framework

Typemock Isolator Basic - The basic package is a FREE unit testing framework, for developers without legacy code to test, which provides basic mocking functionality along with the smartrunner and coverage indicator features only. With Isolator Basic anyone with green field projects can unit test and engage in Test Driven Development with the proven power and benefit Typemock offers.

Download it now:

Typemock Isolator Essential - ...

Typemock Isolator Complete - ..."

Typemock - Typemock Isolator - Easy Unit Testing in .NET

Isolator is a complete unit testing and Test Driven Development (TDD) solution, which helps you work smarter and prevent costly bugs in your code.


Free is something that's easy for me to sell. Sure the free version is limited, but it looks like there's enough there to get a feel for the product before you spend the big bucks on it...


(via dotNetSlackers - Typemock releases a new version of Isolator, suitable for all levels of software developers including a FREE version.)

Wednesday, September 26, 2012

Methods & Tools (the free software development PDF mag) Fall 2012 edition is now available...

Clemens Reijnen Blog - Article in the Methods & Tools Fall 2012 PDF Issue

Download my article in Methods & Tools Fall 2012 PDF Issue, covering 5 Method and Tool Tips for Testing in Scrum

Methods & Tools - Methods & Tools - Fall 2012

* Getting Testing Done in the Sprint - 5 Method and Tool Tips
* Testing Performance of Mobile Apps - Part 1: How Fast Can Angry Birds Run?
* Test-driven Test Code Development - Unit testing Page Objects
* eFitNesse: A Java Testing Framework for Embedded OSGi Programming
* Flyway - Database Migration Framework for Java
* Findbugs - Static Code Analysis of Java
* PESTT – PESTT Educational Software Testing Tool
* Open Twebst - Web Automation for Internet Explorer

What is Methods & Tools?

Methods & Tools is a free software development magazine on Software Testing, Project Management, Agile, Scrum, UML, Requirements, Programming (Java,.NET, Ruby, Ajax), Databases, CMMI, Open source Tools, Software Development Jobs

Some snaps from the free PDF magazine;




Friday, August 31, 2012

Infragistics gives their Windows Forms controls some Coded UI Testing love

Jason Beres - Announcing Coded UI Support for Windows Forms

"I am pleased to announce that we will be shipping CodedUI Test support for major controls in the upcoming NetAdvantage for Windows Forms 12.2 release slated for early October 2012. If you are not familiar with CodedUI Tests (CUIT), here is a summary from MSDN:

Automated tests that drive your application through its user interface (UI) are known as coded UI tests (CUITs). These tests include functional testing of the UI controls. They let you verify that the whole application, including its user interface, is functioning correctly. Coded UI Tests are particularly useful where there is validation or other logic in the user interface, for example in a web page. They are also frequently used to automate an existing manual test.

What Visual Studio gives developers and testers is an easy way to record and playback tests, which can uncover bugs or regression in the UI behavior. The reason that Infragistics controls do not work ‘out of the box’ with CUIT is simple – the CUIT infrastructure in the .NET framework doesn’t know what to do when a complex control with a nested hierarchy of UI elements is being tested. So we had to do a lot of work to make sure out controls work as you would expect.

When you install Windows Forms 12.2, and you’ll see that the CUIT feature will involve two main parts:

  1. A plug-in for the CUIT Framework
  2. UI Automation (UIA) implementation for Infragistics controls

The plug-in for the CUIT Framework will be a separate assembly we provide that tells the CodedUI framework to use UIA for Infragistics controls instead of the standard and limited MSAA which is not robust enough to handle Infragistics controls. As a result of adding UIA capabilities to our controls we will be able to better support CUIT but at the same time update our Accessibility support.

The architecture looks like this:


When Does it Ship & What Do You Get?

This will ship with v12.2 in October, so we are about 1 month away from getting this into your hands. Over the last 18 months we’ve surveyed customers who have expressed interest in CUIT support, and prioritized the order of the controls we worked on and are shipping in V1 of this feature. In October you will see support for:

  • Grid
  • Combo
  • Editors (Text, Numeric, DateTime, etc)
  • Combo Editor
  • Tab (high risk)
  • Tab Strip (high risk)
  • Drop Down
  • Button
  • Scroll Bars
  • Progress Bar

Our plan is to roll out CUIT support for controls with each monthly Service Release, so you will continue to get updates until we achieve 100% coverage over the next couple of releases.  The next major controls in the roadmap are ToolbarsManager, Ribbon & DockManager.


While WinForms might not be all the sexy, it's still got a place and I have to say sometimes it's just easier and quicker than WPF. Seeing this, I thought it great that this kind of additional support was coming from a third party control suite like this.

Saturday, August 04, 2012

Creating the Complex [databases for testing] Series

SamLester - Creating Complex Test Databases - Intro

As a very brief intro, I have worked as a tester in SQL Server for the past 10+ years on many different features. Along the way, we develop and test features and release them to the public only to discover some customers inevitably encounter bugs when they run the features against their databases. How can this happen when we have amazing PMs and developers, devoted and talented test teams, and thousands of automated test cases per feature? The answer often lies in the incredible complexity of customer databases running on SQL Server and the evolution of those databases as they have grown from small to very complex databases over the years. As testers, we have a few different options to try to mitigate this problem and represent "all possible databases" in our testing, but it is impossible to test every possible permutation of databases based on this complexity. In practice, we do all of these to an extent and are constantly working on improving each of them.

Some options are to:

  • Acquire real customer databases - these are often the best test databases, but pose many challenges to acquire due to size, network, security, PII, NDAs, etc. We often work with our internal Microsoft product teams who run large scale database applications to leverage their DBs. (Dreaming out loud: I'd love to try to work with customers to figure out a way to get more "privacy scrubbed" customer DBs into our test environment. Microsoft products get better coverage, the customer applications are guaranteed to work, and we all win. I'll blog more on this later, but send me a message if you're interested in working together to get your scrubbed databases in our test bed.)
  • Programmatically write tools that can create many permutations of databases with various objects, properties, relationships, etc. Feed various inputs into this tool to create different test databases. We have had pretty good success with this model as we're able to use many smart testing techniques and create some great test databases that uncover some great bugs.
  • Maintain a database of "interesting" syntax and write automated data-driven test cases based on this object level syntax. As we encounter any new bug, distill the bug down to the problematic syntax and add that to our existing syntax database.
  • Handcraft complex databases with very specific requirements based on the testing needed for a particular feature/sign-off.

The last option (handcrafted databases) are often our last resort, but result in the most effective method for ensuring that specific features work for specific test cases. Our dev, test, and PM team spent some time recently for a feature we are working on to come up with the list of "complex" databases that we do not have in our test environment, but would like to add. Over the next few blog posts, I'll cover some of the interesting databases and the techniques I used to create them. Here are a few of the DBs we had in mind:

SamLester - Creating Complex Test Databases - One Table for each of the 2,397 supported Collations

As a follow up to my post on complex test databases, this article will cover one of the more interesting test DBs I recently created.

Goal: Create a database that includes one table for each supported collation. Each table contains a single column with the various column level collations supported by SQL Server 2012 (nearly 2,400 different collations supported).

The first step here is to determine where we can find the exhaustive list of supported collations. The answer comes from the built-in table-valued function, fn_helpcollations, that returns the list of supported collations in SQL Server 2012. Once we have the exhaustive list of supported collations, we need to determine how we will leverage this list to create one table for each collation. If we were to do this manually, we would write out the following CREATE TABLE statements:

create table T1 (c1 nvarchar(50) collate Albanian_100_BIN)
create table T2 (c1 nvarchar(50) collate Albanian_100_BIN2)
create table T3 (c1 nvarchar(50) collate Albanian_100_CI_AI)

create table T2395 (c1 nvarchar(50) collate Yakut_100_CS_AS_KS)
create table T2396 (c1 nvarchar(50) collate Yakut_100_CS_AS_KS_WS)
create table T2397 (c1 nvarchar(50) collate Yakut_100_CS_AS_WS)

The repetition of these statements makes them good candidates for scripting using T-SQL. By leveraging the ROW_NUMBER function as the table numeric identifier, we're able to put together the following statement:


SamLester - Creating Complex Test Databases - Creating a Database with 1 Billion Random Rows

"As part of my series on creating databases with interesting characteristics for testing purposes, today we'll create a database containing a large number of tables, each with a large number of rows inserted.

Goal: Create a database that contains 1,000 tables. Each table contains 5 integer columns and should contain 1,000,000 random rows of data.

1,000 tables x 1,000,000 rows/table = 1,000,000,000 rows of data

One billion rows? Really? Yes, 1 billion rows! And random data, please.

For this task, we can break it down into two steps. The first is to create the 1,000 tables, which we can easily accomplish through a TSQL script. The next part is to populate to the tables with data. For this task, we will leverage the Data Generation tool in Visual Studio 2010.


A co-worker mentioned a bit ago that his team needed something like this, safe yet complex data at a production scale. While this series isn't a prefect problem fit yet, it looks like it might evolve into one. Worth shooting off an email to him anyway... :)

Monday, June 25, 2012

Let the moose run free...! Mighty Moose, a Continuous Testing Tool, is now free (as in free) - Mighty Moose Free

"As some of you may know Svein (@ackenpacken) and I have decided to make Mighty Moose free. This is not a decision that is being take lightly and much thought has gone into it. This post is to explain why we went free and the future


Mighty Moose is from this point forward free. Not “free in beta” or “free with a bunch of functionality turned off” but free (license is being updated as I write this). We announced this rather quietly at NDC.

Many people have asked me “why would you go free? you could charge for what you have.”. This is true. Continuous Testing tools will be taking off and yes we could charge for it however its not quite as simple as that.



Nope, this ain't the moose that bit Svenge's sister in law while she was carving her initials in the tree with the sharpened end of an interspace toothbrush.

This is the Mighty-Moose that will keep a steady eye on all your tests. If any piece of code changes, he'll look up any affected tests and demand verification. Think of him as your personal Super Tester, your testing go-to guy, the mammal that can read The Matrix, for he is The Moose!

ContinuousTests is a continuous testing tool for the .Net and Mono platform. It helps you with the way you do TDD by taking care of all compiling and testing in the background to help you work more efficiently. It also figures out exactly which tests to run, based on the changes you just made. So, instead of running all tests, it will only run those affected by your changes.

In addition to making sure your work flow is optimized, its features include graphs visualizing the relation between a piece of code and the tests run on it, annotation inside your code showing risk you are taking changing this piece of code, and more.


Need to see more?,


Not a tool that had been on my radar, but now it sure is. I really appreciate the time Greg put into his post about their thinking about releasing this as a free product or not...

Tuesday, June 19, 2012

"Testing for Continuous Delivery with Visual Studio 2012 RC" Free eBook (PDF) and code samples from Microsoft Patterns & Practices

Paulo Morgado - Testing for Continuous Delivery with Visual Studio 2012 RC

Microsoft Patterns & Practices has released a book with guidance on Testing for Continuous Delivery with Visual Studio 2012 RC.

The book and its content can be found both in the MSDN site and the CodePlex site.

I’m deeply honored to have been part of the review panels."

Test Infrastructure Guidance - PDF Book for "Testing for Continuous Delivery with Visual Studio 2012 RC" (PDF)

The purpose of this project is to provide guidance to testers in using TFS effectively as an ALM solution. TFS is much more than a simple code repository. Used with Visual Studio it can form a powerful testing solution and remove a lot of pain in dealing with test infrastructure overhead.

This is a Patterns & Practices project focusing on providing Testing Guidance to the Community.

The book is here "Testing for Continuously Delivery with Visual Studio 2012 RC".

Plus the final sample code is also available for download.

The code samples gives you a starting point to test out your infrastructure.

Testing for Continuous Delivery with Visual Studio 2012 RC (Online Version)


This guide describes how testing has been changing over the years and how the testing infrastructure you can build with Visual Studio 2012 RC will help you achieve continuous delivery of your software projects. This guide provides an end-to-end walkthrough of the testing scenarios supported by the Visual Studio 2012 RC infrastructure. It will help testers and developers use Team Foundation Server effectively as an application lifecycle management solution for testing and supporting products.

This guide helps you

  • Understand how testing is changing with the new tools available to testers.
  • Set up the testing infrastructure.
  • Use the tools for unit testing.
  • Understand how the lab environment works and how it supports a project.
  • Understand the power of the manual testing tools.
  • Learn to use the tools for automated testing.
  • Use the tools in the testing toolbox.

In addition, this guidance describes testing with the Visual Studio 2012 RC testing infrastructure composed of Team Foundation Server, Build System, Test Controller, and SharePoint, and discusses the supported reporting functionality that can help track various test velocities and code coverage. This guide also helps you understand the critical ways in which your testing processes will change with the use of these new tools.

After reading this book, you will be familiar with how to set up Team Foundation Server in Visual Studio 2012 RC and its corresponding infrastructure components in a number of configurations. You'll also have a good understanding of how to use the Visual Studio 2012 RC testing tools such as Lab Manager and code coverage tests to achieve a far more effective testing experience and full application lifecycle management for your system.


Download Interim Code Samples from CodePlex


Foreword by Sam Guckenheimer


1- The Old Way and the New Way

2- Unit Testing: Testing the Inside

3- Lab Environments

4- Manual System Tests

5- Automating System Tests

6- A Testing Toolbox

7- Testing in the Software Lifecycle

Appendix: Setting up the Infrastructure




Microsoft patterns & practices License

Here's a snap of the cover (the first of 242 pages)


No matter what kind of testing you're currently doing, this guide will help you see what's coming in VS2012 so you can start thinking about how you can start taking advantage of it now...

Friday, March 02, 2012

Microsoft Patterns and Practices group helps us build WP7 apps that are testable, MVVM and shares an "Advanced App Case Study"...

Microsoft Patterns and Practices Phone Development Center


How do you build applications targeting the latest generation of Windows Phone 7 handsets?

Smartphones are advanced computing devices that allow users to install and use advanced applications that capitalize on the features of that specific device. Although developing applications for phone-based devices was once a specialized skill, today developers are able to use their existing desktop skills and familiar desktop tools to create smartphone applications.

Active Releases


Microsoft Patterns and Practices Phone Development Center - Developing a Windows Phone Application using the MVVM Pattern


Microsoft Patterns and Practices Phone Development Center - A Case Study for Building Advanced Windows Phone Applications


Microsoft Patterns and Practices Phone Development Center - Building Testable Windows Phone Applications


Some cool and useful guidance and information the MS P&P team for WP7 dev... I

(via  Chris Koenig - P&P Windows Phone Guidance Released)

Sunday, December 18, 2011

[Rumor] Pex and Moles to be part of Visual Studio 11?

The Curly Brace - Pex and Moles to be Visual Studio 11 Feature Set

"In true, "I will neither confirm nor deny" Microsoft fashion, a little bird in Redmond informed me that Pex and Moles will have no further releases, because they are being "productized". Another, larger bird stated, "dependency isolation will be taken care of, in Visual Studio 11," when I asked if Moles and Pex will be rolled into VS11.

The Visual Studio 11 community technical preview (CTP) is available for download to anybody. However, the Moles and Pex products are not yet integrated into the application. There are several points of integration the need to be perfected, before adding it.


Hope this is true... I'd dig to see these projects baked into a release of VS.

BTW, if you're looking for more Pex/Moles info, make sure you check out, Testing with Microsoft Pex & Moles, also by Mike Christian


Related Past Post XRef:
Interested in PEX & MOLES? Wish you could go to a five hour workshop on them? Here’s the next best thing…

Think you can’t unit test ASP.Net? Here’s a tutorial for one way, using the power of Pex and Moles

RiSE4Fun - Microsoft Research, Research in Software Engineering, "Fun" Dev, via web, site
Playing with Pex is just a web browser away at

Pex 2010 (aka Pex 0.90.50303.0) now available on MSDN Subscribers Downloads
Pex license updated – You can now use it in commercial projects
Pex 0.5 Released - Your Parameterized Unit Test Buddy

Wednesday, November 30, 2011

Red Gate adds TSQL unit testing to SSMS

Scarlet & Scary - Unit Testing TSQL

"I went through a period of time where I spent a lot of effort figuring out how to set up unit tests for TSQL. It wasn't easy. There are a few tools out there that help, but mostly it involves lots of programming. well, not as much as before. Thanks to the latest Down Tools Week at Red Gate a new utility has been built and released into the wild, SQL Test.
Like a lot of the new tools coming out of Red Gate these days, this one is directly integrated into SSMS, which means you're working where you're comfortable and where you already have lots of tools at your disposal. After the install, when you launch SSMS and get connected, you're prompted to install the tSQLt example database.  
The concepts are pretty straight forward. There are a series of CLR commands that you use to configure a test and the test assertions. In between you're calling TSQL, either calls to your structure, queries, or stored procedures. They already have the one things that I always found wanting in database tests, a way to compare tables of results. I also like the ability to create a dummy copy of tables for the tests. It lets you control structures and behaviors so that the tests are more focused. One of the issues I always ran into with the other testing tools is that setting up the tests might require potentially destructive changes to the structure of the database (dropping FKs, etc.) which added lots of time and effort to setting up the tests, making testing more difficult, and therefor, less useful.

Functionally, this is pretty similar to the Visual Studio tests and TSQLUnit tests that I used to use. The primary improvement over the Visual Studio tests is that I'm working in SSMS instead of Visual Studio. The primary improvement over TSQLUnit is the SQL Test interface it self. A lot of the functionality is the same, but having a sweet little tool to manage & run the tests from makes a huge difference. Oh, and don't worry. You can still run these tests directly from TSQL too, so automation has not gone away.
Red Gate - SQL Test
SQL Test is a unit test plug-in for SQL Server Management Studio. 
What can SQL Test do for you?
  • Start writing and running unit tests immediately, without a complex, time consuming set-up process.
  • Effortlessly view all of your unit tests and results in a convenient dockable panel.
  • Easily share unit tests with team members for faster bug fixes and enhancements.
Why use unit testing?
  • Discover bugs much earlier in the development cycle.
  • With unit testing, continuous integration, Agile Development, and test driven development are finally achievable goals.
What is that tSQLt thing?
"Welcome to tSQLt – The Database Unit Testing Framework for SQL Server

What is tSQLt?
tSQLt is a database unit testing framework for Microsoft SQL Server. tSQLt is compatible with SQL Server 2005 (service pack 2 required) and above on all editions.

Main Features
tSQLt allows you to implement unit tests in T-SQL. This is important as you do not have to switch between various tools to create your code and your unit tests. tSQLt also provides the following features to make it easier to create and manage unit tests:
  • Tests are automatically run within transactions – this keeps tests independent and reduces any cleanup work you need
  • Tests can be grouped together within a schema – allowing you to organize your tests and use common setup methods
  • Output can be generated in plain text or XML – making it easier to integrate with a continuous integration tool
  • Provides the ability to fake tables and views, and to create stored procedure spies – allowing you to isolate the code which you are testing
Interesting. If a third party is going to do something right in this space Red Gate is the company that would do it...

Note: When I wrote this post, this was a free beta. Now that it's been released it's no longer free (there's currently a 28 day trial though)

Saturday, October 29, 2011

Adding full Coded UI support to third party WinForm components that don't already have it...

Visual Studio ALM + Team Foundation Server Blog - Coded UI Test Extension for 3rd party Windows Forms controls–How to?

"Here is how one can add FULL Coded UI Test support for a 3rd party control based on Windows Forms technology.

Implementation Method – Accessibility

Accessibility means having equal access to web-based information and services regardless of physical or developmental abilities or impairments. Once implemented, it helps developers make their programs more compatible with accessibility aids (help users with impairment to use programs more effectively).

Microsoft has developed two accessibility standards - Microsoft Active Accessibility (MSAA) and Microsoft UI Automation (UIA)

MSAA is designed to help Assistive Technology (AT) products interact with standard and custom user interface (UI) elements of an application (or the operating system), as well as to access, identify, and manipulate an application's UI elements including enabling automation testing.

UIA is a newer technology that provides a much richer object model than MSAA, and is compatible with both Win32 and the .NET Framework. It is designed so that it can be supported across platforms other than Microsoft Windows.

We recommend MSAA for Windows Forms because Windows Forms natively supports MSAA and not UIA. Although there is MSAA to UIA & vice-versa conversion available via built-in proxy\bridge but the results in an extra layer of dependency which could eat into performance, hence MSAA.

Why Accessibility for Coded UI Test?

1. Implementing accessibility is simpler because one needs to follow established guidelines that serve the purpose of developing testable as well as accessible controls in one go

2. There is not much need to write an entire plugin for controls as much of the work is already done. We have built plugins for Windows Forms and Windows Presentation Foundation controls using accessibility technologies and have exposed appropriate extension points for easy hook-up

3. Vendors such as Telerik who develop 3rd party controls have already announced accessibility implementation

Detailed steps with reference to Coded UI Test Extension for 3rd party controls - the basics explained



Yes, this is WinForm related information, but like it or not, in the real world WinForms are still heavily used. Anyway, I dug how this showed off adding Coded UI testing to about any third party WinForm component...

Monday, October 17, 2011

Visual Studio 11 Developer Preview Training Kit October 2011 Released

Microsoft Downloads - Visual Studio 11 Developer Preview Training Kit October 2011 Release

Quick details

Version: 1.0
Date Published: 10/17/2011

Language: English

VS11TK_WebInstaller_Preview.exe, 2.0 MB
VS11TrainingKitOctober2011.Setup.exe, 37.0 MB

The Visual Studio 11 Developer Preview Training Kit includes hands-on labs to help you understand how to take advantage of the variety of enhancements in Visual Studio 11 and the .NET Framework 4.5, how to support and manage the entire application lifecycle and how to build Windows Metro style apps.

Supported Operating Systems: Windows 7, Windows Server 2008 R2

Visual Studio 11 Developer Preview, .NET Framework 4.5


Some snaps from the web installer;



I like how these Training Kit installers have a common look and feel and are keeping with the new Metro branding.


Related Past Post XRef:
SQL Server 2012 (fka Denali) Developer Training Kit Web Installer Preview (Updated)

Friday, September 30, 2011

Free ALM web workshops from ImagiNet, focusing on testing SharePoint and Agile


"We would like to invite you to attend any of our upcoming FREE web workshops in October, November, and December! These web events will provide you with in-depth exposure into the different Microsoft Visual Studio 2010 ALM Tools.

October Workshops

  • Manual Testing in Agile Teams
  • Test Management in Agile Teams

November Workshops

  • Testing in an Agile Team
December Workshops
  • Automated Load and UI Testing for SharePoint Projects
  • Testing with SharePoint Projects
  • Using Lab Management with SharePoint Development

Manual Testing in Agile Teams

Although automated testing is often thought of as the holy grail of testing, manual tests still play a critical role in software development. This session will discuss and demonstrate how agile teams can incorporate test planning, test development, execution and defect management into iterative development cycles.

  • October 12, 2011 - 1:00-2:30pm CT Register
  • October 26, 2011 - 1:00-2:30pm CT Register

Test Management in Agile Teams

Scrum and other practices describe development teams as self-sufficient, meaning that all roles needed to develop and test the product are available on the team. This is incompatible with most classic views of quality assurance. This session will discuss how to integrate quality and test practices into your agile lifecycle using Microsoft tools.

  • October 24, 2011 - 1:00-2:00pm CT Register

Testing in an Agile Team

Agile software development can greatly decrease risk and increase your user's satisfaction, but not without a cost. Testing in highly iterative cycles can be more difficult than testing in a 'waterfall' project- But it is still worth it! In this session we will demonstrate approaches to bring the quality assurance role into agile teams and how Microsoft tools support these approaches.

  • November 1, 2011 - 1:00-2:30pm CT Register

Automated Load and UI Testing for SharePoint Projects

With SharePoint gaining popularity as a development platform, verification of SharePoint applications becomes important just as it does for other applications. In this session we will discuss and demonstrate how to use Visual Studio 2010 and related tools to verify SharePoint application functionality and capacity.

  • December 6, 2011 - 1:00-2:30pm CT Register
  • December 20, 2011 - 1:00-2:30pm CT Register

Testing with SharePoint Projects

As an application platform, SharePoint is subject to the same best practices as any other application development. For example, you should version control your code, you should track your work, and you should test in a pre-production environment. In this session we will discuss the different types of testing suitable to all application development; then we'll focus on the tools and approaches best suited for SharePoint.

  • December 12, 2011 - 1:00-2:30pm CT Register

Using Lab Management with SharePoint Development

The lab management component of Visual Studio provides the ability to easily create and manage development and test environments. In this session we'll demonstrate how lab management can be used to support development, deployment and test of SharePoint applications.

  • December 13, 2011 - 1:00-2:30pm CT Register


I found the SharePoint focus interesting. I don't often see the above SharePoint/Testing combinations...

Tuesday, August 16, 2011

IE VPC's Refreshed. Get your WinXP/IE6, Vista/IE7/8/9, Win7/IE8/9 VHD's here...

Microsoft Downloads - Internet Explorer Application Compatibility VPC Image

"Windows Virtual PC VHDs for testing websites with different Internet Explorer versions [Last Updated: 8/16/11]

In order to help web designers and web developers test their websites in older versions of Internet Explorer, we've provided the following VHD with Windows set up with the specified version of Internet Explorer. The images are patched with the latest security updates and are otherwise clean installs of the operating system with very few modifications.

This download page contains different VPC images, depending on what you want to test. These images are specifically designed to run on Microsoft Virtual PC, and may or may not work in other hosting environments.

Due to the size of the Windows 7 and Windows Vista VHDs, it is split across several files, you'll need to download all files for that version of the Internet Explorer and uncompress them to the same directory to unpack the VHD file.

The password to login to all of these images is Password1 and the username will be present when you first login.

*Note: You may be required to activate the OS as the product key has been deactivated. This is the expected behavior. The VHDs will not pass genuine validation. Immediately after you start the Windows 7 or Windows Vista images they will request to be activated. You can cancel the request and it will login to the desktop. You can activate up to two “rearms” (type slmgr –rearm at the command prompt) which will extend the trial for another 30 days each time OR simply shutdown the VPC image and discard the changes you’ve made from undo disks to reset the image back to its initial state. By doing either of these methods, you can technically have a base image which never expires although you will never be able to permanently save any changes on these images for longer than 90 days.

Windows XP Image
  • Filename: Windows_XP_IE6.exe
  • Contains: Windows XP SP3 with IE6 VHD file and was fully patched to July 2011. This image also contains the install files for IE7 and IE8. If you want to have separate base XP images for IE7 and IE8, you can copy the VHD, rename it, and install the other desired version of IE.
  • Expires: This image will shutdown and become completely unusable on November 17, 2011.

Windows Vista Image
  • Contains: Windows Vista SP2 with IE7 VHD file and was patched through March 2011. The install files for IE8 and IE9 are also available for install on the image.
  • Filenames: Windows_Vista_IE7.part01.exe, Windows_Vista_IE7.part02.rar, Windows_Vista_IE7.part03.rar, Windows_Vista_IE7.part04.rar, Windows_Vista_IE7.part05.rar, Windows_Vista_IE7.part06.rar, Windows_Vista_IE7.part07.rar
  • Expires: See *Note above

Windows 7 IE8 Image
  • Contains: Windows 7 SP1 with IE8 VHD file and was patched through March 2011. The install files for IE9 are also available for install on the image.
  • Filenames: Windows_7_IE8.part01.exe, Windows_7_IE8.part02.rar, Windows_7_IE8.part03.rar, Windows_7_IE8.part04.rar
  • Expires: See *Note above

Windows 7 IE9 + Tools Image
  • Contains: Windows 7 SP1 with IE9 VHD file and was patched through March 2011. This image also has the ACT Toolkit 5.6, IECTT, and Expression Super Preview software installed.
  • Filenames: Windows_7_IE9.part01.exe, Windows_7_IE9.part02.rar, Windows_7_IE9.part03.rar, Windows_7_IE9.part04.rar, Windows_7_IE9.part05.rar, Windows_7_IE9.part06.rar, Windows_7_IE9.part07.rar
  • Expires: See *Note above


Here's your direct download URL's...

Related Past Post XRef:
Get an entire Lync "Data Center in a Box" Hyper-V VHD Set - We're talking five server VHD's with everything you need to play with that Lync has to offer...

Play with IE8 RC1 the safe and easy way – via the Internet Explorer Compatibility Images (VPC VHD)
The Internet Explorer Compatibility Images (VPC VHD) updated – Now with a IE8 Beta 2 VHD (and expire dates of 01/09)
The IE8 VPC - IE8 the easy way
WinXP IE6 & WinXP IE7 VPC Images
WinXP SP2 IE6 VPC Image Refreshed
WinXP SP2 IE6 VPC Image

Friday, June 24, 2011

A quick guide to SpecFlow, WatiN in a ASP.Net MVC world by Steven Smith

Steven Smith - Everything You Need to Get Started with SpecFlow and WatiN

I’m adding SpecFlow to an application I’m working on so that I can add some acceptance tests that actually exercise the user interface. I’ve only spent a couple of hours on it thus far, but I have it working with a single specification running through the tests via WatiN. I found the following resources helpful as I was going through this exercise:

  • ...

I’m assuming that you’re just interested in getting up to speed with SpecFlow for acceptance testing and that you don’t want to waste any time on hidden gotchas or visiting all of the above URLs just to figure out what you actually need. Let me just give you the Stuff You Need To Know™.

Installing SpecFlow



Testing ASP.NET MVC with WATIN


Automation and Reporting



There’s not a whole lot to getting SpecFlow and WatiN working with your ASP.NET (MVC) application. There are a few hidden gotchas that I’ve tried to cover in this post. Hopefully this will provide all of the resources you need. If there’s something missing, please let me know and I will provide an update to address the issue. The nice thing about the final HTML report you get is that you can sit down with the customer or project stakeholder and create all of the major features and many of the known scenarios prior to an iteration or release cycle, and then provide regular updates showing progress being made on a feature-by-feature (and scenario-by-scenario) level. Assuming the documented executable specifications accurately reflect the customer’s needs, these acceptance tests provide a common definition of what “done” is for the project, reducing the frequency of the team delivering incomplete or incorrect features."

I've heard a bit about SpecFlow and like the idea behind it. I don't think I've seen a good soup-to-nuts getting started guide like this before...

Friday, June 17, 2011

Visual Studio CUIT (Coded UI Testing) article series from DevCurry

DevCurry - Coded UI Tests (CUIT) In Visual Studio 2010

"Coded UI Tests (CUIT) is a brand new feature added in Visual Studio 2010 Ultimate or Premium version which allows you to test a a User Interface using automated tests. CUIT allows functional testing for UI and the code gets created with the help of high level languages like C# or VB.NET. author Gouri Sohoni has written some good articles about CUIT. Here are the links to them if you are interested to learn more about this new feature



At my day job, we're starting to investigate real world usage of CUIT (i.e. using it with apps that are in QA to help us regression test, etc.) so I want to capture this for reference and such...


Related Past Post XRef:
Adding Coded UI Test support to Third Party WinForm Controls Series
22 Visual Studio 2010 Testing, ALM, Coded UI, Test Elements, Lab Management and more videos
Diagnostic Data Adapters, Coded UI & Test Type Extensibility – Some of the things you’ll find on the VS2010 Test SDK Page

A Feed You Should Read #30 - Shai Raiten

Tuesday, May 17, 2011

Adding Coded UI Test support to Third Party WinForm Controls Series

Mathew Aniyan's Blog - Enabling UI Testing for Third party WinForms custom controls - 1 

“Most of the leading Third party WinForms custom control vendors implement Microsoft Active Accessibility(MSAA). Since Visual Studio UI Testing framework uses MSAA for WinForms controls, it is natural to expect that users can test these custom controls also. The custom control vendors have implemented sufficient accessibility for Narrator. There are some subtle differences in the requirements for Screen Narrator & UI Test Framework. In this article, I will describe the additional requirements from a Visual Studio UI Testing Framework perspective.

For the purposes of this article, I have picked up the DevExpress XtraScheduler Scheduler Control. The guidance in this article should be applicable for all custom WinForms controls.


Mathew Aniyan's Blog - Enabling UI Testing for Third party WinForms custom controls - 2

“In the previous article, I described how we can make the DevExpress Scheduler Control & Appointments visible to Visual Studio UI Testing Framework. In this article, I will describe how we can retrieve rich properties for both these controls. These properties can then be used for validation in Coded UI Test.

In order to achieve this, we need to implement a Property Provider extension for the Visual Studio UI Testing framework.


Given that I like to buy over build where possible, I thought this might be useful…

Sunday, May 08, 2011

11 webcasts, 11 hours, 11 days, 3 months, all free - 11 Visual Studio, TFS, ALM webcasts

Ravings of a Developer TS - Excellent List of FREE Webcasts around our new Visual Studio 2010 Testing Tools!


Here's a summary list;

  • Improving Developer and Tester Collaboration using Visual Studio 2010 May 11, 2011 12:00pm – 1:00pm (EST)
  • Practicing Effective Test Management with Microsoft Test Manager and Team Foundation Server 2010 May 18, 2011 12:00pm – 1:00pm (EST)
  • Managing Requirements and Tracking Defects with Team Foundation Server 2010 May 25, 2011 12:00pm – 1:00pm (EST)
  • Manual and Automated Software Testing with Microsoft Test Manager June 1, 2011 3:00pm – 4:00pm (EST)
  • Load and Performance Testing with Microsoft Visual Studio 2010 June 8, 2011 3:00pm – 4:00pm (EST)
  • Implementing Test Lab Virtualization with Microsoft Lab Management June 15, 2011 3:00pm – 4:00pm (EST)
  • Reporting and Dashboard Options in Team Foundation Server 2010 June 22, 2011 3:00pm – 4:00pm (EST)
  • Testing SharePoint - Functional and Performance Testing for SharePoint based applications using Visual Studio 2010 June 29, 2011 12:00pm – 1:00pm (EST)
  • SCRUM and Microsoft ALM: Using Team Foundation Server 2010 and the Microsoft SCRUM Process Template July 6, 2011 3:00pm – 4:00pm (EST)
  • Customizing Team Foundation Server 2010 Team Projects - Make TFS work for you July 13, 2011 12:00pm – 1:00pm (EST)
  • Team Foundation Server 2010 Power Tools: An Overview July 20, 2011 12:00pm – 1:00pm (EST)

Thursday, January 20, 2011

Notion Solutions is providing free VS2010 ALM Web Based Training. Four subjects, three session schedule choices, two companies, one great value

The team at Notion Solutions sent me this email today (and permission to reproduce it in whole here) and I thought some of you might find it useful. I mean, how can you go wrong given its Notion, free, VS2010, ALM and did I say free?


We would like to invite you to attend any of our upcoming FREE web training events!  These training seminars will provide you with an overview of the new Microsoft Visual Studio 2010 Testing Tools (including Microsoft Test Manager 2010, Microsoft Visual Studio Lab Management 2010, and Microsoft’s Automated Testing Tools) and will educate you on how these new tools can help streamline your entire quality assurance and testing process within your organization.
These training events are completely free and are offered at various dates and time for your convenience.  To register, simply click on a date below!
Streamlining Testing with  Microsoft Test Manager 2010
This free web training seminar is an overview of the new Microsoft Test Manager 2010, an integrated toolset for the test professional that delivers a complete plan-test-track workflow. See how to use the new Microsoft Test Manager 2010 to plan, execute and manage testing of your web, Windows Forms or WFP applications. In addition, the training will cover how to file high quality bugs with rich diagnostics for your developers and to how to take full advantage of features like Fast Forward for Manual Testing so you can improve your testing productivity. Learn how to streamline your entire testing process using Microsoft Test Manager 2010!
January 25, 2011 February 1 , 2011 February 10 , 2011
Virtualizing Testing with Microsoft Visual Studio Lab Management 2010
This free web training seminar will provide an overview of the new Microsoft Visual Studio Lab Management 2010 tool, an integrated platform that provides end-to-end support for virtual lab and environment management. This training seminar will demonstrate how to use Lab Management as a means of automating the creation and tear down of virtual environments for testing purposes. This training will also demonstrate how to deploy to VM environments during builds and how to roll back your virtual test environments to a known good state.  Learn how to facilitate a robust testing lifecycle using Microsoft Visual Studio Lab Management 2010!
January 25, 2011 February 1 , 2011 February 10 , 2011
Microsoft’s Entry into Automated UI Testing
This free web training seminar is an introduction of Microsoft’s new automated UI testing tools.  This training seminar will demonstrate how to record tests run against various types of application user interfaces using Microsoft’s Coded UI Tests and how to replay them at any time.  Additionally, we will explore how to embed validations, either simple or elaborate, to ensure your application is producing the correct results.  Learn how to improve the quality of your applications by having a repeatable set of Microsoft Coded UI Tests available to ensure defects don’t go unnoticed!
January 27, 2011 February 3 , 2011 February 8 , 2011
Overview of Microsoft Tools for Managing Software Lifecycle
This free web training seminar is an overview of the Microsoft tools for managing your entire software lifecycle, including planning, development, building, testing, tracking, and deployment.  See how Team Foundation Server is utilized as a central hub for information throughout the software lifecycle, including requirement management, version control for source code, bug tracking, test case management, reporting, and more.  Additionally, we will explore how Visual Studio 2010, Microsoft Test Manager 2010, and Microsoft Visual Studio Lab Management 2010 help to maximize the integration and collaboration of your entire software team. 
January 27, 2011 February 3 , 2011 February 8 , 2011
For questions or more information, please feel free to contact us at or by calling 972-607-4830.
© 2011 Notion Solutions, Inc.  6230 N. Beltline Road Suite 301, Irving, TX  75063