技と術と芸で考えるソフトウェアテスト

このエントリーは、「Software Test & Quality Advent Calendar 2011」の12/23分として書いています。

前日の12/21は、@takanorig さんによる「JaSST 10th Anniversary」でした。

僕は普段はソフトウェア開発とそのマネジメントをしていますが、ソフトウェアテストに関する活動・勉強会をしています。その中で「WACATE」と呼ばれる若手テストエンジニア向けのワークショップの実行委員をしています。今回のエントリーは、昨年のワークショップで少し話をした「技と術と芸」について個人の考えとしてまとめたものです。

同値分割やデシジョンテーブル、直交表などを一般的にはテスト技法と呼びますが、「技法」ってなんだろう? とふと思ったのがきっかけでした。そして、技法、技、技術、・・・、といろいろな言葉を調べていて、「技」「術」「芸」の3つについて自分の中での定義を作り、ワークショップの最後に発表しました。

※もともとはウィキペディアに記述されている定義を参考にしています。

まずは技(わざ)。

Waza

技(わざ)とは、「特定の目的を持ち、その目的を果たすための手段・手法」、である。絵にもあるように、関節を攻めるための関節技のように、具体的な目的・標的があって、それを実現する手段である。逆にいえば、目的が合致しない場合はその技は効力を発揮できない。テスト技法と呼ばれるもののいくつかは、この「技」に分類できるのではないか。

次は術(じゅつ)。

Jutsu

術(じゅつ)とは、「技を体系的にまとめ、改変が施されて流派に分かれたり、統一されたすべ」、である。技よりもより体系化・フレームワーク化・パターン化されたり、いくつもの技の連なり・組合せを表すのではないか。テスト技法でいえば、テスト条件を同値分割を使ってグループ分けし、その境界値を狙う、といったものが当てはまる。戦術、あるいは戦法といった言葉に近づくイメージである。

最後は芸(げい)。

Gei

芸(げい)とは、「個性的・独創的で継承することが困難だが、作品を確認することで業績を知ることができる技能
、である。結果については驚異的であり、劇的であり、感動すらありうるが、途中のプロセスはやや隠ぺいされているため、真似ることや教えること、説明することが難しい。当人にとっては理論的だが、それらの一部に飛躍が多いのかもしれない。

==

この3つについては、ある種の状態遷移というモデルが当てはまるのではないかと思いました。

Stm

「技」は鍛錬によって使い手のスキルとして身についていく。そして、「技」は体系化という行為によって「術」に変わる。技を覚えるだけでは、実践では役に立たない。それらを適切な場面、標的に使うことではじめて武器になる。また、「術」は使い手が日々磨きをかけていくとともに、アプローチの違いや特徴を持ち始め、流派が生まれることがある。

また、「技」は突如、独創性や直感的なエッセンスを得ることで「芸」に変化する。誤解を恐れずに言えば、突然変異かもしれない。そして、「芸」の驚異的な結果をどうにかして使いたいと思う。そのためには、「芸」を分析して、特定の切り口が解明されてくると、それはツール・道具となり、状態は「技」になる。

他にも遷移はあるかもしれないが、こういった「技」「術」「芸」の移り変わりがあってこそ、新しい考え方や概念が生まれ、ソフトウェア開発の質が向上し、ひいてはユーザへの価値が高まるのだ。

テスト技法やテスト手法を学び、プロダクトの品質を向上させつつ、こういった「技」「術」「芸」を磨くことも忘れてはならないなあと感じました。

| | コメント (5) | トラックバック (0)

WACATE2011 夏 ソフトウェア品質にこだわるエンジニアはぜひ!

若手テストエンジニアと銘打っていますが、実は開発者(設計、プログラミングするエンジニア)も多数参加する「WACATE」。6月のワークショップの〆切が5月末ということなので、ソフトウェアテストのみならず、サービスや製品の品質に興味のある方はぜひともご参加ください。

クロージングセッションの森崎先生のお話も楽しみですが、2日目の細川さんのモーニングセッションも期待。朝からどんなテンションになるのだろうか!

また、夜の分科会ではワークショップでは取り上げない話をお酒を交えながらディスカッション!濃い話が分科会の真骨頂!


WACATE2011 夏 ~誰がためにレポートはある~
http://wacate.jp/2011/summer/gaiyo.html

参加申し込みページ
http://wacate.jp/entry/

WACATEとは?
http://wacate.jp/about.html

| | コメント (0) | トラックバック (0)

[イベント]WACATE 2009 冬 ~基礎・おぼえていますか~ 参加申し込み開始

年2回開催される「WACATE」が今年の12月に開催です。定員は48名ですが、前回は60名の応募があったので、すぐに満席になるかも?

 WACATE 2009 冬 開催概要

 参加申し込み


開催概要

