Upload
martha-fleming
View
56
Download
1
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
Tracking and Squashing Bugs
Coder To Developer from Mike Gunderloy
Chapter 9
Instructor : Dr.James Fawcett
Presented by Charlie Chung
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 probability cost in weeks impacts
too much other work 0.25 12 3too many features 0.5 4 2hardware disaster 0.05 20 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 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
….
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 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
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
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
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.asp
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!