Home > Better software through debugging and unit testing
Learning Guide:
EMAIL THIS

Better software through debugging and unit testing

02 Nov 2007 | SearchSoftwareQuality.com

Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Jennette Mullaney, Assistant Editor

Thorough debugging is a necessary step towards software quality. Bugs plague software project big and small, and today's complicated software makes debugging more difficult than ever.

Advancements in unit testing are made, better tools are created and development teams work proactively to scour their code. However, time pressures, poor planning and lack of knowledge take their toll on this type of testing.

This Learning Guide introduces developers to debugging and unit testing with a variety of articles, tutorials, tips and expert responses. If you have any resources that you would like to share, or have suggestions for a future Learning Guide topic, please email me.

TABLE OF CONTENTS
   Software debugging basics
   Unit testing basics
   Unit testing, Extreme Programming and TDD
   Debugging for security
   Other useful resources



  Software debugging basics

  • Article: Software debugging, testing and verification -- From "IBM Systems Journal," this is a general, accessible article, perfect for beginners. The authors explain the place of debugging in the software development lifecycle (SDLC) -- though some may disagree with their placement. The article is from 2001, but the problems the authors describe, constantly changing requirements, time crunch, wishful thinking about "fixing it later," are, sadly, still commonplace.


  • Article: Debugging -- While not terribly sophisticated, this straightforward article clearly states the main phases in many debugging processes. Identify bug, replicate bug, understand bug and fix bug are pretty routine. However, the author also advocates learning from the bug, a crucial step that is often ignored.


  • Article: Boost efficiency with a performance-tuned debugging strategy -- Using a case study, the author portrays a streamlined debugging process, including sample code along the way.


  • Article: Introduction to power debugging -- Ever use your debugger and think, "Gee, this thing doesn't work very well!" Before you give up on the tool, read this informative article on how to use your debugger in innovative ways so you can get the most out of it.


  • Article: Debugging: The software industry's dirty secret -- The author argues persuasively for increased attention for debugging. He describes two techniques, automatic bug detection and reversible debugging, as promising.


  • Expert response: Software bugs, errors and defects: What's the difference? -- A lot of confusion surrounds this topic. Expert Mike Kelly provides an excellent response to a frequently asked question.


  • Article: Multi-threaded debugging techniques -- Debugging a complicated multi-threaded application poses all sort of challenges. This article guides you through the process without skimping on the details.


  • Book excerpt: Why Programs Fail: A Guide to Systematic Debugging -- Chapter 3, Making Programs Fail -- Testing is one of the most important factors in software debugging. "Making Programs Fail" covers testing techniques and procedures as they relate to debugging.


  • Book excerpt: If I Only Changed the Software, Why is the Phone on Fire?: Embedded Debugging Methods Revealed -- Chapter 1, Debugging Other People's Code, Fast -- This elaborately titled book uses a fiction format to depict software debugging. Chapter 1 follows a team as they uncover a difficult bug and eventually figure out how to quash it. Code is provided, and the format is suited to beginners.


  • WhatIs.com definition: shotgun debugging -- When people aren't sure which debugging approach, they may try several methods. The problem with shotgun debugging, however, is you can introduce new problems.


Move on to our next section: Unit testing basics.



Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Software unit testing
Unit, integration testing first steps toward SOA quality
Functional testing: Unit testing, integration testing and beyond
Successful test-driven development (TDD) with external systems
Unit testing in the enterprise: Five common myths dispelled
Six functional tests to ensure software quality
Parasoft's Adam Kolawa: Software quality is a continuous process
How to approach JUnit for unit testing
Better software through debugging and unit testing -- Unit testing basics
Better software through debugging and unit testing -- Unit testing, Extreme Programming and TDD
Better software through debugging and unit testing -- Other useful resources

Test-driven development (TDD)
Successful test-driven development (TDD) with external systems
Improved software design with test-driven development (TDD)
Test-driven development and the ethics of quality
Continuous integration meets application performance management
Can test-driven development drive developers to test?
Barriers remain for test-driven development
Better software through debugging and unit testing -- Unit testing, Extreme Programming and TDD
Better software through debugging and unit testing -- Other useful resources
Unit testing critical for improving software quality
Addressing software quality issues with development models, methods

Extreme Programming (XP)
Software development groups take many routes to Agile
Agile Software Development: The Cooperative Game, 2nd Edition -- Chapter 3, Communicating, Cooperating Teams
Better software through debugging and unit testing -- Unit testing, Extreme Programming and TDD
Better software through debugging and unit testing -- Other useful resources
Addressing software quality issues with development models, methods
Agile development best for delivering products on target
Agile methods bring improved software quality, but challenges remain
How long should an iteration be?
Is iterative development a new process?
Project signoff: It isn't over 'til the customer says so

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
mock object  (SearchSoftwareQuality.com)
unit testing  (SearchSoftwareQuality.com)
V-Model  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2006 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts