Interested in a
Personal Demo ?

Name* :
Please Enter your Name
Company E–Mail* :
Please Enter a Valid Email


"Typemock Isolator enables us to modify our legacy applications without changing the source code."
Christian Mérat, .NET Architect & Developer, GSoft Group
Success stories


US Toll Free
Outside US
Get your printable quote
Buy online


Andrew Woodward on going agile with unit testing

Says Andrew: "You need to do unit tests!"


Andrew Woodward, of 21 Apps, is a Microsoft SharePoint MVP. In this interview, Andrew talks about the adoption of testing in the SharePoint community, and how he came to promote TDD and testing. He discusses the state of testing in development teams, and how TDD and code reviews can help.

Finally, as a suggestion for developers, Andrew talks how testing can help acceptance teams focus on scenario tests, rather than 'Stupid bugs'.


Download Typemock Isolator - Now!

Interview Transcription

Gil: O.K., so who are you?

Andrew: Hi, my name is Andrew Woodward, SharePoint MVP.

Gil: And your site is called 21apps.

Andrew: It is, yeah 21apps…yeah…Yes, 21apps is currently a very small company and myself. I’m in the process of growing there, doing a lot of work over the years in SharePoint so we focus primarily on SharePoint, but big into the Agile space so we’re looking at process improvement, helping teams do agile development  when they do the SharePoint projects…and again that involves everything from testing development, unit testing right the way through .

So that is really the space we’re in so we do mentoring, we do a bit of training, we’ll help you get your first product launch and again we’ll really help your team develop code better. 

Gil: And that’s great…And I know, disclaimer, I know you, you write a lot about Typemock in your blog about TDD in the SharePoint space which is considered impossible or something like that, sometimes?

Andrew: It really came because I did eXtreme Programming a long time ago and I was using VB unit so you know one of those VB6 code we would do unit testing there. Now I look at my code and it wasn’t a very good test, but hey, I was doing something. And I got into the SharePoint space and sort of my dev trailed off, I got into really bad practices because it just was difficult to do. And it was a lot of talk on the …you know, we do this, we do this… and there was no information out there so I basically said: look, I need to put it out there and which what I’ve been doing for the last  probably 18 months, just writing blogs and articles and putting them out there.

I found it was really hard to… I’m using Typemock, it used to be really difficult when you’re doing the record-replay or the Natural Mocks. The code was too brittle and it was really not very nice. Now with the AAA API it’s significantly better and I think people’s ability and they wanted more content. Now their people are designing their systems better, they’re pushing the SharePoint bits down in the layer using dependency injection properly and people are writing their solutions much better now. So I have talked to people, people are doing it, people that don’t necessary blog so much,  but other people are starting to push unit testing good developer practices in SharePoint, which is cool…

Gil: Yea, it is cool. It wasn’t like this…So what do you think will be the next step in testing and in people acceptance?

Andrew:  With regards to which?

Gil:  With SharePoint…

Andrew: I think once we got… TTD is a bit of niche low down that I was trying to push and I think I’ll keep pushing that technique. I think once people get the idea that you can do the unit testing I think we’ll move in and use the NUnit framework so we can do good integration tests as well and it’s just about automation, so start there.

There are issues using things like Selenium or those open sources rather than Visual Studio ones to do the web acceptance tests and I think there needs to be more information out there on that, just because of the market that SharePoint generated in 2007 just made it really not very nice, hopefully with 2010, I’ve not tried it yet, but that’ll be a lot cleaner and you’ll be able do a lot more acceptance tests with the browser, that’s my hope.

Gil: Great. What do you think is the most exciting stuff you’ve seen here, at the conference?

Andrew: I think, overall, as an application. SharePoint they’ve designed it to be extensible everywhere. It’s cool the way they’ve got the hooks in to do extensibility. I think the coolest thing I’ve seen is the way they’ve reorganized that for the social networks with the tag in and the linking in there, but there’s loads of great things. But the “My Site” really stands out, the social side really stands out for me…

Gil: OK. Finally, SharePoint programmer, what’s the best single advice you can give him for quality, except Typemock yeah? (Laughing)

Andrew: You need to do tests… you need to do unit tests. You need start there, if you don’t do TDD, OK if you do them afterwards but start with the unit test, make sure your code  has high enough quality so when you do give it to people doing acceptance tests they focus on  scenarios rather than stupid bugs basically, so focus on unit testing and code reviews as well.

Gil: OK, thank you.

Andrew: Cool