Dreamforce2016 Day3:Test the Pyramid・・・?

はじめまして、松崎と申します。

今回Dreamforceに初参加しております!

そして、なんとこれが初海外なのです!もちろん英語は出来ません!

入国審査にて「Your job?」との質問に対して「Your jump?」と聞き間違えをしてしまい、

ジャンプをしてしまったことで有名な松崎です。(そう、まるでカツアゲのような・・・)

もう出国前からこれでもかというほど恥をかいております。

上記の話は入国の話なので、その前にも色々とあったということですね、はい。。。

そんな意気消沈の中、『Test the Pyramid』というセッションに参加してきました。

セッションの概要としては、テストの重要性を再発見し、テストを成功させるテクニックを学ぼうとのことでした。

その上で『Test the Pyramid』という概念を念頭にテストを行っていこうとのことでした。

そもそも『Test the Pyramid』とは、それぞれのカテゴリ毎にテストにかけるべき『コスト』と『時間』の割合をピラミッドとして定義したもののようです。

■UI

 - Visualforce

 - Lightning

 - Javascript

■API

 - REST Calls

 - Triggers

■Unit

 - Apex class methods

 - Apex properties

 - Trigger helper methods

従来とは異なる方法でテストすることによって、定義した『Test the Pyramid』の割合に近くなるようにする方法が紹介されていました。

いくつかのサンプルも紹介されていました。

・『@TestVisible』を使用して、クエリをテストクラスからも呼び出せるようにする。

・JSONを使用してレコードを作成する(SOQL結果をシリアライズした変数を作成し、使用する)。

また、UIのテストに関してはSeleniumを使用してテストを行うデモが紹介されていました。

デモでは電話番号項目に『色々なパターンの値をセット』→『保存』という処理が繰り返される処理が実施されていました。

確かにSeleniumを使用したテスト方法は人がマニュアルで実施するよりも便利で効率的ですね。

ちなみに下記はSeleniumのデザインコンセプトの『Page object model』です。

つらつらっと書いてきましたが、このセッションのまとめとしては下記のようになっていました!!

・『Test the Pyramid』の概念を覚えておく

・Unit(Apex等)はたくさんのテストを書く

・UIやJavascriptはSeleniumのようなツールを使用してテストを実施する

今回のセッションを受けて『Test the Pyramid』の概念を意識したテストを実施してみようと思いました。

こういった概念を頭の片隅に置きつつテストに立ち向かっていきましょう!

さぁ、帰国まであと1日!慣れてきた頃に大きな事故がおこらないように気をつけたいと思います!

噂では帰国時の手続きが大変とのこと・・・恥をかかないように前もって勉強しておきます!!

(教科書では入国時に「Your job?」なんて聞かれるとは書いてなかったですから!!)

それではまたー!


<Dreamforceフィードバック勉強会>

今年もやります!『TerraSky Power Night Dreamforce Feedback!! 』
Dreamforceに参加したテラスカイのエンジニアが、現場の生の情報をテクノロジーカットでお伝えします。
またとないこの勉強会にぜひご参加ください。Dreamforceについて語り合いましょう!

dreamforce