Posts

Showing posts from February, 2008

Webtest Tool Round-up (Round 1:WatiN)

This is the first article in a series of reviews. I plan to test a few Open Source automated Web-Testing tools. As I complete my tests I will publish the results to my blog. The Test Procedure The world has gone Ajax and Web 2.0 crazy. Any tool that doesn't handle dynamically changing DOMs is an instant failure. So, I decided to use one of the most Ajax intense applications I know of, Gmail . Gmail uses Ajax and Iframes indiscriminately. The developers at google seem to obfuscate ALL the HTML element IDs which means that my web-tests have to do some real back-flips to find the buttons, hyperlinks and textfields required to send messages. I have no doubt that Gmail will adequately stress the tools in this line-up. Test Steps Log in to Gmail Send an Email Check the same email Apply a Label Archive it Check to see if it is in the label category. Log Out Round 1: WatiN (v1.2.1) homepage | download Test Date 17FEB08 Environment Windows XP Home Visual Studio 2005 .Net 2.0 IE 7 PROS Ea...

Microsoft MVC or Is the Monorail off it's track?

For those of you who didn't know, Microsoft has been working on it's own MVC framework . I haven't used it yet since I am in the middle of testing several Web-testing tools for an upcoming article. That said, I have done a little research on the web and here are a few things that Monorail users may want to know: Hammett , the founder of Castle::Monorail, has helped MS by making suggestions about their implementation. See his comment below: I'm not actively collaborating with MS regarding the MS MVC. I've offered help due to my expertise with complex web sites we have built using MonoRail, I was invited to fly to Redmond and analyze their product, and discuss things, make suggestions. It's been suggested (in comments) that Monorail may become a wrapper for the MS Framework, if the MS MVC framework progresses well. The MS Framework does support intellisense in it's views. Views are written in your .Net language of choice. ASP.Net controls are available for u...

Getting the Data out of my Controller Tests

While working on PlanningPokerOnRails I started writing a unit test for my LoginController. The Monorail BaseControllerTest makes this easy. I am also using Rhino Mocks and Nunit . Here is the test: The test is very simple. First, it sets a single recorded expectation that a Redirect will occur: 34 using (mocks.Record()) 35 { 36 // First redirects to the index page 37 Response.Redirect( "/Home/Index.rails" ); 38 } Next, the playback is run and the code emulates a few things that users might do...like login with Request params for a ReturnUrl: 39 using (mocks.Playback()) 40 { 41 Request.Params.Add( "ReturnUrl" , "/Home/Index.rails" ); 42 loginController.Login( "dan" , "danny" ); 43 } Writing the Code to Pass this Test Next I wrote the CardPlayer component (my user) and the LoginController. Seeking to do the simplest thing that could possibly work I merely had the CardPlayer inherit from the ActiveRecord ...

Is this a SourceForge Killer?

I doubt that the Google Code Projects Hosting will compete with SourceForge anytime soon but it does put Google one step closer to being the next SkyNet . I've been hosting one of my recent open source projects there and been quite pleased. Here are a few features of note: It's FREE ! (So is SourceForge by the way) Provides a Subversion Repository with a really slick online browser. Check it out here . Most of the interface is a just a frontend to a smart wiki . So you can use wiki code just about anywhere. You can add users into different roles. The Issue Tracker is relatively complete and fairly customizable since it's a highly specialized wiki. It allows you to assign tasks and track the workflow in your own way. Plain old Wiki . For all your other needs there is a fairly robust wiki. Package Download system allows you to upload your latest builds, documentation or whatever. 100MB of storage for your source (you can request more). Google account logins are used. A...

New Pattern: CPT (Can't Polish a Turd)

I recently read a hilarious article, " Asshole Driven Development ." The author, Scott Berkun, takes a cynical look at the abundance of acronyms in the software engineering field. Along the way he uncovers a few insights that, while very cynical, ring true. In addition to Scott's funny acronyms many users have added additional goodness. One anonymous post read: How about CPT (Can’t Polish a Turd) development, This is where management cannot understand the need to stop and fix/clean up/refactor or start again. I saw this post and wondered if we hadn't worked together! I've polished many turds in my time, a few were my own, and let me tell you...it's not easy. The fact is, these turds never really shine. Sure, sure...wet em down a bit...put em in the right light and they seem to shine. Heck...we have well paid people (some brilliant) that spend most of their time putting turds, in the right light. But, in the end a turd by any other name is still crap. So why ...