practical bug reporting

249
Practical Bug Reporting Sep 11, 2009 YAPC::Asia 20 09 Kenichi Ishigak i (charsbar)

Upload: charsbar

Post on 30-Nov-2014

3.336 views

Category:

Technology


2 download

DESCRIPTION

a talk at YAPC::Asia 2009

TRANSCRIPT

Page 1: Practical Bug Reporting

Practical Bug Reporting

Sep 11, 2009@ YAPC::Asia 2009

Kenichi Ishigaki (charsbar)

Page 2: Practical Bug Reporting

Part ICPAN is well teste

d

CPAN と品質保証

Page 3: Practical Bug Reporting

Let me give you a few numbers

まずは数字をいくつか紹介しましょう

Page 4: Practical Bug Reporting

(inspired bythe fabulous talk

by barbie)

海外の YAPC で紹介されていたネタのパクリだけど

Page 5: Practical Bug Reporting

5067318

Page 6: Practical Bug Reporting

The total number oftest reportssince 1999

この 10 年で届いたテストレポートの数です

Page 7: Practical Bug Reporting

And its breakdown

内訳は

Page 8: Practical Bug Reporting

4255953 passes 503541 fails 119277 NAs

188547 unknowns

Page 9: Practical Bug Reporting

CPAN is well tested

CPAN ってほんとによくテストされているんです

Page 10: Practical Bug Reporting

By whom?

でも誰がテストしているの?

Page 11: Practical Bug Reporting

Kudos to the CPAN Testers

CPAN テスターのみなさん

Page 12: Practical Bug Reporting
Page 13: Practical Bug Reporting

http://cpantesters.org/

Page 14: Practical Bug Reporting

250000+ reports/month

on average(2008/08-2009/08)

この 1 年の月間平均レポート数 25 万

Page 15: Practical Bug Reporting

339884 reports in Aug 2009

(against 1708 uploads)

先月は 30 万件越えてます

Page 16: Practical Bug Reporting
Page 17: Practical Bug Reporting

166 Testers

先月レポートを送ってくださった方は 166 人

Page 18: Practical Bug Reporting
Page 19: Practical Bug Reporting

including bots(smokers)

bot 込みですが

Page 20: Practical Bug Reporting

We have a strongtesting culture

Perl の強みはテストの文化です

Page 21: Practical Bug Reporting

Test Anything Protocol

最近はほかの LL も見習っている

Page 22: Practical Bug Reporting

http://testanything.org/

Page 23: Practical Bug Reporting

Lots of testing tools

テスト関連ツールの数も半端ない

Page 24: Practical Bug Reporting

500 Test distributions

(338 Test- and 162 -Test-?)

ディストリビューション単位で総計 500個

Page 25: Practical Bug Reporting

CPAN is our strength

よく CPAN あってこその Perl といわれます

Page 26: Practical Bug Reporting

We have7600+ authors

18500+ distributions72000+ modules

これだけの叡智が集まっているのはすごいこと

Page 27: Practical Bug Reporting

Our strengthis not from

the sheer number

でも、大事なのは単純な数の多さではありません

Page 28: Practical Bug Reporting

What really mattersis the number oftested modules

品質保証されているかどうかがポイントです

Page 29: Practical Bug Reporting

Back to the figures

で、先ほどの数字を見てみましょう

Page 30: Practical Bug Reporting

5067318 total4255953 passes

全部のテストが通っているわけではありません

Page 31: Practical Bug Reporting

Only eightout of ten

are healthy

成功率は 8 割程度です

Page 32: Practical Bug Reporting

Eventuallyyou'll be hit

by a bug or two

いつかはバグに当たることでしょう

Page 33: Practical Bug Reporting
Page 34: Practical Bug Reporting
Page 35: Practical Bug Reporting

What should we do?

そんなとき、どうするか

Page 36: Practical Bug Reporting

Three wise monkeys

東照宮の三猿、ご存じですよね

Page 37: Practical Bug Reporting

See no evil

見ざる

Page 38: Practical Bug Reporting

Listen no evil

聞かざる

Page 39: Practical Bug Reporting

Speak no evil

言わざる

Page 40: Practical Bug Reporting

Good for children

子どもを守るための方便だそうですが

Page 41: Practical Bug Reporting

We should know better

我々はもうちょっと大人です

Page 42: Practical Bug Reporting

