Professional DevOps Engineerは2022/3に追加された試験。名前通り、OutSystemsでCI/CDを始めとするDevOpsを実践するための知識が問われる。
試験情報のPDFと一緒にダウンロードできるサンプル問題を解説する。
全部で10問で、この記事では6問目-10問目が対象。
1問目-5問目の記事: Professional DevOps Engineerのサンプル問題について解説 1/2(#1-#5)
サンプル問題は、
https://www.outsystems.com/learn/certifications/
の、「Professional DevOps Engineer」項目のリンク「Exam Details」でダウンロードできる資料から。「Sample Exam」がついている方のファイルが該当する。
6 テストピラミッド
テストピラミッドという用語は、OutSystems独自のものではない。
いくつかのバリエーションがあるようだが、概ね、ユニットテスト・APIテスト・E2Eテストを順番に積み上げた三角形を描き、これをテストピラミッドと呼ぶ。
より下にあるテストの方が、
- 実行が早い
- 作成も簡単
であるため、可能な限り下にある階層のテストを優先するように勧められている。
つまり、下の方のテストの方がテストケースが多く含まれる。
よって、正解は選択肢D (ユニットテストのレイヤー)
7 BDDFramework
BDDFrameworkはOutSystems推奨のComponent Testingツール。
よって正解はB。
BDDFrameworkは、OutSystemsのTraditional Webモジュールとして自動テストを作成する。
したがって、テストプログラム中でOutSystemsのロジックを利用可能。
主なテスト対象はServer Action。場合によっては、Service Action・REST・SOAPなど。Client Acitonについては、BDDFramework Client Sideという別のツールを利用する。
ちなみに、コンポーネントテストというのは、PublicなActionに対して作成するテスト。対象Actionの粒度によって、Unit Test・API/Service Test・E2D Testのいずれかになる。
他の選択肢を見ておくと、
- A(UI Testing): UIはUI用の別のテストツールを使う。また、Screen ActionはBDDFrameworkの対象にできない(Screen ActionはPublicにできないため)
- C(Load Testing): 負荷テストは別のツールを使う。JMeterなど
- D(Regression Testing): 回帰テストのこと。BDDFrameworkで作ったテストも回帰テストとして実行されるが、回帰テストにはUIテストのようにBDDFrameworkでは実現できないものも含まれる
8 UIテスト
設問は「エンドユーザーの画面を通した操作をシミュレーションすることによってアプリケーションの機能をテストする」ことなので、そのまま選択肢DのUI Testingが正解。
9 Performance Monitoring APIの設定
Request Eventを取得するPerformance Monitoring APIを使うためには、
アプリケーションでこのメソッドを使用するには、環境とアプリケーションモジュールに対する監視がいずれもオンになっていること
という条件がある。
この監視は、LifeTimeアプリケーションのANALYTICSタブで、Environment Monitoring Statusのトグルをオンにする。
よって、正解は選択肢CのLifeTime -> Analytics -> Configurations
10 Performance Monitoring APIでしか取れないデータ
選択肢を見ていく。
- A(Queries Performance): 時間がかかるクエリがあると、Service CenterのGeneral LogにSlow Queryのログが出る
- B(General logs): Service Centerの同名のタブで見られる
- C(Request events): このデータはPerformance Monitoring APIでしか取得できない
- D(Extensions performance): これも遅いと、General LogにSlow Extensionsのログが出る
よって、選択肢C Request eventsがPerformance Monitoring APIでしか取得できないので正解。