• 沒有找到結果。

Ten tips

N/A
N/A
Protected

Academic year: 2022

Share "Ten tips"

Copied!
9
0
0

加載中.... (立即查看全文)

全文

(1)

Michael Tsai 2011/5/20

(2)

Reference

http://www.joelonsoftware.com/articles/fog0000 000029.html

2

(3)

Painless Bug Tracking

“At any given time, I can only remember two  bugs.”

“Keeping a database of bugs is one of the  hallmarks of a good software team.”

“… without an organized database listing all 

known bugs in the code, you are simply going to  ship low quality code. “

(4)

Every good bug report needs  exactly three things

Steps to reproduce, 

What you expected to see, and 

What you saw instead.

4

(5)

Status CLOSED (RESOLVED - FIXED) Priority 2 - Must Fix

Fix For 2.0 Alpha Version Build 2019

Computer Jill's iMac, Mac OS 9.0, 128M RAM, 1024x768 millions of colors

Description 11/1/2000 Opened by Jill the Very, Very Good Tester * Start Bee Flogger

* Create an unnamed document simply containing the letter "a"

* Click on the FTP button on the toolbar

* Try to ftp to your server

BUG: Observe; the ftp server is no longer responding. Indeed ps -augx shows that it is not even running and there is a core dump in /.

EXPECTED: No crash 11/1/2000 Assigned to Willie the Lead Developer by Jill the Very, Very Good Tester

11/2/2000 (Yesterday) RESOLVED - WON'T FIX by Willie the Lead Developer

Not our code, Jill, that's just proftpd which comes with Linux.

11/2/2000 (Yesterday) Reactivated (assigned to Willie the Lead Developer) by Jill the Very, Very Good Tester

That doesn't sound right. I've never been able to crash proftpd when I connect with a normal ftp client. Our code crashes it every single time. Ftp servers don't just "crash".

A Bug gets assigned to  one person. (“hot 

potato”)

When it  gets 

“resolved”,  it will get  assigned to  the original  opener

(6)

6

11/3/2000 (Today) Assigned to Mikey the Programmer by Willie the Lead Developer

Mikey, can you look at this? Maybe your client code is doing something wrong.

11/3/2000 (Today) RESOLVED - FIXED by Mikey the Programmer

I think I was passing the user name instead of the password or something...

11/3/2000 (Today) Reactivated (assigned to Mikey the Programmer) by Jill the Very, Very Good Tester

Still happens in Build 2021.

11/3/2000 (Today) Edited by Mikey the Programmer Whoa. That's strange. Lemme debug this.

11/3/2000 (Today) Edited by Mikey the Programmer I'm thinking it might be MikeyStrCpy()...

11/3/2000 (Today) RESOLVED - FIXED by Mikey the Programmer

Ahhh!

FIXED!

11/3/2000 (Today) Closed by Jill the Very, Very Good Tester Appears fixed in build 2022, so I'll go ahead and close this.

(7)

Ten tips

Reduce the repro steps to the minimal steps

The only person who can close a bug is the person  who opened it in the first place. Anyone can resolve it, but only the person who saw the bug can really be  sure that what they saw is fixed. 

There are many ways to resolve a bug. For example: 

fixed, won't fix, postponed, not repro, duplicate, or by  design. 

Not Repro means that nobody could ever 

reproduce the bug. Programmers often use this  when the bug report is missing the repro steps. 

You'll want to keep careful track of versions.

(8)

Ten tips

If you're a programmer, and you're having trouble getting  testers to use the bug database, just don't accept bug reports  by any other method. If your testers are used to sending you  email with bug reports, just bounce the emails back to them  with a brief message: "please put this in the bug database. I  can't keep track of emails." 

If you're a tester, and you're having trouble getting 

programmers to use the bug database, just don't tell them  about bugs ‐ put them in the database and let the database  email them. 

If you're a programmer, and only some of your colleagues  use the bug database, just start assigning them bugs in the  database. Eventually they'll get the hint.

8

(9)

Ten tips

If you're a manager, and nobody seems to be  using the bug database that you installed at great  expense, start assigning new features to people  using bugs. A bug database is also a great 

"unimplemented feature" database, too. 

Avoid the temptation to add new fields to the  bug database. For the bug database to work,  everybody needs to use it, and if entering bugs 

"formally" is too much work, people will go  around the bug database.

參考文獻

相關文件

The latest model of XPhone has

When a solution curve crosses one of these lines, it has a local maximum or

17) Consider a cell made up of two half cells consisting of the same metal in solutions of the metal ion of different concentrations.. A piece of the coffin is analyzed by

After the Opium War, Britain occupied Hong Kong and began its colonial administration. Hong Kong has also developed into an important commercial and trading port. In a society

A good way to lead students into reading poetry is to teach them how to write their own poems.. The boys love the musical quality of

We perform a Monte Carlo simulation to compare the finite sample prop- erties of four estimators: total variation using SL 1 IC, taut string (Davies and Kovac, 2004),

1191 On the closedness of the algebraic difference of closed convex sets.

(16 Points) Is the following infinite series absolutely convergent, or conditionally convergent, or divergent.. Please give full explanation to