QA2007年09月09日 18時48分38秒

職場で QA という言葉を使ったら、思ったとおり通じなかった。あの状況を見る限り、無理もないか、とは思ってたけど。とりあえず、QA について、おいらのキャリアで身についていることをメモっておこうと思う。

QA とは?

Quality Assurance の略。品質保証

ソフトウェア開発における QA

基本的には、以下の4つの観点に基づいて行われるべきである。

  1. 期待通りに動作すること。
  2. リソースリークが発生していないこと。
  3. パフォーマンスが十分であること。
  4. 上記を証明するすべてのテストにおいて、カバレッジが満たされていること。

行うべき作業は主にテスト(動作検証)だが、テストをすれば QA が満たされたということにはならない。どのようなテストを行い、その結果がどうなったかを文書にまとめ、報告できる状態にすることで、初めて QA は満たされたと看做すことができる。

要求に対する QA

「1. 期待通りに動作すること。」の「期待」とは、究極的には顧客の要求である。要求には、潜在要求も含まれる。顧客がそれを言ったかどうかではなく、ユースケースを取りまとめ、要求内容を整理する中で洗い出しておく必要がある。レビューは、そうしたものを追求するためのひとつの手段である。

QA の成果物

設計の成果物として設計文書があり、開発の成果物としてプログラムがある。QA の成果物もプログラムであるが、それとは別に、QA を証明するための報告書が必要になる。

作成すべき報告書は、大まかには以下の三つ。実際にはこのような構成ではなくて、機能別、または観点別に、これらの内容が満たされるように記述するという形でも良いと思う。

  • テスト仕様書

    テスト項目一覧と、その内容を記述したもの。また、テスト項目ごとにその目的 (対応する設計上の項目、過去に発見されたバグの内容、等) も記述されているべき。

  • テスト結果報告書

    期待動作はテスト仕様書に記述されているはずなので、基本的には、ここではテストにパスしたかどうかだけを書けばいい。実際には実施したテストの回数とテストごとの項目数、テストごとに新たに発見されたバグの数、修正された数などを集計した数字と、それを時系列順に並べたグラフを統計結果として載せたりするが、それ自体は QA を証明する目的というよりは、開発スケジュールに無理が無いかや開発体制に問題が無いかを検証するための目安として用いられるべき性質のものである。

    なお、基本的には、最終的に既存バグは0で無ければならないが、何らかののっぴきならない事由 (時間が無いとか、修正による影響範囲がでかすぎるとか、機種依存バグとかで原因が解明できないとか) により、修正を行うべきではないものとしていくつかのバグが取り残される場合がある (っていうか大抵いくつかは残る)。そのような内容は制約事項として、この文書の中で明記されなければならない。制約事項を書く場合には、そのバグによる不具合が何なのか、その不具合を回避するにはどのように操作すればよいか、といったことを記述する。

  • パス解析結果報告書

    カバレッジ (テストにより通るコード上のパス通過) が満たされていることを報告するための報告書。カバレッジが満たされていないということは、テストに抜けがあるということなので、仕様を確認したうえで、テストを追加するなり、不要なコードを削除するなりする必要がある。

    通常は、ツールを用いた解析結果に基づき、モジュールごとに何パーセント、全体で何パーセント通過しているかを記述した上で、通過していないパスがあればそのパスに関する説明を付記する、といった内容になる。

QA とバグ管理

過去に見つかっていたのと同じ内容のバグが、リリースする製品に含まれるようなことは絶対にあってはならない。そのため、バグ管理とテスト管理はリンクしているべきである。

バグの種類、内容にもよるが、バグが発見された場合、その対応として、再現状況の確認、原因の究明、修正、テスト、といったフローを経る。このとき行うテストは通常、このバグを発見したときに行ったテストをそのまま行うべきだが、バグというのは必ずしも発見したときに実施していたテストに対応した内容であるとは限らず、特に手作業でテストを実施している場合などで、テストの意図とは関係なしに偶発的に見つかったというケースは少なくないし、そもそもテストではなく、別の目的でちょっと動かしてみたらたまたま見つかったとか、ユーザーからの報告であるとかいった場合もある。そのようなケースでは、そのバグが再現しないことを確認するためのテストケースを、新たに追加する必要がある。その後のメンテナンスを考えれば、そのようにして追加されたテストが、過去にどのようなバグが発見されたことに由来しているのかを参照できるのは、非常に重要なことである。

