240 likes | 257 Views
Learn about effective bug tracking and risk management strategies for software development projects in this informative chapter from "Tracking and Squashing Bugs: Coder to Developer" by Mike Gunderloy. Presented by Dr. James Fawcett and Charlie Chung.
E N D
Tracking and Squashing Bugs Coder To Developer from Mike Gunderloy Chapter 9 Instructor : Dr.James Fawcett Presented by Charlie Chung chungcharlie@yahoo.com
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 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 ….
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/features.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