Tag | Testing Posts

Goal Ensure your developers build code to meet the spec (the contract of customer requirements) in a timely manner Ensure your developers build code changes that don’t break the spec and that pass functional requirements Ensure your developers build code which is robust (not fragile) and that meets design and code quality guidelines The Spec Make sure that the technical analyst provides appropriate specs! Keep it deliverable – compile-able. No point building mounds of UML diagrams that don’t stay ...
I started testing a BizTalk application today which calls a 3rd party service, passing a couple of datetime parameters, to retrieve a dataset which is then persisted to a SQL Server database. This application had been running well in production for a while but enhancements were required to make use of web methods recently made available by the 3rd party. After making the changes I tested the BTS application on my dev box, calling a stubbed web service installed locally. I then deployed the BizTalk ...
For some reason, I've been obsessed with Behavio(u)r Driven Development for the last few months. I've only been doing TDD for a little over a year, and I am totally loving what it's done for my design, so why would I look for something else? It's NOT something else. Dave Astels says, "Behavior Driven Development is what you are doing already if you are doing Test Driven Development very well." BDD is how we're supposed to be doing Test Driven Development. The problems that people end up having with ...
For anyone who is interested in learning LINQ, there is a great tool available called LINQPad. It comes pre-loaded with over 200 examples to make learning easier. It is really useful for testing your LINQ queries. And best of all, it is FREE! Download it here ...
When you are writing automated tests for your application, it is important that the tests do not rely on the file system or external services. The only problem is that when you write applications using WCF, you are writing code that relies on external services. It is very tempting to create service references in your test DLL and test against them, but please refrain. There is a better way, I promise! This series will focus on testing every part of your application -- including round-trip functional ...
Being a user group leader (Bartlesville .NET User Group) I get a lot of messages for recruiters looking for jobs. Given the current market situation I like to pass these on. This one looks pretty interesting. If you are interested give Darbi a call and let him know I sent you: Know anyone (maybe you) who might be interested in the following position? It is located in Oklahoma City, Oklahoma. It is a direct hire position with a great company. If you are interested or know someone who is, send me a ...
OK... So why has my DODO been incalculable? Well, because we've been chasing down memory problems in our .NET Compact Framework 2.0 app that runs under Windows CE 5.0. And if that just sent a chill down your spine, then you've probably been here before. You have my sympathies. If you haven't been here before but you're planning a CF/CE app: Be afraid. Be very afraid. The following is a brief summary of what we've learned (the hard way) about memory management in a Compact Framework application. "In ...
In our last Episode, Evil Tester used his newly gained UML skills plus his testing expertise to generate mountains of good news for The Reader. The Lounge is attracting attention from unexpected quarters, including today's new cast member... (Click the pictures for larger images.) Why yes, I am reading Steve McConnell's Software Estimation right now. You should be, too. While he has earlier argued that requirements errors are the most common factor in project failures, here he shows that systemic ...
In our last episode, The UML Guy showed Evil Tester how he could use UML to define new test cases with ease. Now The UML Guy wonders what sort of monster he created... (Click picture for a larger image.) When you're a kid, and somebody famous shares your name, it opens your eyes to possibility. It gives you a sense that Hey! That could be me! You Johns had Wayne (the ultimate tough guy) and Cash (the incredible musician). You Jims had Stewart and Cagney and Garner. You Robs had Redford. We had Feldman. ...
(UPDATE: This is a rerun of a best-of post from 2006. I applied the fix described below, and have never seen the error in question again.) Ever since I got my Gateway CX200X — and even before, with my less-than-wonderful Toshiba M200 (which I'm managing to put to productive use, but cautiously) — I've had this annoying problem. When I would shut the lid, with every expectation that that would suspend the machine, I would be deceived. I would put the machine in my backpack, and head off for the road ...
Well, maybe that's not exactly how he put it; but he referenced a post where I wrote: Richard Hale Shaw makes an interesting argument against the C# using statement (not the using directive; and thank you, C# team, for that bit of confusing language). I disagree with him; but it will take time and sleep before I can fully explain why. The short preview: he says you can't force people to use your class correctly; I say I can, and I'll show you how, soon.And he writes: Always wondered what you had ...
We ran into a situation recently where we wanted to evaluate the performance of a single iteration of a load test. We wanted all the load testing goodness of throwing 25 requests at code while not waiting for the load test's time to elapse: just a sliver showing what a single barrage from all 25 would look like. Unfortunately this isn't something supported out of the box. Fortuntely, there's an article on codeplex which outlines how to write a very simple load test plugin that will allow you to set ...

I've just published my first CodePlex project: WCF Test Harness.  This is a testing utility I have been working on for a while now and I thought it could be helpful for others.

I wrote a short Overview and I plan on adding additional information depending on interest.

PLEASE NOTE: THESE WORDS ARE MY ONLY MY OPINION. SPARE ME THE EXERCISE OF DELETING YOUR COMMENTS AND LAUGHING AT YOU IF YOU FLAME ME OVER THEM, TROLLISH ONE! ***BEGIN EDIT*** There is a gentleman who has commented on this particular post who, it seems to me, wants to argue semantics. Upon checking his blog, I have determined that he has a particular axe to grind with regards to "automated testing" (a term, it would appear, he considers an oxymoron). As I am not particularly interested in a philosophical ...
Introduction This part in the series will focus on the SelectionController. Here is where most of the work is done. We've already covered the view interface, IRowSelectionView. Now we will see how the controller interacts with the view. Recap: Custom GridView Guidelines - Preface Custom GridView Guidelines - Part 1 - Preparing the Canvas Custom GridView Guidelines - Part 2 - Selection Interface Capturing Shift and Ctrl Key Status We want to emulate multi-selection as in Windows Explorer. The Shift ...
In 1998 I went through Basic Combat Training for the United States Army. It was 9 weeks of grueling, awesome and exhausting training. It was training that definitely pushed the limits of your body and mind. I learned quite a lot and the training forever shaped the person I am today. Next week, I will have the opportunity to go to Boot Camp again, but this time it will be for .NET development. JP Boodhoo, a great guy who I met at Alt.NET, conducts a course known as Nothin' But .NET Developer Boot ...
Mr. Bugsy Elusive We have a C# client and a Local COM server hosting a VoIP stack. We use COM interop. for API and events to the COM server. Today after some changes, when we started to load testing the system a nasty crash happened. From initial observation it's look like some kind of Heap Corruption(may be leaked from stack boundary and stuff like that). I used DTW / Gflags to run the server(sipserver.exe) under windbg and symbols are properly set. Stack traces refer to RPC calls as usual but how ...
If you ask the average developer what might be done to improve code, they would probably come up with "use design patterns" or "do code reviews" or even "write unit tests". While all these are valid and useful, it is rare to hear "measure it". It's odd, when you think about it, because most of us consider ourselves scientists or sorts. Some of use obtained a degree in computer science, and we view the coding practice and a deterministic endeavor. Why is it then that we don't measure our work using ...
[ This post has moved to - http://tempuri.org/tempuri.... ]As part of our business, we have to deal with VoIP based media processing often. Made a call to a 1800-xxx number or any number, if it "seems" like an "Answering Machine" then we need to detect it. Normally this kind of DSP stuff is done by hardware integrated DSP chips. A similar system is shown below (Dialogic® MSP 1010), But we don't have that luxury. We have a primitive Answering Machine Detection (AMD) system which is primarily based ...
With XBox Live Community Games (XBLCG) going live soon, I've been thinking a lot about things that are going to help all of us be successful. One of those things is encouraging hobbyist and independent developers looking to get their game out to the public to consider the quality of the game. Flooding XBLCG with a lot of poorly implemented games missing most of the polish that regular XBox Live Arcade (XBLA) titles have will quickly sink our ship. Microsoft has already made some effort encouraging ...
I recently wrote an internal memo identifying accessibility problems with Telerik RadWindows for the website I'm currently working on. I post the items here hoping that they might be useful for some of you out there. Some of this is specific to our environment (IE6) and design standards but may be helpful for you too. Some apply to other modal window implementations as well. 1. Modal windows complicate the page. One of the primary axioms of designing for accessibility is simplification. I also experienced ...
My presentation "Virtualisation for developers" has been officially selected as the warm up act for Guy Smith-Ferrier at The Next Generation User Group in Birmingham on 12th February 2009. More seriously, many thanks to Guy for allowing me to join him in a double session on such a great topic. Here's the abstracts, Virtualisation For Developers with Liam Westley Not used virtualisation technology yet? As a developer, you are missing out on some great time saving technologies. Concentrating on the ...
Background Way back in March I posted about a custom GridView I was working on. Then in June, I said that I would be posting some guidelines "in the coming weeks". Needless to say, I've been busy with other things. I am hoping to provide some basic guidelines on how to customize a ASP.Net GridView. I am no expert. The experts build components for retail use. Also, I've taken a server-side approach to the problem which is perhaps a little outdated with AJAX technology available. In my case, I use ...
We've got a fantastic opportunity for you here in the Heartland district. Visual Studio 2010 is the next generation of tools for building .NET applications of all varieties. One of the things that we are taking to heart is testability and testing tools. You can come meet the guy that's in charge of building all of those tools. Do you want to know how they test the testing tools? Do you want to know how to use those tools to the best of your abilities? Do you have any questions at all? Come meet Mark ...
· Make Coding Assumptions Explicit and Tool Discoverable. provide a language-agnostic way to express coding assumptions in .NET programs. The contracts take the form of pre-conditions, post-conditions, and object invariants. Contracts act as checked documentation of your external and internal APIs. The contracts are used to improve testing via runtime checking, enable static contract verification, and documentation generation. · bring the advantages of design-by-contract programming to all .NET programming ...
As suggested by Pete O'Hanlon, I am going to take a look at NUnit. I am not very familiar with it as yet, so I am basically doing research to see it's capabilities :-) I heard that I will be teached about it in lecturers in the near future, so I will be blogging even more once I get a good grab at it. What is NUnit? NUnit is a free unit testing framework designed to be used with .NET projects. This framework provides a library that has classes and methods which help writing test scripts. Nunit has ...
I'm currently doing some work with the Geneva Framework (formerly known as "Zermatt"), which I am very excited about; With the SOA wave and now the coming Cloud wave, federated identity becomes a crucial component in the enterprise and it is great to see such a good story for it from Microsoft. Using the "Zermatt" SDK (I now need to download the updated framework and align with it) I have succesfully, and quite simply, managed to create both an active STS scenario and a passive STS scenario, both ...
Theo and I have been good friends for years, and he's one of the more interesting (techie or otherwise) people I know, so it was a no-brainer to ask him to do this interview. He responded quickly and of course, I tucked it away and promptly forgot all about it... until now. So without any further delay, I give you this NINE Questions (the lost episodes) interview with Theo Moore: 1. Where are you from? Boy, that's a hard one to answer. I was raised in Florida, but I suppose the closest I've had to ...
Integration Testing: The methods/procedures/functions that were tested seperately in Unit Testing are combined and tested as a group. Integration testing is mostly use to check the performance, reliability of a product and to check whether the requirements have been met. Advantage: It is important to test in groups before testing the application as a whole because you can find code problems earlier in the project. Disadvantages: Boring, monotonous Time consuming ...
[Source: http://geekswithblogs.net/E... There are a few situations when you're unit testing a component which calls out to another worker – a SQL insert from a separate thread, or a file drop from an asynchronous service call. You want to verify that the worker's completed correctly, but don't want to make the test run any longer than needed. Previously I've used bespoke code in tests where this was required, but the number has been increasingly recently so I've added a RetryAssert method ...
In this issue: John Stockton, Pierlag, Mel Lota, Ning Zhang, Carole Snyder, Martin Grayson, Jesse Liberty, Public Sector DPE Team, Mike Ormond, Andy Beaulieu, and Arturo Toledo. Somasegar has an Application Architecture Guide 2.0 referenced on his site that bears reading. The Swiss MSDN Team Blog invites you to Try out the DeepZoom app on our Shape Website ... and this is very nicely done... Dan Wahlin reports his Amazon.com AlbumViewer Application for Silverlight 2 Released . From SilverlightCream.com: ...
Unit Testing Unit testing is when a tester, tests every method/function/procedure seperately. This is done to make sure that the most vital methods work as expected. Once the methods are tested one after the other, these are then put in groups according to what they do to form components. Then, these are tested using Integration Testing. This will be tackled in the next part. Advantages: Improves design Reduce cost of change because bugs are seen instantly Disadvantages: Time consuming. Testers and ...
Gray Box Testing Gray Box Testing is the combining of black box, and white box testing. It involves having access to internal data structure and algorithms, but the testing is still done at a user's level, therefore as black box testing. It is said to be mostly used in web services applications since the Internet is quite stable. Advantages: The testers do need to have the source-code while testing. Disadvantages: The testing is done based on limited knowledge of the internal code. Difficult to resolve ...
White Box Testing White box testing is known as clear box testing and glass box testing. The technique in white box testing is to have a very good knowledge of the internal code. The testers need to know what the product does, what the code really does because they need to examine the output values as well as the values within the methods/procedures/function. If the tester, does not know the code well, this kind of testing will be a failure and not accurate at all. It is ideal to do this kind of ...
Black Box Testing Black box testing is the testing of methods/functions/procedures without knowing what is in the internal code. You would only know what to input, and what the expected outcomes should be. So to speak, no knowledge of the programme/application is required to do this kind of testing. Advantages The testers do not require any knowledge on the product being developed The testing is done from the user's points of view The programming and testing are done by different persons Disadvantages ...
Introduction Creating custom controls is not as difficult as they actually appear, but before we go creating custom controls lets first look at the difference between Custom Controls (CC) and Custom User-Controls (CU). Simply put Custom Controls (CC) are skinable, themable and reusable controls that once created can be used by simply loading the assembly in any project, where are Custom User-Controls are user controls that can be reused but they can't be skinned or themed. Technically they are both ...
For those of you in the Atlanta area that are big time gamers, here is your chance to get a sneak preview of a great first person shooter game that is being developed in Alpharetta, GA. If you live in the area, you should definitely check this out. Some good friends of my at Hi-Rez Studios are putting together a a chance to get a sneak preview at there new game, Global Agenda. This event is organized to raize mony for the Leukemia & Lymphoma Society. I am a part of their Alpha Test, which we ...
For a few weeks now we have had some problems with BizTalk tracking data not being right in some testing environments on a large project. The link below is to a forum post which discusses our problems (thanks Thiago for your help troubleshooting this): http://forums.microsoft.com... The basic problem was that for some reason tracking data seemed to be backing up in the messagebox and not getting through to the Tracking Database. We went through all ...
Today I managed to get a strange Error (like you get it in Excel if you have more than the famous 65536 rows) during BizTalk testing with HAT. :-) I suppose the reason is that HAT (where I displayed some debugging data) uses Office WebComponents in background and therefore this limitation is causing problems with greater amounts of data. Anyway an interesting error ...
Recent news from PDC is that the CTP for Visual Studio 2010 and .NET 4.0 are waiting to be tested by you! Chris Koenig’s blog has more information: http://blogs.msdn.com/chkoe... You might want to check out what he has to say, because it sounds as if the preview is a little quirky to get started, but if you can’t wait to start downloading the files, go ahead to the download page here: https://connect.microsoft.c... ...

Yesterday featured another day packed with sessions and started with a great keynote showing off the new Windows 7, what's coming onto us with .NET 4 and the new development environments (starring Visual Studio 10) as well as innovations in the field of Office (web office is going to allow editing and synching documents online).

Read the rest of this entry »

Using Reflection and ADO.NET to create a dynamic Data Layer In this article I will discuss using object oriented techniques and built-in ADO.NET functions to create a data layer which will essentially figure out what values to put into stored procedure parameters, dynamically assign types in ADO.NET and c#, get values from a database and assign them to object properties, and write the code in such a way that you won't have to rewrite it anytime soon; even if you add new objects into your solution ...
In this issue: Pedro Anuarbe Cortes, pierlag, Joseph Ghassan, Jeff Wilcox, Silverlight SDK, Jeff Prosise, Dave Burke, and Michael S. Scherotter. Karl Shifflett reports All New XAML Power Toys Videos Published... and when he says videos... yikes, he's been busy! Koen Zwikstra has an update to Silverlight Spy: Silverlight Spy 2.0.0.33 with some very nice upgrades. From SilverlightCream.com: SpecNix - ZX Spectrum Emulator Pedro Anuarbe Cortes is the dev that sent me the very nice Tetris game last week. ...
Here are the things that caught my attention in today's MSDN briefing: A. Silverlight 2.0 1. You can use IsolatedStorageFile and IsolatedStorageSettings for storing data on the client machine, but they can be disabled by users, so this case must be treated appropriately 2. Xaml power toys http://karlshifflett.wordpr... , it is a VS 2008 SP1 addin that provide powerful code generating tools on context menus for Silverlight and WPF xaml developing 3. You can access HTML DOM Silverlight, ...
All of the code we write must be tested and accepted by users before it can go into production. Which brings about a unique possibility of a syncing issue when we are doing so in a branch development scenario. The image below is a great reference. Say we have two imaginary branches, one for features and two for production fixes. In reality there would probably be a branch for every production fix and multiple branches for on-going development. The trunk is code that has been released to production. ...
For the past three weeks I have been testing the new Nokia e71 and Apple’s iPhone 3g. Both phones are well built and deliver as promised in almost all areas. Below I will give a few tidbits about my experiences with each one. I am also at the same time working on deploying Microsoft’s System Center Mobile Device Manager (SCMDM). This will not come in to play with either of these devices though. Although they have licensed and support Exchange ActiveSync, SCMDM will only support devices running a ...
We are currently using WCAT because we have the Pro version of Visual Studio, not Team System. It's not exactly the easiest or best tool, but it is free. I'm looking at Web Performance Suite and NeoLoad as a possible replacements but I'm not very familiar with either. This is what we need: Ability to load test many users (of course). Fairly easy to use. Trace listener would be nice. Test the output for values using simple matching and regular expressions. Functional testing in the same package would ...
I can just say that I'm happy to say good bye to Blend 2.5, it was really a pain to use to different Blend versions (2.0 and 2.5 as I mostly work on WPF) and since already bought the Expression Studio I was wondering if I had to buy Blend 2.5 just for Silverlight but now I am happy. I might bring new tutorials and now that we have a stable version it will be better I was just waiting for the final and stable release so as to kick start developing commercial Silverlight applications. I must add that ...
If you follow the GWB blogs, chances are you’ll get tired of hearing this. However, the ASP.NET MVC Beta has been released, and I think a good amount of people are very excited for its release. I remember our BRDNUG meeting on the ASP.NET MVC, and how it was hard to tell anyone what would work for which preview version because of the vast differences and changes that occurred between the early previews and the later previews. Now that we have a beta, we should see a lot more stable MVC. From the ...