回帰テスト

既存のテスト項目を元にテストを実施することを回帰テストと呼ぶ。回帰テストは自動化されていることが理想だが、いずれにせよ、すべての回帰テストを実施するのにどの程度の時間がかかるのかは把握されている必要があり、その時間に基づいて開発スケジュールは組まれるべきである。

回帰テストにかかる時間が短ければ短いほど、テストと修正のサイクルを増やすことができる。例えばすべての回帰テストが自動化によって12時間で回るようになっていれば、テスト実施者が帰り際にバッチを実行し、翌朝からその結果を受けて修正、夜またバッチを実行、という形で毎日テストを実施し、急ピッチで品質を向上させることが可能だ。

QA のゴール

QA のゴールはバグをぎりぎりまで減らすこと、ではありません。そもそも製品の品質は、発見されたバグの数だけで安易に推し量れるものではありません。もちろん、リリースの段階で、製品が十分に安定していることは重要ですが、QA とはあくまで「保証」であり、その製品が何処まで安定して動作しているのかを証明することこそが、QA のゴールであるといえます。

例えば、エレベータには定員と、最大積載重量が明記されています。理想的には、人を何人乗せ、どんなに重いものを一緒にどれだけ乗せても、動作し、事故も起こるべきではありませんが、現実的には、物事には限界があります。そうしたとき、十分な利便性が確保されているならば、運用においては安全性が確保されていることが最も重要であるということになります。例えどんなに頑丈なエレベータを作ってくれたとしても、「とにかく頑丈に作りました」としか言わないメーカーと、「最大 10人まで、総重量 600kg までであれば安全に動作します。 600kg を超える場合にはブザーにより警告を通知し、その間は運転を開始しません」とまで説明してくれるメーカーとでは、どちらが信頼に足るでしょうか?

QA とはそういうことです。すなわち、「こういう風に動かす限りは問題なく動作するよ」ということを、できる限り網羅的に証明すること。そして、その網羅性を確保するために、潜在要求をきっちり洗い出しておくことこそが、重要なのです。

。。。とりあえずこんなところで。後で追記するかも。

裁判と報道、それから司法のこれからについて。2007年09月22日 03時30分19秒

すまん、おいらの意見は概ね正反対。

偏向報道について。

ブログの流行により、報道に対して関係者がネット上で真意を明かしたり、実際の言論の詳細について追加検証を行ったりといった記事が時折見られるようになった。しかし、全般としては、現行の新聞・TV 報道を見た感想を述べるにとどまるブログがほとんどであるように思う。

はてなブックマークのようなソーシャルブックマークがもっと普及していけば、そういった報道への感想の言及はそっちに流れていくことになるかもしれない。mixi のような馴れ合いメディアとしての SNS や、Twitter のような、ブログよりも軽いメディアが使われるようになっていくことで、そうした流れはますます加速するのかもしれない。

もっとも、当の新聞・TV といった報道系メディアは、まだまだブログ上で見られる言説のほとんどがジャーナリズム性の薄いもので、ニュースの情報を握っていてジャーナリズムを発揮するイニシアチブは自分たちにあるという自負を持っているように思う。実際、政治の場における記者クラブによる締め出しなど、国民にとって重要な情報の取り扱いは主要新聞・TV局各社に牛耳られており、手出しできない状況は崩されていない (もっともそんなマスコミの偏向報道を嫌がって記者会見の全文を公表しちゃう小泉首相官邸サイトなんて例もあったりしますが)。

裁判の傍聴録なんかもその急先鋒で、マスコミは自分たちの押す論調を曲げずに済ませるための最も都合の良いトリミングを図って、記事として纏め上げたりするわけです。