Monkey patch?

猿といえば、モンキーパッチという手もあります

Page 43: Practical Bug Reporting

*Some::Module::method = sub { ... };

こんなの

Page 44: Practical Bug Reporting

Can't be helped sometimes

これも、どうしようもないときには便利ですが

Page 45: Practical Bug Reporting

Not for today

根本的な解決にはなりません

Page 46: Practical Bug Reporting

Then what we should do?

では、どうするか

Page 47: Practical Bug Reporting

Report your experience

「ホウ・レン・ソウ」ご存じですよね?

Page 48: Practical Bug Reporting

But how, and to where?

でも、どこに、どうやって ?

Page 49: Practical Bug Reporting

Part II Sending a test rep

ort

テストレポートの送り方

Page 50: Practical Bug Reporting

The easiest way to get involved

いちばん簡単なやり方

Page 51: Practical Bug Reporting

Set up a reporter

レポーターをセットアップする

Page 52: Practical Bug Reporting

cpan CPAN::Reporter

Page 53: Practical Bug Reporting

Launch the CPAN shell

インストールが済んだら CPAN シェルから

Page 54: Practical Bug Reporting

cpan> o conf init test_report

あとはいくつか設定を指定するだけ

Page 55: Practical Bug Reporting

It's notthat difficult

そんなに難しいことではないです

Page 56: Practical Bug Reporting

You also can set up a smoker

スモーカーを用意してもよいでしょう

Page 57: Practical Bug Reporting

CPAN::Reporter::SmokerPOE::Component::CPAN::YACSmoke

POE::Component::SmokeBoxPOE::Component::SmokeBox::Recent

App::SmokeBox::Mini

種類はいろいろ

Page 58: Practical Bug Reporting

http://wiki.cpantesters.org/wiki/SmokeTools

Page 59: Practical Bug Reporting

Useful if you havemuch to test

大量のモジュールをテストしたい人には便利

Page 60: Practical Bug Reporting

Testers wanted

テスターは多いに越したことはありません

Page 61: Practical Bug Reporting

especially ifyou have minorenvironments/

older perlsマイナーな環境をお持ちの方はぜひご協力

Page 62: Practical Bug Reporting

Does thisreally work?

ほんとにこれ役に立つの?

Page 63: Practical Bug Reporting

Yes!

立ちますよ

Page 64: Practical Bug Reporting

cpantesters.org offersa personalized feed

CPAN Author向けのフィードもあります

Page 65: Practical Bug Reporting
Page 66: Practical Bug Reporting
Page 67: Practical Bug Reporting

However

ただ

Page 68: Practical Bug Reporting

Not everyone can(or is allowed to)

send reports

もちろん誰もがレポートしてくれるわけではありません

Page 69: Practical Bug Reporting

Not everyonecares Testers

レポートを気にしない作者もいます

Page 70: Practical Bug Reporting

Bugs are slipped inwhere tests don't c

over

テストがカバーしてない部分については無力

Page 71: Practical Bug Reporting

Not everythinghas enough tests

テスト足りないモジュールもありますからね

Page 72: Practical Bug Reporting

100% test coverage

is not enough

カバレッジ 100%だからって安心できない

Page 73: Practical Bug Reporting

It may lackborder tests

境界テストとか

Page 74: Practical Bug Reporting

It may havebugs found onlyin stress tests

ストレスかけないと出てこないバグとか

Page 75: Practical Bug Reporting

It may havedesign flaws

設計がおかしいとか

Page 76: Practical Bug Reporting

Though this isnot a bug

これはバグじゃありませんけど

Page 77: Practical Bug Reporting

Even well-tested modules may be bro

ken sometimes

しっかりテストされてるモジュールでも壊れることはあります

Page 78: Practical Bug Reporting

Even aftersuccessful installa

tion

しかもインストールに成功したあとで

Page 79: Practical Bug Reporting

Conflicts

外部依存を持つ CPAN モジュールの宿命

Page 80: Practical Bug Reporting

with external libraries

別の外部ライブラリに影響されたり

Page 81: Practical Bug Reporting

with older installation

旧版のファイルが悪さをすることもあります

Page 82: Practical Bug Reporting

(pluggable modules sometimes

suffer from this)

プラガブルなモジュールにありがち

Page 83: Practical Bug Reporting

Dependency onbugs of others

ほかのモジュールのバグに依存していたとか

