見出し画像

第197回: 『ソフトウェアテスト講義ノオト』と『ソフトウェアテスト技法ドリル【第2版】』

◀前の記事へ 次の記事へ▶


≡ はじめに

前回は、「CDプレイヤー」のテストケースの後編を書きました。

内容は、“「デシジョンテーブルや組合せ表は、テストケース一覧表に書くのか?」という疑問”に対する「いまいま」の意見でした。「作ってもよいけれど、めんどうでやり切るのが難しいから私は作らない」が結論でした。

コンテキスト依存の話ですので、「テストレベル/テストタイプ/テスト技法のいずれか、またはその組合せごとにテストケースをまとめること」が、いつでも最適解というつもりはありません。
でも、実際のところ、例えば「性能テスト」と「負荷テスト」は同時に検討し、他とは別のテストケース一覧表で管理すると上手くいきました。

こういうテストの全体設計が好きで上手な人をテストアーキテクトと呼んでもよいかもしれません。でも、私は一つひとつのテストケースを作る「詳細テスト設計」のほうが面白いと感じます。(テストの全体構造を良くすることの効果は大きいので、テストアーキテクトのような人がいるほうがよいけれども、1人の天才が考えるのではなく、テストケース一覧表を使っていて感じる不満(問題)を出し合って、みんなで知恵出しをするのでもよいかもしれません)

実は、この問題は、「自動テストをするときのテストケースは、何を残すのが良いか?(何も残さないで良いか?)」というもっと結論が出にくい問題や、「探索的テストではテストケースはつくらないけれど、探索的テストでバグが見つかったときには、そのテストケースは残した方が良いのでは?」という難しい問題に発展します。

理由は書きませんが、前者については「自動テストをするときには、テスト分析と設計を残すとよいです(コード上のテストケースをテストケース一覧表に管理する必要はありません)。
後者については「探索的テストでバグが見つかったときには、そのテストケースをテストケース一覧表に残す」とよいです。
要するに「後日、使うものを残す」という話です。

今回は休憩回です。前回の休憩回は2022年7月3日でしたので、約3カ月ぶりです。

以下では、ここ一年くらいかかってつくった本の話について書きます。宣伝回で申し訳ないのですが、このようなことは10年に一度あるかないかのことなので「まっ、そんな回もあるだろうさ」と暖かく受け取っていただけると幸いです。

たまに、「なんで本を書くの?」と訊かれることがあるのですが、出版前後のハイテンションになりたいからなのかもしれません。

「ハイテンション」と書くとちょっといい感じに聞こえるかもしれませんが、要は、「本を書くと、しばらくの間、気分が浮かれることができる」ということです。
“スターを取ったマリオ状態”といいますか、、、だんだん現実に戻ってくるのですが。



≡ スーパー編集者

9月に出版された『ソフトウェアテスト講義ノオト』に対して、編集をしてくださった「あにさん」が編集後記を書いてくださいました。

「あにさん」は、JaSST Review’20にて、講演された方です。ご講演資料にありますように、日科技連出版社の書籍のなかで近年出版された「ソフトウェア品質」をテーマにした本のほとんどを手掛けられたのではないかと思います。
なお、「ソフトウェア品質」以外の専門書として、統計や、品質管理、情報セキュリティ、内部監査等々の本も手掛けられています。

ご講演資料によりますと、以下の10冊はどれも「あにさん」が編集されたものとのことです。ソフトウェアの品質に興味がある人なら、読まれたことがある本が多いのでは?と思います。表紙の上下にラインがある本はシリーズ本とのことですので関連が深い本ということになります。

『ソフトウェアテスト講義ノオト』のほうには、ラインが入っていませんので、「あにさん」のなかでは、系列が違うのでしょう。

あにさんが手掛けた本の一部

それで、今回いただいたお話しですが、当初はドリル本の改訂版(改訂版とは、改版をバグ修正とすると、バージョンアップに相当するちょっと大きめの改訂のこと)でした。でも、上記の編集後記のとおり、結果として2冊手掛けていただきました。