この辺の記事も、参考までに、ぜひ、読んでみて頂きたいと思う。後者の例の発言については、確かに被害者感情を逆なでするものであり、不適切であるとは思うけれども、前後の文脈を切り捨てて報道するマスコミのやり方もまた、適切であるとは到底思えません。

マスコミは率を取るために、多くの国民の感情に沿う方向で物語を組み立て、報道記事をでっち上げています。もっと言えば、どういうシナリオを描けば国民感情をより効果的に煽れるのか、といったことを熟知しています。一方で、この事件ではありませんが、秋田県藤里町の連続児童殺人事件について、秋田県は県内に東京から派遣されている弁護士一人しかいないいわゆる弁護士過疎地であり (Sun Sep 23 20:00:54 JST 2007 - 訂正: コメントにて小倉氏より指摘がありました。県下で一人というのは事実ではないようです。詳細は記事文末を参照)、しかも裁判前の準備調査の結果が、後から派遣された別の弁護士に引き継がれていることを指摘した NHK の報道に、これ、ジャーナリズムとしてあるべき当然の指摘であるにもかかわらず、とんでもない良心を感じてしまうのであります。

弁護士は増やすべきか?

結論から言えば増やすべきです。日影なすやんはこれ以上質の悪い弁護士を増やすべきではないとしていますが、実際弁護士の質が悪いのは、法について責任を持って語れる人材が極端に少ないからという事情もあるのではないかと思っています。少なくとも、先に挙げた秋田の例のように、県内に自分ひとりっきりしか弁護士がいないという状況下で何年も働いていれば、知識も思想も仕事に対する姿勢でさえも偏向してしまうのは致し方ないのではないかと思います。そういう意味では、メディアに出て積極的に発言している橋下弁護士の姿勢には敬服します。発言内容は微妙にあれですが。

要は橋下弁護士がアフォだと思うならば同じくメディアに出て看破してやればよいのです。そういう弁護士がもっと出てきたっていい。法に関する話題が盛んに取り交わされるにつれ、国民の法に関する関心も高まるでしょう。そうした下地は、今後陪審員制度を運用する上でも非常に大切なことであるはずです。

立法に携わる国会議員の中に、司法経験者が少ないというのも問題です。立法のための人材を育成するという意味でも、司法資格の門戸を広げることは重要です。

もっとも、司法試験を簡単にすればいい、という考え方には、安直さを感じます。そういう問題ではないだろうと思います。実際、現行の難しい司法試験を通過して、アフォなことをやっている弁護士というのは多くいるのですから、そこが必ずしも重要ではないというのは明らかなはずです。

個人的には、短答式・論文式含めて、ペーパーテスト一発で合否を判定するというやり方自体に無理があると思っています。問題の質を変えずに合格基準を下げ、それを通過した人間に対して、3年以上の現場における補助実務を義務付け、その間に挙げた功績等により資格の交付を判定する、といったような、もっと現実的な方法に切り替えるべきなのではないでしょうか?


Sun Sep 23 20:00:54 JST 2007 - 追記

コメント欄にて小倉秀夫さんよりご指摘いただいたように、「秋田県内で弁護士が一人しかいない」という記述は誤りでした。NHK のニュースについてはうろ覚えであったため、情報が正確ではありませんでした。大変失礼いたしました。

名簿の中に「藤里町」が無いので、「秋田県内で一人」ではなく、「藤里町内で一人」と言っていたのかもしれません (そもそも、「一人」という人数も、もしかしたら記憶違いだったかもしれません)。

小倉弁護士のブログ2007年09月26日 17時33分38秒

普通にぐぐっても相当上位に来ているのに全然気付かなかった。。。orz

メインマシンがぶっ壊れ中でブクマできないのでメモ替わりにリンク。。。はてぶだと埋もれそうだし、オンラインの rss リーダーはいまいち好きになれないし。

んで、光市母子殺害事件に関しても (やっぱり) いろいろと思うところがおありのようで、以下の記事に続くいくつかの記事に分けて記述されています。面白い。