Page 84: Practical Bug Reporting

Backward-incompatible

API changes of others

ほかのモジュールの API が変わったとか

Page 85: Practical Bug Reporting

May eventually be found by the Tester

s

そのうちテスターが見つけてくれるかもしれません

Page 86: Practical Bug Reporting

What else should we do?

こういう場合はどうするのがよいでしょう

Page 87: Practical Bug Reporting

Part III (before)

Filing a bug report

そう、バグレポートです

Page 88: Practical Bug Reporting

Hold on

でも、ちょっと待って

Page 89: Practical Bug Reporting

perldoc perlbug

Page 90: Practical Bug Reporting

There're several thingsto check before filing

a bug report

その前にすることがあるんです

Page 91: Practical Bug Reporting

The version of perl

Perl のバージョン

Page 92: Practical Bug Reporting

perl -V

Page 93: Practical Bug Reporting
Page 94: Practical Bug Reporting

Note the uppercase V

コンパイル時の設定とか知らせるのは結構大切

Page 95: Practical Bug Reporting

The version of modules

モジュールのバージョン

Page 96: Practical Bug Reporting

perl -MModule::Name -e 'print $Module::Name::VERSION'

Page 97: Practical Bug Reporting

perl -e 'use Module::Name 999999'

Page 98: Practical Bug Reporting

The latest onesmay have a fix

for you

最新版では直っているかもしれませんから

Page 99: Practical Bug Reporting

Isn't it a feature,or a known limitati

on?

バグじゃなくて仕様だったり既知の問題だったりしませんか?

Page 100: Practical Bug Reporting

Read the pod, Changes,or comments in the sour

ce

PODとか更新履歴とかソースのコメントとか確認してみましょう

Page 101: Practical Bug Reporting

Isn't it a bugof your software?

自分のソフトが悪かったりしませんよね?

Page 102: Practical Bug Reporting

Write a test

なるべく小さなテストを書いてみましょう

Page 103: Practical Bug Reporting

If you can't reproduce

the bug,

見つけた人が再現できないようでは

Page 104: Practical Bug Reporting

the maintainers probably can't, too

メンテナも調べようがありません

Page 105: Practical Bug Reporting

If we have a test,at least Testerswill test it for us

テストさえあれば検証をテスターに丸投げすることもできます

Page 106: Practical Bug Reporting

Only tests can ensureyou'll never seethe bug again

同じ問題を何度もレポートしたくないならぜひ

Page 107: Practical Bug Reporting

Can you writea patch to fix?

パッチは用意できますか?

Page 108: Practical Bug Reporting

A nice patch willalways be welcome

見つけた方が直せればそれにこしたことはありません

Page 109: Practical Bug Reporting

What about a report message?

レポートはどう書けばよいのかって?

Page 110: Practical Bug Reporting

English isour second

common language

たしかに共通語は英語です

Page 111: Practical Bug Reporting

Don't worry

でもご心配なく

Page 112: Practical Bug Reporting

OUR ENGRISH ARTEH MUCH BETTR

THAN THEIR JAPANEEZ

渡した血の絵以後の方がまだ増しですから

Page 113: Practical Bug Reporting

Descriptive title

タイトルだけはわかりやすく

Page 114: Practical Bug Reporting

Make it clearwhat is broken

どこが壊れてるかを明記してください

Page 115: Practical Bug Reporting

Which function?Which test?

With what error?

どの関数、どのテストがおかしくて、どんなエラーが出る、等々

Page 116: Practical Bug Reporting

Better if you can provide concise description of th

e issue

本文でもう少し詳しく説明できるといいですね

Page 117: Practical Bug Reporting

What happenedwhen you didwhat and how

いつ何をどんな風にやったら、こうなった、と

Page 118: Practical Bug Reporting

translate.google.comand such may help yo

u

オンラインの翻訳ツールとか使うのもアリ

Page 119: Practical Bug Reporting

Rememberyou have

the last resort

いよいよ困ったら英語は忘れてください

Page 120: Practical Bug Reporting

Perl

Page 121: Practical Bug Reporting

This is our firstcommon language

これこそが私たちの共通語です

Page 122: Practical Bug Reporting

That's why you shouldwrite a test and/or a pa

tch

だからこそテストやパッチを書きましょう、と

Page 123: Practical Bug Reporting

Part IV Choosing destinat

