1分で分かる!JMeterとは?
ジャバード先生、大変大変!
ことりん君こんにちは。そんなに急いでどうしたの?
イノシシさんが公開したWebアプリケーションなんだけど、どうやらSNS界隈でバズったらしいんだ!
バズった?
そうそう!アクセス数がすっごいことになっちゃったみたい!
それは良かったね。でも何が大変なの?
それがね、アクセス数が増えたのはいいんだけど、どうやらアクセス数が多すぎてアプリケーション耐えられなくなってしまったみたい…。
あぁ、なるほど。それは大変だね。
でもさ、こんなの防ぎようがないよね?バズるなんて予想できないしさ。
そうだね。確かに「バズり」を予測するのは難しいよね。でも、ある程度備えておくことはできるよ。
そうなの??どうすればいいの??
ことりん君はJMeter (ジェイメーター)って聞いたことあるかな?
JMeter?はじめて聞いたかも。
JMeterってのはソフトウェアの負荷を検証できるツールなんだ。
ソフトウェアの負荷?検証?
そう。JMeterを使えばソフトウェアに対して「急にたくさんのユーザーがアクセスしてきても大丈夫なの?」とか「長時間にわたって稼働しても問題ないの?」っていうポイントを確認できるんだよ。
そんなツールがあるんだ!
そうなんだ。ソフトウェアって「こういう機能を実現してね」っていう部分に目が行きがちだけど、「〇秒以内に処理を終わらせてね」とか「〇時間連続で動作できるようにしてね」っていう「非機能要件」もとっても重要なんだよ。
たしかに「動くけど処理が遅い」って感じだと使えないもんね…。
ちなみにJMeterはオープンソースソフトウェアだから無料で使えるんだ。実際にJMeterを使って性能面の検証をするプロジェクトも少なくないんだよ。
そっかぁ。じゃあイノシシさんもある程度「バズる」のを見越して、事前にJMeterでテストしておけばよかったんだね。
そうだね。実際のプロジェクトでは「通常時の10倍程度までは耐えられるアプリケーションにする」とか、ある程度の予想を立ててテストをするんだ。イノシシさんも同じ様にJMeterで確認しておけば、もしかしたら今回のトラブルは防げたかもしれないね。
ジャバード先生ありがとう!イノシシさんにはJMeterをおすすめしてみるよ!
そうだね。気に入ってくれるといいね!
JMeterとは?採用に役立つ基礎知識
JMeter (Apache JMeter)とは、ソフトウェアの負荷検証を目的としたツールです。Apacheソフトウェア財団がオープンソースソフトウェアとして開発しているため、無料で利用可能です。
豊富な機能を有しているのが特徴で、ソフトウェアに対して瞬間的に高い負荷をかけたり、一定時間連続して負荷をかけるなど、さまざまな検証を実行できます。
また、自動的にテストを実行するという特性を活用して、テストの自動化に用いられることもあります。
JMeterを使うエンジニア
JMeterは主にサーバーサイド(バックエンド)エンジニアが使います。
ソフトウェアはそれぞれの機能はもちろん、「定められたパフォーマンス(性能)で処理されているか」「アクセス過多となった場合に耐えられるか」といった非機能と呼ばれる部分も重要です。
JMeterは上記「非機能」を確認するツールです。
JMeterを使うエンジニアの特徴と在籍業界
JMeterを使うエンジニアに特徴はありません。おそらく、プロジェクトで非機能試験を実施しなければならず、必要に迫られてJMeterを利用(習得)したという方が多いのではないでしょうか。
なお、在籍業界としても傾向はなくシステムを開発している現場であれば、スタンダードに利用されているツールといえます。
採用する時に知っておくとよいこと
JMeterの需要
前述したとおり、JMeterは新しい技術(ソフトウェア)ではなく2001年にリリースされています。ただ、現在でも需要は高く、負荷の試験を目的として多くの開発現場で導入されています。
そのため、JMeterを使用した経験を持つエンジニアも多いという特徴があります。また、情報も豊富にあるため、習得も比較的容易な部類に入ります。
「JMeterのスキルがあること」自体が採用の決め手になるケースは少ないと思いますが、JMeterのスキルがある ≒ それなりのテスト経験があるといえるため、「あればベターなスキル」といえます。
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2開発環境
3現在のエンジニア組織の体制
4現行システムの課題と募集の背景
5求められる業務と期待値
6エンジニアとしてのスキルアップ支援制度の有無と詳細
7エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8選考フロー
9待遇
10キャリアパス
JMeterの豆知識
JMeterに関連するサービス
JMeterに関連するサービスとしては下記のようなものがあります。
JMeter × クラウド
JMeterは、各種クラウドサービスにも組み込まれています。これまで、JMeterを実行する場合は、開発者のPCにソフトウェアをインストールし、テストを実行する必要がありました。
ただ、最近ではクラウド各社がJMeterに関連するサービスを展開しており、インターネット経由でJMeterを利用した負荷テストが実施できるようになっています。
具体的なサービスは以下の通りです。
なお、Microsoft社のAzure Load Testingはプレビュー版として提供されています。
JUnit関連の資格
JUnitに直接関連しているわけではありませんが、ソフトウェアに関するテストとしては下記のようなものがあります。
JSTQB テスト技術者資格
JSTQBとは、Japan Software Testing Qualifications Boardの略で、日本におけるソフトウェアテストの技術者資格認定を行っている団体です。委員会には、電気通信大学、日本電気、トヨタ自動車に加えて、アマゾンジャパンなどのメンバーが参加するなど、産学が連携していることが特徴です。
なお、試験は下記2つのレベルから構成されています。
- Foundation Level試験
- Advanced Level試験
IT検証技術者認定試験(IVEC)
IT検証技術者認定試験(IVEC)は、ソフトウェアテストの実務を重視した認定試験です。一般社団法人IT検証産業協会(IVIA)が主催しています。
過去は「知識を問う試験」と「実務試験」で構成されていましたが、2018年には「知識を問う試験」に一本化されています。
試験はレベル1(テスト実行者)〜レベル7(研究者や上級テストコンサルタント)に分かれており、業界からも高い評価を受けています。