LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

スマホアプリバグを駆逐しろ! - (書評)Software Test Attacks to Break Mobile and Embedded Devices -

f:id:nextdeveloper:20160302143810j:plainみなさん。テストしてますか?

こんにちは。HOME'SでQAをしている池之上と申します。 私が所属しているQAグループでは、テストに関する海外の出版物を積極的に読むように心がけています。 その中でもとても良い書籍に出会ったので、ご紹介したいと思います。

書籍概要

Jon D. Hagar著 : Software Test Attacks to Break Mobile and Embedded Devices

Software Test Attacks to Break Mobile and Embedded Devices (Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series)

Software Test Attacks to Break Mobile and Embedded Devices (Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series)

著者サイト : https://breakingembeddedsoftware.wordpress.com/

組み込みデバイスのテストに関する著者の30年以上にわたる経験の集大成。携帯・組み込み端末のテストに関わる人々のための書籍です。 バグやエラーを見つけるための攻め口(Attack)が30以上紹介されています。 扱うテストは、ホワイトボックステストからブラックボックステスト、さらには非機能要件(UX・パフォーマンス・セキュリティ等)に関わる部分まで多岐に渡り、 携帯・組み込み端末に必要なテストが幅広く網羅されています。 各Attack毎に、概要、何を、いつ、どこで、誰が、どうやってテストすればいいのかについて一つ一つ丁寧に説明され、 加えて、テストラボの構成や有用なツールについても豊富に紹介されています。 設計から実施まで必要な情報をカバーし、丁寧に説明した、携帯・組み込み端末のテストの教科書的位置づけの書籍です。

書評

いままで長らくHOME'SのPCサイト、スマートフォン最適化サイトのQAをしていたのですが、 昨年夏にスマホアプリのQA担当することになり、ちょっと予習しておこうと思ったのが読み始めたきっかけでした。 携帯・組み込み端末に関わるテストが網羅的に載っているので、業務でのテスト設計や実施の際に本書はとても役立ちました。

 また、携帯・組み込み端末は従来のシステムとどう異なるのかについても触れられており、 今までやってきたテストと何が違うのか、どう注意すればいいのかについても知ることができます。 例えば次のような部分です。

remember that mobile app users have historic expectations of performance based on their IT, PC, and web use. Embedded devices may have less raw performance power (e.g., CPU speed) than IT systems, and users in part understand this situation, but programs should not rely on the lessened expectations of the mobile or smart user for project success.

(Software Test Attacks to Break Mobile and Embedded Devices p.127)

--以下要約--

ユーザーはモバイルアプリにもPCとかwebサイトくらいのパフォーマンスを期待していることを覚えておいてください。 組込みデバイスはITシステムよりパフォーマンス(CPUスピードなど)は劣っているし、このことを理解していないユーザーもいるかもしれません。 しかしながら、(非力なデバイスだからといって)プログラム側がそれに甘えるべきではありません。

言われてみれば当たり前なことなんですが、改めて言われるとハッとする内容です。

内容に加えて、この本で個人的にすばらしいと思ったのは下記の2点

  • 各Attackが体系的にまとまっている

  • リファレンスが驚くほど多い

体系的な文章構成

書籍概要でも触れましたが、各Attackには、概要と、何を、いつ、どこで、誰が、どうやってテストすればいいのかが書かれています。 これらはセクションに分けられて書かれており、知りたいことを拾い読みしやすい構成なのではないかなと思います。 書籍によっては説明の途中で、著者の経験を長々と語られてわかりにくかった。なんてことがあったりしますが、この本では感じませんでした。 一方、著者の生々しい経験談は載っていないのかというと、そうではありません。文中にside barという別セクションで書かれています。 このside barというセクション、著者の経験だけでなく、ソフトウェア史に残るバグなども紹介されており、大変興味深い部分です。 戦闘機やミサイルのバグなんてのもありました。絶対遭遇したくないですが、読む分には興味深いで済みますからね! side barだけの拾い読みも楽しいかもしれません。

そして、文章の書き方だけでなく読まれ方にも工夫が。 この本、届いてびっくり。枕にできそうな厚みで、ちょっとたじろぐ見た目なのですが、 安心してください。全部は読まなくていいんです。 巻末でテスト対象のデバイスや分野ごとに、実施したほうがいいAttackをチョイスしてくれています。 とりあえず、自分がテストしたいプロダクトに関わるAttackだけを読んでいけばいいのです。すばらしい優しさですね。

リファレンスが多い

この書籍では、文書中のいたるところに、ここに書いていることはほんの触りだ、序章だ、はじめの一歩なんだ!とでてきます。 序文にもこんな厳しいお言葉が。

No single book is a complete work on software or testing. (Software Test Attacks to Break Mobile and Embedded Devices p.XV)

しかしそこで突き放さないのが著者の優しさ。各章末にはこれでもか!と参考文献が書かれています。 そしてAttack中でも、これだけは読んどけ、このAttackを読んだら次に読むのはこれと、著者が書籍をすすめてくることがあります。 知識を深めるための道しるべにもなってくれる書籍です。

最後に

厚みのせいでだいぶ心理的な壁はあるのですが、私のようにスマホアプリのテストをはじめられる方が教科書として使うのはとてもオススメです。 また、熟練者の方は基本を確認しつつ、豊富なリファレンスでさらに知識を深めることができる書籍なのではないかなと思います。 さらに、テストに関わる方だけでなく、開発者の方、ディレクターの方などにもおすすめです。品質を作り上げていく過程がよくわかります。

スマホアプリの開発に関わるなら、来期のプロダクトをさらにより良い品質にするために、ぜひご一読ください。

著者が来日します

来る、3月8,9日に開催されるソフトウェアテストシンポジウム JaSST'16 Tokyoで 著者John Hagar氏が下記のテーマで講演されます。

「Software Test Challenges in IoT devices IoTデバイスにおけるソフトウェアテストの課題」

日本でお話しをうかがえる貴重な機会ですので、参加を検討してみてはいかがでしょうか。

JaSST'16 Tokyoでは、わたくし池之上も弊社で運用している画像を使った自動テストについて発表いたします(詳しくはこちら)。

さらに、Web.JaSSTセッションには、弊社品質管理の長が登壇し、web業界のテスト戦略について激論を交すようです。

当日券の販売も決定したそうです。たくさんのご来場をお待ちしております。

イベント詳細

JaSST'16 Tokyo ソフトウェアテストシンポジウム 2016 東京

日程 : 2016年3月8日(火)~9日(水)

場所 : 日本大学理工学部 駿河台校舎1号館 (東京都 千代田区)