Archives
eTraxis 1.19.0 is released.
Submitted by Opensourcetesting.org - latest news on Tue, 18/11/2008 - 10:51.Software Craftsmanship 2009 Request For Session Proposals
Submitted by jason@parlezuml.com (Jason Gorman) on Tue, 18/11/2008 - 12:16.(Registration will start on Dec 1st, BTW)
----------------------------------------------------------
Dear Software Craftsman,
(Or should that be "craftsperson"?)
No Good Deed
Submitted by jamie on Tue, 18/11/2008 - 18:55.Very often I break a simple rule of consultancy, I fix something I wasn't asked to do. For example, I may be drafted in by a company to bring a project back on track or, sometimes, to teach object technologies (I like this type of work). However, if you are working with a group of people and one of them is incompetent or destructive then that, by definition, is the problem you have to solve first. What this means is that you end up doing a little bit of behaviour changing or some management consulting.
My Unified Theory of Bugs
Submitted by noreply@blogger.com (Misko) on Tue, 18/11/2008 - 19:32.I think of bugs as being classified into three fundamental kinds of bugs.
- Logical: Logical bug is the most common and classical "bug." This is your "if"s, "loop"s, and other logic in your code. It is by far the most common kind of bug in an application. (Think: it does the wrong thing)
- Wiring: Wiring bug is when two different objects are miswired. For example wiring the first-name to the last-name field. It could also mean that the output of one object is not what the input of the next object expects. (Think: Data gets clobbered in process to where it is needed.)
- Rendering: Rendering bug is when the output (typical some UI or a report) does not look right. The key here is that it takes a human to determine what "right" is. (Think: it "looks" wrong)
NOTE: A word of caution. Some developers think that since they are building UI everything is a rendering bug! A rendering bug would be that the button text overlaps with the button border. If you click the button and the wrong thing happens than it is either because you wired it wrong (wiring problem) or your logic is wrong (a logical bug). Rendering bugs are rare.
Typical Application Distribution (without Testability in Mind)
The first thing to notice about these three bug types is that the probability is not evenly distributed. Not only is the probability not even, but the cost of finding and fixing them is different. (I am sure you know this from experience). My experience from building web-apps tells me that the Logical bugs are by far the most common, followed by wiring and finally rendering bugs.
