November 2005 - Posts
I think the interviews that Roy
does with various testing folks are great, I suggested he interviews Jamie (the TD.net creator)
but Jamies a little on the shy side :) So what do you all think, how cool would it be to hear Jamie share his thoughts.
I read this book
during my last Borders visit, it should really be titled "Testing with Perl" as it shows how you can use Perl and CPAN for testing your applications. The web testing chapter is very interesting for anyone looking into functional web testing.
This article by Eric Sink
on two bugs that made it into SourceGear within a maintance release was an interesting read. Eric goes on to say why these bugs occured and how in the future he intends to resolve it. Even the greatest QA system can allow bugs through, its never perfect, whats most important of all is you 'process improve', that you take steps to find why it occured and where you can prevent it from occuring again. In that sense your QA process is forever changing, getting better and helping you prevent this sort of thing happening.
FishEye has been setup to watch on Gentle.NET and MbUnit, the MbUnit view you can see here. Already its interesting to note that the MbUnit installer change has reduced the amount of code we need to forefill the same purpose.
Rob has written a nifty CCNet log viewer
, I know I spend loads of time trawling though these so thanks Rob!
Wesner has a very interesting post on the Joel test and why its considered bad if you don't make the points, he then looks at Linus as a example of someone who fails the test on just about every level and yet is a gifted programmer who gave us Linux in the first place (and someone who I have greatest respect for). In the comments someone suggests that Paul Graham, another smart man who says if your smart you don't need specs, tools or other such stuff, if you do your a bad programmer to start with (which I am sure could be answered with, no I am just not a sloppy, lazy programmer)
It boils down to one point, a programmer is not a software engineer, sure a programmer can write code, produce a system (when your a smart person often a complex system), deliver the goods and work the magic. Sometimes common sense goes out of the window and sourcecontrol is the first thing to be missing, so what if your harddrive fails. Sometimes sourcecontrol is there but everything else is no where to be seen, no specs, no testing, no builds, nothing, natta. Smart programmers have no need for them, the code lives as he creates it, no need for testing it will work dam it, and builds....no time for that I am writing code.
Software engineers understand working in a team and working to quailty, they don't have single ownership of there code, it belongs to the team and its up to the team to understand how that code was crafted and why (at the end of the day it needs to be adjusted by someone else). Its no good that smart programmer has written 20 interfaces and 50 classes for no reason other than thats where the wind took him, when another programmer comes to change it, its don the waders time. Software enginners craft code to a design thats understand by the rest of the team and can quickly and easily communicate that, be it Agile or RUP, the principle is the same.
Software engineers understand that testing and quality is king, they not only make sure that the code they have written can be tested (and be changed and tested with ease) but that they can easily test other members of the teams code. Software engineers understand that builds are important for many reasons, so the customer can see the work they produce and that they can quickly and easily test the work they create on every single level. Nothing, not one thing is taken to chance, everything single angle is covered. Testing and quality is a song the whole team sings.
The tools that software engineers use are tools to help them write code, write maintainable code and ship a product worth shipping. A concept thats lost on mr smart programmer.
I have commited the changed for the new MbUnit installer, this is now much more user friendly and a lot smaller in size. This installer marks the start of the 2.3 cycle as we work towards closing of the issues marked for 2.3.
Further to my posts on building aspx sites with MSBuild I had a chat with Simon Calvert and Bradley Bartz from the ASP.NET team. First off the post on aspnet_compiler is it does'nt make use of refresh files, you really need use MSBuild. I was running into problems with this, but Simon and Bradley showed me a way around this. Given the structure in that post we change the web.config to read
<forms name=".ASPXCOOKIEDEMO" />
<allow users="?" />
and the in the directories you want secured the following web.config is placed.
<deny users="?" />
This is read as all directories are open, however to secure a directory we have to do so on a per directory basis. The reasons for this is that in the past you have secured a directory by making it a subweb and telling the root directory which one directly to close off, this still works today but can cause you problems. I was experincing problems with the aspnet_compiler stage of msbuild as it won't compile subwebs only the root web. To get around this we remove the subweb letting the root config file set the defaults and any config files in other directories override. This done and MSBuild is playing nice with web builds again, hooray!
Some interesting articles on VSTS (via Rob), the one that caught my eye was the functional web testing article. Functional web testing was one of the features that I liked most about the VSTS testing abilities, it would be great to see it extended in the future for winforms and XAML. One of the features not mentioned in the article is that the generated test code can be run (like unit testing or stress testing) via MSTest as part of your test suite (if your running your tests via Team Build for example). Also your web test can be hooked into a stress test so you get double value from your test.
The Laszlo IDE which uses the Eclipse platform has had its first release today.
More Posts Next page »