WACATE 2009 冬 ~基礎・おぼえていますか~【主 催】 WACATE実行委員会
【日 時】 009年12月12日(土) 9:00 受付開始(予定) 2009年12月13日(日) 16:30 終了(予定) (1泊2日 4食付き)
【会 場】 マホロバ・マインズ三浦 神奈川・京浜急行三浦海岸駅徒歩5分
   http://www.maholova-minds.com/


協賛(予定)
NPO法人 ソフトウェアテスト技術振興協会(ASTER)


合宿費
35歳以下(若  手):¥22,000
36歳以上(ベテラン):¥25,000

※宿泊費、宴会費、13日朝食、12日13日昼食、会場費、印刷費、その他運営にかかる事務費含む(キャンセル不可)


プログラム
12日9時受付開始(9時30分開会)、13日16時30分ごろ終了予定です。プログラム内容の詳細につきましては、WACATE-Webに随時掲載&更新していきます。

http://wacate.jp/2009/winter/program.html


参加募集人数
先着合計48名を予定しています。


参加にあたってお持ちいただくもの
・合宿費(受付時にお支払いいただきます)
・筆記用具一式(演習などで使用します)
・予習に利用した書籍や論文、参考となる情報
・名刺(受付時の本人確認と当日の参加者交流のため)


問い合わせ先
WACATE2009 冬 についてのお問い合わせは以下にお願いします。

 query@wacate.jp


実行委員会
実行委員長
 池田  暁 (日立情報通信エンジニアリング)

副実行委員長
 山崎  崇 (WACATE実行委員会)

実行委員
 安達  賢二(WACATE実行委員会)
 奥村  健二(WACATE実行委員会)
 加瀬  正樹(WACATE実行委員会)
 加文字 諭 (電気通信大学大学院)
 川西  俊之(WACATE実行委員会)
 河野  哲也(電気通信大学大学院)
 小山  竜治(WACATE実行委員会)
 澤田  悠介(WACATE実行委員会)
 武市  喜博(WACATE実行委員会)
 西   康晴(電気通信大学)
 坂   静香(WACATE実行委員会)
 村上 くにお(WACATE実行委員会)
 森   孝夫(WACATE実行委員会)

アドバイザ
 猪股  宏史(WACATE実行委員会)
 原  佑貴子(WACATE実行委員会)

| | コメント (0) | トラックバック (0)

[本]ディペンダブルシステム、数学のロジックと集合論

週末丸善で購入。

最後のほうに「テスト技術」というのがあって、そこが目当てでしたが、なかなか面白い。基本的にはソフトウェアというよりはカードとか回路とか、そういう世界の話で難しいが、少しずつ読んでいこうと思う。静的マスクはコスト高いなあ。自分が扱ってるシステムは基本動的マスクかつフェイルセーフかな。


こちらはZ言語を勉強する第1弾として、集合論を復習したかったので購入。培風館は大学の頃よく買ってましたね。本当は例題、演習を解きながら読んだほうがいいのだろうが、すっかり頭が鈍ってます。

==

[2009/04/09追記]
「数学のロジックと集合論」の正誤表・補足はこちら

| | コメント (2) | トラックバック (0)

ソフトウェア品質技術者資格認定(SQuBOKベース)

12月にソフトウェア品質技術者を対象とした資格試験がはじまるようです。

新設!!ソフトウェア品質技術者 資格認定制度
~ソフトウェアの品質技術を高め、継続的・効果的に品質向上を目指す~

ソフトウェア品質技術者資格認定制度について

ソフトウェア品質技術者資格制度は、初級、中級、上級の3段階の資格により構成されます。
初級の初回試験を下記のように実施します。
来年度以降は、毎年5月と11月に定期実施予定です。
中級、上級の試験については順次新設して行く予定です。

実施要領