ion

送り先を選ぶ

Page 124: Practical Bug Reporting

Now you haveall the necessary

information to report

これで必要な情報はあらかた揃ったはずです

Page 125: Practical Bug Reporting

To where should youfile the report?

さて、どこへレポートしましょうか?

Page 126: Practical Bug Reporting

RT?

RT ?

Page 127: Practical Bug Reporting

Not ReTweet

ReTweet の略じゃありませんよ

Page 128: Practical Bug Reporting
Page 129: Practical Bug Reporting

CPAN's defaultRequest Tracker

CPAN標準のバグトラッカーです

Page 130: Practical Bug Reporting

by Best Practical Solutions

みなさんご存じですよね

Page 131: Practical Bug Reporting

What you see isa bit older version

(3.6 HEAD)

CPAN で利用されているのはちょっと古い

Page 132: Practical Bug Reporting

Latest 4.0 isbased on Jifty

最新版は Jiftyベースになります

Page 133: Practical Bug Reporting

Ask Jessewhen it's out :)

いつリリースされるかは社長におたずねください

Page 134: Practical Bug Reporting

Also checkLorzy talkby clkao

clkao の Lorzy話も ( たぶん ) RT 4.0 がらみ

Page 135: Practical Bug Reporting

Anyway

それはさておき

Page 136: Practical Bug Reporting

Not everyone uses RT

誰もが RT を使っているわけではありません

Page 137: Practical Bug Reporting

google codesourceforge

githubtrac

ほかのトラッカーを使っている人も結構います

Page 138: Practical Bug Reporting

Read the pod

たいてい PODに書いてありますが

Page 139: Practical Bug Reporting

META.ymlmay tell yousometimes

META.yml に明記されていることも

Page 140: Practical Bug Reporting
Page 141: Practical Bug Reporting

OK, now you know where to file

どこを見ればいいかわかったら

Page 142: Practical Bug Reporting

Make sure to seeif similar bugs

have been reportedor not

似たようなバグが登録されていないか確認

Page 143: Practical Bug Reporting

Avoid spamming

同じようなレポートがたくさん届くのは迷惑

Page 144: Practical Bug Reporting

See also where istheir repository

リポジトリの位置も確認しておいてください

Page 145: Practical Bug Reporting

search.cpan.orgmay also tell you

sometimes

これも CPAN検索サイトに明記されているかも

Page 146: Practical Bug Reporting
Page 147: Practical Bug Reporting

External trackersusually tightly-knit

with their repository

外部のトラッカーはたいていリポジトリ連動

Page 148: Practical Bug Reporting

Commit logs may befound while googling

ググるとコミットログが出てくる場合も

Page 149: Practical Bug Reporting

Why do we need tofind a repository?

なんでリポジトリを探すのか?

Page 150: Practical Bug Reporting

Your bug mayhave been fixedin the repository

リポジトリでは直っている場合も少なくないから

Page 151: Practical Bug Reporting

Not alwaysin the trunk

though

場合によっては修正用のブランチも見つかる

Page 152: Practical Bug Reporting

Mailing listmay also help

メーリングリストも要チェックですね

Page 153: Practical Bug Reporting

Searchable archives

will be your friend

アーカイブ検索できるところを覚えておくと便利

Page 154: Practical Bug Reporting

Anyway

ともかく

Page 155: Practical Bug Reporting

Time to file it at last

実際にバグレポートを出してみましょう

Page 156: Practical Bug Reporting

Part VRT 101

RT の使い方

Page 157: Practical Bug Reporting

The easiest way isto send an email to

一番簡単なのはメールで登録するやり方

Page 158: Practical Bug Reporting

bug-<distribution-name> @rt.cpan.org

ディストリビューション名は適宜埋めてください

Page 159: Practical Bug Reporting

Attach your test and patch

テストやパッチは添付ファイルで

Page 160: Practical Bug Reporting

If you wantfiner control

もう少し細かい指定をしたい場合は

Page 161: Practical Bug Reporting

Try web interface

Web インタフェースを使うのもアリです

Page 162: Practical Bug Reporting
Page 163: Practical Bug Reporting
Page 164: Practical Bug Reporting

You need to identify

yourself to login

スパム対策で身元を確認できるものが必要

Page 165: Practical Bug Reporting

BitcardPAUSEOpenID

Page 166: Practical Bug Reporting

