24
Tracking and Squashing Bugs Coder To Developer from Mike Gunderloy Chapter 9 Instructor : Dr.James Fawcett Presented by Charlie Chung [email protected]

Tracking and Squashing Bugs

Embed Size (px)

DESCRIPTION

Tracking and Squashing Bugs. Coder To Developer from Mike Gunderloy Chapter 9 Instructor : Dr.James Fawcett Presented by Charlie Chung [email protected]. Agenda. Risk Management QA & Testing Bug Tracking Tools. Risk Management. Risk Assessment What things might go wrong badly? - PowerPoint PPT Presentation

Citation preview

Page 1: Tracking and Squashing Bugs

Tracking and Squashing Bugs

Coder To Developer from Mike Gunderloy

Chapter 9

Instructor : Dr.James Fawcett

Presented by Charlie Chung

[email protected]

Page 2: Tracking and Squashing Bugs

Agenda

Risk Management

QA & Testing

Bug Tracking Tools

Page 3: Tracking and Squashing Bugs

Risk Management

Risk Assessment What things might go wrong badly? Cost, schedule or quality?

Risk Control Take the correct action to handle it?

Maintaining the Top Five Risk List

Bug Triage

Page 4: Tracking and Squashing Bugs

Risk Assessment ideas…

I discover a requirement that I can not figure out how to implement

I don’t have time to finish the code, I have too many other projects to do

I can’t finish all the planned features in the time allowed

I lose the program’s source code due to a hardware issue

My code quality is too low to share without embarrassment

….

Page 5: Tracking and Squashing Bugs

Risk Assessment

risk probability cost in weeks impacts

too much other work 0.25 12 3too many features 0.5 4 2hardware disaster 0.05 20 1

… … … …

Page 6: Tracking and Squashing Bugs

Risk Control

Get things done!

Page 7: Tracking and Squashing Bugs

Maintaining the T5 Risk List

The goal of the Top 5 risk list is to give you an idea where you can immediately and easy review the most serious threats to your project

Rank this week Rank last week Weeks on List Risk Management Steps

1 2 11

So much consulting work that I don't have time to finish the code

avoid work with deadline until safely afer the project is submitted. Reserve time in schedule to work on it

2 3 9code quality too slow to share without embarrassment

Implement unit test and track bugs

….

Page 8: Tracking and Squashing Bugs

Bug Triage

Prioritizing bugs based on their seriousness and deciding what to do about each one

Fix what really need to be fixed By Design Duplicate Postponed Not Reproducible Won’t fixed Reassigned Fixed

Page 9: Tracking and Squashing Bugs

Bug Tracking Work Flow

A tester find a bug and report it The bug is assigned to a manager for initial

triage The manager resolve it or assign to a

developer Resolved bug returned to a tester The tester either closes the bug or reopen it

with additional information or comments which start step 2 again

Page 10: Tracking and Squashing Bugs

QA & Testing

Type of Software Test

QA for Lone Wolf

Build a Test Network

Page 11: Tracking and Squashing Bugs

Type of Software Testing

Unit testingChapter 5, by function or component

Functional testingWalk through with specifications?

Conformance testingMatch industry spec? ex. XML format match W3C XML..

Compatibility testingDifferent OS, HW…

Performance testingCheck the application performance is acceptable to user

Page 12: Tracking and Squashing Bugs

Type of Software Testing

Stress testingHow app fail when subjected to excessive stress

Regression testingTest that were passed by previous build of the software

Smoke testing Running “quick and dirty” tests that exercises major

features .. Have to wait till next build if failed Black-box testing

Focusing on external interfaces, (most are QA jobs) White-box testing

Internal behavior of component is tested , just like unit testing

Page 13: Tracking and Squashing Bugs

QA for the lone wolf

Use unit test Create a list of critical requirements Set code aside for a few days before performing

functional tests Get someone don’t know your app to test Keep a written list of requirements Use bug tracking system Be sure to check absurd input If you think something might go wrong while coding,

enter it as a bug in you bug tracking system. This will help you to remember

Most company have 1/3 manager & architect; 1/3 develops; 1/3 testers

Treating bugs as learning experience, not a threat to your coding skills

Page 14: Tracking and Squashing Bugs

Building a Test Network

Some advice from the author Buy preassembled machine, name brand, serious

development hardware Skip tapes Store data separately Keep drive image Use virtual machines Use KVM switch ( many company do this) Get your own domain Use a firewall Set aside test machine & use mix of machines Set aside a build machines

Page 15: Tracking and Squashing Bugs

Bug Tracking Tools

Choosing a bug Tracking Tool

Using a bug tracking tool

Page 16: Tracking and Squashing Bugs

Choosing a bug Tracking Tool

Cost (tool cost / license ..)? Multiple platform needs? / web based or other

interfaces Send notification, distinguish or feature request? Integrate with other management tool? Where does the tool store information? What do you NEED from here?

Page 17: Tracking and Squashing Bugs

Using a bug tracking tool

What happen What the tester thinks should happen instead Steps to reproduces the problem

Page 18: Tracking and Squashing Bugs

Bug Tracking Systems

Fog Creek Corp. – Fog Bugs Managing software projects designed by software

development guru Joel Spolsky http://fogcreek.com/FogBugz/index.html

Project Center – Bug Tracker Supports the definition, and eventually the closure of

bugs encountered in development. http://128.230.209.100/ProjectCenter/WebPages/featur

es.aspx Problem Tracker Corp. – Problem Tracker

http://demo.netresultscorp.com/pt4_demo1/ptloginok.asp

http://demo.netresultscorp.com/pt4_demo.html

Page 19: Tracking and Squashing Bugs

Example: New Case

*Using Fog Bugz

Page 20: Tracking and Squashing Bugs

Example: custom case

*Using Fog Bugz

Page 21: Tracking and Squashing Bugs

Example: List view

*Using Fog Bugz

Page 22: Tracking and Squashing Bugs

Example: Notification

*Using Fog Bugz

Page 23: Tracking and Squashing Bugs

Example: Search

*Using Fog Bugz

Page 24: Tracking and Squashing Bugs

Thank you!