The Microsoft UI Automation Library
In this month's column, I will show you how to get started with UI test automation using the new Microsoft UI Automation library, which is included in the .NET Framework 3.0 as part of Windows Presentation Foundation (WPF).
Musings on Software Testing
Microsoft developer Wes Dyer describes the relative merits of Test Drive Development and Machine Learning.
Test automation with Windows XP Embedded
Have you ever worked with the Windows XP Embedded operating system? This is essentially a developer-customized, slimmed-down version of the Windows XP operating system intended for use on PC-like devices—game consoles, information kiosks, network appliances, and the like. With the rapid growth in the use of mobile and embedded devices, this platform is increasingly important.
I've discovered that there is a sort of knowledge gap between software test engineers and developers who work with the Windows XP Embedded-based software systems. To help bridge that gap, in this month's column I'm joined by Mike Hall, a Senior Product Manager in the Microsoft® Mobile and Embedded Devices group and an expert on Windows XP Embedded. Together we will explain how you can create lightweight but powerful UI test automation for software systems that run on Windows XP Embedded...
Unit Testing: Exploring The Continuum Of Test Doubles
In the past couple of years, unit testing has gained tremendously in popularity; but while most developers understand the overall concept, certain aspects have been more elusive. Among these is how to effectively replace component servers for testing purposes. Most people call these replacements stubs or mocks, but as I will show in this article, these are only two types in a larger continuum of replacements..
Improving Application Quality Using Test-Driven Development (TDD)
What is the one activity or phase that improves the quality of your application? The answer is an easy one: Testing, and plenty of it. Traditionally, testing is a phase somewhere towards the expected end of the project - when the cost of any code or requirement changes is known to be much higher. Craig looks at how TDD can address this by adopting a more agile approach.
WatiN Test Recorder
Automate web test recording into C#, VB.NET and PHP
Lightweight Testing with Windows PowerShell
You can think of Windows PowerShell as a dramatic upgrade to the old cmd.exe command shell and associated .bat files. Although designed with systems administration tasks in mind, Windows PowerShell has features that also make it ideally suited for lightweight testing tasks. This month, I test Microsoft .NET Framework-based code modules from both the Windows PowerShell command line and lightweight Windows PowerShell scripts.
Stop Designing for Testability
With over 35,000 downloads of Nunit Framework per month, there is a noticeable trend that Test Driven Development and the values of having a set of Automated Tests are worth the price. Even Microsoft has joined the game and is distributing its own testing framework (we will actually use this framework in the examples of this article). There are many articles about Test Driven Development, but once you start writing tests, you will notice that you start to design your code to become testable. In this article, we will see that these techniques used to create testable code, unnecessarily make your code complex and thus hard to maintain. This is something which is opposite to the Test Driven Way of Creating the Simplest thing that will work.
Perform Automated Testing Easily and Quickly
Failing to adopt an appropriate testing approach to help identify bugs along the development process can have as devastating an impact on your project as a hurried or non-existent design. Fortunately, automated testing tools like AutomatedQA's TestComplete 5 make the process of creating structured testing affordable and significantly less time-consuming.
Test Driven / First Development by Example
A lot has been written on the subject of test driven development, and especially on the idea that tests ought to be written first. This is an ideal that I strive for, however, I have a tendency to write the unit tests afterwards.
Some people learn better by example. This article, rather than going in to great length about the principles of test driven development, will walk the reader through the process of building and testing an algorithm by writing the tests first, then changing the method being tested so that it fulfills the tests.
The final code and all the unit tests can be found in the accompanying download. This will require NUnit and Visual Studio 2005.