はてぶ界隈ではしょーもない皮肉と星を飛ばしあっている人がいくらかいらっさるようなのですが、その後の記事で仮説を交えた説明を重ねるうちに、この手の軽々しい反発も鳴りを潜めていってしまいました。どんなことであれ、「言い続ける」ってことが如何に大切なことなのかを思い知らされます。

はてぶにもちょろっと書いたけど、個人的には、「素人は黙って引っ込んでいるべき」という言葉は、程度の問題だと思う。ある物事に対して、素人か職業人かの差というのは、そこで行う発言に対してどれほどの責任が背負わされるかにあるのだと思う。一方で、責任が無いからといって素人の発言すべてに価値が無いのかといえばそうとは限らない、というのは、確かにそういうケースもあるっちゃあるのだけれども、じゃあそういうケースが何故起こりうるのかといえば、それは、その特別なケースを引き起こした素人さんが、その他の素人さんとは一線を画するほどに、その物事に対して興味・関心を持って行動した結果であるに他ならないのではないかと思う。

そうでなければ、「専門家が思わず耳を傾けてしまうような、超一流の素人になってから、そういうことは言ってください」といったような、一見いやみにしか見えなさそうで実は隙を作っているような言葉をわざわざ付け加えたりはしないわけで。

個人的には、ある物事に対して、より現場に近い場所から物を見、あるいはより近しい関係者に積極的に接し、情報を得ようとする人間が言う言葉のほうが、マスコミが垂れ流す情報を享受し、ネット上で増幅する煽りに当てられるだけの人間が言う言葉よりも、説得力があるように思います。光市母子殺害事件に関して言えば、素人職業人を問わず、現場である裁判を直接見に行こうというような、実際に行動を起こしている人間ほど、(実際には論理的で中立であるにもかかわらず) 結果として被告人を擁護する立場に近い位置で発言しているように見えます。

もっとも、結果論としてみるのであれば、個人的には被告の元少年が死刑判決を受けることになったとしても、それは致し方ないことであるとも思います。問題は、そうした結論を最終的に判定するのは弁護士でもマスコミでもなく、裁判官であるという事実から、意図的に目を逸らさせるような扇動的報道が、マスコミによってなされているということではないでしょうか。

司法制度というのは実に良くできたシステムだと、素人ながらに思います。あれは公正さを徹底的に追求したシステムであるといえます。原告側にも被告側にも、直接の心情的利害関係を持たない代理人を立てる権利があり、両者は各自の利益の正当性を主張しあうことに専念できる。そして裁判官もまた、両者の主張を単に秤にかけ、解決のための解を導き出すことに専念できる。

時に弁護士であれ検事であれ、自分ら側の主張の正当性を証明すべく、言論がテクニックに走ることもあります。特に弁護士においては、できるだけ多くの観点を提供すべく、無理なこじつけや、無意味に見える精神鑑定を行ったりもするでしょう。しかし小手先のどんなテクニックを披露しようが、最後に審理を下すのは裁判官です。外野はただただ審理が下るのを見届けるより他ありません。

最高裁判所裁判官国民審査での罷免実績すら持たない国民が、一殺人事件の担当弁護士ばかりに無意味な非難を繰り返していたんでは、そりゃー社会は良くならんでしょう。。。やれることは、いくらでもある。でもその前に、本当に興味・関心を抱いてこの問題に取り組みたいと思うなら、まずは自分で足動かして調べるのが先なんじゃね? という意味では、小倉弁護士の言う「素人は黙って…」という言葉には、残念ながら激しく同意できてしまうのです。

みんな表向きテレビを嫌っておきながら、テレビ的手法に慣れきっちゃってる。2007年09月29日 15時07分33秒

実は今週いっぱい風邪で寝込んでました。急に涼しくなりやがって。。。相変わらず季節変わりは身悶える弱いなぁ>ヲレ。

んで、鳩山法相 (弟くん) の死刑執行自動化発言、というよりはむしろキモは法相一人に死刑執行実施の判断を委ねちゃうのはまずくねっていう部分なんだと思う (というより信じたい) んだけど、そのニュースがらみではてぶとか漁ってたらこんな記事に出くわした。