本の執筆者をソフトウェアの開発者としたら、本の編集者はテスター(+レビューア)にあたると思っています。だからJaSST Reviewで講演されたのですね。
そして、「あにさん」は凄腕のスーパーテストエンジニア(かつ、凄腕レビューア)です。

ということで、改訂版のお話があった、2021年6月29日のときには、「あにさん」に編集いただけるのなら、簡単で楽な作業となるだろう……となめて・・・かかっていました。



≡ ソフトウェアテスト技法ドリル【第2版】

諸事情から、出版はこちらの方が後(2022/10/19予定なので、このnoteの公開の10日後)となりましたが、話の流れとしてはこちらが先です。「あにさん」のnoteの以下の「やり取り」部分がドリル本改訂版の話のことです。

noteの連載が終了するタイミングで、たまたま秋山さんとのやり取りがあったから

あにさんのnoteより

『ソフトウェアテスト技法ドリル』は、2010年10月1日に出版された本です。おかげさまで、6千冊以上お買い上げいただいているそうで、「ドリル本」という愛称で親しまれています。多くの方に読んでいただいて、本当にありがたいことです。みなさんありがとうございます。

そんなドリル本ですが、JSTQBのアドバンスレベルのテストアナリスト試験にテスト技法の問題が出ることもあってか、出版から12年が過ぎたいまでもポツポツと売れているそうです。

多くの出版社では、12年も経ったら、ベストセラーでもない限り絶版になると思います。テスト関係で言えば15年位前の日経BPの本に入手困難なものがありますよね。

昨今では、電子書籍化のおかげで紙の書籍は絶版しても、そのコンテンツは読むことができるようになりましたが、それでも、紙の本しかなく、古書サイトでも入手できない書籍もまだまだあります。(専門書に多い?)
その点、日科技連出版さんは在庫切れすることなくご提供いただけるのでありがたいです。
専門書を取り扱う出版社ならではのビジネスモデルと思います。

ところで、3,000円を超える本が安くないことは、私も理解しています。

上記のツイートに同感ですし、私も本の値段を気にしなくなったのは、40歳を超えてからでした。

実は、今でも、古書で2万円を超えると読みたい本でも買うのを躊躇します。『ソフトウェア病理学』という本が数年間ずっと2万円を超えていて買えませんでした。
昨年ようやく1万円を切った出物があったときに買いました。
今チェックしたら4,015円でした。orz

本は買うタイミングが大切ですよね。今は、『新版品質保証ガイドブック』に30,078円と高値がついています。引退したら、あこがれのセドリ師かハタ師になろうかしら? ← 無理です。
逆によい本なのにタダみたいに投げ売りされている本もありますよね。
ちょっと探してみたら、『ソフトウェア品質管理事例集』、196円ですって!(広辞苑くらいの大きさだから、クリックする前に深呼吸を!)

Twitterとかを眺めていると「(参謀を気取るひとは)正しいことを言えば正しいことが広まって世の中が良くなると思っているんじゃない?」って何度も教えてくれます。

その度に「ああその通りだ。自分なんて何もできない」っていつも思います。だから、いろいろやってみたいと……。

それはさておき、今でもポツポツお買い上げいただいているのなら「あにさん」のいうとおり、内容の不備(事例が古い、リンクが切れている等々)を直すほうがいいよねと思い、改訂版をつくることにしました。

ただ、当初は、「演習問題のネタに使った個人情報保護法などの法改正への追随と、ALTAのシラバスの範囲のテスト技法で初版に入っていない“クラシフィケーションツリー技法”を増やす」ことだけを考えていました。

そう考えたので、『休日1日使えば十分だろう、多くても2日あれば十分かな』と思っていました。

結果としては、以下の改訂作業をしました。

≪改訂版の7つのポイント≫

