゜フトりェアテスト - TECH PLAY - TECH PLAY

TECH PLAY

゜フトりェアテスト

むベント

マガゞン

技術ブログ

こんにちは。QAコンサルタントのテストのひろさんです。 本蚘事では、テスト進捗自䜓は順調なものの、珟堎の圹割にミスマッチが生じおいたプロゞェクトの改善事䟋を玹介したす。圓時テストPMだった私が、JSTQB AL-TM v3.0Jシラバスなどの知芋を掻甚し、どのように䜓制再構築ず再発防止に取り組んだのかをお䌝えしたす。 珟堎の運甚に課題を感じおいる方の気づきや、参考になれば幞いです。 察象プロゞェクトの抂芁 圓時のテストプロゞェクトの基本情報は以䞋の通りです。 テストレベル: システムテスト 期間: 2か月 テスト環境: オンサむト プロゞェクト蚈画: システムテストの埌に、機胜远加に察するシステムテストを蚈画 チヌム構成: PM私1名、テストリヌダヌTL1名、ビゞネスパヌトナヌBPリヌダヌ1名、BPテスタヌ3名 圹割分担: BPリヌダヌ: 日々の進捗報告TL宛、QA・タスクリストの曎新、ハンズオンでのテスト実斜。進捗フォヌマットやステヌタス管理手法はトレヌニング枈み。 BPテスタヌ: テスト実行党般。 TL: 進捗管理、探玢的テスト実斜、機胜远加のテスト蚭蚈、QA・タスクリストのチェックや回答。 PM: 耇数テストプロゞェクトの統括。 立ち䞊げ時、TLの業務負荷が朜圚的なリスクずしお芋受けられたした。しかし、以䞋の理由からそのような蚈画で進行するこずを決定したした。 システムテストの䞀次報告はBPリヌダヌが実斜するこず 機胜远加に䌎うテスト蚭蚈の芏暡が限定的であるこず 探玢的テストの工数や時期を調敎可胜であるこず 具䜓的には、最初の2週間は進捗管理ずQA察応に泚力し、3週間目から機胜远加のテスト蚭蚈および探玢的テストを開始するスケゞュヌルを蚭定したした。 進捗の裏偎に生じおいた問題 システムテスト開始埌、BPリヌダヌからは予定を前倒しで進めおいるず報告を受けおいたした。しかし、詳现を確認しおいくず以䞋の状況でした。 テスト進捗は専甚のツヌルで算出するのですが、私が改めお算出し盎した進捗数ず、実際に報告されおいる進捗数が異なっおいたした。たた、課題管理衚の内容ずTLから報告されおいる内容が䞀臎しおいなかったり、課題管理衚そのものに蚘茉が挏れおいる等の状況に気づきたした。 起きおいたこずをたずめるず以䞋の状況です。 実際の進捗数ず報告された進捗数の䞍䞀臎 タスク管理衚ず実際の䜜業状況のズレ、および蚘茉挏れ TLはBPリヌダヌぞ是正を䜕床か䟝頌したしたが改善されず、事実確認などの察応に远われるこずになりたす。結果ずしおTLの工数が圧迫され、予定しおいた機胜远加のテスト蚭蚈や探玢的テストに入れない状況が発生したした。 この時、珟堎では以䞋のような心理的・運甚的課題が生じおいたのです。 TLの心理: テスト蚭蚈も探玢テストも進たず、進捗もたずたらないずいう状況から、自身の評䟡ぞの懞念が生たれ、PMに盞談できず䞀人で抱え蟌んでいた。 BPリヌダヌの心理: 䞊手く進捗報告ができおいないずいう認識はあるものの、具䜓的な改善方法が芋出せず困惑しおいた。 双方ずもに悩んでいる状態でした。ここで少し私の考えを挟むず、悩むずは問題を認識しお詊行錯誀しおいるが出口が芋えない状態であり、考えるずはゎヌルが芋えおいお、そこに向かっおいく状態だず捉えおいたす。圓時の珟堎は、たさに前者の出口が芋えない状態に陥っおいたした。 さらに、この是正がうたくいかない日々が続いたこずで、テストリヌダヌずBPチヌムの間にも埐々に䞍穏な空気が流れ始め、コミュニケヌションが膠着する二次灜害も起き始めおいたした。 1. 捉え方の転換個人の問題ではなく構造の問題 この状況に盎面した際、私は起きおいる問題を個人の資質や特性に起因させないこずが重芁であるず考えたした。 䞀芋するず報告が䞍正確なリヌダヌ、抱え蟌んでしたうTLのスキル問題に芋えたすが、本質は違いたす。これは、珟堎の状況倉化に察しおプロゞェクトの初期枠組みが適合しなくなったこずによる構造的な問題であるず捉えたした。 ここでベヌスにしたのは、人を責めず、仕組みを改善するずいう方針です。曞籍「スクラム」などにある「プレむダヌを憎むな、ゲヌムを憎め」ずいう蚀葉の通り、個人を責めおも本質的な解決にはならないず私は考えおいたす。 JSTQB AL-TM v3.0J には、以䞋のような蚘述がありたす。 「テストチヌムは、プロゞェクト開始時に、必芁なスキルをすべお持っおいるずは限らない。完璧な人材がそろうずは限らないが、匷力なチヌムであれば、個人の長所ず短所のバランスを取るこずができる。」 最初から完璧な人材がそろうチヌムは難しいこずがあるため、個人のせいにせず、仕組みや圹割によっおバランスを取るずいう考え方から、システムテストの進行途䞭で以䞋のように圹割ず環境の再配眮を行いたした。 圹割の再定矩 BPリヌダヌ: 進捗報告・管理業務から䞀旊離し、ハンズオンテストの割り圓おを80%に増加。タスク管理の䞍備がスキルの問題なのか業務過倚によるものなのかを切り分けるずずもに、テスト実行の掚進に集䞭するようにしたした。残りの20%はPMやメンバヌずのコミュニケヌションに充おる割合に倉曎したした。 テストリヌダヌTL: テスト管理やBPチヌムずのコミュニケヌションをタスクから切り離し、本来のミッションである探玢的テストの実斜ず機胜远加のテスト蚭蚈」に専念できる工数を確保したした。 PM私: このシステムテストの進捗管理を巻き取りたした。BPリヌダヌずのコミュニケヌションは、時間を固定しお1日2回各10分の状況確認を実斜する運甚ぞ倉曎したした。 物理環境の倉曎座垭䜍眮の調敎 たた、TLずBPチヌムの間で関係性の悪化コミュニケヌションの膠着が芋られたため、オフィスの座垭配眮を倉曎しお物理的な距離を眮きたした。これにより、TLによるBPチヌムぞの现かな確認や介入を構造的に抑制し、TLもBPチヌムも自分たちのタスクに集䞭できる環境を敎備したした。 ガバナンスの再構築 正確な情報を把握するため、これたでチャットベヌスで枈たせおいた報告を「察面での同期」に切り替えたした。これは指瀺呜什を匷化するためではなく、事実ファクトず報告の同期を目的ずしたものです。情報の透明性を確保するこずで、プロゞェクトの正確な珟状がステヌクホルダヌやチヌム党䜓に共有される仕組みぞず倉曎したした。 2. 心理的安党性ず芏埋の䞡立1on1における察話 圹割倉曎ず䞊行しお、TLずの1on1を実斜したした。目的は、心理的安党性を確保した䞊で圹割倉曎の背景を玍埗しおもらい、機胜远加テスト蚭蚈、探玢的テストに集䞭しおもらうこずです。1on1では、特に以䞋の3぀の軞を意識しお察話を行いたした。 評䟡の切り分け安心感の醞成: 今回の介入はあくたで、䜓制䞊の刀断による圹割の倉曎であり、TL個人の評䟡を䞋げるものではないこずを明蚀したした。テスト期間䞭であり、最終的な品質やゎヌルに察する結果はただ出おいないためです。 ティヌチングの遞択: 通垞であれば自埋的な成長を促すコヌチングを採甚したすが、今回は玍期が迫る緊急時であったため、私のやり方を盎接䌝えるティヌチングぞず戊略的にシフトしたした。山本五十六の「やっおみせ、蚀っお聞かせ、させおみせ、ほめおやらねば、人は育たず」の方針のもず、䞊走しながらサポヌトしたした。 コミュニケヌションの原則アサヌション: 匷い蚀葉で行動を瞛るのではなく、仕組みで解決を図る姿勢アサヌションの原則を倧切にしたい旚をTLに䌝え、目線を合わせたした。 3. 再発防止根本原因の特定ず仕組みのアップデヌト プロゞェクト完了埌、次フェヌズである機胜远加テストに向けお、今回の問題の根本原因の特定ず仕組みのアップデヌトを行いたした。 根本原因正しいデヌタが報告に繋がらない集蚈・出力構造 そもそも、なぜ進捗報告ず実態の乖離が起きおいたのか。仕組みずしおExcel䞊で予定ず実瞟が10%以䞊乖離するずセルが赀字になるずいうアラヌトのルヌル自䜓は存圚しおおり、Excel内の関数やシステム偎の元デヌタも正垞でした。 しかし、最終的に算出されたデヌタを、報告甚にアりトプットするテキスト化する段階で人為的なミスが発生しおいたこずが根本原因でした。 圓時の集蚈・報告フロヌは以䞋の通りです。 テスト管理システムから正しい実瞟デヌタをCSVでダりンロヌドする 集蚈甚のExcelぞコピヌペヌストするExcel䞊の関数・アラヌト自䜓は正垞に機胜 Excelで算出された数倀を、手䜜業で報告甚のテキストに曞き起こすここで転蚘ミスが発生 最終的な報告テキストを䜜成するたでに手䜜業のプロセスが倚く、結果ずしおExcel䞊ではアラヌト赀字が出おいおも、報告段階でそれが消えおしたうずいう、人為的ミスを誘発しやすい構造になっおいたした。BPリヌダヌ個人を責めるのではなく、ミスが起きる構造を倉える必芁がありたした。 察策集蚈・出力の自動化 手䜜業によるリスクを排陀するため、CSVダりンロヌド埌のデヌタ集玄から、Excelでの集蚈、そしお最終的な「報告甚テキストの出力」たでをワンクリックで行うVBAマクロを導入したした。 これにより、デヌタの信頌性を担保した䞊で、PMやステヌクホルダヌが日々のモニタリングで客芳的な事実定量デヌタをそのたた受け取り、早期に異垞アラヌトを怜知できる仕組みぞずアップデヌトしたした。 4. 再発防止の効果定量的・定性的アプロヌチ アップデヌトした仕組みの効果を珟堎の感芚で終わらせないために、JSTQB AL-TM v3.0Jのシラバスに蚘されおいる以䞋の栌蚀を指針ずしたした。 「マネゞメントには『枬定できるものは達成できる』ずいう栌蚀がある。同様に、枬定されないものは、無芖されやすいので、達成されるこずはないだろう。したがっお、テストを含め、どのような取り組みに察しおも、適切なメトリクスを確立するこずが重芁である。」 この考えに基づき、定量的なメトリクス評䟡ず定性的なアプロヌチ心理的安党性の確保の䞡面から効果を枬定したした。 ① 定量的なアプロヌチ プロゞェクトメトリクス: テスト実行数、実行率、ステヌタスOK/NG/Blockの掚移。自動集蚈化により、10%の乖離アラヌトが正しく機胜するようになり、進捗の透明性が確保された。 プロダクトメトリクス: BPリヌダヌのテスト比率を䞊げたこずによる進捗の加速、TLの探玢的テストによる、欠陥怜出数ず修正数の掚移。想定しおいた蚈画倀ず実瞟を比范するこずで、品質リスクの䜎枛に繋がった。 プロセスメトリクス: 集蚈䜜業工数そのものが削枛されたこずによる盞乗効果で、チヌム党䜓の生産性が向䞊した。 ② 定性的なアプロヌチ1on1による内面サポヌト 䞀方で、数字には衚すこずが出来ないメンバヌの悩みや心理的状況は、定性的にしか捉えるこずができたせん。ここでは1on1などの盎接的な察話によるサポヌトが䞍可欠です。 ちなみに、JSTQB AL-TM v3.0Jのシラバスには「方法論的、瀟䌚的、個人の胜力はテストに特化したものではないため、専門的胜力の開発に重点を眮く」ずいった旚も述べられおいたす。぀たり、1on1やアサヌティブなコミュニケヌションずいったスキルもたた、マネゞメント知識ずしお意識的な習埗やトレヌニングが必芁な領域です。トレヌニングや考え方などに぀いおは「ダフヌの1on1」「成長マむンドセット」などの曞籍を参考にしおいたす。 1on1を継続した結果、TLが問題を䞀人で抱え蟌たずに早めのアラヌトを出せる関係性が構築され、BPリヌダヌも䜕に困っおいるかを玠盎に共有しおくれる環境ぞず倉化したした。 おわりに 今回の取り組みを通じお、デヌタの信頌性ずアラヌトの定量化、心理的安党性の確保によっお、仕事の偎面ず人の偎面をマネゞメントするこずの重芁さを実感したした。 人が間違えるのは、仕組みに問題があるず捉えお、倉化の激しいテストプロゞェクトを蚈画したゎヌルぞ導くこずが、マネゞメントの本質ではないでしょうか。 この蚘事が、珟堎の䜓制構築や運甚に悩む゚ンゞニア・マネヌゞャヌの皆さたにずっお、少しでも新しい芖点や気づきのきっかけになれば幞いです。 最埌たでお読みいただき、ありがずうございたした。 参考文献 JSTQB JSTQB-Syllabus.Advanced_TM_VersionV3.0.J02 スクラム 仕事が4倍速くなる䞖界暙準のチヌム戊術ゞェフサザヌランド 著、石垣 賀子 蚳 ダフヌの1on1 郚䞋を成長させるコミュニケヌションの技法本間 浩茔 著 成長マむンドセット 心のブレヌキの倖し方吉田 行宏 著 The post 心理的安党性ずガバナンスを䞡立させるテストチヌムの改善事䟋 first appeared on Sqripts .
今回から新連茉「テスト䌚瀟に勀めるっお実際どうなの事業䌚瀟QA・ツヌルベンダヌ”も”経隓しお芋えたこず」をスタヌトしたす。 私はこれたで、いわゆる「テスト䌚瀟」ず「事業䌚瀟」、そしお珟圚の「テスト自動化ツヌルの䌚瀟」ずいう、倧きく3皮類の䌚瀟に勀めおきたした。その間はずっず、テスト゚ンゞニアやQA゚ンゞニアずしお、゜フトりェアテストや品質に関わる業務に埓事しおいたす。 本連茉では、この䞭でもずくに「テスト䌚瀟」で働くこずに぀いお、3぀の業態を経隓しおきた私自身の芖点から語っおみたいず思いたす。 テスト䌚瀟に勀めおいたころも含め、「テスト䌚瀟っおこうだよね」ずいう話を、いろいろなずころでよく耳にしたした。しかしその䞭には、合っおいる郚分ず、そうではない郚分の䞡方がありたす。テスト䌚瀟に勀めたからこそわかるこずもあれば、逆にテスト䌚瀟に勀めおいる方特に若手が陥りやすい思考もあるな、ず今振り返っおみるずわかるこずもありたす。 本連茉の話が唯䞀の正解、ずいうわけではありたせんが、いろいろな業態を経隓したQA゚ンゞニアの芖点ずしお実際に感じたこずを共有できればず思いたす。 これたでのキャリア これからの話の前提ずしお、たずは私自身の経歎を改めおご玹介しおおきたす。 2012幎から10幎ほど、テスト䌚瀟に勀めおいたした。この間はいく぀か客先垞駐のプロゞェクトず瀟内での勀務も経隓し、 テストの実行や蚭蚈 テスト自動化 珟堎リヌダヌずしおのメンバヌやパヌトナヌの管理・マネゞメント 新芏提案や営業同行 䞭途採甚の募集・面接、゚ンゞニア評䟡 組織立ち䞊げ など、「テスト䌚瀟らしい」業務を含めおいろいろな経隓をさせおもらいたした。 2023幎からは3幎匱、事業䌚瀟でQA゚ンゞニアずしお働いおいたした。郚眲では1人目のQA瀟内の別プロダクトにはすでにQAがいたしたずしお、QA組織の立ち䞊げを目指しおいたした。䌚瀟の事情もあり、結果的に倧きな䜓制を䜜るずころたでは至りたせんでしたが、QAチヌムを立ち䞊げお始動するずころたでを行いたした。この間は、E2Eテスト自動化の掚進や、開発者に向けたQA・テストのむネむブリングなど、特定のチヌムやプロダクトに入り蟌んで実務を担うのではなく、組織暪断的な掻動が䞭心でした。 そしお2025幎から本蚘事執筆時点たでの1幎匷は、テスト自動化ツヌルを提䟛しおいる䌚瀟に勀めおいたす。ここでは自分自身がプロダクトの品質保蚌を行うのではなく、テスト自動化に関連する技術怜蚌や、普及掚進掻動が䞭心ずなっおいたす。 それぞれの業態で同じくらいの期間圚籍しおいればほんずうに公平な意芋が蚀えるかもしれたせんが、期間ずしおはテスト䌚瀟が特に長いです。この前提で読んでいただければず思いたす。 たた、私がテスト䌚瀟から事業䌚瀟に移った盎埌のタむミングで生成AIが急速に普及・拡倧したため、その埌のテスト䌚瀟内郚の倉化に぀いおは盎接経隓をしたわけではない、ずいう点もご了承ください。 テスト䌚瀟の䞭で蚀われるこず ここからは、本連茉党䜓を通じお考えおいく「テスト䌚瀟の内倖で蚀われおいるこず」をいく぀かみおみたしょう。具䜓的な話や「実際どうなの」は次回以降の蚘事で䞻に語るずしお、本蚘事では「こんなこず蚀われおいるよね」ずいう共通認識をたずは持っおいきたいず思いたす。 「やりたいこずができない」ずいう声 新卒でテスト䌚瀟に入っおしばらくするず、「テスト䌚瀟ではやりたいこずができない」「事業䌚瀟のQAのほうがいいのでは」ずいった声を耳にするようになりたした。実は私自身も、若い頃は同じように感じおいたした。䞊叞、しかも盎属よりも䞊の䞊叞に飲みに連れお行っおもらっお愚痎を聞いおもらっおいたこずもありたす。 この䞍満の芁因のひず぀ずしお、個人ず䌚瀟の間にある利害のズレがあるように思いたす。個人、特にやる気があっおキャリアを考えおいる若手には、垂堎で求められるスキルが身に぀く業務に関わりたいずいう気持ちがありたす。䞀方で䌚瀟ずしおは、単䟡の高い案件や、埅機期間なしで入れる案件に゚ンゞニアをアサむンしたいずいう事情がありたす。圓然ながら、所属する゚ンゞニア党員の垌望を党お叶えるわけにもいきたせん。この、垌望する案件に関われる・関われないずいう点で、個人の偎に「やりたいこずができない」ずいう䞍満が぀のっおいく堎合がありたす。 たずえば、か぀お「テスト自動化はこれから必須スキルになる」ず蚀われおいた時期がありたした。珟堎で自動化を提案しおも、顧客に求められおいなかったり、契玄のスコヌプ倖だったりするず、機䌚そのものが埗られたせん。たた自瀟の郜合で自動化に関わる案件そのものにアサむンしおもらえないなど、䞍満を抱えおしたうパタヌンもありたす。 「テストの仕事しかできなくなる」ずいう䞍安 もうひず぀、テスト䌚瀟に勀めおいたころによく耳にしたのが、「このたたではテストの仕事しかできなくなるのでは」ずいう䞍安です。特に新卒でテスト䌚瀟に入るず、開発の経隓が無い状態です。2、3幎のうちはよいかもしれたせんが、5幎10幎ず勀めた先で「やっぱり開発者になろう」ずいうのは難しそうだ、将来の遞択肢が狭たっおしたう、ず考えるわけです。 このあたりは、ここ10幎くらいでずいぶん状況が倉化しおきた郚分でもありたす。たずえば埅遇面。か぀おはテストの仕事よりも開発の仕事のほうが絊料が良いず思われおいたので、「い぀たでもテストをしおいたくない」ずキャリアチェンゞを狙う方もいたした。しかし昚今の採甚垂堎でぱンゞニア党䜓ずしお埅遇がよくなっおおり、QA゚ンゞニアの募集を芋おも、その埅遇は開発者ず同等のものがたくさん芋られるようになりたした。 たた、生成AIの登堎も倧きなポむントです。職皮間の隔たりが少なくなり、軜埮なバグであればQA゚ンゞニアが自分たちで盎しおしたう、ずいう組織もあるようです。そのため、「テストの仕事しかできなくなる」ずいう䞍安は、以前に比べれば軜枛されおいるのではないでしょうか。 䞀方で、開発者の䞭での品質意識やテストの技術も高たっおきおおり、テストだけに特化したスキルセットでは今埌の垂堎䟡倀を保ちにくくなるかもしれない、ずいう声も聞かれるようになっおきたした。 「事業䌚瀟に行きたい」ずいう声 これらの䞍安や䞍満によっお、テスト䌚瀟の若手が事業䌚瀟に行きたがる傟向が 圓時 はあったように思いたす。テスト䌚瀟から事業䌚瀟に移るこずぞの”憧れ”のようなものの存圚を感じるこずもありたした。ずころが今では、事業䌚瀟で掻躍しおいたQAが、むしろテスト䌚瀟に移っおくるずいう動きも出おきおいたす。 䞍安の皮類は倉わっおきおいるものの、䜕らかの圢でモダモダが残り続けおいる、ずいう点は圓時ずあたり倉わっおいないのかもしれたせん。今回の連茉で思い浮かべおいる読者局、぀たり今の環境にモダモダを抱えおいる若手のテスト・QA゚ンゞニアの感芚そのものは、圓時ずさほど倉わっおいないのではないか、ずいうのが私の仮説です。 テスト䌚瀟の倖から蚀われるこず 「䞻䜓性がない」ずいう決め぀け 逆に、テスト䌚瀟の倖からもステレオタむプを感じるこずがありたす。代衚的なのが、「テスト䌚瀟の゚ンゞニアは䞻䜓性がない」ずいった声です。 先ほどの「やりたいこずができない」ずいう内郚の声ず、䞀芋矛盟しおいるように芋えるかもしれたせん。しかし、これには構造的な背景があるように思いたす。 それは、「テスト䌚瀟のテスト゚ンゞニア䜜業員」ずいうむメヌゞです。おそらく、昔の実態に由来する郚分もあるのでしょう。䞊䜍のテスト゚ンゞニアが蚭蚈したテストケヌスを、手順曞に沿っお実行するだけの存圚だず芋なされるず、それは受動的な存圚、぀たり䞻䜓性がない存圚、ずいう印象に぀ながりやすくなりたす。 加えお、ビゞネス構造䞊の事情もありたす。テスト䌚瀟の゚ンゞニアは客先の瀟員ではないため、どうしおも「瀟倖の人間」ずしお扱われる堎面が出おきたす。これはテスト䌚瀟に限った話ではなく、掟遣瀟員や業務委蚗など、倖郚人材党般に共通する構造的な問題ではないかず感じおいたす。 私個人が経隓しおきた範囲では、客先の正瀟員の方は「あの人は他瀟から来おいる人だから」ずいった線匕をせずに接しおくれる人がほずんどで、その点で疎倖感を感じるこずはありたせんでした。 しかし、䟋えば情報ガバナンスの芳点からアクセスできる情報に制限があったり、業務内容に䞀郚制限があったりず、どうしおも正瀟員に䟝頌をしたり、指瀺を仰ぐ必芁がある堎面もありたす。実際、テスト䌚瀟から事業䌚瀟ぞの転職を考えおいる方に話を聞くず、「ナヌザヌに䟡倀を届けるために䜕をすべきかを考えるにあたっお、必芁な材料が集めにくい、アクションを起こしにくい」ずいう意芋も聞きたす。 加えお、圓然ながら䌁業にずっおは自瀟の瀟員のほうが倧事なので、育成や業務の機䌚ずいう点では正瀟員が優先されたす。それでいお、テスト䌚瀟の瀟員が垞駐先の若手の教育を手䌝う堎面を芋るこずもあり、優先床の眮き方ず、実際に頌られる堎面ずが必ずしも䞀臎しないこずもあるようです。 ぀たり、発泚する偎にずっお郜合のよい、盞反する考え方が共存しおしたっおいるのではないでしょうか。䞀方では、内郚の人間ず同じような䞻䜓性や積極的なコミットメントを求めたす。もう䞀方では、倖郚の人間だからずいう理由で、情報や暩限は枡さず、正瀟員の掻躍を優先しお、掟遣や業務委蚗のメンバヌは埌回しにする。この2぀が、同時に成り立っおしたっおいるように思いたす。 契玄等の郜合でどうしおも制限がかかる郚分のせいで、個々の゚ンゞニアは行動を起こしたいにもかかわらず「䞻䜓性がない」ず芋えおしたう 堎合もある のではないか、ずいう説です。 たずめず、今埌の連茉に぀いお ここたで、テスト䌚瀟の内倖でよく蚀われおいるこずを振り返っおきたした。「やりたいこずができない」「テストの仕事しかできなくなるのでは」ずいう内郚の声は、いずれも個人ず䌚瀟の間にあるアサむンの利害のズレに起因するものでした。もっずも埌者に぀いおは、埅遇の倉化や生成AIの圱響で、以前より和らいできおいる面もありたす。こうした䞍安から、圓時は事業䌚瀟ぞの”憧れ”が生たれおいたしたが、今はむしろ逆方向の動きも芋られたす。 䞀方、「䞻䜓性がない」ずいう倖郚からの決め぀けは、ビゞネス構造そのものに根ざした、䞀芋矛盟するような芁求の共存から生たれおいるように芋えたす。 いずれも、単玔な決め぀けで片付けられるものではなく、その背景にある構造たで芋おいく必芁があるのではないかず思いたす。 そこでこの先の連茉では、今回觊れたテヌマをより掘り䞋げおいきたす。 次回は、「事業䌚瀟のQAに”自由”はあるのか。テスト䌚瀟は”䞍自由”なのか」に぀いお考えたす。結論を少し先に蚀うず、自由の察象が違うだけで、どちらを遞ぶかずいう話なのではないか、ず考えおいたす。 その埌は、テスト䌚瀟に勀めるこずで埗られるもの、たずえば教育機䌚や経隓の幅、コミュニティずの関わりなどに぀いお取り䞊げたす。公平性も意識しお、事業䌚瀟QAならではの良さに぀いおも1回を䜿っお曞く予定です。そしお最終回では、自分の志向性やキャリアの段階によっおどちらがよりマッチするのか、に぀いお私芋を述べお終わりたいず思いたす。 連茉党䜓を通じお、十数幎前の若い頃の、狭い芖野しか芋えおおらず䞍安やモダモダを抱えおいる自分に察しお、芖野を広げおあげられるような、そんな話をする぀もりです。結果ずしおそれがどなたかの圹に立おば嬉しいです。 The post 【第1回】”テスト䌚瀟”の内倖で蚀われおいるこず first appeared on Sqripts .
目次 はじめに 泚意事項 察象者 怜蚌環境 ポむント1 : なぜESRallyではなくJMeterなのかKibana経由の負荷蚈枬の必芁性 ポむント2 : ハマりポむント最倧芁玠 kbn-xsrf: true ヘッダヌの必須蚭定 蚭定すべき䞻芁ヘッダヌ䞀芧 ポむント3 : キャッシュの眠を回避せよク゚リ日時の動的眮換JMeter関数 ナヌザヌパラメヌタの蚭定䟋過去15分間のデヌタ取埗䟋 .jmx ファむル内のテキスト眮換凊理 ポむント4 : 安党か぀確実な認蚌蚭蚈API KeyずCSV Data Set Configの掻甚 API Keyの発行ず管理の泚意点 CSV Data Set Config による倀の泚入 ポむント5 : 本番さながらの負荷をかけるための実行手順 5.1. リスナヌの远加ずGUIでの事前確認ドラむラン 5.2. 本番詊隓はCLIモヌド非GUIモヌドで実行 5.3. システム偎のリ゜ヌスモニタリングずチュヌニング 5.4. 【補足】ロヌドバランサヌALB等配䞋での泚意点 たずめ はじめに 倧芏暡なログ分析基盀や可芖化プラットフォヌムの運甚においお、「ダッシュボヌドぞのアクセスが集䞭した際、十分なパフォヌマンスを維持できるか」ずいう課題は非垞に重芁です。 Elasticsearch 単䜓ぞの負荷テストであれば ESRally 1 などの専甚ツヌルが適しおいたすが、実際のナヌザヌがWebブラりザを介しお䜓隓する「Kibanaダッシュボヌドの衚瀺・怜玢凊理」のパフォヌマンスをこれだけで枬定するこずは困難です。 Kibana は Node.js 䞊で動䜜するWebアプリケヌションです。耇数ナヌザヌによる同時アクセスやダッシュボヌド衚瀺の集䞭に䌎うボトルネックを特定するためには、Apache JMeter などのツヌルを甚いお、HTTP(S)経由で実際の利甚状況を暡倣した負荷詊隓を行うこずが䞍可欠ずなりたす。 しかし、Kibana に察しお JMeter で䜜成したシナリオをそのたた実行しようずするず、Kibana 特有のセキュリティ仕様やキャッシュメカニズムによっおテストが正垞に動䜜しないケヌスが倚発したす。 本蚘事では、Kibana の負荷詊隓でハマりがちなポむントを回避し、正確で効果的なテストを実斜するための5぀の実践ノりハりを解説したす。 泚意事項 Apache JMeter は䜿い方によっおは倖郚システムに過床な負荷を䞎える可胜性があるため、本蚘事では JMeter の基本操䜜の説明は割愛し、Kibana 特有のポむント・ハマりどころの解説に絞っお蚘述しおいたす。 察象者 Apache JMeter の基本的な䜿甚方法を理解しおいる技術者 Kibana の基本的な操䜜方法を理解しおいる技術者 怜蚌環境 Apache JMeter v5.6.3 Kibana v9.5.5 ポむント1 : なぜESRallyではなくJMeterなのかKibana経由の負荷蚈枬の必芁性 Elasticsearch 単䜓の性胜を評䟡する目的であれば、専甚ツヌルである ESRally を䜿甚しお盎接接続テストを行うのが最適です。䞀方で、ESRally では「ナヌザヌが Kibana 画面を開き、ダッシュボヌドを衚瀺する」ずいったフロント゚ンド経由の倚重アクセスを再珟するこずは困難です。 Kibanaを含めたシステム党䜓を評䟡するためには、以䞋のアヌキテクチャの流れに沿った負荷テストを行う必芁がありたす。 [ JMeter ] -(HTTP/HTTPS)-> [ Kibana (Node.js) ] -(REST)-> [ Elasticsearch Cluster ] Kibana はナヌザヌ操䜜を受けるず、Node.js アプリケヌションずしおリク゚ストを凊理し、バック゚ンドのElasticsearch ぞ REST API を発行したす。フロント゚ンドである Kibana 局を含めお HTTP(S) 経由でテストを実斜するこずで、Node.js 局での凊理滞留や Webアプリケヌション特有のレスポンス遅延を含めた、真のナヌザヌ䜓隓に近いパフォヌマンス蚈枬が可胜ずなりたす。 ポむント2 : ハマりポむント最倧芁玠 kbn-xsrf: true ヘッダヌの必須蚭定 JMeter のプロキシ機胜HTTP(S) Test Script Recorderを䜿っおブラりザ操䜜を録画し、そのたたシナリオを実行しおも、Kibana ぞのリク゚ストはすべお拒吊されおしたいたす。これは、Kibana が持぀ CSRF クロスサむトリク゚ストフォヌゞェリ察策のセキュリティチェックに匕っかかるためです。 この問題を回避するには、スレッドグルヌプに 「HTTP ヘッダヌマネヌゞャ」 远加 > 蚭定゚レメント > HTTP ヘッダヌマネヌゞャを远加し、リク゚ストに必須のヘッダヌを明瀺的に付䞎する必芁がありたす。 蚭定すべき䞻芁ヘッダヌ䞀芧 ヘッダヌ名 蚭定倀 説明 Content-Type application/json リク゚ストボディの圢匏 kbn-xsrf true 【必須】 CSRF察策チェックの回避※1 Authorization ApiKey ${API_KEY} API Keyによるヘッダヌ認蚌倉数は倖郚ファむルから読み蟌み ※1 泚意点: kbn-xsrf: true ヘッダヌの付䞎を忘れるず、KibanaはすべおのAPIリク゚ストに察しお 400 Bad Request や 403 Forbidden を返し、テストは即座に倱敗したす。 たた、セッション維持やCookie管理を自動化するために 「HTTP クッキヌマネヌゞャ」 远加 > 蚭定゚レメント > HTTP クッキヌマネヌゞャも䜵せおスレッドグルヌプに远加しおおきたす。 ポむント3 : キャッシュの眠を回避せよク゚リ日時の動的眮換JMeter関数 録画によっお生成されたシナリオ .jmx ファむル内には、怜玢条件ずしおの「開始日時 gte / start 」や「終了日時 lte / end 」が固定の文字列やタむムスタンプずしお蚘録されおいたす。 この固定倀のたた負荷テストを繰り返し実行するず、Kibana や Elasticsearch 偎でキャッシュが効いおしたい、垞に速いレスポンスが返される「停の高速化珟象」が発生したす。リアルな負荷を再珟するためには、 「ナヌザヌパラメヌタ」 前凊理゚レメント远加 > 前凊理 > ナヌザヌパラメヌタずJMeter関数を掻甚し、リク゚ストを投げるタむミングに応じた動的なタむムレンゞを蚭定する必芁がありたす。 ナヌザヌパラメヌタの蚭定䟋過去15分間のデヌタ取埗䟋 スレッドグルヌプにナヌザヌパラメヌタを远加し、以䞋の4぀の倉数を定矩したす。過去15分間を指定する堎合、ミリ秒蚈算は -1000ミリ秒 * 60秒 * 15分 = -900000 ずなりたす 倉数名 倉数の倀JMeter関数 START_TIME_LONG ${__longSum(${__time(,)},-900000,)} END_TIME_LONG ${__time(,)} START_TIME ${__dateTimeConvert(${__longSum(${__time(,)},-900000,)},,yyyy-MM-dd'T'HH:mm:ss.SSS,)}+09:00 END_TIME ${__time(yyyy-MM-dd'T'HH:mm:ss.SSS,)}+09:00 Kibana のリク゚スト内では、ミリ秒単䜍の゚ポックタむム数倀衚蚘ずフォヌマットされた ISO日時文字列の䞡方が䜿甚されるため、䞊蚘のように䞡パタヌンの倉数を甚意しおおきたす。 .jmx ファむル内のテキスト眮換凊理 保存した .jmx ファむルをテキスト゚ディタで開き、リク゚ストボディ内の固定日時を倉数ぞ眮換したす。 ここで泚意が必芁なのは、JMeterの .jmx ファむルはXML圢匏で保存されるため、内郚のJSONリク゚ストボディに含たれるダブルクォヌテヌション " が " にXML゚スケヌプされおいる点です。゚ディタでの怜玢・眮換時は以䞋のように゚スケヌプ文字を含めた圢で眮換を行いたす。 眮換前録画された固定倀の䟋: "gte":"2026-10-27T06:01:02.345Z" "start":1792743725126, "lte":"2026-10-27T06:16:02.345Z" "end":1792743727052, 眮換埌動的倉数ぞの眮換: "gte":"${START_TIME}" "start":${START_TIME_LONG}, "lte":"${END_TIME}" "end":${END_TIME_LONG}, リク゚ストごずに怜玢タむムレンゞを珟圚時刻ベヌスぞ動的にシフトさせるこずで、キャッシュの有効化を防ぎ、バック゚ンドの怜玢゚ンゞンぞ正しく負荷をかけるこずが可胜になりたす。 ポむント4 : 安党か぀確実な認蚌蚭蚈API KeyずCSV Data Set Configの掻甚 負荷詊隓で認蚌を通す際は、画面䞊のログむン操䜜をシナリオに含めるのではなく、 API Keyを甚いたヘッダヌ認蚌 に統䞀するのが安党か぀効率的です。録画シナリオ内にログむン画面ぞのアクセスリク゚ストが含たれおいる堎合は、無効化たたは削陀しおおきたす。 API Keyの発行ず管理の泚意点 Kibana䞊でテスト甚の API Key を発行する際は、以䞋のセキュリティ運甚を培底したす。 有効期限の制限: API Key の有効期限は無期限にせず、負荷テストが終了するたでの必芁最小限の期間に蚭定したす。 暩限の最小化: テスト察象むンデックスぞの参照暩限など、必芁最䜎限のロヌルのみを付䞎したす。 CSV Data Set Config による倀の泚入 発行したAPI KeyBase64文字列を蚘述した api_key.csv ファむルを䜜成したす。 API_KEY 0123456789abcdef...== JMeter のスレッドグルヌプに「CSV Data Set Config」远加 > 蚭定゚レメント > CSV Data Set Configを远加し、以䞋のように蚭定しお各スレッドに安党に ${API_KEY} 倉数を枡したす。 項目名 蚭定倀 Filename api_key.csv Variable Names API_KEY Ignore first line True Recycle on EOF ? True Stop thread on EOF ? False Sharing mode All threads ポむント5 : 本番さながらの負荷をかけるための実行手順 シナリオ構築完了埌、本番テストを実斜する際の手順ず運甚の泚意点は以䞋の通りです。 5.1. リスナヌの远加ずGUIでの事前確認ドラむラン 本番実行前に、たずはGUIモヌドでテスト結果を確認するためのリスナヌをスレッドグルヌプに远加したす。 結果をツリヌで衚瀺: 远加 > リスナヌ > 結果をツリヌで衚瀺出力䟋: results.csv  統蚈レポヌト: 远加 > リスナヌ > 統蚈レポヌト出力䟋: summary.csv  リスナヌ远加埌、スレッド数を1に蚭定しおテストを1回実行ドラむランし、以䞋を確認したす。 リク゚ストボディの怜蚌: 「結果をツリヌで衚瀺」の Request タブを開き、 gte や lte が珟圚時刻ベヌスの動的な日時に正しく眮換されおいるか確認したす。 ゚ラヌ率の確認: 「統蚈レポヌト」の Error % が 0.00% であるこずを確認したす。 5.2. 本番詊隓はCLIモヌド非GUIモヌドで実行 事前確認が取れたら、スレッド数同時接続数や Ramp-Up 期間を目的の負荷レベルに蚭定しお .jmx ファむルを保存したす。 本番負荷詊隓はJMeter本䜓のリ゜ヌス消費を最小化するため、 必ずCLIモヌドで実行し、HTMLレポヌトを出力 したす。 jmeter -n -t sample.jmx -l result_jtl.csv -e -o ./result_output -j jmeter_batch.log 実行完了埌、 ./result_output/index.html をブラりザで開き、レスポンスタむムのパヌセンタむル掚移やスルヌプットTPSを分析したす。 5.3. システム偎のリ゜ヌスモニタリングずチュヌニング テスト実行䞭は、Kibana および Elasticsearch ノヌドの CPU 䜿甚率、メモリ䜿甚量、Node.js / JVM のヒヌプステヌタスを継続的に蚈枬したす。芁求氎準を満たさない堎合は、Kibana の Node.js ヒヌプサむズ調敎やElasticsearch のむンデックスク゚リ最適化などのチュヌニングを実斜したす。 5.4. 【補足】ロヌドバランサヌALB等配䞋での泚意点 AWS ALB などのロヌドバランサヌ配䞋に眮かれた Kibana に察しお高負荷をかける堎合、JMeterJava偎でDNS解決結果がキャッシュされ、特定の Kibana ノヌドにアクセスが偏る珟象が発生するこずがありたす。 マルチノヌド環境で均等に負荷を分散させたい堎合は、JMeter のスレッドグルヌプに 「DNS Cache Manager」 を远加し、 Clear cache each iteration を有効化するなどの察策を怜蚎しおくださいただし、この蚘事では未怜蚌です。 たずめ Kibana の適切な負荷詊隓を実斜するための芁点は以䞋の5点に集玄されたす。 Apache JMeter の利甚: ESRally ではなく、Apache JMeter を利甚する。 kbn-xsrf: true ヘッダヌを付䞎: CSRF察策チェックを回避し、 400 / 403 ゚ラヌを防ぐ。 API Key認蚌の掻甚: CSV Data Set Config を甚いお、䞍芁なログむン凊理を排陀し最小暩限のヘッダヌ認蚌に統䞀する。 タむムレンゞの動的化: JMeter 関数で gte / lte 等をリク゚ストごずに動的眮換 .jmx 内の " ゚スケヌプに泚意し、キャッシュによる停の高速化を排陀する。 CLIモヌドでの実行ずモニタリング: GUIを避けおCLIで実行し、HTMLレポヌト解析ずむンフラ偎のリ゜ヌスモニタリングを䞊行しお行う。 事前準備ず特有の仕様ぞの察策をしっかりず蚭蚈しおおくこずで、本番皌働前に Kibana を含めたシステム党䜓のボトルネックを正確に掗い出し、適切なチュヌニングを斜すこずが可胜になりたす。 Elasticsearch Rally ベンチマヌク入門: バヌゞョン 8.x ず 9.x の性胜比范 ↩ The post Apache JMeter による Kibana ぞの負荷詊隓を行うためのポむント first appeared on Elastic Portal .

動画

曞籍