Tag | Testing Posts

Who here uses IDictionary classes in their projects? Raise your hand. Keep your hand up if you cannot bear the sight of having to call another ContainsKey method. Keep it up if you cry at the idea of having to use the “out” keyword in conjunction with the TryGetValue method... Keep the hand up if you consider that removing items should be allowed from inside a foreach loop. Is your hand still up? Yeah, mine too . Alright let’s all take a break. This is just one of the numerous annoying little things ...
Now that .NET Framework 4.0 Beta 2 is out let’s look again what is available for building multi-touch application in WPF. In Beta 1 we got only a preview of manipulation and inertia components. With Beta 2 we finally get access to whole touch input system, and it looks very close to what was shown on PDC last year. Here is an overview from MSDN: Elements in WPF now accept touch input. The UIElement, and UIElement3D, and ContentElement classes expose events that occur when a user touches an element ...

This is a super early release of the next version of the MVVM Light Toolkit. Please enjoy with care, be aware that this version is not fully tested and not feature complete by a long shot.

Read the rest of this entry »

to download the source code please click here In the earlier post we have discussed little bit about the limited number of worker threads available in the thread pool of ASP.NET and we identified why we should always try to avoid to block those important worker threads. ASP.NET 2.0 introduces Asyn=”true” attribute in the page to handle asynchronous scenarios and under the hood this attribute tells ASP.NET to implement IHttpAsyncHandler in the page. There are more than one ways available in ASP.NET ...
I’m presenting 2 topics this week at the QAI Toronto TesTrek Symposium. My first session is Wednesday and is about Testing in a SOA World. I’ll cover some of the challenges with testing Service Oriented Architectures as well as some techniques and tools that assist. My second session is Exploratory Testing with Agile in Visual Studio 2010 where I’ll delve into the techniques of Exploratory Testing and how the new test tooling in Visual Studio 2010 helps improve the productivity and maturity of Exploratory ...
I've just been looking over Bizmonade which is a testing tool for testing BizTalk orchestrations in isolation from the BizTalk execution environment. It's similar in concept to BizMock however the implementation is different. The simple way to describe how BizMock is implemented is that it uses a custom adapter which allows you to manipulate the messaging around an orchestration which is executing within BizTalk. Bizmonade is different in that it creates a custom version of the XLANG Engine which ...
I was fed up with uploading the attachments using FTP as it was too slow (and vulnerable too), maintaining credentials to connect to server, managing permissions to specific folder etc. and all that nasty stuff. Clients have also complained on this. After head-scratching and wall banging efforts, I planned to search for an alternative for FTP to upload the files. Found this way... Its pretty cool and uploading files much faster compared to FTP approach. Just wanted to share it with you, hoping that ...
We had a situation last week where BizTalk really showed some of its value and it was nice to get some good feedback from one of the application service managers. I thought id share to brighten all of your days. So the situation was that we had a production incident where the volume of messages the BizTalk environment had been processing was well in excess of what had been performance tested. The performance tests had been done against assumptions for one of our processes which had been incorrect ...
In this Issue: Rishi, Andrea Boschin, Tiago Andrade e Silva, Jeff Wilcox, Vijay Rajagopalan, Gavin Wignall, Damon Payne, Tim Heuer, Hannes Preishuber, Jafar Husain Shoutouts: Watch a webcast by Tim Heuer in the Architect Innovation Cafe – Webcast Series: An Architect’s perspective on Silverlight 3 Andrew Duthie announced Visual Studio 2010 and .NET Framework 4 Training Kit – October Preview Rob Bagby had this announcement up: Watch the Windows 7 / Windows Server 2008 R2 Launch Virtually From SilverlightCream.com: ...
WebAii is a proprietary, but free, functional testing framework from ArtOFTest. It has become more visible since telerik started bundling it with their ASP.NET AJAX UI Controls framework...

Read the full article

