ひだまりソケットは壊れない

ソフトウェア開発に関する話を書きます。 最近は主に Android アプリ、Windows アプリ (UWP アプリ)、Java 関係です。

まじめなことを書くつもりでやっています。 適当なことは 「一角獣は夜に啼く」 に書いています。

読んだ: Android アプリテスト技法

誕生日のお祝いに頂いたものです。 ありがとうございます!!

Androidアプリテスト技法

Androidアプリテスト技法

内容紹介

本書は 3 章構成になっています。

1 章 Android テスト基礎

1 章は導入のための章で、20 ページにも満たない短いものです。

まず、「テストとは何か」 ということから説明されます。 テストの役割として、

  • 欠陥を摘出する
  • 対象ソフトウェアの品質レベルが必要十分であることを確認する
  • 意思決定のための情報を示す
  • 欠陥の作りこみを防ぐ

という 4 つあることが説明されたり、ソフトウェアに対する要求として

  • 機能要求 : ソフトウェアによって実現される機能に対する要求。
  • 非機能要求 : 可用性や性能、セキュリティや移行性といったものに対する要求。 UI/UX 的な要求もこちらに含まれる。

という 2 つがあることなどが述べられます。

続いて、テストの重要性とソフトウェアテストの考え方が述べられます。 テストプロセスに関して、テストの実装や実行だけをプロセスと考えるのではなく、テストの分析や設計をしっかりとする必要がある、とか、テストのレベルとして

  • 実装に対応するテストとして単体テスト
  • 詳細設計に対応するテストとして統合テスト
  • 基本設計に対応するテストとしてシステムテスト
  • 要求分析に対応するテストとして受け入れテスト

があるといったことなどが説明されます。

2 章 Android テスト実践

この章では、テスト分析の方法や、テストの設計の方法などが説明されます。 ここでは、自動テストだけでなく、例えばユーザービリティのテストとしてユーザーテストを行うといったことなども述べられます。 自動テストできるテスト項目としても、例えば入力値の境界値テストに関してなどが説明されます。

通常のソフトウェア開発でも、要求から要件を定義して設計に落とし込むという流れが重要なわけですが、当然ながらテストでもその流れが重要ということですね。

3 章 Android テスト Tips

2 章までは Android に限った話ではないことが主でしたが、3 章は Android の自動テストに関する章です。 Eclipseスクリーンショット付きで手順を解説していたり、サンプルコードが豊富だったりで丁寧な印象です。

内容的には、

というようなことが書かれています。 他にも、電波環境の悪い状況のテストをするために電子レンジの中に端末を入れるとかそういう話もありました。 アプリの品質について、App Quality が紹介されていたり。

感想

ざっくり言ってしまうと初心者向けの本だなーと思いました。

狭い観測範囲における個人的な実感として、web 系とかスマートフォンアプリ界隈の開発ではテストの分析とか設計とかちゃんとされてないことが多い (テストがないこともありますね) と思うので、そういう点では 2 章においてそういうことが説明されてるのは良いことかと思います。 とはいえ、本書の 2 章だけでは内容的に十分ではないし、あくまで導入的な位置づけになると思います。

3 章についても、ツールの紹介やクラスの紹介など、web 上で調べればわかることが多く書かれていますので、ある程度 Android アプリ開発に詳しくて、他分野でのテストの経験がある人であればそれほど重宝しないと思います。 他分野でのテストの経験が少ないない人や、IDE の操作にまだ慣れてないような人が読むと良さそうです。 「JUnit って何?」 というような人なんかは、勉強になるのではないでしょうか。

*1:API level 11 で追加された、activity で必要とする通信の処理などをバックグラウンドで実行するための機能