新宿スタイル・コレクション / 新宿ヘブンアーティスト・フェスタ
EOS 70D, EF 50mm F1.8
Maxima on Androidに機能を追加してGoogle Playに公開する際、必ず事前にテストを行います。今まではこのテストを全て手動で実行していました。しかし、それも辛くなって来たし、テストくらい自動でやるべき、とも思い始めておりました。
今回、Androidアプリのテストの自動化を色々と調べてみて、それなり道具立ても揃っていることが分かったので、挑戦してみました。
テスト自動化と言っても大きく2つの種類に分かれます。一つはロジックテスト。もう一つはGUIテスト。Androidアプリの場合、ロジックテストはユニットテストであり、GUIテストは統合テストになります。
ロジックテストではコアロジックのテストを行います。MoAの場合にはMaximaを起動して、通信でコマンドを投げ、結果を受け取る部分がそれに相当します。計算そのものは正しいと信じ、その周辺のロジックをテストします。例えば計算途中でIs x positive?などと聞かれることがあります。そのようなことが 通信上正しく処理されているか、ここでテストします。またmaxima-init.macが正常に読み込まれるか、などもテストします。グラフ生成コマンドでHTML5ファイルが正しく作られるか、qepcadが動作するか、などMaximaに依頼する動作は全てロジックテストで検証します。