Report a new bug

新しいバグを報告する、という項目から

Page 167: Practical Bug Reporting
Page 168: Practical Bug Reporting

Severity

重要度

Page 169: Practical Bug Reporting

Mark as Wishlist if it's not

about a bug

要望の場合は自分でチェックした方がいいかも

Page 170: Practical Bug Reporting

Broken in, Fixed in

バグっているバージョンと直っているバージョン

Page 171: Practical Bug Reporting

You usually don'tneed to care

ふつうは気にする必要ありません

Page 172: Practical Bug Reporting

May help fora long-standing bu

g

調べておいてもらえると作者としては楽

Page 173: Practical Bug Reporting

Everything is OK?

本文やタイトル、添付ファイルの準備ができたら

Page 174: Practical Bug Reporting

Create

送信

Page 175: Practical Bug Reporting

Notification will besent to all the

(co-)maintainers

登録するとすべてのメンテナに通知が行きます

Page 176: Practical Bug Reporting

When you receivea reply

or a question

返信があったらメールが届きます

Page 177: Practical Bug Reporting

Reply to the notification

さらに返信する場合はメーラから返信すればOK

Page 178: Practical Bug Reporting

Or login to reply

もちろんログインしてから返信してもいいです

Page 179: Practical Bug Reporting

When the bug is resolved

解決したバグについてはここに並びます

Page 180: Practical Bug Reporting
Page 181: Practical Bug Reporting

or unfortunately rejected

残念ながら拒否されたレポートはこちら

Page 182: Practical Bug Reporting
Page 183: Practical Bug Reporting

Spams will be deleted

スパムは単に削除されます

Page 184: Practical Bug Reporting

Don't file a comprehensive

report to fix multiple bugs

複数のバグをいっぺんに直すようなパッチは送らないこと

Page 185: Practical Bug Reporting

We can't resolveyour ticket by half

チケットを半分だけ閉じるとかできませんし

Page 186: Practical Bug Reporting

Not all of yourpatch may be appli

cable

パッチをすべて適用できるとも限りません

Page 187: Practical Bug Reporting

Severity varies

優先順位も違ったりします

Page 188: Practical Bug Reporting

May be turned downjust because it's mixe

d

複数のレポートが混じっているというだけで拒否られることも

Page 189: Practical Bug Reporting

Split your report, patch, test, and wh

atever

パッチやテストはなるべく意味のあるまとまりごとにわけてください

Page 190: Practical Bug Reporting

One bug, one report

バグひとつに対してレポートひとつが原則

Page 191: Practical Bug Reporting

with one or more tests

テストが複数にわかれるのはかまいません

Page 192: Practical Bug Reporting

That isn't considered spamming

適切に分割されたレポートが続くのはスパムとはみなされません

Page 193: Practical Bug Reporting

Well, usually

ふつうは、ですけどね

Page 194: Practical Bug Reporting

Part VIIf you're in a hurry

急ぎの場合は

Page 195: Practical Bug Reporting

It's nice to report to

a tracker

全体のことを思えばバグトラッカーに報告するのが一番です

Page 196: Practical Bug Reporting

Everyone can track it down later

誰もがあとから追跡できますし

Page 197: Practical Bug Reporting

Everyone can know what, why and how

誰もが問題と解決策を把握できます

Page 198: Practical Bug Reporting

However

ただし

Page 199: Practical Bug Reporting

It's not the fastest way

これは最速の解決策ではありません

Page 200: Practical Bug Reporting

If you're in a hurry

もし本当に急いでいるなら

Page 201: Practical Bug Reporting

or want to make sure

あるいは確実に直しを入れてもらいたいなら

Page 202: Practical Bug Reporting

Ask the author in person

作者に直接連絡をとりましょう

Page 203: Practical Bug Reporting

via IRC

IRC経由でもいいですし

Page 204: Practical Bug Reporting

via email

本人宛のメールでもかまいません

Page 205: Practical Bug Reporting

Events like YAPCmay help

このようなイベントで話しかけるのも手ですね

Page 206: Practical Bug Reporting

It certainly has downsides

このやり方には欠点もあります

Page 207: Practical Bug Reporting

No tracker

バグトラッカーには記録されません

Page 208: Practical Bug Reporting

unless you file it later

あとから記録として登録しない限りは、ですが

Page 209: Practical Bug Reporting