引用のほうが長くて、結局のところ「こんなこと言うやつ馬鹿だね」、みたいなのって何に似てるって、ワイドショーのコメンテーターと大して変わらんのじゃないか。


実際は、ほんの少数の直接利害関係にある人間だけが問題についてこしこし調べなきゃいけなくて、大多数は関係ないわけだからワイドショー的なダメなヤツ、良いやつって分け方でも十分成り立つんだよなあ。

で、どの意見が表層に出るのかっていうと、ダメなやつ、良いやつレベルの大多数の人間の意見なわけで。

似たようなことを以前この辺の記事にも書いたのですが、ネット上で発信されている情報の多くは既に報じられたニュース記事に対する言及であり、それも予備知識や追加調査をほとんど含まない一言感想文程度のものがほとんどだったりします。急先鋒はもちろん今でも 2ちゃんねるだし、今でも多くのブログがそうなんでしょうが、最近ではそうした内容の軽いテキストは、はてぶのようなソーシャルブックマークや、Twitter のようないわゆるライトブログ、それから mixi のような SNS などへと移っていっているようにも思います。

もっとも、それではブログはメディアとして全然役に立っていないのかというとそういうわけでもなくて、例えばインタビュー報道で誤った内容が報じられた際に、その誤りを指摘し、訂正するためのカウンターメディアとして利用されたりしています (高木浩光氏とか、最近だと津田大介氏とか)。その他、有識者が記者を介さない生の声を一般に届けるためのメディアとしても利用されていますし、一方的な報道が行われている事柄に対して一部の注目されているブロガーが対立意見を表明することによって、ネット上の世論が踏みとどまるというケースもしばし見受けられます (最近だと essa さんによるナベツネが麻生を潰そうとしてるよってやつとか)。

もっとも、カウンターメディア的な役割や、対立意見の提示なんかは、主に週刊誌系のメディアを中心に機能としては存在しなかったわけではないとは思います。それでも、細かいことに対して言及する機会が得られにくかったのが解消されたのは確かだし、そういう情報がよりすばやく出せるようになったというのも重要なことだとも思います。

いずれにせよ、カウンターメディアだとか、生の声が、といったような話は、話題となる物事の当事者が享受するメリットであるように思います。そして、当事者間で行われているやり取りに、ブログを介して口を挟めるようになるには、それこそ超一流のアルファブロガー(笑)と呼ばれるぐらいに注目されていないことには、なかなか難しいんじゃないかということになります。

実際のところ、多くの事件、懸案、議論において、当初からそこに参加している当事者以外の人間が、そうした議論に加わること自体、必要なことではなかったりもします。マスコミが外野で騒いで、最終的にはマスコミが悲劇的に報じるような事態に陥ったように見えても、実は当事者の間では十分に議論が尽くされていて、最善の選択がなされている、というケースも少なくないんじゃないかと思う。

裏を返せば、多くの事柄において、マスコミがわざわざ介入して大衆の世論を動員するまでも無く、物事がすんなりと収まるケースというのが大半で、そういった物事についてまでわざわざマスコミがネタとして取り上げなけりゃならないのは、やっぱり情報を「話題」として「消費」するという現状のマスコミのビジネススタイルに端を発しているんではないかと思う。

よーするに、実際には「まじめに議論したい人」というのがそもそも少数派で、周囲の人とのコミュニケーションにおいて共有できる「話題」にニーズが求められているのが実情なんではないか。で、話のネタとして提供すべき話題のために、人件費費やして追跡調査を繰り返すような効率の悪いことをするよりは、とりあえず表層だけをなぞっておいて、質より速さと量で勝負したほうがいいってことになる。さらにそこに、人々が感情移入できるような話題性を盛り込むことさえできれば十分、ってわけだ。事件報道で被害者遺族の悲痛の声ばかりが目立って聞こえてくるのはなぜか? 事件に至るまでの経緯を糞真面目に追ったって、ウケる報道にはならないからだ。それだったら被害者の感情を表に出すような報道のほうが、取材するほうだって楽だし視聴者も感情移入できる。もとよりテレビ的な報道ってのは、ニーズに応える形で醸成されちゃったものなんだよ。

