今仕事で作ってる『Taptrip』はまだテストを書けていないので、テスト環境で手動で動作確認をしています。これが結構めんどくさいです。
ただ、そうは言ってもテストコードでカバーしきれない部分もあるでしょうし、手動で確認するフローは当分残るんじゃないかと思うんですよね。つまりめんどくさくてもやるしかないわけです。
どうせやるなら何か工夫できないかなぁと思いまして、1年くらい前に工夫の一環として テストユーザーを作り込んでみたら想像以上にいい感じだったので、どんな雰囲気になるのかまとめてみます。
結論を先に言ってしまうと、 テストユーザーを美人とアニメキャラにして作り込んでみたらテスト環境を触るのが楽しくなったよというハックです。自動化みたいな技術的な工夫は一切出てこないです。すみません。
テストっぽくないユーザーを作る
テストユーザーの名前が 『テスト01』とかだと見ていても楽しくないので、名前も写真もちゃんと入力します。最初はめんどくさいなぁと思うかもしれませんが、数が増えてくると見た目も充実して楽しくなってきます。
コメントもユーザーのキャラに合わせて作る
写真投稿やコメントなどのデータも、テストユーザーのキャラの設定に合うように作ります。まるで本物のユーザーとやりとりしているみたいに見えるように内容も考えます。 ルーチンワークがちょっとだけクリエイティブになった気がします。
途中から若干暴走して、アニメキャラも入れるようになりました。
ここで一応説明しておきたいのは、上記データは 全部1人で作っているということです。左手にAndroid2.x、右手にAndroid4.xの端末という感じでそれぞれユーザーを操りながらテストできています。 なんか文字にすると寂しそうですが、やってる時は意外と楽しいです。本当です。
時事ネタを取り入れる
テストする時に流行っているネタを取り入れることも多いです。
テスト中に過去のデータを見ると、「あぁあのときこんなこともあったよねぇ」と懐かしくなることもあるので面白いです。
NHKで「地震なんかないよ!」と女が叫ぶ放送事故(表参道) - YouTube
メンバーと普通に雑談する
ちゃんと作り込んでいくと、 テストユーザーが1人の人間のように思えてきます。テストしながらメンバー同士でちょっとした雑談をしたりもします。
誰が仕込んだかわからないしょうもないデータを見つけて、くすりと笑ってしまうこともあります。
ちなみにこのルパン⇩はかなりいいキャラしてるのですが、誰が作ったのか今でもよくわからないです。
テストを楽しむ雰囲気になってくる
遊び心を持ってテストユーザーを作っているからかはわかりませんが、 テストを楽しむ雰囲気が少しできている気がします。テスト環境見るの楽しいです。
メンバーをこっそりテストデータに入れて、次テストする時に本人が見て笑ってしまうみたいなこともありますね。
まとめ
テストユーザーは作り込むと人間味すら感じるようになってきて楽しいです。テストの時に「次はどんなキャラ作ろうかなぁ」と神のような妄想をすることすらあります。
名前は『テスト01』みたいな名前の方がわかりやすいかなぁと思ったんですが、 「かなえは友だちデータ入ってるよ」、 「まどかでログインしたら再現するよ」みたいなやりとりでも全く問題なさそうです。
データの数が増えてくると見てるだけで楽しくなるのでモチベーション上がります。めんどくさそうに見えるかもしれませんが、やってみると意外と手間はかかりません。
そもそも手動テストしなくていいように自動化しようよっていうのはその通りなんですが、やはり全部をカバーするのは大変なんですよね。低コストで少しでも楽しくなるなら儲けものだと割り切って、ちょっと試してみると面白いかもしれません。
と言いつつ、実は最近適当なテストユーザーも増えてきてしまったので今日のリリースのテストではちゃんと作ろうと思います。
現場からは以上です。