① クラシフィケーションツリー技法とGIHOZの紹介
② 本文の事例や章末の演習問題の一部差し替え
③ 本文が増えてもページ数を維持するため、演習解答例をダウンロードに変更(これは、出版社さんが頑張っただけで私は何もしていません)
④ 細かな標準への準拠(デシジョンテーブルのY/N/Xなど)
⑤ 参照URLの修正と、出版当時に参照した元データの情報更新への追随
⑥ 専門用語をシラバスに合わせる(同値クラスを同値パーティションに変更するなど)
⑦ 日本語の問題の修正
 (日本語の誤りについて、「あにさん」から多くの指摘を受けて「まだあるのかよ!」と思いました。
一番驚いたのは、“Google Chrome”を“Google Chorome”って青ドリルのときからずっと書いていたことです。……そういえば、最初「チョロメ」って覚えたことを思い出しました。)

こう書き出してみても、大した変更には見えません。
多くの読者には表紙の色が変わったほうがインパクトが大きいかもしれません。表紙(正確にはカバー)を色違いにしようというのは、「あにさん」のご提案です。ナイスアイデア。

ちなみに、本をつくる工程の中で、出版社につくっていただいた表紙を見るのが一番テンションがあがります。今回、ノオトの方では、複数の表紙サンプルから選ばせていただくこともできたので、よりテンションがあがりましたし、愛着がわきました。

青ドリルから赤ドリルへ

上に書いた「改訂版の7つのポイント」の一つひとつはどれも簡単なものです。
でも、例えば、「Windowsのバージョンアップによって、ウィンドウの枠のイメージが変わったので、画面をキャプチャーし直す」という地味な作業がありました。
さらに、アプリケーションがバージョンアップしているところは、本文を変える必要がありした。

他にも、「あにさん」から、「組合せテストで、OSの水準として“XP, Vista, Windows 7”となっていますが、そのままでいいですか?」と指摘を受けて、、、。

いや、それは変えたい。 by あきやま

と、、、。
実のところ、XPをやめてWindows 11に変更しても、テスト技法の説明としてわかりやすくなるわけではありません。
でも、そのままにしていたら読者に対して不義理な感じがします。

他にも、この機会に、メールサーバー名の“abc.fujixerox.co.jp”だって変えたい。あれも、これも、、、と気が付くとたくさんの修正がありました。ページ数が変わりますし、用語の追加もありますから、編集者のかたは目次や索引も見直さないとなりません。

用語でいえば、「“例外処理シナリオ”と“例外シナリオ”はどちらが正しいですか?」と「あにさん」に聞かれたことがあります。
、、、。「どちらでも、、、修正が楽なほうで良いですよ」と私が返事すると、「修正の手間よりも、ふさわしい言葉を選んでいただくほうが良いです💢」(「あにさん」は紳士ですのでこんなマークはついていませんでしたが)と。
ハイ、私が間違っておりました。🙇‍♂️

図表については、変えるといっても、当時の図表の元データが残っているわけもなく、作り直すものもありました。また、HAYST法のツールは試用版のセーブ不可のものしか持っていないなか、総当たり表をキャプチャーするためだけに頑張りました。
一部は編集の「あにさん」に泣きを入れて勘弁してもらいました。😅



≡  ソフトウェアテスト講義ノオト

「ASTERセミナー標準テキスト」についてのnoteの連載が終わったのは、2021年7月5日のことです。
(おまけのCFD法を含めてマガジンが終わったのは、2021年9月13日です)

ドリル本の改訂版のお話をいただいたのは6月です。
タイミング的にちょうどよかったということがあります。当初ドリル本の改訂作業は1日で終わると思っていました(……ナスDかよ)ので、“折角、書籍化していただけるのなら、“ドリル本”よりもnoteの連載の方をしていただけたらいいのに”と思って私からお願いしました。

ノオトの企画を通してもらったのは8月でした。


■ 『ソフトウェアテスト講義ノオト』とはどういう本か?

ノオトの作成コンセプト(こんなふうに読んでいただける本になったらうれしいな)は、以下の通りです。

ウェブサイト(note)を読むよりも、本で読んだほうがわかりやすく、学習しやすい

「ASTERセミナー標準テキスト」を用いて、ASTERセミナー(という名のセミナー)をするときに、私は何を説明しているのかについてコツコツと、SNSのnoteに書き溜めたのはいいものの、2年間で102本の記事(それも3,000文字を超える記事が多い)ともなると、「このnoteを読むといいよ」と気軽に勧められるようなものではなくなっていました。次の記事へのリンクさえ張っていませんので通して読むことすら困難なものとなっています。
そこで、サクッと簡単に読めて、正しいことが載っている本が欲しかったのです。