ソフトウェア品質技術者 初級資格試験

  • 複数の選択肢から正解を選ぶタイプの問題です。

  •  40問出題されます。合格ラインは非公開です。
  • 試験時間は60分です。

  • 出題範囲はシラバスに準拠しています。

  •  シラバス内には、学習目標/知識のレベルを設けております。


    対象

  • ソフトウェア開発に関わるエンジニア、品質保証エンジニア、マネージャ

  • ソフトウェア品質向上を目指すすべての方々

  • 試験概要


    第1回 ソフトウェア品質技術者 初級資格試験

    開催日
      2008年12月19日(金)

    開催地域
      東京

    会場
      財団法人 日本科学技術連盟・東高円寺ビル
      ※会場につきましては、申込後にお送りさせていただく、実施要項にてご確認ください。

    試験料
      10,500円(税込み)

    申込
      受験をご希望の方はメールのタイトルに「SQiP資格試験受験希望」のメールをsqip@juse.or.jp宛にお送りください。SQiP担当よりメールにて受験の申込書をお送りさせていただきます。

      申込期間は10月24日~12月5日を予定しております。
      ※ただし、今回初めての試験となりますので、会場人数によりお申込できない場合があります。予めご了承ください。


    主参考図書としては昨年出版されたSQuBOKガイド、副参考図書は今年発売された保田氏・奈良氏のソフトウェア品質保証入門です。資格試験に挑戦しないまでも、2冊は手元においておきたいですね。



    | | コメント (0) | トラックバック (0)

    [本]ピアレビュー―高品質ソフトウェア開発のために


    ピアレビューとは「同僚による査読」であり、品質向上のためのツールのひとつ。この本はタイトル通りこの「ピアレビュー」をテーマにした1冊。その中でも「インスペクション」と呼ばれる公式レビューについての解説が厚い(第4章~第9章)。公式レビューは、概要説明、準備、インスペクションミーティング、修正、フォローアップという5段階を踏み、モデレータや記録者、読み手という役割が必要となるが、それに見合う欠陥検出効果が見込めるという。実際には、プロジェクト計画において品質目標、規模などを考慮して公式レビューを取り入れるのかどうかを見極めることになるので、必ずしも公式レビューである必要はない。とはいえ、こういう手法を知っておくのはいいことだ。

    第4章でも言及されているが、インスペクション(準備をしてミーティングによって欠陥を指摘する)がどれほどの効力があるかについては議論の余地があるようです。この本以外の書籍についてもあわせて読むことを薦めたい。たとえばソフトウェア・テストPRESS vol.2でインスペクションについての記事が載っている。また、ドロシー・グラハムのソフトウェアインスペクションも読んでみたいな。

    | | コメント (0) | トラックバック (0)

    [サイト]エキスパートが薦める、夏期休暇に読んでおきたい書籍 - テスト/品質保証編

    思いがけずにこんなサイトを発見。

    【レポート】エキスパートが薦める、夏期休暇に読んでおきたい書籍 - テスト/品質保証編

    間もなく夏期休暇。まとまった休みを目前に控え、余った時間を知識に変えるための良書をお探しのエンジニアも少なくないだろう。本誌では、そうしたエンジニアの要望に応えるべく、数回にわたり、各分野のエキスパートが薦める書籍を紹介していく。

    今回、推薦を依頼したのは豆蔵 シニアコンサルタントの大西建児氏。10年以上にわたって品質保証活動に携わり、NPO法人 ソフトウェアテスト技術振興協会や財団法人 日本科学技術連盟のSQiP(ソフトウェア品質委員会)で活躍する同氏から、ソフトウェアテスト/品質保証の分野でお薦めの書籍をピックアップしてもらった。

    豆蔵の大西氏による、品質保証・ソフトウェアテスト分野の「夏に読もう」的な書籍紹介。

    ソフトウェアテスト293の鉄則
    by Cem Kaner, James Bach, Bret Pettichord
    日経BP社

    単行本
    定価:¥ 2,520
    価格:¥ 2,520
    中古:¥ 1,600(Amazonマーケットプレイス)
    売り上げランキング: 67612位
    ひゃ~まだ読んでない。どこかしこでもオススメ本として紹介されてますね。


    ソフトウェア品質保証入門―高品質を実現する考え方とマネジメントの要点
    by 保田 勝通, 奈良 隆正
    日科技連出版社

    単行本
    定価:¥ 2,940
    価格:¥ 2,940
    売り上げランキング: 32074位

    品質保証とは何たるかをABC的に教えてくれる良本です。僕自身も帰りの電車を待ってる間と電車の中で読みました。コンパクトさでいうと「293の鉄則」よりも持ち運びやすいと思います。感想については詳しくは、こちらを。
    ゆとりの法則 \x{ff0d} 誰も書かなかったプロジェクト管理の誤解
    by トム・デマルコ
    日経BP社

    単行本
    定価:¥ 2,310
    価格:¥ 2,310
    中古:¥ 950(Amazonマーケットプレイス)
    売り上げランキング: 6763位
    トム・デマルコの「ゆとりの法則」。見た目もそうだし、内容もそうだし、これが一番夏休み図書っぽい。ゆるゆるとまではいかないが、読み終えて少し時間を置いて頭の中で発酵させてから実践する、という意味で。


    ステップアップのためのソフトウエアテスト実践ガイド (日経システム構築)
    by 大西 建児
    日経BP社

    単行本
    定価:¥ 2,940
    価格:¥ 2,940
    中古:¥ 1,235(Amazonマーケットプレイス)
    売り上げランキング: 25056位

    個人的にはデスクにおいておきたい一冊ですが、実践的・泥臭い内容、著者の経験が読み取れる本ですね。


    | | コメント (0) | トラックバック (0)

    レビュー設計

    TEFの過去ログを1から見直そう、という活動が若手テストエンジニアの何名かで行われてます。僕のその「探検家」の一人ですが、今日は「レビュー設計」という言葉を見つけました。(設計レビューではないです)

    テスト(あるいは動的テスト)という大きなアクティビティでは「分析」「計画」「戦略」「設計」「実装」「評価」というステップがありますが、レビューについてはそういったステップわけというをあまり聞いたことがありませんでした(ググってもあまり見かけないのでこの感覚は一般的かも)。過去ログを読みつつ、もんもんと考えていて、いくつか記事の中にもあったキーワード・ポイントを自分なりに整理してみました。

  • レビュー設計とレビュー指摘項目とガイドライン


  • テスト設計というのは分析した結果を元に、たとえば、ここでは論理が複雑なのでデシジョンテーブルを使おう、そこでは状態遷移が複雑なのでk-スイッチテストを使おう、といった戦略をより詳細にブレークダウンしたもの。レビューというアクティビティも同型だと考えると、たとえば、このコードについてはメンバー内ピアレビューで、このドキュメントはインスペクションで、このコード群はコミット後コードレビューもやろう、といった作業かなと。レビュー指摘項目は、より細かい勘所という意識で「変数参照に着目せよ」とか「入出力周りに着目せよ」など。ガイドラインはどちらかというと「心構え」なのかなあと考えました。

  • レビューと検査の違い


  • 検査は問題を指摘することで、レビューは知恵を出し合う場・議論、という考え方があった。これについては自分の中の定義と少しギャップがあった。もしかしたら、広義のレビュー=検査(問題を指摘し、議論・解はのちほど)+狭義レビュー(プレゼンテーションとディスカッション)、みたいなイメージのがしっくりくるかな。

  • 指摘本位とディスカッション本位


  • 「限られた時間で問題をどんどん指摘してもらう」という考え方と、せっかく知恵袋が集まってるんだから、レビュー対象(やレビュー対象作成者)を練って練って練りまくるという考え方。目的には違いがあるが、レビュアーの限りある時間を頂戴する=効率よく目的を達成させる、という前提は一緒か。前者は短期的な視点(このプロダクト・プロジェクトでの品質向上)で、後者は中期的な視点(このプロダクト・プロジェクトも品質向上させつつ、ディスカッションによる参加者の品質?向上)だろうか。


    ブラックボックスレビューとかホワイトボックスレビューとか、いろんな用語をs/テスト/レビュー/gにしてみたらどうなるかな。

    # ちなみに過去ログ連番だと「4098」あたりの話題。
    # 全部見終わってないので、この続きがまだあるのかもしれない。

    | | コメント (0) | トラックバック (0)

    [本]ソフトウェア品質保証入門―高品質を実現する考え方とマネジメントの要点

    著者のお二人は日立製作所で実務を経験され、保田氏は現在つくば国際大学で教べんをとり、奈良氏はソフトウェア開発のコンサルタント業をされている。奈良氏は先日の「ソフトウェアテストミーティング2008」での基調講演を聞かせていただきました。

    第1章ではソフトウェアの品質・品質保証について書かれており、ソフトウェア品質の考え方をモデル化した説明、ソフトウェアの4つ(あるいは5つ)の特質、欧米と日本の品質の考え方の違いなどが丁寧に解説されている。不良低減のための方針を表した図は、なるほど、と自明ではあるものの「作り込み不良低減」「不良の早期摘出」という2つのベクトルがとても印象的。

    第2章では品質保証部門ではなく開発部門の視点に立ち、前述の「作り込み不良低減」の努力について解説している。DR(デザインレビュー)については問題点があげられており、限られた時間で、できるだけメンバーに多くの指摘をしてもらう、DR終了後の徹底的なフォローが必要、といった指摘があった。自身のレビューを振り返るいいネタになりそうだ。

    第3章は出荷後の品質保証活動について、第4章ではいわゆる静的・動的テストに関するテスト戦略・技法などについて網羅的に解説されている。ここでは技法紹介に加えて、「評価」についても言及されている。「測る」ことの重要性を再認識させられる。

    第5章、第6章では人材育成・求められる品質保証というテーマが、より広域的な視野で語られ、本書は締めくくられている。

    機会があったら、今度は保田氏の講演をきいてみたいなあ。

    | | コメント (0) | トラックバック (0)

    [サイト]特集 Happy Testing Perl

    トラブルをきっかけに、”メンテ”イップスに。なりたくないねえ。

    ==

    仕事の中であまりperlは扱わないのですが、

    特集 Happy Testing Perl by 技術評論社


    この特集では,TAPをはじめとしたPerlプログラミングにおけるテスト手法を解説します。ここで紹介するモジュールはどれも実践的なものばかりです。ぜひ皆さまのプログラミングの際に活用してください。

    Happy testing!!

    テスト系の連載が増えてきた気がします。

    | | コメント (0) | トラックバック (0)

    より以前の記事一覧