There may be few (or none)

who can help you

まわりに助けてくれる人がいない可能性もあります

Page 210: Practical Bug Reporting

IRC has its own local rules

IRC には独自のルールがあるのも要注意

Page 211: Practical Bug Reporting

Don't ask to ask

「質問していいですか」なんて聞くな、とか

Page 212: Practical Bug Reporting

Use nopaste

長いコードを貼り付けるな、とか

Page 213: Practical Bug Reporting

But it usually isthe most fruitful w

ay

ふつうはこれがもっとも実りが多い

Page 214: Practical Bug Reporting

No

いや、これも正確ではないですね

Page 215: Practical Bug Reporting

This is notthe last resort

in fact

実は究極の手段が残っています

Page 216: Practical Bug Reporting

Be a committer

コミッタになってしまうことです

Page 217: Practical Bug Reporting

coderepos, pugs, jifty, github, alias...

Page 218: Practical Bug Reporting

Forgiveness over

permission

許可より寛容

Page 219: Practical Bug Reporting

Everyone was a beginner at first

誰もが最初は初心者です

Page 220: Practical Bug Reporting

Commits can be reverted

変なコミットは差し戻せますからご心配なく

Page 221: Practical Bug Reporting

Better if we have more committers

コミッタが増えてくれることの方が大事

Page 222: Practical Bug Reporting

Ask for a commit bit

コミット権がほしいとお願いするか

Page 223: Practical Bug Reporting

Or show something to be committed

コミットするに足るものを見せること

Page 224: Practical Bug Reporting

Learn local rules

ローカルルールを確認したら

Page 225: Practical Bug Reporting

Start commmitting

コミットを始めましょう

Page 226: Practical Bug Reporting

Consult core developers

if you make a significant change

大きな変更を入れたいときは要相談

Page 227: Practical Bug Reporting

The author is unreachable?

どうしても作者がつかまらない?

Page 228: Practical Bug Reporting

Just forget abondoned modules

そんなモジュールのことは忘れるのが一番

Page 229: Practical Bug Reporting

Or find the author in any way

どうしてもなんとかしたいなら作者を探しましょう

Page 230: Practical Bug Reporting

via POD

PODに連絡先が書いてあるかもしれませんし

Page 231: Practical Bug Reporting

via default <id>@cpan.org

CPAN のデフォルトメールに投げてみる手もあります

Page 232: Practical Bug Reporting

Just google it

ググればその人の他の活動にヒットするかも

Page 233: Practical Bug Reporting

personal blogtwitter

other mailing listwhatever

ブログ書いてたり、ぼそぼそつぶやいていたり

Page 234: Practical Bug Reporting

Ask in p5p

ほんとに大事なモジュールならp5p で聞いてみるといい

Page 235: Practical Bug Reporting

Wait and see

人事を尽くして天命を待つもよし

Page 236: Practical Bug Reporting

Or write your own

さっさと自前のモジュールをこさえるもよし

Page 237: Practical Bug Reporting

Part VII Conclusion

まとめ

Page 238: Practical Bug Reporting

Don't be shy

黙っていては始まりません

Page 239: Practical Bug Reporting

Your reports will make our world bett

er

CPAN をよりよいものにするためにはみなさんのレポートが不可欠です

Page 240: Practical Bug Reporting

But report it to the right places

ただ、レポートは適切な場所にお願いします

Page 241: Practical Bug Reporting

Reporting a bugin a blog entry

is considered harmful

ブログに書いておしまい、というのはよくない

Page 242: Practical Bug Reporting

miyagawa さんに嫌われます

Page 243: Practical Bug Reporting

If you do, at leastupdate your entriesafter the bug is fixed

ブログに書くなら、せめてバグが直ったら

その旨書き足さないと

Page 244: Practical Bug Reporting

Otherwise, you'll be

a source of FUD

FUDのもとになりますからね

Page 245: Practical Bug Reporting

Writing another entry doesn't help

ほかのエントリ書くだけでは足りません

Page 246: Practical Bug Reporting

People findyour entry

via search engines

検索エンジンから来た人は

Page 247: Practical Bug Reporting

Nobody reads morethan the page

they just googled

問題があったページしか読んでくれません

Page 248: Practical Bug Reporting

Ok, that's all

以上

Page 249: Practical Bug Reporting

Thank you&

Questions?

ご静聴ありがとうございました