できあがった本はこちらから数ページ試し読みをすることができます。

出版に合わせてnoteを削除(あるいは有料に)する案もありました。でも、noteはnoteで、
  「テストのキーワード note  akiyama924」
でググるという使い方(みわさんのツイートで気がついた)が割と便利ですので、残すことにしました。

タイトルについては、「あにさん」のnoteに書いていただいたとおりです。

思い出深かったので、自分もツイートもしました。

『ワークステーションのおと』は、『選りすぐりワークステーションのおと』として、出版されているのですが、今読むとハード関係の話の方が多いような、、、あれ? あれっ??


■ 本づくりの苦労

最初は、noteのURLをお渡ししたら、いい感じに編集されて本ができるに違いないと思っていました。

しかし、そうは問屋が卸しませんでした。
まず第一に、本にするためには、noteを圧縮しなければなりませんでした。「あにさん」のnoteに書かれている

noteをすべて使うと320ページに上る。これを200ページまで圧縮してる。この荒技は、秋山さんとIの共同作業だった。

「あにさん」のnoteより

のところです。

日科技連出版のA5サイズの本は、1ページ35文字×28行=980文字です。
200ページの本なら約20万文字です。
(図表があるから実際には、文字数はもっと少ない)

一方で、noteの「ASTERセミナー標準テキスト」マガジンは、3,000文字×102本として、30万文字です。ざっくりいって、3分の2に圧縮する(33%削減する)必要がありました。

「あにさん」からは何度も「圧縮して役に立たない本を作っても仕方がないので、無理はしないでくださいね」と、ありがたいお言葉をいただきました。
でも、私としても、そもそも、「この本を読むといいよ」と気軽に勧められるようなものが欲しかったわけです。
この点において、出版社と私のゴールは一致していました。

そこで、まず、noteから、おまけのCFD法を削除し、次に、「ASTERセミナー標準テキスト」の5章と6章部分をカットしました。5章と6章の目次は以下のとおりで、この2つの章も大切なものですが、5章は、2章の「ソフトウェア開発ライフサイクル全体を通してのテスト」で基本を学べますし、6章のツールの話はJSTQBのFLシラバスを読んでいただければ十分と考えたからです。

なお、もし、本書が爆発的に売れたら、5章と6章とCDF法の範囲で続編をだしてもいいかなと思います。
あくまでも売れたらなので、みんなで買おう。(笑)

それで、第1章から第4章で70記事ですので、33%削減とはいかないものの、30%削減は実現できました。残る3%は、I氏が1つのWordファイルにまとめてくださったnoteから冗長な部分をカットして違和感なくつなげる作業をしました。30万文字の3%ですから1万文字くらいのシェイプアップです。

さて、シェイプアップ作業ですが、こちらの最終ページに書いたとおり、各noteの記事はすでに、5,000文字程度の書きなぐりの原文を3,000文字にシェイプアップしたものです。(原文がどんなものかというと、今回の記事はシェイプアップしないで、そのまま公開するので、「こんなに冗長なのかー」って感じ取ってください。今回の記事は8899文字です。これをいつもは、3000文字を目標に圧縮しています)

あきやまのnoteの書き方
 ⚫火~金:ネタをメモ
 ⚫土:ガッと書く(2時間、5000文字目安)
  • 一晩寝かせる
 ⚫日 • スマホで推敲してスリム化を1時間
   (3000文字程度、短文化、括弧と助詞)
   • 裏付けとリンクを1時間
   (JSTQB教科書やSQuBOK V3を読む、年号確認や、参照先をリンク)
 ⚫月:公開←今は日曜日の朝(日曜日の午後にガッと書いて土曜日に推敲するルーチンに変わりました)

もっとも、乾いた雑巾を絞った気でいても、余計なことが書いてあるから「このnoteを読んで」と勧められないわけです。

「あにさん」からは、「冗長な箇所に、秋山さんの文の味があるから」となぐさめていただきました。
でも、それを求める稀有な読者がいたとしても、そのひとはnoteをお読みいただいている気がします。

