この記事を書いている動機
Twitterである方が「ほとんど専門外だけどもっとテストのことを知りたい」みたいなことを書かれているのを見かけて、最初はその人に直接リプライしようかと思ったのですが、もしかしたらガチの初歩からテストの勉強したいって人は他にもいて、意外に需要あるのかも?と思ったのでブログとして書くことにしました。
目次はこちら。ガチの初心者の方でもわかるような資料を選んでいます。
テスト入門にちょうど良さそうなスライド(手前味噌含む)
まず、テスト入門にちょうど良さそうなスライドをご紹介します。
完全なる手前味噌で申し訳ないのですが、私が過去に勉強会で喋った時のスライドがこちらです。
何を書いた資料かというと、僕がQAこと品質保証部門に配属されて入社3年目までにどんな失敗をしたか、どんなことを学んだかを書いています。
自画自賛ですが、実体験ベースで書いているので読みやすいしわかりやすいように思います。巻末には参考文献もつけています。
こちらはFusicのリナさんが勉強会で発表された際の資料です。僕は実際にこの発表を聞いたことはないのですが、ソフトウェアテストについて全体感をさらうにはちょうど良い資料だなと思いました。有名な三角形の例題もあり勉強会向きの資料だと思います。個人的には「テストの7原則」はぜひ色々な人に読んでほしいです。
テストをやることになった新人が読むべき最初の記事
さて、ちょっと趣向を変えまして次は「テストをやることになった新人が読むべき最初の記事」です。
この記事を執筆されたのは、テスト入門書として名高い「ソフトウェアテスト入門 押さえておきたい<<要点・重点>>」や「マインドマップから始めるソフトウェアテスト」を執筆されている鈴木三紀夫さんと池田暁さん。ストーリー仕立てとなっており、実際にテストの仕事がどのように進んでいくのかイメージしながら読み進めることができます。
しかしネットの記事と侮ることなかれ、要所要所に重要なポイントが散りばめられているので、素直に読んで実践するだけでもテスト業務の改善に効果が期待できると思います。
この3冊は必読。しかし最初から全てを読まなくてもいい
以下の3冊は、ソフトウェアテストの仕事で食べていこうと思っているなら必読も必読。読んでないとかちょっとありえないですよね、というレベルです。個人的には。
とは言っても、やはり書籍となると1冊読み切るのは大変です。僕は「マインドマップから始めるソフトウェアテスト」を読み切るのに最初1ヶ月かかった記憶があります。なので、読んでいる途中で飽きてしまったり積んでしまう気持ちもわかります。
何はともあれ「第1章(導入部)」は絶対に読もう
(前提として全部読むべきというのはもちろんそうなのですが、それでもあえて選ぶのならという話において)テストについて勉強したい初心者が絶対に読むべきなのは、何と言っても第1章(導入部)です。
なぜなら、この箇所にこそ「なぜテストをするのか」という動機付けに当たる文章が書かれているからです。テストをすることに一体何の価値があるのか、どういったマインドを持って取り組むべきなのかは知っているのと知らないので大きな差が出ます。
「仕様書通り」だけがテストではない
ユーザビリティの重要性.pdf - Google ドライブ
こちらは第2回 盛岡ソフトウェアテスト勉強会で第三者検証会社であるヴェスの吉田さんに発表いただいた資料です。
テストと一言で言っても「仕様書通りに実装されているか確認する」だけではありません。むしろ仕様とは関係ないところでテストを考えられるかこそポイントになることも多いです。
この資料では、テストを考える上でテストタイプの考え方に触れつつ、その中のユーザビリティテストに着目して「仕様書通り」以外のテストを考える重要性について述べられています。
テストプロセスについて
同じく盛岡の勉強会で私が発表した資料です。こちらはテストプロセスをメインのテーマにおいています。
この資料では、ひとまずJSTQBのテストプロセスを例にプロセスの全体像を解説した後、テストの改善を考えていくにはどうしたらいいかを実体験ベースで自作したチェックリストを順に追いながら説明しています。
この資料を作るとき、手元にはテストプロセス改善技術である「TPI NEXT」の本を置いていて、当初はそれをなぞる形で資料を作ろうとしていました。しかしそれでは実務と距離がありすぎるというか、もっと実際に現場で使うイメージがつきやすい資料にできないかと試行錯誤した結果、このような形式の資料になっています。
この資料で最も伝えたかった「改善には順番があり、順にステップを踏んでいくのが大切」ということは、僕がTPI NEXTの本を読んでいて強く感じたことです。
テストについて勉強していくとテスト技法やら何やら学ぶことがたくさんあって大変なように思いますが、やみくもに取り組んでも改善の効果は上がりづらいです。現場において改善効果の出やすい順番で取り組むのは、自身のモチベーションを維持するためにもとても重要です。
テスト観点 is 何 問題
テストについて勉強していくと、「テスト観点」みたいなワードにたどり着くことがあります。
テスト観点ってそもそも言葉の定義が広くて、Togetterでも「テスト観点とは」みたいなまとめがあったりして議論に事欠きません。
しかしながら、やはりテストを考えていく上で何をテストするのか、何の目的でテストするのかといったことは非常に重要なテーマであり、頭を悩ませるポイントでもあります。何をテストすべきで、テストしなくていいのはどこなのか、など。
ということで、ソフトウェアテストのコンサルタントである水元氏にQAエンジニアの鳥刈(トリカル)が「テスト観点って何ですか?」という問いかけをし、それに対して実際の例を使って理解を深めていくという小説仕立てのストーリーになっているのがこちらの記事です。
作者は電気通信大学のにしさんです。 ちなみにこれはソフトウェアテスト Advent Calendar 2016 - Qiitaの一記事でもあります。
読んでいくと不思議なもので、タイトルにもなっている「観点の蒸留」というのが一体何のことを言っているのか、感覚的につかむことができます。この話から「テストアーキテクチャの設計を行うことで、フロントローディングを行い上流から品質を作り込む」という理屈にもなるほど、と頷くことができます。※こちらの話について、詳しくはにしさんのQAアーキテクチャの設計による説明責任の高いテスト・品質保証の資料を参照してください。
テスターと開発現場
この二つのスライドを紹介するかは、正直悩みました。というのも、テスト初心者の方が読んでもわからない言葉が登場する資料だからです。
でも私があえてこの資料を紹介したかったのは、以下の大事なことを感じ取れる資料だからです。
- テスターと開発者の関係
- TestingとCheckingの考え方
この資料からは知識ではなく「文化」を感じ取ってほしいです。
ある日「テストをしてくれ」と頼まれて、テスターになって。テスターとして働いていく中で、「テスターとしての価値観」や「開発者との関係」が形成されます。
でも、上にあげた二つのスライドは、うまく言えないのですが「テスターとしてより幸せに働くためのヒント」や「より理想的な仕事をするためのヒント」を示してくれると思っています。それによって自分がこれまで持っていた価値観や、関係のとらえ方に変化が現れるかもしれません。
ぜひ一読してみてください。わからないことがあれば@miwa719さんや@m_sekiさんにTwitterでメンションすれば答えてもらえるかもしれません。
おわりに
この記事では初心者がとっつきやすそうな資料や書籍をピックアップしたので、すでにある程度勉強している方には物足りない内容になっていると思います。
ただ本記事のスコープはあくまで「ガチの初歩から学びたい」という人向けなので、そういう方が周りにいらっしゃいましたら、よろしければ本記事をご紹介ください。少しでもお役に立てましたら幸いです。