からくりブログ

株式会社からくり社員のブログです

Android初心者がAndroid技術者認定試験を受けてみる その11

こんにちは。最近、別の言語に手を出してみるもやはり苦戦しているAndroid初心者です。
まずは前回の演習問題の回答です。


演習問題14の回答:イ.A:Initialized B:DataSourceConfigured C:PrePared D:Recording E:Released

演習問題15の回答:ウ.FLV
サポートされているビデオ形式は「H.263」「H.264 AVC」「MPEG-4 SP」「VP8」です。


今回は「第9章 テスト」について触れていきます。この章は量は少ないですが、ややこしい点が沢山あると思います。

特にややこしいと思っているのが、利用するテストクラスの名前で、最後に「2」が付いていたり、付かなかったりするからです。一つ一つ説明していくのは見づらいので、以下の表にまとめます。

テストクラス名 説明
ActivityInstrumentationTestCase2 アクティビティの機能テスト(画面操作のテストやインテントに応答するアクティビティのテスト)に使用。
ActivityInstrumentationTestCaseは存在するが非推奨。
ActivityUnitTestCase アクティビティの単体テストに使用。アクティビティのonResumeメソッドやonPauseメソッドを適宜発行できる。
SingleLaunchActivityTestCase 複数のテストで一つのアクティビティを使い回したい場合に使用。
ProviderTestCase2 コンテンツプロバイダの単体テストに使用。
ProviderTestCaseは存在するが非推奨。
ServiceTestCase サービスの単体テストに使用。

上の表を見てわかる通り、「2」が付いているテストクラスには、「2」が付かないクラスも存在しますが非推奨となっています。非推奨となった理由も調べてみましたが、見つかりませんでした(もし知っている方がいらっしゃたら教えて下さい…)。

あとややこしいというか困るのが、テストフレームワークの「JUnit」です。この「JUnit」ですが、2017/4/24現在、Androidは「Junit4」に対応しています。しかしながら、「Android技術者試験を受けてみる」シリーズを始めたときにも述べましたが、試験問題にEclipseが出てくるような時代で止まっている為、この件についても全ての問題集で「JUnit3」が対応していると解説されています(中には「JUnit4」が未対応と書かれているものもあります)。幸い本番の試験では、「JUnit3」の単語は見かけても、「JUnit4」の単語は見かけたことがないので、テストフレームワークを問う問題が出た場合は「JUnit3」を選べば良いと思います(万が一2つとも出た場合はどこに訴えれば良いのだろうとも思いますが…)。

あとはテスト用クラスのメソッドに関する問題も出題され、自分が定義したテストメソッドの前に呼ばれるのがSetup()メソッド、後に呼ばれるのがtearDown()メソッドと、これまたややこしい点です。


さて、今回も演習問題をやっていきます。
(※上の内容を見ればわかる問題もありますが、見ないでやってみて下さい)

演習問題16:アクティビティ画面操作のテストクラス
次の内、アクティビティ画面操作のテストを行うのに適したテストクラスはどれですか?

  • ア.ActivityTestCase
  • イ.ActivityInstrumentationTestCase
  • ウ.ActivityInstrumentationTestCase2
  • エ.ActivityUnitTestCase

 
演習問題17:テスト用クラスのメソッド
次の内、自分が定義したテストメソッドを呼び出した後に呼ばれるメソッドはどれですか?

  • ア.SetUp()メソッド
  • イ.SetDown()メソッド
  • ウ.tearUp()メソッド
  • エ.tearDown()メソッド

(答えは次回に掲載します。)


次回は「第10章 ネイティブ」について触れていきたいと思います。

One response to “Android初心者がAndroid技術者認定試験を受けてみる その11”

  1. […] こんにちは。お久しぶりのAndroid初心者です。 まずは前回の演習問題の回答です。 […]

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>