12-04-2011, 09:51 AM
Presented by
Charlie Chung
[attachment=12056]
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
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 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
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
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