で、似たようなことはブログっつーかネット上でも言えちゃうわけだ。長文なんて読まないってのもそうだけど、長文ばかり書くようなブログでさえ、素っ頓狂で若い世代への偏見に凝り固まった内田樹みたいなのが耳目を集めたりするのは何でかって言えば、実際には言論の説得力以前のもっと表面的で下らない部分にニーズがあるからだ。設計に関する根本的な議論よりも CSS やら Javascript やらによる小手先の技のサンプルを集めたようなののほうがウケるのと同じだっ (嘘、ちょっと違う)。

んで、じゃあそういう現状が果たして好ましい状態なのかどうかって言うと、おいらは一概には結論を出せない。別に全員が真面目である必要なんてこれっぽっちもないと思うし、特定の物事に対して本気で興味・関心を抱いている人ならば、マスコミ・大衆のノイズをいともあっさり掻き分けて本質にまでいたってしまうものだろうし。それはネットのおかげで調べごとが楽になったとか以前の話で、そもそもそういう人間はマスコミ報道なんか頼らないで足使うだろうとかそういうこと。

むしろ、当事者の間で片付ければすむような話をわざわざ報道で取り上げて、さも全国民の問題であるかのように提起して見せることのほうが迷惑なケースも少なくない。光市母子殺害事件の裁判についても、少年法があるから極刑は免れるだろうという弁護側の油断っつーか怠慢が最高裁での逆転を招いたまではよいとしても、極刑を望む遺族の感情ばかりを扇情的に喧伝しまくることが、司法の現場における厳罰化を招いたり陪審員制度の導入につながったりする要因のひとつになっていたのだとすれば、これは果たして国民にとってより幸せな結果であったといえるのか?

逆に、マスコミによって報じられることが無ければ継続し続けることになっていた不幸、マスコミによって救われる不幸というのも無いわけではないとも思う。最近だと時津風部屋で行われていた虐待により力士が死亡に至った事件がそれに該当する可能性がある。「可能性がある」と書くのはその逆もありうるということで、例えばいじめによる自殺がマスコミによって激しく取り扱われ始めたころ、当時の海部首相によるポジショントーク「いじめは絶対にあってはならない」発言があったために、学校現場での隠蔽体質がより強まったというケースもあるため、この手の報道にも本来であれば慎重さが必要であるはずだということだ。

んで、ここでやっとネットというかブログの話に戻ってくるわけなんだけれども、実際のところブロガーはあくまでブロガーなのであって、必ずしもジャーナリストであるっちゅーワケではないと思うし、誰もがジャーナリストのように振舞う必要もこれっぽっちもないと思う。しかしかといって、現状のテレビ的マスコミのまねをして、扇情的話題に辛口コメントで星稼ぎに走る (あ、星ってもちろんはてなスターのことねw) のもどうかと思う。ニーズはあるだろうけど、民意の低いところでポイント稼ぎしていても、それが楽しいって言うんなら別にいいとは思うけど、少なくとも知的収穫は大して得られないんじゃないかなぁと。

で、かといって事あるごとに糞真面目に調べものして得た少ない知識でそれっぽいことを長文にしたためて、結果大した反応も得られなかったりもともと専門でやってる人にやたら恥ずかしい間違いを指摘されちゃったりということを繰り返すくらいなら、いっそのこと、自分が当事者になれるような話題に絞ってブログ書き続けるようにした方が実はいいのかも知れんね、とも思う。

ブログを書くならテーマを決めてやったほうがいい、っていうアドバイスはあっちゃこっちゃで言われているわけだけれども、その理由のひとつとして、上記のようなことまで考えに含めた上でそうアドバイスしているのだとしたら、そいつは頭いいなぁとも思う。確かに、もともと自分が得意なこと、得意じゃなくても興味・関心があることだけしか書かないって決めてしまっておけば、下らないテレビマスコミ的・ワイドショー的な記事に手を染めてしまうようなヘマも少なくてすみそうだし。