In the previous article I made the case for Automated Testing. Today we will talk about the tools.
- What qualities does a strong testing framework have?
- What guidelines should developers use when choosing one?
- Why do those guidelines matter?
- What tools would I recommend?
I will use the terms Harness, Framework and Library interchangeably. Be warned.
All of this and more, after a few choice bold words, a digit, a hash, and a hyphen.
Continue reading “Features of Strong Test Frameworks”
One of the Devs I used to work with has been asking a lot of questions recently, all revolving around what can only be considered the principles I hold dear as a TDD champion. I don’t claim to be a guru, but I hope to be able to start some conversation about the importance of automated testing, some of the principles I hold dear and most of all I intend to engage you readers so I can learn from your experiences and possibly guide you if questions arise.
Let’s dive in.
Continue reading “Write Automated Tests”
XNA is a monster platform. It may not be as feature rich and quick to develop first person shooters in as Crytek, Source or UDK, but it is an awesome sight in and of itself. I have to admit I’ve learned a lot because I chose to start from scratch (on top of XNA of course). One of the subjects I wanted to really dive into this time is Test Driven Development (TDD) for a game, and let me tell you, there is a lot of misinformation out there, and I have had to do a lot of Self Driven Development to learn enough about it to be able to pull things together.
The ultimate objective is always to have 100% test coverage on your code. While I would love to say that I have found a silver bullet and to point to a simple framework to use to pull it off, I cannot. TDD is a dream that I wish could be realized with less ground work. To be perfectly blunt, you have to do a lot of mocking to pull things together and I don’t have the time or drive to do as such.
Continue reading “Hades Progress Report #2 – TDD”
Okay, sure…reinventing the wheel sucks. When you look at it from the 50 thousand foot view it is nearly always a good idea to build our selves up on top of the accomplishments of others. There is a quote to that point:
What Des-Cartes did was a good step. You have added much several ways, & especially in taking ye colours of thin plates into philosophical consideration. If I have seen further it is by standing on ye sholders of Giants [sic]
The only issue is that we aren’t all so lucky to be able to follow amazing minds like Des-Cartes.
I have always had a love/hate relationship with wordpress plugins. In many situations they work, but there is a huge issue with testing and confirming the process before releasing. Only a select few of the plugins I know of even care about testing.
Its really a pain, but I don’t think I have enough time to write the plugins to provide all of the features I want on my blog =
Maybe I’ll figure this out some day.
Occasionally I unearth a problem that I had no idea existed, but in doing so I save the world from something that they never even thought would be happening. Yesterday was one such event, and I saved Broadcom at least a week worth of debugging by spending a couple hours working with cursors and a temp database to check the integrity of our data after a major change to the contents. This is only semi-technical, so bear with me…
I am currently working on a project with high visibility within Broadcom. We have two disparate applications both tracking projects, their revision, a number of other overlapping fields and many other fields that are not shared. We defined one as the Master, because it has uniqueness and a number of data integrity checks, and the other as the Slave. The catch is that we have a many to one mapping between Slave and Master which means we have to look deeper.
Continue reading “Semi-Technical – Intern to the Rescue Episode 93”
I posted, in june of last year, about some very useful MSSQL tests that make development and the promotion process we use here at Broadcom easier. One of the tests was not entirely correct, and id like to make a quick substitution (although i wont be replacing the previous entry because it sort of works too).
Does a table have a field already?
IF EXISTS (SELECT Coalesce(Col_length('dbo.T_Table', 'FieldName'), 0))
Does a table have a field already?
IF EXISTS (SELECT 1 WHERE Col_length('dbo.T_Table', 'FieldName') > 0)
sorry about the mixup. This new one is much simpler to read share with your friends and actually works well.