The Beta 2 version of DPE’s Visual Studio 2010 Training Kit is now live (you can find it at http://tinyurl.com/Beta2Tra... A training kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize a variety of Visual Studio 2010 and .NET Framework 4 technologies. The Beta 2 release of the Training Kit contains 15 presentations, 19 hands-on labs, and 13 demos. Many technologies are covered in this release, including: C# 4, VB 10, F#, Parallel Extensions, ...
*Moved to: Visual Studio 2010 Beta 2 is available Now!Visual Studio 2010 Beta 2 is now available on MSDN for download! Read more...Follow my new blog on http://blog.hinshelwood.com ...
I have been working on database synchronization for a couple of weeks, and seems it at the final testing stage, I am using Microsoft Sync Framework 2.0, the DB server is SQL server 2008 Standard, and clients are SQL Server 2008 Express as I use Change Tracking to track DB changes instead of TombStone Tables and Guid tracking columns, I use WCF+IIS+SSL to host server side service, the binding uses Gzip binary encoding. The reason we are not using SQL Server Replication is because our tables need dynamic ...
In this Issue: Jeff Handley, Jeremy Likness, Gavin Wignall(2, 3, 4, 5), Mark Miller, Nigel Sampson, and Microsoft Expression Product Site. Shoutout While not a complete solution, Koen Zwikstra had done an OOB solution for Silverlight a while back and now he's giving up the source: Hosting Silverlight outside the browser (sourcecode). Forget all those weight-loss gimmicks! I worked Monday the 12th, took off the 13th and felt worse all day, was at the Dr with flu symptoms on the 14th... ended up with ...
I have been working in Selenium (see previous posts) building a test suite at my job. I spent quite a bit of time architecting the design and attempting to build bricks with which others could build buildings. I was beginning to instruct the folks on my team (who had not previously written code) on how to use these bricks and understand the mortar. This all in a language (Java) with which I wasn't terribly familiar. The framework design was sound and was beginning to grow on it's own. Then, the massive ...
So I’ve had a few Windows 7 VMs I’ve been playing with, but I wanted to put the new OS on some real hardware and experiment with the install process, so this weekend I had some time and gave it a whirl. I did two installs, one an upgrade process, the other a clean install: The upgrade was a upgrading a Vista Home Premium system to Windows 7 Ultimate. Besides testing the install process, the goal here was stability. The Vista system was problematic, gave me BSOD almost daily (Nvidia driver issues, ...
Recently I had the need to implement support for Dynamic Linq queries in my framework project. For the uninitiated, Dynamic Linq allows me to write statements like this: var query = db.Customers.Where("City == @0 and Orders.Count >= @1", "London", 10). OrderBy("CompanyName"). Select("New(CompanyName as Name, Phone)"); where I can specify the predicates and selectors as string values. Microsoft has published a helper class that enables DynamicLinq support here -->C# Dynamic Query Library (included ...
Jared Bienz (blog & Ch9), one of Microsoft’s ISV Architect Evangelists based out of Houston, created this basic guide to help ISV’s get compatible with Windows 7. ISV Trend - So many ISV’s are worried that their customers will dump them for a competitor application that is compatible with Windows 7. To help mitigate the challenge, here’s some basic steps for supporting Windows 7. Overview - These steps are intended to fit within your regular routine, and we hope that any extra effort would only ...
Most people can agree that testing your software is a good thing. Most developers will agree that unit testing is a great thing to have. But how about testing your web site? Fair enough you can run unit tests on your code behind, but unit testing a GUI can be problematic. If you struggled with this problem, don't worry - you're not the first! I've recently become aware of Selenium. Selenium is a very powerfull tool for testing web applications. It gives you a lot of nice features to help you test ...
I think that the Gang of Four should consider my design pattern recommendations for inclusion in their codified list. And while I have seen ALL of these patterns shipped to production in real life, it doesn't mean that these are by any means the only ones that scream for inclusion. Anyone got any others? The Duct Tape Pattern Its versatility is unmatched – any two bits of code from any two systems can co-operate with the use of this simple pattern. Need a piece of data from an XML document to display ...
Did you know about the “Repeat” extension method? Enumerable.Repeat generates a sequence of repeated values – perfect for some testing scenarios. Here’s how I’ve used it… private static ISearchService CreateSearchServiceWithExpe... searchText, int ountOfResults) { var results = Enumerable.Repeat(new SearchResult { Id = searchText, Description = searchText, Title = searchText, Project = searchText }, countOfResults); return new MockSearchService(results.T... } This method takes ...
Today I took on the challenge of improving the performance of a set of repository retrieval methods that have been a bottleneck for our system for the past week. Here were the requirements and details for the most challenging method: There is a Clinic and a Service table with a joining table for the many-to-many relationship, ClinicService. A clinic provides one to many services and a service can be provided by one to many clinics. The method accepts in a list of primary key integer values for the ...
Well, it looks like Microsoft has been busy on the security front this month. Not only did they release their security essentials this week but also some interesting testing tools, too. Microsoft Essentials Essentials is the Microsoft answer to real-time Home PC protection. It guards against viruses, spyware and other malicious software. It is now available for download from Microsoft. MiniFuzz File Fuzzer MiniFuzz is a basic testing tool designed to help detect code flaws that may expose security ...
The following is Steve Ballmer’s recent letter to CEOs titled ‘The New Efficiency’. In all the talk about the economy, one term that comes up more and more frequently is something called "the new normal." I like this phrase because it speaks to the fact that economic reality has undergone a fundamental shift over the course of the past 12 months. So what is the nature of this shift? After years of economic expansion fueled by unrealistic rates of consumption and unsustainable levels of private debt, ...
I was having in interesting discussion with Yossi Dahan following a recent SBUG meeting, as most user group sessions go the meeting was good but there was also some good discussion in the pub afterwards. Anyway we got onto the subject of caching and BizTalk and we discussed a few things I wrote ages ago about using NCache with BizTalk. As a follow up to this discussion I ran a few tests to get some rough figures to show some of the benefits of caching of data in this context. The previous article ...
First of all, the folks I used to work with will be glad to know that Panda Express is selling their Orange Chicken sauce at their restaurants. Unfortunately, it does not come in 2 liter bottles or six packs. On topic, the posts I've made here lately have gotten me thinking about the idea behind standards and/or best practices. I noticed a refrain in many of my posts, although it was unintentional - the idea that a given situation dictates the best solution as opposed to taking a pre-determined solution ...
Update: MVVM Light Toolkit V2 has been released. Please use the new installer to upgrade your installation. Ever since I released V1.1 of the MVVM Light Toolkit, I have received wonderful and constructive feedback from users. Most of it is flowing into V2, which is almost ready (I am still fighting a little with MSI installers and project/item templates for one feature I am particularly happy about, which is making project templates and item templates available in Expression Blend. That’s right, ...
This is one of a series of posts on my preparations for sessions on Azure and ORMs at Software Architect 2009. [Initual release 22nd Sept 2009] [Updated 23rd Sept, with links from Julie Lerman] [Updated 2nd Oct, with slidedeck section] [Large Update 15th Dec – including PDC09 content, my new posts and plenty of stuff from Julie L, Tony and others] This is my attempt to pull together all (ok – most) of the improvements in Entity Framework 4.0 and aggregate useful resources against each. It is very ...
Recently I reported that there were going to be some changes to UppercuT. And there have been. These are a summary of some of the most significant changes: Uppercut now reports it's version. This is helpful to know where you are versus the current version. It also reports the time when it finishes a build. Custom Replacement Tasks are now implemented. This is to add a task to the custom folder that completely replaces the normal workings of the build step it is replacing. A pre or post custom step ...
So Gallio has been out for a little while and I admit that I am a little slow when it comes to looking at new frameworks. I mean there is so much to look at and only so much time in the day allocated to programming. Anyway, there really isn’t much documentation out there yet for using Gallio with NAnt. I am of the thought that is due to all of the people who are really smart with builds are using Rake and/or PSake now. So I set off to create another universal script. This basically follows the conventions ...
MVVM == Model View ViewModel Pattern is a MUST follow pattern in Silverlight (WPF). here is why… Problems it solves: •Tight coupling of layers (ex a query in the UI) •Unit testing is hard/impossible, only functional testing is possible •Assures codes still works correct after a change •ViewModel •Provides View with data model and behavior •View will bind to ViewModel •Wraps data access entirely In light of new technologies like RIA services (which provides CRUD) operations out of the box it is imperative ...
Dependency properties is one concept which i always marvel. As programmer / developer i always like the concept, as by just introducing DP, so many stuff now is so easy(Read Template programming in XAML). DP is called a BEAST (in Silverlight and WPF) for reasons of complexity involved in understanding them. Also, of course, because they are so powerful language paradigm. I sometimes do think DP did not actually got their due. I mean, so many efforts is gone into explaining Lambda expressions, LINQ, ...
One of the big complaints with the version of Windows Workflow Foundation that shipped in .NET 3 and .NET 3.5 (WF3) was that it was very difficult to unit test workflows. Unit testing workflows was not impossible, but it was very difficult and required a lot of code to setup the workflow runtime and manage your workflow. Since unit testing workflows in WF3 was clumsy and awkward, many developers chose to either not unit test their workflows, or just avoid using WF3 all together. I am very happy to ...
Hey all! I was just informed that Typemock is providing a free webinar covering the following items: Creating Supporting environment Unit testing tools of the trade Practices and Pitfalls Writing the first test Live Q & A You can see more details here: http://blog.typemock.com/20... Should be very informative. (virtually…) see you there ...
Surface is cool. There’s no doubt about that. People who walk up to the machine and start using it are usually impressed by it. That also goes for developers: they are sometimes even overwhelmed by it and start to wonder how hard it is to develop software for this platform. The good news is, is that it is actually fairly easy to build software for the Surface platform. Well, easy… if you know how to develop in WPF that is. In this post I will outline the most common steps to take to develop your ...
In the SSRS Reporting Environment, you may never encounter this error and you live a happy and easy life. We all know an SSRS report can easily ping your server to 100% CPU if you decide to export a 120 page report, to PDF, with charts, etc. etc. You may get a complaint that performance suffers in another application while running the reports and you want to fix it, but do not know how. Then one day you or someone at your firm has decided to do your SQL Server a favor and separate out SSRS from the ...
[Amazingly – I actually got this podcast done before the MSDN Flash newsletter it accompanies :-) Despite my hoster trying very hard to turn my hair grey to get this posted! Grrrrrr. ] [Apologies in advance if you have problems downloading it. I am working right now on getting this series of podcasts up on http://channel9.msdn.com/ to give a much more reliable download provider. If you do have issues you can grab it from my Skydrive] This podcast is an interview with Tom Quinn in which we start off ...
One of my friends read my last post and, after an analogy involving candy stores and Japanese wrappers (or was it Japanese rappers? I think both would have worked), I decided it might be a good idea to put up some sample code to demonstrate some of the things I was talking about. I'm going to use some test code from the MVC module - mostly because I'm the most deeply into that code right now, but also because writing my own MVC framework makes me look like a total stud. At least to people who consider ...
Okay, so recently I was working on a new suggestion for my client. It was a fairly simple request; create a snapshot of data to be used in monthly calculations, with the option to regenerate the snapshot at a later time. The snapshot was easy. I thought regenerating the snapshot would be easy too, but somehow I found a way to make it hard. The first mistake I made was not writing a test first. Really this had a lot to do with laziness. The data that I am capturing is only available via a view into ...
Alright dear readers (both of you), I told you last time that I would answer that age-old question, “How many projects should I have in my solution?” The answer is: only as many as you need. I know, I know, but it’s not a copout, really it’s not. I’ve really found that is it easier to start with fewer projects and break them out when you need to, than trying to combine projects later on. Does that mean that one project with everything in it is right? Yes. If that is all you need. I realize it sounds ...
Remember the good old days, when we all thought we’d be cruising around in our own spaceships by the year 2002? Trading fuel, organics and technology at every StarPort we managed to find? Dodging the Federation and blowing up aliens (and each other) while trying to save up enough credits for a bigger ship… hauling human cargo to our home world so we could increase production and begin our mission of universal conquest? Well… those days are back my friends. Thanks to a miracle of not-so-modern technology, ...
Let's face it: Setting up NHibernate is not one of the easiest tasks. You need a good knowledge of the system, and you need to write some configuration xml to your config files (well, normally). This is not such a big deal for the main project, since you only have to do it once in a project's lifetime. But you also have to care about setting it up for each and every test project that uses NHibernate, and there might be a lot of them if you're consequently unit testing just about everything. So, wouldn't ...
[From a suggestion by Ian Cooper] There are many different approaches to unit testing software, from manual testing to Test Driven Development. In many organisations the developer of the code will unit test their own code, however in some organisations a unit test will always be created and performed by a second developer or a full time tester. What approach do you commonly follow ...
Recently, Ayende Rahien (Oren Eini) blogged about Planning for Rhino Mocks 4.0. He’s calling for all of us to contribute our ideas on how to improve Rhino Mocks. He set up a forum where we can submit our ideas and vote on them as well. This lead me to review some of my more complex tests involving Rhino Mocks (I’m on version 3.6). Were there mocking difficulties that I could propose a solution to? Let’s find out… A frequent pattern in my tests is verifying that my controllers pull properties from ...
I started to play with Moq a few weeks back under the guise of Project NEric and then… real work got in the way. However I am today revisiting mocking as I am reviewing a potential article for the Flash on, let me think, mocking. The article touches on Mocking vs Stubs which is handy, as “back in the day” my team relied heavily on stubs (clever stubs at that) and I was confused about the differences between stubbing and mocking. I’m still not 100% there but I found the following useful. Brian Guthrie ...
I’m just pulling together next Wednesday MSDN Flash newsletter and came across this gem. The last 12 months of releases from the Patterns and Practices team: Enterprise Library v4.1 is a collection of reusable software components that help developers with common development needs such as logging, validation, data access, and exception handling. They can be used “as is” or extended or modified by developers as needed. Unity Application Block v1.2 is a lightweight extensible dependency injection container ...
Download Sample Code MVVM Playground Have I mentioned lately that I love the MVVM presentation pattern?? If I haven’t please allow me to do so now. It makes unit testing much much easier, the clean separation between logic and presentation makes me feel all warm on the inside, and (Blendability) those designers in the black turtle necks can run off and build an awesome UI in XAML while us devs write our code in peace :) Ahhh, so ok there are some issues that we are going to run into in the MVVM space. ...
Almost every software project comes with a database. Sometimes it will be developed from scratch and in parallel with the actual domain model for a new (aka. 'greenfield') project, sometimes it will be a pre-existent datastore provided by the customer or coming from an already running software that has to be extended (then we can call it a 'brownfield' project). In either case, you will likely end up with a bunch of database scripts that need to be executed as part of your installation process. I ...
Yippee, I will be speaking at the upcoming XP days in Mechelen. This is a first for me, and I'm really excited about this. Pascal Mestdach and myself have submitted a session on Agile Acceptance testing with FitNesse. It just got approved ...