Document 7544376

Download Report

Transcript Document 7544376

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?
Cost, schedule or quality?
 Risk Control

Take the correct action to handle it?
 Maintaining the Top Five Risk List
 Bug Triage
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
….
Risk Assessment
risk
too much other work
too many features
hardware disaster
…
probability
0.25
0.5
0.05
…
cost in weeks
12
4
20
…
impacts
3
2
1
…
Risk Control
 Get things done!
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
So much consulting work
that I don't have time to
1
2
11
finish the code
2
….
3
9
code quality too slow to
share without
embarrassment
Management Steps
avoid work with deadline until
safely afer the project is
submitted. Reserve time in
schedule to work on it
Implement unit test and track
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
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
QA & Testing
 Type of Software Test
 QA for Lone Wolf
 Build a Test Network
Type of Software Testing
 Unit testing
Chapter 5, by function or component
 Functional testing
Walk through with specifications?
 Conformance testing
Match industry spec? ex. XML format match W3C XML..
 Compatibility testing
Different OS, HW…
 Performance testing
Check the application performance is acceptable to user
Type of Software Testing
 Stress testing
How app fail when subjected to excessive stress
 Regression testing
Test 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
QA for the lone wolf
Most company have 1/3 manager & architect; 1/3 develops; 1/3 testers
 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
Treating bugs as learning experience, not a threat to your coding skills
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
Bug Tracking Tools
 Choosing a bug Tracking Tool
 Using a bug tracking tool
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?
Using a bug tracking tool
 What happen
 What the tester thinks should happen instead
 Steps to reproduces the problem
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.a
sp
 http://demo.netresultscorp.com/pt4_demo.html
Example: New Case
*Using Fog Bugz
Example:
custom case
*Using Fog Bugz
Example:
List view
*Using Fog Bugz
Example:
Notification
*Using Fog Bugz
Example:
Search
*Using Fog Bugz
Thank you!