sos の 作業メモ

プログラミングや英会話学習、マイルや旅行、日常生活など。最近はWebFormなASP.NETのお守りがお仕事です。

日々の生活にhappyをプラスする|ハピタス Gポイント

「Androidアプリ テスト技法」第1章

Androidアプリテスト技法

Androidアプリテスト技法

久々のAndroid本。ちょっとずつ読んでみます。

§1 Android テスト基礎

  • 予防コスト = 1
  • 社内検証&修正コスト = 10
  • 流出/外部発見&修正コスト = 100

バグや要求と違う部分の修正は、後になるほど大変になる。可能な限り予防しろというお話。 この辺りは上役やクライアントを説得するためのものなんでしょうか?

テストプロセス

分析、設計、実装、実行、報告のフェーズに分けられる

テスト分析

システムに対し、

  • Why:なぜ必要なのか
  • Who:誰が使うのか
  • Whom:誰に使うのか
  • Where:どんな環境で使われるのか
  • What:どんな構成なのか
  • When:いつからいつまで使われるのか
  • How to:どのように使うのか
  • How much:これまでにいくら、これからいくらかかるのか

を元に理解をし、どのようなテストが必要になるのかを検討していく。

テスト分析手法には、NGT/VSTeP、HAYST法、ゆもつよメソッド等いろいろある。

完成したシステムに対してどのようなテストを行えば、"充分なテストを行った"と顧客に説明できるかを考えましょう。

テスト設計

「無限にあるテストすべき空間から、現実的にテスト可能な量を切り出す」ための方法論。 仕様ベース、構造ベース、経験ベースの3つのアプローチがある。

テストレベル

テストレベルは役割や成果物の結合状態を表す縦の概念。以下のリストの右側のもの。テストは成果物の結合の度合い(レベル)によってふさわしい粒度と役割がある。

  • 実装 -> ユニットテスト (最小の単位のテスト)
  • 詳細設計 -> 結合テスト (最小の単位同士を連携させるテスト。実装者の境界を越える部分をテストすると捉えると良いらしい)
  • 基本設計 -> システムテスト (顧客の価値を満たす物かどうかのテスト。非機能要求に対するテストもこのレベルで行われることが多い。開発者や専任のテストチームが行う)
  • 要求分析 -> 受け入れテスト(要求仕様をみたしているか、他のシステムと連携に不具合がないかどうかのテスト。顧客が行う)

20ページ足らずの概論的な章。なんかの開発手法指南書っぽくて退屈だけど、人に説明する時にはこーゆー言葉の定義とか概念を理解しておくのは大切なんでしょうね。

次章は実践の章。ついてけるのか、あんまり自信がなかったり。

次回へ続く