シェイプアップ作業は、当初、編集者にお任せする気満々だったのですが、よく考えたら、それは編集者のかたにソフトウェアテストの知見を求めることになります。
編集者のI氏から削除個所の候補はいただいたものの、何を切って、どう話をつなげるかは自分がするしかありません。

Iさんとは、「ページ数が余ったら『テストガールRINA』をコラム的に入れちゃおう」と、楽しいたくらみをしていたのですが、それは叶わず25ページにQRコードを載せるのが精いっぱいでした。
あと、ASTERセミナーテキストの図を全て本に載せるとスペースを取るのでページ数が足りなくなります。そこで、無くても読み進めることができそうなページはQRコードを置いてお手元のスマホなどで表示してもらうことにしました。(苦肉の策ってやつです)


■ 初校

ひととおり原稿が出来ると、“本のレイアウトになって、2in1でA3用紙にプリントされた校正用の原稿”が「あにさん」から郵送されてきます。これを【初校】といいます。
テストで言えば統合テストのようなものです。初校を読んで赤入れします。
と言いますか、「あにさん」が赤入れしたものが届きますので、「あにさん」の赤入れ箇所を了解する作業を繰り返します。

ごく稀に「あにさん」の赤入れに納得がいかないときがあるのですが、そのときにはかなり慎重にお返事します。何故ならたいてい私が間違っているからです。

今回で言えば「封筒を秤に乗せる」と書いていたところを「載せるでは?」と赤入れが入り、辞書を引いたり、ググったりしました。

世の中には推敲が好きな作家がいるようですが、私は自分の原稿を読むのはあまり好きではありません。


■ 再校

【初校】が終わってしばらくすると、【初校】で見つかった欠陥が直った【再校】が、届きます。「あにさん」は仕事が早いので、再校は割と早く届きます。

【初校】と【再校】はそれぞれ、1週間程度の納期で返送するのですが、届いても『土日にやればいいや』と、封筒を開くこともありません。←ひどい

土曜日になると、『明日やろう』と思い、日曜日になったらなったで、プリキュアを見終わったら、ちょっと横になってお昼を食べて、、、。
ということで、開封するのは日曜日の午後です。

それから200ページくらいのチェックをするので、終わるのは夜中になります。で、月曜日の朝にセブンイレブンで宅配を送り出すと『ああ。今日の仕事は終わった』という気分になります。

でも会社があるので、乾杯🍻とはいきません。


■ 本づくりの楽しみ

ここまで読まれて「本を書くのは大変そうだ」と敬遠されるのは本意ではないので、“大変ななかにも楽しみはあるよ”という話を最後に書こうと思います。

上にも書きましたが「表紙が決まる瞬間」が一番テンションが上がります。ノオトでは、複数のサンプルをいただき、さらにフォントの調整やジグソーパズル内の言葉の選択に関与することができました。

次は「見本誌が届いて手に取ったとき」かな。重み・厚み・手触りなど物理本ならではの感動があります。

あとは、読者さんの感想ブログやブクログやAmazonなどの書評、Twitterでのメッセージなどなど、とてもうれしいものです。まだないけれど。



≡  おわりに

今回は、2022年の9月と10月に続けて出版された私の本について書きました。宣伝になったかな? あ、URLを張っていませんでした。

そうそう、印税の話を書いていませんでした。気になりますよね。

だいたい、10%が印税として著者に届きます。3,000円の本なら300円です。仮に1万冊売れたら300万円ですが、私の中で一番売れたドリル本でも12年間で6,000部です。一方で、noteを1本書くのに4時間かかります。今回70本分がノオトになったとして、280時間です。本にするのにかかった時間も加えたら400時間は軽く超えるでしょう。ということですので、印税で御殿を建てた作家はすごいなあと思います。

さて、次回は、本編の「ソフトウェアテストしようぜ」に戻って、ウェブアプリのテストについて書きたいと思っています。まずは、GIHOZのテストを考えてみようと思います。

◀前の記事へ 次の記事へ▶


この記事が気に入ったらサポートをしてみませんか?