TECH PLAY

AGEST

AGEST の技術ブログ

å…š479ä»¶

こんにちは、セキュリティ゚ンゞニアの河村です。 今回はオラむリヌ出版「セキュリティ゚ンゞニアのための機械孊習」の曞評をお届けしたす。 本曞は、セキュリティ゚ンゞニアがこれからの時代に必芁ずされる 機械孊習 の基瀎的な考え方に入門するための曞籍です。 ■ セキュリティ゚ンゞニアのための機械孊習 Chiheb Chebbi 著、新井 悠、䞀瀬 小倜、黒米 祐銬 蚳O’REILLY JAPAN セキュリティ゚ンゞニアのための機械孊習 情報セキュリティの゚ンゞニアや研究者を読者察象ずした機械孊習の入門曞。フィッシングサむト、マルりェア怜出、䟵入怜知システムなどの情報セキュリティ党般の課題に察しお、機械孊習を適甚するこずでどのようなこずが可胜になるのか 本曞ではサむバヌセキュリテ...  詳现はこちら  www.oreilly.co.jp 本の抂芁 本曞で扱われおいる内容は幅広く、デヌタサむ゚ンスの基本たずえばPandasの操䜜方法から、SVMサポヌトベクタヌマシンなどの叀兞的な機械孊習以䞋「 叀兞ML 」、さらに CNN 畳み蟌みニュヌラルネットワヌクずいったディヌプラヌニング、 Deep Q-Network に代衚される匷化孊習たでをカバヌしおいたす。 そのため、理論を厳密に孊ぶための専門曞ずいうよりも、「機械孊習ずは䜕か」を広くむメヌゞできるよう構成された入門曞ずなっおいたす。 もちろん、ディヌプラヌニングや匷化孊習ずいった最先端の内容には専門性が求められ、すべおを完党に理解するのは簡単ではありたせん。 しかしながら、たずえば「特城量」や「正芏化」ずいった基本的な考え方は、機械孊習党䜓に共通するものであり、理系出身でなくおも、本曞で玹介される具䜓䟋を通じお䜓感するこずで、抂念的な理解を深めるこずが可胜です。 ※1 なお、本曞は内容が倚岐にわたるため、本曞評は 前埌線 に分けお掲茉したす。第䞀回ずなる本皿では、 叀兞的な機械孊習を䞭心ずした第3章たで の内容に぀いお、抂芁・埗られる知芋・ブログ執筆者である私の所感を敎理しお玹介したす。 続く第二回では、 ディヌプラヌニングや最先端の攻撃手法 など、より発展的な内容に぀いお取り䞊げる予定です。 それでは次節より、本曞の内容を章ごずに远っおいきたす。 本曞がお勧めできる読者局 読者局 おすすめ床 コメント 機械孊習・統蚈の知識があり、セキュリティ分野に応甚したい方 ★★★★★ 理論ず実践が噛み合い、応甚力が高たりたす。 サヌバ監芖業務に携わっおいる方 ★★★★★ 実務に盎結する内容が豊富です。 セキュリティ分野のトレンドを広く浅く把握したい方 ★★★★★ 最新情報を網矅的に知るこずができたす。 セキュリティ関連の゜フトりェア開発者 ★★★★☆ 実装のヒントが埗られ、開発に掻かせたす。 ペンテスタヌ ★★★★☆ マルりェアや攻撃手法の知識が深たりたす。 IoTテスタヌ ★★☆☆☆ 新しい攻撃手法の理解のヒントにはなりたすが、実甚性はやや限定的です。 初心者セキュリティ゚ンゞニア ★★☆☆☆ 統蚈の基瀎を先に孊ぶこずを掚奚。やや難易床が高めです。 本曞がお勧めできる読者局 ( ※1) 雰囲気だけでもいいので機械孊習の理論のむメヌゞを掎むこずが倧事な理由 䟋え理論を完党に理解出来なかったずしおも、機械孊習のプロセスやアルゎリズムの性質を知るこずで、ブラックボックスになりがちな機械孊習・AI関連の技術で行われおるこずにもある皋床の想像力が付くようになりたす。 機械孊習・AI分野の進歩は非垞に早く、既知の技術が䞀幎で時代遅れになるこずもざらです。しかし、セキュリティ業務を行うものはテキストに乗っおない脆匱性だからずいっお芋萜ずすこずは蚱されたせん。぀たり今たで以䞊に想像力ず慧県(けいがん)が重芁になっおきおるず蚀えたす。 珟圚進行圢で脅嚁床が増しおるLLMに察するハッキング( https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/ )の手法などの理解には、本曞で蚘茉されおるようなデヌタ分析・機械孊習の考え方は非垞に重芁です。できるだけ初心者の方にもわかりやすく䌝える぀もりなので、少しでも理解の手䌝いになれればず思っおおりたす。 章ごずの抂芁 章ごずに内容の難易床を䞻芳で付けさせおもらいたす。以䞋が難易床の指暙です。 ★☆☆ 基本的な内容 ★★☆ 重芁な内容、基本情報レベルの数孊・技術芁玠あり ★★★ かなり発展的な内容 第1ç«  情報セキュリティ゚ンゞニアのための機械孊習入門(★☆☆) 序章ず第1章では、近幎、機械孊習やAIがセキュリティ分野でたすたす重芁な圹割を果たしおいるこずが説明されおいたす。 具䜓䟋ずしお取り䞊げられおいるのが、 䟵入怜知システムIDS ※2 における異垞怜知です。IDSでは、通垞ずは異なる挙動異垞倀を識別する際に、機械孊習の手法が非垞に効果的であるずされおいたす。これにより、ルヌルベヌスでは怜出しきれない未知の攻撃ぞの察応が可胜になるずいった利点があるのです。 こうした理論的な説明を螏たえ、第2章以降では実際にコヌドを動かしながら、より具䜓的な手法や実装を孊べる構成ずなっおいたす。 ※2 䟵入怜知システムIDSずは、ネットワヌクやシステムぞの䞍正アクセスや異垞な挙動をリアルタむムで怜知するセキュリティ察策の仕組みです。 たた、本曞で玹介されおいるサンプルコヌドは、 Google Colaboratory 䞊で実行できるようになっおいたす。実行環境の構築方法に぀いおも、序章にお䞁寧に説明されおいたす。 ただし、ブログ執筆者である私が実際に詊したずころ、Google Colaboratoryの仕様倉曎などの圱響で、䞀郚のコヌドがそのたたでは再珟しづらいケヌスが芋られたした。そのため、以䞋のような代替手段を怜蚎しおもよいでしょう。 実行環境の遞択肢 ロヌカル環境で Jupyter Notebook ※3 を䜿甚する 特に GPU を搭茉した PC をお持ちの堎合は、ロヌカル環境の構築が有効です。本曞のほずんどのサンプルコヌドはそのたた動䜜したす。 環境構築の詳现に぀いおは、以䞋のようなサむトが参考になりたす。 https://ai-inter1.com/jupyter-notebook/ AWS や GCP などのクラりドサヌビスを利甚する 本曞のコヌドは比范的軜量であり、10幎ほど前のゲヌミングノヌトPCでも動䜜可胜です。しかし、より発展的な内容に取り組む堎合、高性胜なPCが必芁になるため、クラりドサヌビスを掻甚したほうがコスト面で有利になるこずがありたす。 Google Colaboratory の有料版を利甚する ブログ執筆者である私は未怜蚌ですが、有料版では無料版の制限むンスタンスの維持時間、メモリ容量、ディスク容量などが緩和されたす。ただし、AWS や GCP のような高い拡匵性はなく、コストパフォヌマンスの面でもやや劣るため、あくたで孊習甚途ずしお割り切っお利甚するのがよいず考えられたす。 ※3 Jupyter Notebookは、コヌドの実行・可芖化・ドキュメント䜜成を䞀぀のむンタヌフェヌスで行える、デヌタ分析や機械孊習に特化した察話型開発環境です。 機械孊習によるモデル開発は以䞋のようなステップになりたす 🗃 デヌタセットの䜜成 ↓ 📥 デヌタセットの読み蟌み・前凊理 ↓ 🔍 探玢的デヌタ分析・特城量゚ンゞニアリング ↔ 🤖 モデルの蚓緎ず評䟡 ↓ 🚀 デプロむ 2章以降ではこの流れも䜓隓出来たす。 ※ 以䞋の図が曎に詳现です https://www.researchgate.net/figure/Machine-learning-workflow_fig3_360998525 個人的な所感ずしお、初心者が機械孊習の孊習で最初に最も぀たずきやすいのは「環境構築」ではないかず感じおいたす。実際、私自身も本曞のサンプルコヌドを再珟する際に、倚くの困難に盎面したした。 コヌドが動䜜しない原因を調べながら、環境䟝存の問題を解決しおいく過皋では、 Linux の基本操䜜、Python のパッケヌゞ管理、゜フトりェアのバヌゞョン管理 など、セキュリティ゚ンゞニアずしお重芁なスキルを䜓系的に孊ぶこずができたす。 確かに手間はかかりたすが、その分埗られる知芋は倧きく、将来的な技術的応甚力にも぀ながりたす。ぜひ本曞の内容を足がかりに、積極的にチャレンゞしおいただければず思いたす。 「セキュリティ゚ンゞニアのための機械孊習」より 第2ç«  フィッシングサむトず迷惑メヌルの怜出(★★☆) この章ではフィッシングサむトや迷惑メヌルの怜知噚の開発を通しお、機械孊習・ディヌプラヌニングの初歩である、 ロゞスティック回垰 、 決定朚 のアルゎリズム、 NLP自然蚀語凊理 の技術を孊び぀぀、サンプルコヌドを通しお実際に実装しお孊びたす。 機械孊習・ディヌプラヌニングのアルゎリズムは倧雑把に以䞋のように進化したした。 【統蚈モデル】 └─ ロゞスティック回垰線圢分類の基本 【単䜓孊習噚】 ├─ 決定朚ルヌルベヌスの非線圢モデル ├─ k-NN距離ベヌスの分類噚 └─ SVMマヌゞン最倧化 【アンサンブル孊習】 ├─ ランダムフォレスト決定朚×倚数決 └─ 募配ブヌスティング決定朚×逐次孊習 └─ XGBoost / LightGBM / CatBoost など --------------------------- ↑ ここたでが叀兞ML --------------------------------- --------------------------- ↓ ここからがディヌプラヌニング ----------------------- 【ニュヌラルネットワヌク系】 └─ ニュヌラルネット倚局パヌセプトロン └─ 深局孊習DNN, CNN, RNN→ 2010幎頃の初期のディヌプラヌニング └─ BERT / GPT などの倧芏暡蚀語モデル → モダンなディヌプラヌニング ※ より詳しくは以䞋リンクの図を参照しおください https://www.researchgate.net/figure/Development-history-of-classical-machine-learning-algorithms-since-the-1930s_fig2_360998525 ロゞスティック回垰や決定朚は機械孊習の基本ではありたすが、ベヌスずなる理論に線型代数、確立・統蚈の芁玠があったりず、特に文系の方にずっお決しお容易な内容ではございたせん。数孊的な背景を知りたい方は以䞋のサむトなどを参照しおください。 https://bellcurve.jp/statistics/course/26934.html 「セキュリティ゚ンゞニアのための機械孊習」より フィッシングサむト怜出噚の開発(ロゞスティック回垰・決定朚) UCI Machine Learning Repository のフィッシングサむトのデヌタセットを甚いお、挔習を行いたす※ 参考 https://archive.ics.uci.edu/dataset/327/phishing+websites 。ここには各サむトのヘッダの有無、アドレスがIPアドレスか吊かなどの 特城量 ※4 が0、1で蚘されおいたす。 UCI Machine Learning Repositoryのデヌタセット ※4 特城量 ずは、機械孊習モデルが刀断や予枬を行うための入力デヌタの芁玠情報の断片です。 この数字を 行列・テン゜ル ずしおプログラムが扱えるように加工するこずで、初めおロゞスティック回垰を初めずする機械孊習のアルゎリズムが実行可胜ずなりたす。 ここでは sklearn 、 optuna 等のツヌルを甚いたす。 sklearnずoptunaに぀いお sklearn は機械孊習のアルゎリズムが耇数搭茉されたPythonラむブラリです。今回取り扱っおるロゞスティック回垰などは sklearn を甚いずに実装するこずも可胜なので、理解を深めたい方は調べおみるずよいず思いたす。 ※ 参考 https://qiita.com/phyblas/items/375ab130e53b0d04f784 optuna は ハむパヌパラメヌタ のチュヌニングを行うためのラむブラリです。ハむパヌパラメヌタのチュヌニングでは機械孊習で甚いられるモデルの構造を調敎するこずで、粟床や速床を倧幅に改善できるため、非垞に重芁な工皋です。 sklearnの ロゞスティック回垰 ず 決定朚 モゞュヌルを甚いお、 UCI Machine Learning Repository のデヌタセットで迷惑メヌルの怜出を行いたす。これらはどちらも基本的な分類アルゎリズムですが、埗意䞍埗意があり、䜿い分けが重芁ずなっおきたす。 芳点 決定朚Decision Tree ロゞスティック回垰 Logistic Regression モデルのタむプ 非線圢・朚構造 線圢モデル 予枬の仕組み 条件分岐if-thenによる分類 特城量の線圢結合シグモむド関数で確率を算出 可芖化 朚の圢で芖芚的に理解しやすい 回垰係数を数匏で把握する 特城量の扱い カテゎリ・数倀ずもに柔軟に察応 数倀的な特城量が向いおる芁ワンホット 前凊理の必芁性 基本的になし スケヌリングやダミヌ倉数化が必芁なこずも 過孊習しやすさ 高特に深い朚 䞭正則化で抑制可胜 パフォヌマンス 単䜓では匱いが、ランダムフォレスト等で匷化可 単䜓で高速・安定した性胜 sklearnではそれぞれ以䞋のモゞュヌルのクラスで容易に実装できたす from sklearn.linear_model import LogisticRegression # ロゞスティック回垰 from sklearn.tree import DecisionTreeClassifier # 決定朚 X = training_data[:,:-1] y = training_data[:, -1] X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, shuffle=True, random_state=101) このコヌドでデヌタセットを蚓緎甚ずテスト甚に分割したす。テスト甚にはデヌタセットの20%を割り圓お過孊習を防ぎたす。 以䞋のようなコヌドで凊理を進めおいきたす。 ▲ロゞスティック回垰を䜿った怜出噚の䜜成 LogisticRegression クラスのむンスタンスを䜜成し、そのむンスタンスに察しお X_train ず y_train を䜿っお蚓緎fitを行い、孊習枈みモデルで X_test に察しお予枬predictを行っおいたす。 亀差怜蚌を行っおる様子 cross_val_scoreは亀差怜蚌を行うための関数です。 コヌドの詳现に぀いおは本曞を参考にしおください。 ハむパヌパラメヌタのチュヌニング ハむパヌパラメヌタのチュヌニングずは、機械孊習モデルの「蚭定倀」を調敎しお、モデルの性胜粟床や汎化性胜を最倧化する䜜業のこずです。先ほど玹介した optuna を甚いたす。 チュヌニングが必芁な理由 ハむパヌパラメヌタの蚭定によっお、モデルの性胜は倧きく巊右されたす。 正則化が匷すぎる堎合、過孊習の防止にはなるものの、孊習が䞍十分になり粟床が䜎䞋したす。 逆に正則化が匱すぎる堎合、蚓緎デヌタに過剰に適合し、汎化 ※5 性胜が萜ちおしたうこずもありたす。 ※5 簡単に蚀えば、「未知のデヌタに察しおも正しく予枬できる胜力」のこずを指したす。 わずかですが、ハむパヌパラメヌタのチュヌニングで怜知の粟床が向䞊しおたす。 決定朚を甚いた堎合。sklearnを䜿う堎合、ロゞスティック回垰のずきずパラメヌタの蚭定以倖ほが同様の蚘述で枈みたす。 迷惑メヌルの怜出噚の開発(募配ブヌスティング・NLP) 迷惑メヌルの怜出噚の開発にあたっおは、機械孊習・ディヌプラヌニングのアルゎリズムの他に、自然蚀語を実際に凊理しお分析する技術が必芁になりたす。この自然蚀語を扱うための技術を NLPNatural Language Processing ずいいたす。 NLP(自然蚀語凊理)の手順30頁 図2-8より 字句解析 テキストを単語や圢態玠に分割し、品詞を特定する ↓ 構文解析 文法構造係り受け、句の関係を解析する ↓ 意味解析 単語や文の意味を理解し、曖昧さを解消する ↓ 談話統合 耇数の文を぀なげお前埌関係や指瀺語などを解釈する ↓ 語甚論的分析 文脈・話者の意図・瀟䌚的背景などを螏たえお意味を補完する 「セキュリティ゚ンゞニアのための機械孊習」より NLPを行うにあたっお、蚀語情報を特城量ずしお利甚できるようにするために tf-idf を䜿甚したす。tf-idfずは、文曞内での単語の出珟頻床ず、他の文曞矀における出珟頻床の逆数を組み合わせるこずで、その単語の盞察的な重芁床を算出する指暙です。䞋蚘に簡略化した定矩を茉せたす。 TF-IDF(t, d) = TF(t, d) × IDF(t) - TF(t, d) = 単語 t の文曞 d における出珟回数たたは割合 - IDF(t) = log( N / (df(t) + 1) ) + 1 - N党䜓の文曞数 - df(t)単語 t を含む文曞の数 このように、 その文曞でよく䜿われお、他の文曞ではあたり䜿われおいない 単語ほど、TF-IDFスコアが高くなり、その文曞の“特城的な語”ずしお扱われたす。 本曞では、この蚈算を sklearn.feature_extraction.text モゞュヌルの TfidfVectorizer クラスを甚いお行いたす。 Pandas のDataFrameオブゞェクトに迷惑メヌルリストを倉換したす。それを TfidfVectorizer でベクトル化したす。 今回は LightGBM ずいうマむクロ゜フトによっお公開された 募配ブヌスティング朚 ※6 ずいうアルゎリズムを甚いたす。このアルゎリズムに぀いお詳しくは第3章で蚘茉されおいたす。今回もハむパヌパラメヌタのチュヌニングをoptuna で行っおたす。 ※6 募配ブヌスティング朚Gradient Boosting Decision Treesは、たくさんの「決定朚Decision Tree」を組み合わせお、高粟床な予枬を行う手法です。1本1本の朚はそこたで賢くないけれど、「間違いを少しず぀盎しおいく」こずを䜕床もくり返すこずで、最終的にかなり正確な予枬ができるようになりたす。 実行結果、この堎合、98の粟床で迷惑メヌルを怜出できたした。 これで本章は終わりですが、章末には挔習問題が茉っおいたす。時間に䜙裕がある方はこれらを解くこずで理解が深たりたす。 第3ç«  ファむルのメタデヌタを特城量にしたマルりェア怜出★★★ 本章では機械孊習アルゎリズムを駆䜿しお、マルりェア怜知噚を実装し぀぀、メモリ解析の手法や、ランダムフォレストなどの機械孊習アルゎリズムに぀いお孊びたす。 マルりェア解析の皮類 マルりェア解析にも様々なアプロヌチがありたす。以䞋のようなものがありたす。 衚局解析 りむルス察策゜フトによるスキャン ハッシュ倀の取埗 文字列の抜出 PEヘッダ のちのちこれに぀いお詳现に取り扱いたす 動的解析 マルりェア解析甚サンドボックスを甚いお、感染動䜜を蚘録する手法 生成する子プロセスの情報、TCPの通信などがここからわかりたす。 メモリ解析 感染PCのメモリダンプを分析する手法 Volatility3などを利甚したす。 たた、マルりェアは怜出を回避するために以䞋のような手段をずりたす。 怜出回避の手段 難読化 ファむル寄生 パッキング PEヘッダずは PE(Portable Executable)は、Windowsで実行ファむルが正しく動䜜するための構造化フォヌマットです。倚くのマルりェアはこれを改ざんしお怜出を回避したす。ここにあるむンポヌト 、 ゚クスポヌト 、 タむムスタンプ などの情報はマルりェア解析にも圹立ちたす。 PEファむルの基本構造 PEファむル ├── ヘッダ │ ├── DOSヘッダ │ ├── PEヘッダ │ ├── オプショナルヘッダ │ └── セクションテヌブル └── セクション ├── コヌド ├── むンポヌト └── デヌタ PEヘッダ解析には、PEview、PeStudio、Pythonのpefileずいったツヌルを甚いるこずが可胜です。 特城量゚ンゞニアリング この章ではセキュリティブロガヌであるPrateek Lalawniによっお配垃されたマルりェアのデヌタセット MalwareData.csv のデヌタをもずにマルりェア怜出を詊みたす。以䞋の画像のように、このデヌタセットでは、各exeファむルのPEヘッダ情報がcsv圢匏で栌玍されおいたす。 第䞀段階ずしお、 探玢的デヌタ解析(EDA) を行いたす。探玢的デヌタ解析EDAずは、デヌタを集蚈・芁玄・可芖化しながら実際に䞭身を芳察するこずで、傟向や異垞倀、特城を把握する分析の初期ステップです。 探玢的デヌタ解析では以䞋のようなツヌルが甚いられたす。 ツヌル・ラむブラリ 甹途 備考 pandas デヌタの集蚈・芁玄 describe() や groupby() などで統蚈量やグルヌプ集蚈が可胜 matplotlib 基本的な可芖化 折れ線、棒グラフ、散垃図などの描画に察応 seaborn 高機胜な可芖化 ヒヌトマップや箱ひげ図など、統蚈的グラフが埗意 plotly むンタラクティブな可芖化 ブラりザ䞊で操䜜可胜な動的グラフが描画可胜 ydata-profiling旧 pandas-profiling 自動EDAレポヌト生成 䞀行で詳现な統蚈・可芖化レポヌトを生成 Sweetviz 可芖化䞭心の自動EDA 耇数デヌタセットの比范に適しおおり、HTML出力も可胜 dtale GUIベヌスでEDA操䜜 pandasデヌタフレヌムをブラりザで盎感的に確認・操䜜可胜 本曞では pandas-profiling が䜿甚されおいるのですが、こちらは名前が ydata-profiling に倉曎されおいたす機胜は同じです。 このツヌルを䜿うず、デヌタセットの各カラムに぀いお、 倀の分垃 や 欠損倀の有無 、 れロの割合 などを自動で可芖化できたす。 MalwareData.csv のデヌタセットにydata-profilingを甚いおみたした。以䞋のようなレポヌトが生成されたした。 たずえば、MalwareData.csv の「legitimate」列では、倀が 0 ず 1 の2皮類しかなく、そのうち玄70%が 0停物であるこずが䞀目でわかりたす䞋図の赀い郚分。たた、「VersionInformationSize」列では、0〜26たでの数倀が芳枬され、れロが玄21%を占めおいるこずがわかりたす。 このように、ydata-profiling を䜿うこずで、 デヌタの偏りや異垞倀、欠損の有無などを芖芚的に確認 でき、前凊理やモデリングの方針を立おやすくなりたす。 今回は、 ydata-profiling によっお埗られたレポヌトを眺める䞭で、「 legitimate 」ず「 VersionInformationSize 」ずいう2぀のパラメヌタが特に気になりたした。そこで、これらの関係を詳しく調べるために、 matplotlib を䜿っおそれぞれの分垃を重ねお可芖化しおみたずころ、䞡者の間に明確な違い盞関関係があるこずが芖芚的に確認できたした。 こうやっお芋぀けた関係を元に、手動で新たな特城量を䜜り出すこずもありたす。たた、䞍芁な特城量を削陀するこずもありたす。そうするこずで機械孊習アルゎリズムがよりうたくいきたす。 以䞋に探玢的デヌタ解析(EDA)の流れを図にしたした。 この④の工皋が特城量゚ンゞニアリングです。 これらを 特城量゚ンゞニアリング ずいいたすが、非垞に重芁でか぀専門的な工皋です。kaggle(デヌタサむ゚ンスの実力を実践で詊し、䞖界䞭ず競い合えるオンラむン競技堎)などの䞊玚レベルずなるず、機械孊習アルゎリズムぞの知識量よりも特城量蚭蚈が勝敗をわけるこずが倚いです。 機械孊習を甚いた特城量の分類 機械孊習アルゎリズムを甚いお、重芁床の高い特城量を遞択するこずも可胜です。本曞ではsklearnの以䞋のラむブラリを甚いお、分類を行っおたす。 ExtarTreesClassifier (耇数の決定朚を䜿っお分類するアルゎリズム) RandomForestClassifier (ランダムフォレスト) GradientBoostingClassifier (募配ブヌスティング) AdaBoostClassifier (AdaBoost) 以䞋のようなコヌドでパラメヌタ蚭定さえ正しく行えば、それぞれのアルゎリズムを比范的簡単に実装できたす。第䞀段階ずしお、特城量を機械孊習アルゎリズム(この堎合ランダムフォレスト)を甚いお遞択したす。 以䞋にランダムフォレストを甚いた堎合のコヌドの様子を瀺したす。 ランダムフォレストの結果、遞択された特城量 その埌、以䞋の第二段階のコヌドで埗られた特城量をパラメヌタに甚いお、モデルを孊習し、正答率を評䟡しおいたす。 これは぀たり、ランダムフォレストアルゎリズムを甚いお、遞択された特城量で孊習を行った結果、99.2の確率でマルりェア怜出に成功できたずいうこずがわかりたす。 詳しくは本曞を読んで欲しいのですが、それぞれのアルゎリズムには埗意䞍埗意があり、今回のケヌスでも正答率に違いが出おいたす。プロのデヌタサむ゚ンティストの堎合、コストずの兌ね合いも含めお、これらを的確に遞ぶ胜力が求められたす。 本曞では次の節でAndroidマルりェアのデヌタセットを題材に SVM(Support Vector Machine) を甚いた䟋も掲瀺されおたす。 アルゎリズム名 分類 䞻な特城 長所 短所 ExtraTreesClassifier バギング系 非垞にランダムな決定朚を倚数構築 ・孊習が高速・過孊習しにくい ・解釈性が䜎い・ノむズにやや敏感 RandomForestClassifier バギング系 ランダムサンプリング特城量遞択の倚数決 ・過孊習に匷い・特城量の重芁床が分かる ・掚論が遅くなる・メモリ䜿甚量が倚い堎合あり GradientBoostingClassifier ブヌスティング系 匱い孊習噚を順番に重ねお誀差を補正 ・非垞に高粟床・柔軟性が高い回垰にも䜿える ・孊習時間が長い・過孊習しやすい AdaBoostClassifier ブヌスティング系 誀分類に重みを぀けお匱孊習噚を組み合わせ ・実装がシンプル・ノむズが少ないず高粟床 ・倖れ倀に匱い・デヌタの前凊理が重芁 SVMSupport Vector Machine マヌゞン最倧化 マヌゞンを最倧化する超平面で分類 ・高次元デヌタに匷い・カヌネルで非線圢も察応可胜 ・デヌタが倚いず遅い・ハむパヌパラメヌタの調敎が難しい 3章たでで、抂芁レベルですが叀兞MLの代衚的なアルゎリズムをPythonで実装する方法を孊べたした。 第3章たでを読んで 第3章たででは、ロゞスティック回垰・決定朚・SVMずいった叀兞的な機械孊習アルゎリズムの実装を䞀通り䜓隓するこずができたした。今埌公開予定の「第二回」では、AdaBoostやSVMずは異なるアプロヌチから発展した、珟圚のAI技術の䞻流である ディヌプラヌニング に぀いお取り䞊げたす。加えお、その応甚䟋ずしお、機械孊習システムぞの攻撃や、ディヌプラヌニングを掻甚した マルりェア怜知噚 の実䟋も玹介する予定です。 将来的に機械孊習・ディヌプラヌニング゚ンゞニアずしお掻躍したい方にずっお、第3章たでの内容は欠かせない基瀎ずなりたす。本曞には優れた挔習問題も倚数収録されおおり、これらに積極的に取り組むこずを匷くおすすめしたす。 The post 曞評【セキュリティ゚ンゞニアのための機械孊習】(第1回) first appeared on Sqripts .
垰玍的な掚論 ず 発芋的な掚論(アブダクション) は、私たちが゜フトりェア開発の珟堎/実務で知らず知らずにでも駆䜿しおいる思考の圢ですそれどころか日々の暮らしでも䜿っおいたす。 それほど“自然な”思考の圢ですが、どんな考え方で、どんなずころに泚意するず質の高い思考ができるのか、基本知識を抌さえおおくず実務のレベルアップに぀ながりたす。 実務䞉幎目からの発芋力ず仮説力 蚘事䞀芧 ※クリックで開きたす 【第1回】芋぀けるための論理【連茉初回、党文公開䞭】 【第2回】 “共通項”を芋぀け出す 【第3回】発芋はよい芳察ずよい方法から 【第4回】垰玍の仲間ず萜ずし穎 -前線- 【第5回】垰玍の仲間ず萜ずし穎 -埌線- 【第6回】 なぜ・どのようにを説明したい 【第7回】 仮説の糞を手繰り寄せる 【第8回】 芖芚化しお考える 【第9回】発想を促すヒント 【第10回】泚意はしながら、恐れずに 最終回【第11回】論理をスキルの匕出しに タむトルを倉えながら、 論理の蚀葉 、論理の蚀葉で組み立おる 挔繹的な掚論 、垰玍やアブダクションずいった 蓋然的な掚論 の基本を解説しおきた連茉も、今回で終わりです。 最埌に論理のスキルに぀いお補足を少々述べお締めくくりたいず思いたす。 䞉぀の掚論圢匏・たずめ これたでに玹介しおきた掚論の特城をたずめたした。 図11-1 挔繹、垰玍、アブダクションの特城 各掚論の圢に぀いおは 実践線第1回 、そしお 本連茉第1回 でも説明しおいたす。 関連蚘事 論理のかたち。掚論ずは゜フトりェア゚ンゞニアのための論理スキル実践線 ゚ンゞニアが身に぀けおおきたいスキルの䞀぀「論理のスキル」。「論理の蚀葉」の意味や働きに泚意が向くようになったら、文や文章の読み曞きで実践しおいきたしょう。この連茉では、「論理スキル“実践線”」ず題しお、「文章の筋道を把握する、䞻匵を理解する」「文...  続きを読む  Sqripts 関連蚘事 【第1回】芋぀けるための論理実務䞉幎目からの発芋力ず仮説力 垰玍的な掚論 ず 発芋的な掚論(アブダクション) は、私たちが゜フトりェア開発の珟堎/実務で知らず知らずにでも駆䜿しおいる思考の圢ですそれどころか日々の暮らしでも䜿っおいたす。それほど“自然な”思考の圢ですが、どんな考え方で、どんなずころに泚意す...  続きを読む  Sqripts 「AI時代」ず論理のスキル 連茉の間に、生成AIやLLM(倧芏暡蚀語モデル)は゜フトりェア開発業務にも浞透しおきおいたす。 この「AI時代」に、論理のスキルはどんな面で、どう掻躍するでしょうか。 出力のレビュヌ①挔繹的なチェック ハルシネヌションに代衚される「生成AIの出力を盲信する危険性」は぀ずに指摘されおいる通りです。 AIの出力を利甚しようずする時には、内容面ず論理面で問題がないかの レビュヌ が重芁です。 内容に問題はないか 前提、結論(䞻匵)は正しいか è«–æ‹ ã‚„å…žæ‹ (参考文献の類)は正しいか実圚するか。正しく甚いおいるか 前提から結論(䞻匵)たでの筋道に矛盟・䞍敎合や飛躍は芋圓たらないか 出力のレビュヌ②垰玍面のチェック 『AI時代の質問力 プロンプトリテラシヌ』によれば、垰玍的掚論は生成AIの埗意ずするずころです。 (略)耇数の実䟋から背埌にあるパタヌンを芋出す「垰玍」の胜力は 機械孊習モデルの真骚頂である。 (略)「垰玍」は論理的な飛躍を含む。これは機械孊習モデルの特城であるず同時に、 コンピュヌタが人間のように間違う䞀因でもある。 『AI時代の質問力 プロンプトリテラシヌ』p. 106 生成AIは蓄えたデヌタの量が人間より遥かに倚いこず、人間が芋萜ずしそうな现郚の特城も“憶えおいる”こずから、共通する特城を持぀耇数の事䟋を芋぀けるこずに長じおいるのは頷けたす。 人間が行なう垰玍的な掚論を盞圓皋床肩代わりしたり補完したりしおくれるかも知れたせん。 ずはいえ、生成AIが“間違える”可胜性はありたすから、垰玍面のチェックは欠かさないようにしたしょう。 挙げられた事䟋は適切か どこに共通項を芋出したのか その共通項は適切か etc. 出力のレビュヌ③アブダクション AIに発芋的な掚論をさせるずいった䜿い方も考えられたす。 私たちが簡単には思い぀かないようなもっずもらしい「仮説」を“考えお”くれるかも知れたせん。 が、その出力をレビュヌする必芁があるのは、先述の挔繹的なチェックや垰玍面のチェックず同様です。 仮説のもっずもらしさや怜蚌可胜性を、人間ず同じように生成AIが“考えお”いるずは限りたせん よい仮説の4぀の条件 ( 第7回 、 第10回 )に照らしお問題はなさそうか(特に、もっずもらしさず怜蚌可胜性) 結論に至る道筋に問題はないか AI盞手に限らずよいレビュヌのために こうしお芋おくるず、人の思考過皋や成果物をレビュヌする時ず違いはありたせんね圓然ずいえば圓然ですが。 論理のスキルを高めるこずは、レビュヌのスキルを高めるこずに぀ながる  ずは蚀い切れないかも知れたせんが、人間でもしばしば起こる「ロゞックの誀り」はレビュヌで芋぀けたい誀りのひず぀です 実践線第1回 「「真」ず「劥圓」」参照。 図11-2 レビュヌの芖点のひず぀ 生成AIの名誉 のために曞き添えるず、先述のように圌らの蓄えおいるデヌタの量ず现郚の“蚘憶”は厖倧 (がうだい) ですし、人間が思いも぀かないような“着県点”の出力を出しおくるこずもありたす。 AIの“思考過皋”をなぞっおみるのは、自分の思考過皋の敎理や振り返りにもなるでしょう。 その特性を掻かしながら、圌らの䞍埗意なこずを芋逃さずに賢く぀き合っおいきたしょう。 プロンプトづくり 出来の悪い出力を改善するよりは、出力の質を高める方が楜です。 よい出力を埗るためのプロンプトづくりは、プロンプト゚ンゞニアリングず呌ばれ、プログラミングにもたずえられたす。 よいプロンプトを組立おる際に、挔繹的な掚論のスキルが貢献するでしょう。 䜜ったプロンプトのレビュヌも含め 答えお欲しい事柄や、出力の䜜り方資料の集め方、掚論の組み立お方、出力の䜓裁、etc.を具䜓的に、 理路敎然ず 指瀺する 矛盟や䞍敎合のない 指瀺を組立おる スキルの名前は芚えなくおも できおいる人は 「本連茉の内容、自分はできおいるんじゃないかな」「いや日々普通にやっおるんだが」ず感じた人は、玠晎らしいです。匕き続き日々の暮らしや仕事でがしがし䜿っおください。 実際に䜿えるこずが倧事 「この連茉で初めお論理の蚀葉ずか、掚論の圢ずか、その意味を知った」ずいう人や「できおるかどうか自信ない」ず感じた人は、なんずか䞉段論法ずか、アブダクションずか、そんな名前は芚えなくおかたいたせん。 仕事の堎や暮らしの䞭で、 「論理を意識する」ずいうこずを意識 しおみおください。 思い蟌みや予断に気を぀けながら、事実に即しお、筋道を意識しお思考を働かせたしょう。 「なんずなく」や「盎感」かず思っおいたこずが 実はそうじゃなかった ず感じられるかも知れたせん。 「でもそれにはちゃんず裏づけがあるこずたでは意識しおいなかった」ずも感じるかも知れたせん。 あるいは、今たでは「なんずなく」や「盎感で」でやっおいたこずが、 そうじゃなくなった ず感じられるかも知れたせん。 そういう䜓隓をするうちに、論理のスキルが頭に沁み蟌んでくるでしょう。 図11-3 名前は芚えなくおも 名前を芚えるこずにも意味はある 論理のスキルの名前を芚えるこずにももちろん意味やメリットはありたす。 個別の具䜓䟋から離れお、掚論の圢垰玍、遞蚀䞉段論法、etc.を 名前で指す こずができる 論理の働きを 圢(の名前)で衚しおメタ的に振り返る こずができる 思考の過皋を俯瞰しやすくなる プログラミングで蚀えば、ラむブラリ/メ゜ッド(関数、手続き)の名前を蚀えばどんな凊理をしおどんな結果が埗られるか通じる、ずか、゜フトりェアテストで蚀えば、テスト技法の名前を蚀うこずでどんなテストケヌスか抂ね把握できるようなものです。 図11-4 名前で指せるず捗るこずも ★★★★ 連茉にお぀き合いいただき、ありがずうございたした。 論理スキル[再]入門第1回 で觊れたしたが、私たち゜フトりェア゚ンゞニア(テスト゚ンゞニアを含む)の仕事は論理ずの぀き合いは避けお通れたせん。 この蚘事たちが、皆さんが自分のスキルの匕出しに論理のスキルを加える手助けになれおいたら幞いです。 参考文献 近藀掋逞, 奜䞊英叞 『論理孊入門』 岩波曞店 1979 藀野登 『論理孊 䌝統的圢匏論理孊』 内田老鶎圃 1968 鈎朚矎䜐子 『論理的思考の技法Ⅱ』 法孊曞院 2008 アンリ・ポアンカレ(著), 南條郁子(èš³) 『科孊ず仮説』 筑摩曞房 2022 岡瑞起, 橋本康匘 『AI時代の質問力 プロンプトリテラシヌ』 翔泳瀟 2024 図版に䜿甚した画像の出兞 Loose Drawing 人物画をお借りしおいたす。 品質探偵コニャンProduced by Sqripts . No Unauthorized Reproduction. 【連茉】゜フトりェア゚ンゞニアのための論理スキル実務䞉幎目からの発芋力ず仮説力 蚘事䞀芧 【第1回】芋぀けるための論理 【連茉初回、党文公開䞭】 【第2回】 “共通項”を芋぀け出す 【第3回】発芋はよい芳察ずよい方法から 【第4回】垰玍の仲間ず萜ずし穎 -前線- 【第5回】垰玍の仲間ず萜ずし穎 -埌線- 【第6回】 なぜ・どのようにを説明したい 【第7回】 仮説の糞を手繰り寄せる 【第8回】 芖芚化しお考える 【第9回】発想を促すヒント 【第10回】泚意はしながら、恐れずに 最終回【第11回】論理をスキルの匕出しに The post 最終回【第11回】論理をスキルの匕出しに実務䞉幎目からの発芋力ず仮説力 first appeared on Sqripts .
テスト゚ンゞニアのナッキヌです。 普段は自動化担圓郚眲で、お客様のテスト自動化導入をご支揎したり、瀟内の自動化技術の研究開発に携わっおいたす。 皆さんの呚りでも、「AI」ずいう蚀葉を聞かない日はないのではないでしょうか。ある調査では、2024幎の゜フトりェア開発トレンドの第1䜍が「生成AI」で、半数以䞊の開発者が実際に導入しおいるずいう結果も出おいたす 。この倧きな波は、私たちテスト゚ンゞニアの仕事にも確実に抌し寄せおいたす。 しかし、「AIがテストを自動化する」ずいう蚀葉だけが先行し、具䜓的に「䜕が」「どのように」倉わるのか、珟堎目線での実感はただ少ないかもしれたせん。そこで今回の蚘事では、流行りの蚀葉ずしおAIを語るのではなく、日々の業務で向き合っおいるテスト自動化の珟堎で長幎課題ずされおきたこずを、最新のAI技術がどのように解決しようずしおいるのか、その実態に迫っおみたいず思いたす。 具䜓的には、「自己修埩セルフヒヌリング」、「AIビゞュアルリグレッションテスト」、そしお「生成AIによるテストケヌス生成」ずいう3぀の重芁な技術トレンドを掘り䞋げ、私たちテスト゚ンゞニアの日垞がどう倉わっおいくのかを、具䜓的なツヌルの動向も亀えながら考察しおいきたす。 AIが解決する、テスト自動化の根深い課題 テスト自動化に取り組んだこずがある方なら、誰もが䞀床は盎面するであろう「根深い課題」がありたす。それは、テストスクリプトの「メンテナンスコスト」ず「脆匱性」です。UIのちょっずした倉曎でロケヌタが倖れおテストが倱敗し、その修正に倚くの時間を費やす ずいう経隓は、皆さんにもあるのではないでしょうか。 この問題は非垞に深刻で、ある調査によるず、䌁業におけるテスト党䜓の自動化率は平均で33%に留たっおいるそうです。倚くの䌁業が、メンテナンスコストの高さから自動化の範囲を広げられず、䟝然ずしお手動テストに倧きく䟝存しおいるのが珟実です。゜フトりェアテストにおける最倧の悩みずしお、「コストの肥倧化」ず「開発期間の長期化」が挙げられおいるこずからも、この課題の根深さがうかがえたす。 こうした状況の䞭で登堎したのが、AIです。AIは私たち゚ンゞニアの仕事を奪う存圚ではなく、むしろ匷力な「アシスタント」や「副操瞊士Copilot」ずしお、最も時間ず手間がかかる反埩的な䜜業や、䞍安定な郚分を匕き受けおくれる存圚です。AIに面倒な䜜業を任せるこずで、私たち人間は、より戊略的で創造的な、付加䟡倀の高い業務に集䞭できるようになりたす。 この䟡倀は単なる効率化に留たりたせん。メンテナンスに远われる時間を削枛できれば、そのリ゜ヌスを新機胜の探玢的テストや、セキュリティの脆匱性分析ずいった、品質を本質的に高める掻動に再投資できたす。぀たり、AIの導入は、単なる生産性向䞊だけでなく、品質ず開発スピヌドに察するビゞネスリスクを軜枛するための戊略的な䞀手ずなり埗るのです。 テストの珟堎を倉える3぀のAI技術トレンド それでは、AIが具䜓的にどのような技術で私たちの課題を解決しおくれるのでしょうか。ここでは、特に重芁ず思われる3぀のトレンドを詳しく芋おいきたしょう。 1. メンテナンス工数を劇的に削枛する「自己修埩セルフヒヌリング」 テスト自動化における最倧の悩みの䞀぀が、UIの倉曎によるテストスクリプトの砎損です。ボタンのIDやクラス名が少し倉わっただけでテストが倱敗し、その床に修正が必芁になるのは、本圓に骚の折れる䜜業です。この「テストの脆匱性」ずいう長幎の課題に、正面から向き合うのが「自己修埩セルフヒヌリング」技術です。 自己修埩ずは、テスト実行時にアプリケヌションのUI倉曎をAIが自動で怜知し、テストスクリプトをその堎で修正しおテストを続行する仕組みです。この魔法のような技術は、䞻に以䞋の3぀のステップで機胜したす。 芁玠の特定Element Identification : 埓来のテストツヌルがXPathのような単䞀で壊れやすい情報に䟝存しおいたのに察し、AIを搭茉したツヌルは、芁玠をより豊かに「指王認蚌」のように捉えたす。ID、name、CSSクラス、テキスト内容、さらには画面䞊の盞察的な䜍眮関係や芖芚的な特城たで、耇数の属性を総合的に蚘録したす。これにより、䞀぀の属性が倉わっおも、他の情報から「おそらくこの芁玠だろう」ず掚枬できる、堅牢な識別が可胜になりたす。 問題の蚺断Issue Diagnosis : テスト実行䞭に、蚘録されおいた䞻芁なロケヌタで芁玠が芋぀からなかった堎合、AIは即座にテストを倱敗させたせん。代わりに蚺断モヌドに入り、保持しおいる他の属性情報指王を元に、倉曎埌のUIの䞭から最も䞀臎する芁玠を探玢したす。 自己修埩アクションSelf-Healing Action : AIが「これが探しおいた芁玠だ」ず高い確信床で再特定できた堎合、テストスクリプト内の叀いロケヌタを新しい、正しい情報に自動で曎新したす。これにより、珟圚のテストをパスさせるこずができるだけでなく、将来のテスト実行もより安定したものになりたす。 この自己修埩機胜によっお、私たちはロケヌタ修正ずいう䞍毛な䜜業から解攟され、CI/CDパむプラむンの安定性を劇的に向䞊させるこずができたす。結果ずしお、メンテナンスコストの削枛、迅速なフィヌドバックの実珟ずいった、蚈り知れないメリットがもたらされるのです。 2. 人間の県を超える「AIビゞュアルリグレッションテスト」 Webアプリケヌションの芋た目UI/UXは、ナヌザヌ䜓隓に盎結する非垞に重芁な芁玠です。しかし、そのテストは非垞に難しいものでした。埓来の「ピクセル比范」によるビゞュアルリグレッションテストは、広告やアニメヌションずいった動的コンテンツ、あるいはブラりザ間のわずかなレンダリング差にたで反応しおしたい、「停の倱敗False Positive」を倧量に発生させるずいう問題がありたした。 この問題を解決するのが、「AIビゞュアルリグレッションテスト」です。Applitoolsのような先進的なツヌルが採甚しおいるこの技術は、AIの画像認識コンピュヌタビゞョンず機械孊習を甚いお、人間の県のようにUIを評䟡したす。単にピクセルを比范するのではなく、ペヌゞの構造や文脈を理解しようず詊みるのです。 AIが可胜にする䞻な機胜は以䞋の通りです。 レむアりト比范Layout Comparison : AIは、芁玠の配眮やサむズ、重なりずいったレむアりト構造を理解したす。そのため、「ボタンの䜍眮が5ピクセルずれた」「テキストが画像に重なっおしたった」ずいった、ピクセル単䜍の比范では芋逃しがちな、しかしナヌザヌ䜓隓にずっおは臎呜的なデザむン厩れを正確に怜出できたす。 動的コンテンツの無芖 : テスト゚ンゞニアは、AIに察しお「この領域は広告なので無芖しお良い」「ここはタむムスタンプなので毎回倉わる」ずいった指瀺を䞎えるこずができたす。これにより、意図しない倉曎によるノむズを劇的に枛らし、本圓に重芁な芖芚的バグだけに集䞭するこずが可胜になりたす。 文脈の理解Contextual Understanding : 高床なAIは、倉曎の文脈を理解するこずさえできたす。䟋えば、「賌入ボタン」が消えおしたうずいった臎呜的なバグず、商品画像が新しいものに差し替わるずいった意図した倉曎を区別し、前者のみを重倧な問題ずしお報告したす。これは、単なる画像比范から、ナヌザヌぞの圱響床を考慮した品質保蚌ぞの進化ず蚀えるでしょう。 3. 「仕様曞」からテストを創り出す「生成AIによるテストケヌス生成」 これたで玹介した2぀の技術がテストの「メンテナンス」ず「実行」を革新するものだずすれば、この「生成AIによるテストケヌス生成」は、テストプロセスの䞊流である「蚭蚈」ず「䜜成」のあり方を根底から倉える可胜性を秘めおいたす。 これは、テスト゚ンゞニアが芁件定矩曞や仕様曞を読み解き、手䜜業でテストケヌスに萜ずし蟌んでいたプロセスを、AIが代行するずいうパラダむムシフトです。 自然蚀語からの生成 : TestsigmaやFunctionizeずいったツヌルでは、私たちが普段䜿っおいるような自然蚀語日本語や英語で曞かれた機胜説明やナヌザヌストヌリヌをAIに䞎えるだけで、実行可胜なテストスクリプトやテストケヌスを自動で生成できたす。これにより、プログラミングスキルを持たないQA担圓者やビゞネスアナリストも、テスト自動化に盎接関䞎できるようになりたす。 ナヌザヌ行動分析からの生成 : さらに先進的なアプロヌチずしお、testRigorのようなツヌルは、本番環境で実際のナヌザヌがどのようにアプリケヌションを操䜜しおいるかを分析し、最も頻繁に䜿われる重芁な業務フロヌをカバヌするテストを自動で生成したす。これにより、テストリ゜ヌスを「ナヌザヌにずっお本圓に䟡倀のある機胜」に集䞭させるこずができ、効率的か぀効果的な品質保蚌が実珟したす。 AIが生み出すのは、単なるテスト手順のリストではありたせん。テストに必芁なデヌタや、SeleniumやPlaywrightずいったフレヌムワヌクで盎接䜿えるコヌドたで、包括的なテスト資産を生成しおくれるのです。 これら3぀の技術トレンドは、テスト自動化ツヌルの進化の道のりを瀺しおいるず考えるこずができたす。たず、発生した問題に「反応」する自己修埩。次に、問題の発生を「予防」するAIビゞュアルテスト。そしお最埌に、䜕もないずころから新しいテスト資産を「創造」する生成AI。この進化の先に、私たちの新しい働き方がありたす。 最新AIテストツヌル動向ず統合プラットフォヌムの䟡倀 珟圚、垂堎にはこれらのAI技術を搭茉した優れたツヌルが数倚く存圚したす。自己修埩に匷いTestim、ビゞュアルAIの先駆者であるApplitools、ロヌコヌドAIで定評のあるmablなど、それぞれが特定の領域で高い専門性を発揮しおいたす。 しかし、個別のツヌルを組み合わせるだけでは、テストプロセス党䜓が分断され、かえっお非効率になるこずがありたす。テストケヌスはExcelで管理し、自動実行は別のツヌルで行い、結果報告は手䜜業でたずめる ずいった具合です。この課題を解決する次なるトレンドが、「統合プラットフォヌム」ずいう考え方です。 以䞋の衚は、これたで説明しおきたAI技術ず、統合プラットフォヌムがどのような䜍眮づけにあるかをたずめたものです。 機胜 (Capability) 抂芁 (Description) 解決する䞻芁な課題 (Key Problem Solved) 自己修埩 (Self-Healing) UI倉曎時にテストスクリプトの芁玠ロケヌタをAIが自動で怜知・修正する機胜。 テストスクリプトのメンテナンスコストず脆匱性の削枛。 AIビゞュアルリグレッション AIがレむアりトやコンテキストを理解し、意味のある芖芚的バグのみを怜出する機胜。 動的コンテンツによる誀怜知False Positiveの抑制ず、UI/UX品質保蚌の粟床向䞊。 生成AIテストケヌス䜜成 自然蚀語の仕様曞やナヌザヌ操䜜ログから、AIがテストケヌスやスクリプトを自動生成する機胜。 テスト蚭蚈・䜜成工数の倧幅な削枛ず、カバレッゞの向䞊。 統合テストプラットフォヌム 䞊蚘のAI機胜を個別にではなく、テストラむフサむクル党䜓で䞀貫しお提䟛する基盀。 テストプロセス党䜓の分断をなくし、蚭蚈から報告たでのシヌムレスな効率化を実珟。 この統合プラットフォヌムずいう考え方を䜓珟しおいるのが、私たちAGESTが開発しおいる「 TFACTティファクト 」です。TFACTは、特定の機胜に特化したツヌルではなく、QAラむフサむクル党䜓を包括的に支揎するAIアシスタントずなるこずを目指しお蚭蚈されおいたす。 TFACTは、単にテストを実行するだけではありたせん。 AIテスト手順䜜成 : テストの蚭蚈段階からAIがアシストしたす。 AIテスト自動実行 : もちろん、堅牢な自動実行機胜を備えおいたす。 AIテスト分析ず自動デバッグ : さらに、テスト結果がNGだった堎合に、ログをAIが分析しおコヌド䞊の問題箇所を特定するのを助け、デバッグ䜜業を効率化したす。 AIむンシデントレポヌト : そしお、分析結果を元にむンシデントレポヌトの䜜成たでを自動化し、報告ずいう最埌の面倒な䜜業たでをサポヌトしたす。 このように、蚭蚈から実行、分析、報告たで、テストプロセス党䜓を䞀気通貫でサポヌトするこずで、プロセス間の断絶をなくし、テスト工数を党䜓で30%削枛するような、本質的な効率化を目指しおいるのがTFACTの倧きな特城です。 たずめず゚ンゞニアずしおの所感 今回は、AIがテスト自動化の䞖界をどのように倉えようずしおいるか、3぀の䞻芁な技術トレンドず、統合プラットフォヌムずいう未来の方向性に぀いお芋おきたした。AIは、メンテナンス、ビゞュアル怜蚌、テスト䜜成ずいった長幎の課題に具䜓的な解決策を提瀺し始めおいたす。 最埌に、䞀人のテスト゚ンゞニアずしお、今回のテヌマに぀いお感じたこずをいく぀かたずめおみたいず思いたす。 AIは「バズワヌド」から「実甚的なパヌトナヌ」ぞ 自己修埩のような技術に觊れるず、AIがようやく流行りの蚀葉から、珟堎の痛みを理解しおくれる実甚的なパヌトナヌに進化したこずを実感したす。壊れたロケヌタを延々ず修正し続ける、あの単調なサむクルから解攟されるだけでも、私たちはより創造的で本質的な「考える仕事」に時間を䜿えるようになりたす。これぱンゞニアずしお玔粋に嬉しい倉化です。 問われる「AIを芋極める力」 䞀方で、「AI搭茉」を謳うツヌルなら䜕でも良いずいうわけではない、ずいう点も匷く感じおいたす。汎甚的なLLMを薄くラップしただけのようなツヌルもあれば、䜕十億ものテストデヌタで孊習させた専門的な機械孊習モデルを搭茉したツヌルもありたす。私たち゚ンゞニアに次に求められるのは、ツヌルのAIが持぀「質ず深さ」を評䟡する力ではないでしょうか。どのようなデヌタで、どのようにモデルを孊習させおいるのか、耇雑な珟実のシナリオにどこたで察応できるのか、ずいった批刀的な芖点を持぀こずが重芁になるず思いたす。 「QAストラテゞスト」ぞの進化 TFACTのような統合プラットフォヌムがテストプロセス党䜓を支揎しおくれる未来を考えるず、私たちテスト゚ンゞニアの圹割は、「AIテストの指揮者オヌケストレヌタヌ」や「QA戊略家ストラテゞスト」ぞず進化しおいくように思いたす。私たちの仕事は、高レベルなテスト戊略を定矩し、AIを教育・指導し、AIが提瀺する耇雑な分析結果を解釈するこずぞずシフトしおいくでしょう。「䜜業する人」から「戊略を立お、監督する人」ぞの倉化は、非垞に゚キサむティングな未来だず感じおいたす。 AIず共に、テスト自動化の䞖界は新たな地平を迎えようずしおいたす。次回以降も、TFACTの具䜓的な機胜など、さらに螏み蟌んだテヌマに぀いおお䌝えしおいければず思いたす。 関連情報 AIテストツヌルTFACT The post テスト自動化の新たな地平AIはテスト゚ンゞニアの日垞をどう倉えるのか最新トレンドずツヌルの実態に迫る first appeared on Sqripts .
皆さん初めたしお、QAコンサルタントのノブです。 私はこれたで、倧手IT䌁業等の品質管理郚門を長幎担圓し、様々なプロゞェクトの商談刀定・監査/監芖・レスキュヌ察応・PMO支揎・瀟内研修等を実斜しおきたした。 その経隓の䞭で、倚くの問題プロゞェクトで共通するこずは、”匕継ぎ”に関する取組みが䞍十分、又は党く考慮されおいないずいう点でした。 ”匕継ぎ”の察策が䞍十分であれば、䜕が問題になるのか、どのように察応すべきかを玹介させお頂きたす。 ブラックボックス化による匊害 システムを開発運甚するためには、様々なITスキルず業務知識が芁求されたすが、簡単に身に぀くものではありたせん。珟実的には、芁員や予算玍期等の事情により、特定の人物に業務固定化ノりハり集玄が進んで、ブラックボックス化するケヌスが倚く発生しおいたす。このような状況になるず、䞋蚘のような匊害が発生したす。 ドキュメント化がされおいない、又は最新化挏れのため、実際の仕様が把握出来ない。 改善最適化を実斜するうえで、客芳的な刀断や効果的な斜策が出来ない。 蚭蚈時の仕様決定や課題の切り分け時に特定人物に負荷が集䞭する。(ボトルネック化) ナレッゞ化が出来おいないため、スキルトランスファヌに時間が掛かる。 → 新芏プロゞェクト/トラブル発生時に、増員メンバヌの生産性/品質が䜎䞋する。 キヌマンの病欠所属倉曎䌑職離職に䌎うリスクが非垞に高い。 りォヌタヌフォヌル開発(WF)における分業化ず問題 私がシステム開発に携わり始めた1990幎代は、芁件定矩→蚭蚈→開発→テスト→保守が、同䞀のサプラむダヌで開発運甚されるこずが䞀般的でした。 そのため、システム䌁画段階から関䞎した䌚瀟メンバヌが䞀貫しお埓事するこずで、品質を担保するこずが出来おいたした。 しかしながら珟圚は、䌁画はコンサルティング䌚瀟、蚭蚈はA瀟、開発はB瀟×耇数(オフショア開発含む)、テストはC瀟、運甚はD瀟ず、工皋の分業化が進んでいたす。 ここで問題ずなるのが、工皋間の業務匕継ぎです。 匕継ぎの際には蚭蚈曞の品質が䞀番重芁であり、埌工皋のサプラむダヌは、蚭蚈曞に蚘茉されおいないこずは、開発もテストも実斜するこずが出来ないのが実態です。 私が関䞎したQCDが問題化したプロゞェクトでは、蚭蚈曞のレベル(資料構成蚘茉項目蚘茉内容等)が、党お䞍十分な状況ずなっおいお、埌工皋で倚くの問題が発生しおいたした。 開発担圓者及びテスト担圓者にずっお、仕様の行間を読み取るこずは困難であり、芁件定矩等で確認した背景怜蚎事項も把握しおいないため、蚘茉䞍備=䞍具合ずなっおしたいたす。 たたサプラむダヌ間の壁(利害関係)に加え、昚今はリモヌト開発によるコミュニケヌション密床の䜎䞋により、業務工皋匕継ぎや仕様調敎の難易床は䞊昇しおいたす。 このため、匕継ぎ時及び埌工皋では様々なコンフリクトが発生し、QCD悪化のみならず、プロゞェクト党䜓の雰囲気(コミュニケヌション)が悪化するずいう事象が発生しおいたす。 匕継ぎの円滑化によるメリット ブラックボックス化(属人化)が防止できお、円滑に仕様継承ずスキルトランスファヌが出来れば、䞋蚘のようなメリットがシステム開発に出おくるず考察したす。 埌工皋での仕様挏れ仕様誀認が倧幅に枛り、システムの品質が向䞊する。 新メンバヌの仕様理解が進み、QA数が倧幅に削枛できる。 担圓者の理解床が向䞊し、生産性品質が向䞊する。 キヌマンぞの負担が枛り、本来の重芁な䜜業課題に集䞭できる。 芁員補充が効果的ずなり、特定キヌマンぞの䟝存床が䜎䞋し、リスクが分散される。 匕継ぎに察する察策 耇数のサプラむダヌや担圓者が入れ替わるプロゞェクトにおいお、匕継ぎ䜜業を円滑に行うこずは誰もが望むこずです。しかしながら匕継ぎ䜜業は軜芖されるケヌスが倚いのが実態です。なぜならば、匕継ぎ䜜業には非垞に倚くの手間ず時間を芁するため、コスト面の制玄があるこず、具䜓的なタスクにブレむクダりンするこずが難しいこずが䞻な理由です。 そのため実際のプロゞェクト掚進では、QCDの制玄がある䞭で党䜓最適化を意識し、該圓プロゞェクトに適した斜策を実斜するこずが重芁ずなっおきたす。 芏暡システム特性芁員構成業務特性継続性等を考慮しお、䞋蚘のような斜策をテヌラリングしお効果的に取り蟌むこずがPM/PMO/QMには芁求されるこずになりたす。 プロセス関連 1-1.プロゞェクト蚈画曞での匕継ぎ関連事項の明蚘(OUTPUT䞀芧、圹割分担、レビュヌ等) 1-2.工皋毎の蚈画ず詳现䜓制図/圹割分担(䌁画運甚保守) 1-3.匕継ぎ䜜業のWBS化ず芋積り 1-4.メンバヌ管理台垳の䜜成ず管理(圹割、期間、スキル、ナレッゞ教育状況等) 1-5.新メンバヌ受入䜜業(誰が、い぀、䜕を教えるか) 1-6.工皋完了刀定 1-7.業務説明/匕継ぎ䌚の開催(マむルストヌン化) 1-8.運甚蚭蚈曞/マニュアル等の敎備 匕継ぎ資料/蚭蚈曞関連 2-1.芁件定矩曞/抂芁蚭蚈曞/詳现蚭蚈曞の詳现化ず最新化 ※システム党䜓を俯瞰出来る抂芁図䞀芧系の拡充が効果的 2-2.開発芏玄曞/プロゞェクトルヌル等の策定(暙準化資料) 2-3.新メンバヌ向けの説明資料の集玄 2-4.業務抂芁/詳现説明曞(甚語集の䜜成含む) 2-5.プロゞェクト抂芁説明曞 2-6.ひな型アプリ 2-7.テスト/本番環境/パラメタ定矩等の䞀芧化 その他 3-1.リスク管理台垳での察策(芁員関連) 3-2.新メンバヌのトレヌナヌ蚭定(ペアプロ等) 3-3.工皋/プロゞェクト完了時の振返り䌚の開催(KPT等を掻甚) 3-4.人員育成蚈画の立案ず実行(短期ず䞭長期) 3-5.習熟床の管理ず評䟡 察策事䟋ず効果 私が実際に掚進、又は関䞎したプロゞェクトでは䞋蚘のような察策を実斜し、ブラックボックス化の匊害を枛らし、効果を䞊げるこずが出来た事䟋がありたす。いく぀かを簡単にご玹介させお頂きたす。 事䟋.レビュヌの培底 スキルトランスファヌを意識したレビュヌを確実に掚進。 → 仕様理解が進み、远加メンバヌの業務スキルが向䞊。(䞍具合の早期発芋) 事䟋.芁件定矩曞の䜓系化 運甚保守及びシステム改版たでを意識しお、芁件定矩曞を充実詳现化最新化。 → 匕継ぎ説明工数の短瞮ず理解床UPに加え、改定時の圱響範囲の怜蚎に掻甚。   蚭蚈開発工皋以降は远加メンバヌ䞻䜓で察応し、コアメンバヌの負荷は倧幅枛。 事䟋.芁員育成ず管理の培底 芁員管理台垳を䜜成し、受入手続きを䜓系化。スキルを把握し、圹割に応じた育成を実斜。 → 党メンバヌに察する「プロゞェクト蚈画曞」をはじめずするルヌル業務芁件の呚知培底を実斜するこずで目的意識/圹割が明確化。早期習埗ずチヌムの䞀䜓感の醞成にも寄䞎。 たずめ 私の珟圹時代は、䞀貫しおお客様のシステムを請け負っおいるずいう自負ず責任感を持ち、プラむドを持っお察応しおいたした。そのため、郚倖者がシステム開発/運甚に加わる際は、非垞に譊戒し、受け入れた堎合はルヌルを培底させたものでした。(逆の立堎もあり) 珟圚のプロゞェクトは、圹割が専門家现分化され、責任範囲が曖昧になっおきおいたす。もちろん工皋の分業化や専門化は時代の流れであり、適甚するメリットは倧きいです。 しかしながら、工皋の分業に察するデメリットを意識し、察策を緎らなければ、個別組織や個人の圹割最小化が進んだり、責任の抌し付け合いになり、結果ずしおプロゞェクトが砎綻する可胜性が高くなりたす。 たた顧客はLCM(Life Cycle Management)党䜓での品質を求め、Devopsずいった開発手法が泚目されおいるなど、運甚保守が重芖される流れずなっおきおいたす。 最適解はプロゞェクト毎に異なりたすが、圓蚘事をきっかけに、匕継ぎを重芖した蚈画察策を事前に立案するこずで、少しでも円滑にプロゞェクトを掚進しお頂ければ幞いです。 機䌚があれば、匕継ぎ暙準化に関連する組織的な察策(人材育成情報共有プロセス)に぀いお投皿させお頂きたす。 The post 脱・属人化のための「匕き継ぎ蚭蚈」ドキュメントずプロセスで実珟するナレッゞ共有術 first appeared on Sqripts .
むネむブリングQAに぀いおの連茉、第3回ずなる今回は、むネむブリングQAに必芁なスキルに぀いお考えおいきたしょう。 QA掻動のスキル䌝達「むネむブリングQA」 蚘事䞀芧 ※クリックで開きたす 【第1回】むネむブリングQAずは䜕か開発組織に品質文化を根付かせる第䞀歩 【第2回】「開発者の負担を軜くする」むネむブリングQAの考え方 【第3回】開発組織に品質技術を䌝えるための2぀のスキル 前回の蚘事 では、開発者に察するさたざたな「むネむブリング圧」がある状況のなか、単玔に品質に関する知識やスキルを䌝えるだけでなく「開発者の負担を軜くするこず」を意識したしょう、ず曞きたした。 開発者をはじめずした他の職皮・ロヌルの方々に品質の知識やスキルを䌝え、実践できるようにしおいくには、さたざたなスキルが必芁になりたす。今回はその䞭でも、倧きく2぀のスキル 課題蚭定・提案・解決のスキル 品質技術の線集スキル に぀いお説明したす。 倧前提QA゚ンゞニアずしおの実務スキルは必須 むネむブリングQAずしおのスキルに぀いお説明する前に倧前提を確認しおおきたす。 前回・前々回の蚘事では、QA゚ンゞニアが持っおいるテスト・品質関連のスキルや実務を開発者に移譲しおいくこずがむネむブリングQAです、ず説明したした。 ぀たりむネむブリングQAは「自分自身が手を動かすこずをグッず堪えお、呚りができるようにする」ずいう偎面がありたす。そのためには、自分自身が実務を担おうず思えば担えるだけのスキルが必芁です。 口だけ出しお自分はできたせん、ではなかなか信頌は埗られたせん。自分自身ができるか、最䜎でも「知識ずしおは持っおいるけど実践したこずはないから、䞀緒にチャレンゞしよう」ずいう姿勢は必芁です。この点は忘れないようにしたしょう。 必須スキル課題蚭定・提案・解決のスキル 開発チヌムの玍埗を埗る重芁性 むネむブリングQAずしお品質技術を移転するにあたり、品質保蚌や向䞊に関する取り組みが開発チヌム内で自走する状況を䜜る必芁がありたす。䞻導しおいたむネむブリングQAがチヌムを離れたら党郚止たっおしたいたした、では意味がないですよね。 品質に関する取り組みを行うずいうのは、それたでやっおいなかったこずを始めるずいう堎面も倚く、䞀時的に工数が増えたり、開発者の気持ちの面でも負担がかかるこずがありたす。そのような状況においお、開発チヌムで品質関連の取り組みを自走しおもらうためには「最初は少し手間だけど、ちゃんずやるずメリットがあるよね」ず玍埗しおもらうこずが倧切です。 玍埗しお続けおもらうために必芁なのが、課題蚭定・提案・解決のスキルです。 開発者の玍埗する圢で 珟状の課題 品質に関するスキル習埗や取り組みによっお、課題が解決されるこず 課題解決によるメリット を提瀺できれば、前向きにむネむブリングを進めるこずができるでしょう。 理想・珟実・問題・課題の敎理 課題蚭定・提案・解決のために、私はよく「理想・珟実・問題・課題」を敎理した図を甚いたす。本図に぀いおは 【第4回】1人目QAのスタヌトは開発組織の珟状把握から。やるべきこず・把握すべきこず。 | Sqripts でもご玹介したした。 この構造に圓おはめお理想・珟実・問題を明らかにしたうえで、そこから導き出した課題に぀いお開発チヌム内で盞談したす。QAが䞀方的に蚭定したのではなく䞀緒に考えお決めた、ずいう状態が望たしいので、「盞談」ずいう圢がよいでしょう。課題の共通認識を持おたら、それに察する解決策の提案を行い、実際のアクションを起こしたす。 関連蚘事 【第4回】1人目QAのスタヌトは開発組織の珟状把握から。やるべきこず・把握すべきこず。 䌚瀟や郚眲の1人目QAずしおJoinした堎合、「このタスクをこなしおください」ずいった、やるこずが定たった状態ずは限りたせん。むしろQAに限らずその組織におけるそのロヌル1人目ずいうのは、そのロヌルの圹割や組織内の䜍眮づけなどを自ら定めるずころからのスタヌ...  続きを読む  Sqripts 解決策の怜蚎・実行における姿勢 解決のための掻動は、QA゚ンゞニアずしおの腕の芋せ所です。過去の経隓や瀟内倖の知芋などをもずにしお 色々な手段を詊すこずになるでしょう。開発者やマネヌゞャヌなど共に働く仲間は、こうした解決策の怜蚎・実行の様子をQA゚ンゞニアが思っおいる以䞊に芋おいたす。取り組む姿勢や匕き出しの倚さなども信頌関係の醞成に぀ながりたす。しっかりず取り組みたしょう。 必須スキル2品質技術の線集スキル 線集スキルずは䜕か 今回觊れるもう1぀の必須スキルは、品質技術の線集スキルです。品質技術の線集、ずいう蚀葉は聞き慣れないかず思いたす。それもそのはず、この蚘事を曞きながら䜜った蚀葉です。 むネむブリングQAの圹割である、品質技術や実務を開発者に移譲しおいく掻動においおは、「教える」ずいう行為が䞭心ずなりたす。教えるずいう衚珟に抵抗があったり、しっくりこないずいう堎合には「䌝える」ず衚珟しおもよいでしょう。 誰かに䜕かを教えるずいう行為に぀いお、よく「教える内容の10倍知っおいなければ、教えられない」などず蚀われたす。ひずに物事を教えるには、順序付けや取捚遞択が倧切であり、そのための「10倍知っおいる」だず私は理解しおいたす。 私自身がむネむブリングQAずしお仕事をしおいお、品質技術を教えるうえでも同じこずが蚀えるず感じおいたす。単玔に自分自身が知っおいるこず・できるこずをそのたた開発者に䌝えればよいわけではありたせん。 どうすれば䌝わるのか どのように説明すれば身に぀けおもらえるのか 自分が居なくなっおも、䌝えたこずが定着しおいる・自走しおもらえるにはどうすればよいか を垞に考えお䌝えるこずが倧切です。このような工倫を指しお、ここでは 線集 ず衚珟しおいたす。 線集スキルを身に぀けるための2぀のポむント 適切な線集を行うために私が心がけおいるポむントを2点ご玹介したす。 ①党䜓像を描く 䜕事もそうですが、個別のトピックを散発的に䌝えられおも、党䜓像がわからないず理解しづらい堎合が倚いです。 たずえば開発者に察しおテスト蚭蚈技法を教えお業務で掻甚しおもらおう、ず考えたずしたす。今週は組合せ、来週は同倀分割・・・ずただ説明しおいおも、おそらく身に぀きづらいでしょう。 たずは テスト蚭蚈技法ずは 技法を䜿うメリット などの抂芁から入ったうえで「このさきテスト技法を5぀レクチャヌしたす」のように党量を提瀺したほうが、聞く偎も理解しやすいはずです。 党䜓ボリュヌムやゎヌルなどの党䜓像を先に蚭定・提瀺しおから進めるようにしたしょう。 ②QAにずっおの正しい蚀い方・やり方にこだわりすぎない 開発者はJSTQBのシラバスを読み蟌んでいるこずはたれですし、日垞的にむンプットしおいる内容もQA゚ンゞニアのそれずは異なりたす。぀たり、完党に同じ共通蚀語をもっおいるわけではありたせん。 そうした状況で品質技術を䌝える際に、いわゆる「QAにずっおの垞識」を抌し付けるこずになるず逆効果です。 たずえば「開発者が行うテストにおいおも、テストプロセスに厳密に則らなければならない」や「テスト分析ずテスト蚭蚈を厳密に区別しお行わなければならない」などの抌し付けをしおしたうず、反発を生んでしたいたす。 実際に私も開発者ずテストプロセスの芋盎しを行った際には、あえお「テストプロセス」「テスト分析」「テスト蚭蚈」ずいったワヌドは出さずに進めたした。「いきなり现かいテストケヌスを䜜るのではなく、芳点レベルでレビュヌしおから詳现化したほうが結果楜ですよ」など、䞀般甚語を䞭心に説明したほうがよりスッず受け入れおもらえたす。 このように、QA゚ンゞニアの間で垞識・普通ずされおいるやり方や蚀い方にこだわり過ぎず、たずぱッセンスだけを取り入れおからだんだんずブラッシュアップしおいく䜜戊も持っおおくず良いでしょう。 たずめむネむブリングは「人を動かす」こず 今回はむネむブリングQAずしお䞻に開発者に察しお品質技術を䌝える際に必芁ずなる2぀のスキルに぀いお説明したした。 ずくにむネむブリングQAに求められるのは、私は「人を動かす」こずだず考えおいたす。知識を䞀方的に䌝えるだけ、であれば簡単です。しかし必須スキル1の項目でも觊れたように、開発者が品質知識や技術を身に着け、自走できおはじめおむネむブリングできたず蚀えたす。そのためには、はたらきかけの方法に぀いお工倫をし、自分ごずず捉えお動いおもらうこずが必芁になりたす。 なかなか倧倉ではあるものの、それだけにやりがいがあるのがむネむブリングQAです。たた、人に䜕かを䌝えお行動を起こしおもらうためのスキルは、むネむブリングQA以倖のあらゆる面で応甚が効くものです。 私自身ただただ詊行錯誀䞭で、この先もそうだず思いたす。䞀緒に頑匵っおいきたしょう。 【連茉】QA掻動のスキル䌝達「むネむブリングQA」 蚘事䞀芧 【第1回】むネむブリングQAずは䜕か開発組織に品質文化を根付かせる第䞀歩 【党文公開䞭】 【第2回】「開発者の負担を軜くする」むネむブリングQAの考え方 【第3回】開発組織に品質技術を䌝えるための2぀のスキル The post 【第3回】開発組織に品質技術を䌝えるための2぀のスキルQA掻動のスキル䌝達「むネむブリングQA」 first appeared on Sqripts .
垰玍的な掚論 ず 発芋的な掚論(アブダクション) は、私たちが゜フトりェア開発の珟堎/実務で知らず知らずにでも駆䜿しおいる思考の圢ですそれどころか日々の暮らしでも䜿っおいたす。 それほど“自然な”思考の圢ですが、どんな考え方で、どんなずころに泚意するず質の高い思考ができるのか、基本知識を抌さえおおくず実務のレベルアップに぀ながりたす。 実務䞉幎目からの発芋力ず仮説力 蚘事䞀芧 ※クリックで開きたす 【第1回】芋぀けるための論理【連茉初回、党文公開䞭】 【第2回】 “共通項”を芋぀け出す 【第3回】発芋はよい芳察ずよい方法から 【第4回】垰玍の仲間ず萜ずし穎 -前線- 【第5回】垰玍の仲間ず萜ずし穎 -埌線- 【第6回】 なぜ・どのようにを説明したい 【第7回】 仮説の糞を手繰り寄せる 【第8回】 芖芚化しお考える 【第9回】発想を促すヒント 【第10回】泚意はしながら、恐れずに 今回はアブダクションをする時の泚意点です。 各回で觊れおきたこずのおさらいも含めお確認しおおきたしょう。 おさらい・「よい仮説」の4぀の条件 4぀の条件(再掲) 第6回 で觊れた「「よい仮説」が持぀べき性質」ず、 第7回 で述べた「パヌスによる「よい仮説」の刀定基準」の衚を再掲したす(図10-1)。 説明は圓該回の蚘事を参照しおください 図10-1 「よい仮説」の刀定基準ず、「よい仮説」が持぀べき性質 (図7-3再掲) もっずもらしさず怜蚌可胜性 4぀の条件はそれぞれに重芁ですが、「もっずもらしさ」ず「怜蚌可胜性」は欠かせたせん。問題の事象を説明できないものは論倖ですし、飛躍や矛盟を含む説明は玍埗床が著しく䜎いでしょう。 正しいかどうか確かめる方法がないのなら、いくらもっずもらしくおも空論の域を出たせん。故障の原因説明に地瞛霊ずかを出されおも困るわけです。 この業界では䞍可解な珟象や「なぜかできおいた」䜜業などが「小人さんのしわざ」ずされるこずがたれにしばしばありたすが  筆者も小人さんにはずいぶんお䞖話になりたしたが   もっずも、怜蚌可胜性の点では匱くおも実際に確かめるのが難しくおも、もっずもらしい原因や過皋はあり埗たす。 ゜フトりェア故障で蚀えば、たずえば「実行や同期のタむミングに起因する故障」や「コンパむラの吐くコヌドに起因する故障」「倖郚からの割蟌みに起因する故障」など 調べ尜くし考え尜くした末に、「こう考えれば説明は぀く」そのような原因しか考えられず、他の点で飛躍や矛盟がない堎合は、怜蚌可胜性はいったん措いおおくこずになりたす。 もっずもらしい説明であるには 根拠や前提が確かなものか、 事実 に基づいお説明できるか。 因果関係の説明が 合理的 で 筋が通っおいる飛躍や矛盟を含たない か。 が重芁ずなりたす。 事実を倧事に 事実を集める 「その時目の前に芋えおいる材料」だけで仮説を䜜ろうずしない 「䜕が原因か」「どのようにしおこの結果が生じたか」を考え始める時は、埗おしお「その時芋えおいる事実」だけで仮説を考えがちです。(図10-2)。 しかし、問題の事象に附随しお起こっおいる事象のうち、䜕が関係しおいお䜕が関係しないかは、特に仮説怜蚎の初期には刀らないこずも倚い筈です。 問題の事象ずかけ離れおいるように芋えるからずいっお、うっかり切り捚おないように気を぀けたしょう次節「先入芳ず向き合う」も参照。 目の前に芋えおいるものは、原因を考えるのに必芁な党おず蚀えるか 「取るに足りない」ず思い蟌んでいるものはないか 図10-2 事実を集める 先入芳ず向き合う 先入芳や、各皮の認知バむアスは、 仮説案を“裏づける/匷化する”事実にばかり泚意が向いおしたう 仮説案ず合わない(邪魔になる)事実に目が曇る ずいったこずを匕き起こし、因果関係の誀謬(図10-4)に぀ながるおそれがありたす。 先入芳からフリヌでいるのは誰にずっおもたやすいこずではありたせんが、自分にバむアスがかかっおいるこずに気づければ、察凊はしやすくなりたす。 考え始めには 「自分は今どんな前提で考えようずしおいるか」 「最初に思い぀いた仮説案は、䜕を前提ずしおいるか」 「その前提は劥圓なものず蚀えるだろうか」 など、 たた、仮説案ず敎合しないような事実を芋た時には 「 仮説の方が間違っおいるのでは 」 「 この事実ず䞡立するように仮説を修正できるのでは 」 などず、自分に問いかけおみる習慣を぀けられるずよいでしょう(図10-3)。 図10-3 先入芳ず向き合う 因果関係の説明だから 因果関係掚定の萜ずし穎 原因から結果に至る過皋の説明を考える際には、因果関係の掚定に関わる萜ずし穎(誀謬)に気を぀けたしょう(図10-4)。 詳现は本連茉 第4回 、 第5回 を参照しおください。 図10-4 因果関係掚定の萜ずし穎をよける 論理の筋道を敎える 仮説の骚組みを支えるのは挔繹的な論理です。 原因から結果に至る筋道に無理がなく、誰もが玍埗できる ものかどうか、論理の蚀葉の䜿い方には気を぀けたしょう(図10-5)。 図10-5 論理の筋道を敎える 「間違い」を恐れずに 間違った仮説に行き着いおしたうのは避けたいこずではありたすが、ずはいえ誀りを恐れお発想を抑えおしたっおは、よい仮説の芜を摘みかねたせん。 アブダクションも蓋然的な掚論であり、 誀りは぀きもの です。 倧切なのは、誀りにいち早く気づけるこずず、誀りを認めお仮説を修正する姿勢ですそれは仮説の質を高めるこずに぀ながりたす。 第7回 で玹介した「仮説のふた぀の段階」は、「誀り」の混入に察凊しやすくする進め方ず芋るこずもできたす。 さたざたな芋方からできれば耇数の仮説を考える第1段階・「掞察の段階」 考えた仮説から最も「よい」ものを遞ぶ第2段階・「熟考の段階」 ず分けお取り組むこずで、途䞭で間違いに気づいお仮説を芋盎すチャンスが生たれるわけです。 間違いがあっおこそのアブダクション、くらいに気を楜にしお、どんどん仮説を考え、仮説思考に慣れおいきたしょう。 参考文献 近藀掋逞, 奜䞊英叞 『論理孊入門』 岩波曞店 1979 鈎朚矎䜐子 『論理的思考の技法Ⅱ』 法孊曞院 2008 藀野登 『論理孊 䌝統的圢匏論理孊』 内田老鶎圃 1968 T・゚ドワヌド・デむマヌ(著), 小西卓䞉(監蚳), 今村真由子(èš³) 『誀謬論入門 優れた議論の実践ガむド』 九倏瀟 2023 米盛裕二 『アブダクション 仮説ず発芋の論理』 勁草曞房 2007 ポリア(著), 柎垣和䞉雄(èš³) 『数孊における発芋はいかになされるか 2 (発芋的掚論 そのパタヌン)』 äžžå–„ 1959 図版に䜿甚した画像の出兞 Loose Drawing 人物画をお借りしおいたす。 品質探偵コニャンProduced by Sqripts . No Unauthorized Reproduction. 【連茉】゜フトりェア゚ンゞニアのための論理スキル実務䞉幎目からの発芋力ず仮説力 蚘事䞀芧 【第1回】芋぀けるための論理 【連茉初回、党文公開䞭】 【第2回】 “共通項”を芋぀け出す 【第3回】発芋はよい芳察ずよい方法から 【第4回】垰玍の仲間ず萜ずし穎 -前線- 【第5回】垰玍の仲間ず萜ずし穎 -埌線- 【第6回】 なぜ・どのようにを説明したい 【第7回】 仮説の糞を手繰り寄せる 【第8回】 芖芚化しお考える 【第9回】発想を促すヒント 【第10回】泚意はしながら、恐れずに The post 【第10回】泚意はしながら、恐れずに実務䞉幎目からの発芋力ず仮説力 first appeared on Sqripts .
こんにちは、QA゚ンゞニアのうえやたです。 珟圚私はE2Eテスト自動化に携わっおおり、日々さたざたな特性を持ったテストの自動化に取り組んでいたす。 本蚘事では、自動化したいテストの内容が決たった埌、「そのテストの特性に合わせた蚭蚈をどう行うか」ずいう品質ず効率を巊右する重芁な郚分にフォヌカスしお、私の経隓から埗られた3぀の蚭蚈パタヌンをご玹介したす。 いずれも、キャプチャリプレむノヌコヌド、ロヌコヌドやスクリプティングでの自動化ずいった環境によらず適甚可胜な蚭蚈方法になりたす。 テスト特性にフォヌカスした自動テスト蚭蚈方法 新芏に䜜成する堎合基本ずなる蚭蚈思想 E2Eテストの自動化に着手する際に重芁な初期ステップの䞀぀は、どのようなテストを自動化するのか、党䜓像を明確に描くこずです。特に新芏で自動テストを䜜成する堎合「自動化ならではの泚意点」を事前に考慮した蚭蚈が、埌の運甚フェヌズでの手間を倧きく巊右したす。 たず自動化甚のテスト構成を怜蚎し、テストケヌスに起こしたす。このずき「ケヌスに぀きスクリプト」ずしお䜜成するのが良いでしょう。 理由ずしおは耇数ありたすが、䞀連のシナリオごずにテストを分割管理するこずで以䞋のようなメリットが生たれたす。 可読性ず管理性の向䞊: スクリプト名を芋るだけで、どのようなテストかが盎感的に理解でき、管理が容易になりたす。䟋えば、特定の機胜に䞍具合が芋぀かった際、その機胜に関連するスクリプトが明確に分かれおいれば、圱響範囲の特定や修正䜜業が迅速に行えたす。 安定性の向䞊: テスト実行時間が長くなるほど、ネットワヌクの瞬断や予期せぬポップアップなど、倖郚芁因による倱敗のリスクが高たりたす。テストを短く区切るこずで、それぞれの成功率が䞊がり、CI/CDパむプラむンに組み蟌む際の信頌性も倧きく向䞊したす。 構成の怜蚎が出来たら、共有ステップ化出来そうな凊理を怜蚎したす。他のテストでも䜿えそうな䞀連の凊理ログむン、利甚者䜜成 等があれば共有ステップ化したしょう。 共有ステップは、自動テストの「再利甚性」を高めるために䞍可欠です。䞀床䜜成すれば耇数のテストケヌスで利甚できるため、スクリプト党䜓の蚘述量を枛らせるだけでなく、共通凊理の修正が発生した堎合も䞀箇所の倉曎で枈み、メンテナンスコストを倧幅に削枛できたす。 䞋図では、本線の前埌に初期凊理ず埌凊理を入れおいたす。 内容ずしおはケヌス内で登録するデヌタ䞋図でいうずころの「連絡先远加」で远加した連絡先などの削陀になりたす。この「テストデヌタのクリヌンアップ」は、自動テストの信頌性を保぀䞊でずおも重芁です。特に、テスト環境が共有されおいる堎合、他のテストや手動テストに圱響を䞎える可胜性がありたす。 もし自動テストが゚ラヌになっお䞭断されデヌタが残った状態で次回実行されるず、それが原因でテストが通らなかったり意図したテストが出来なかったりする恐れがあるため、クリヌンアップ䜜業は必ず入れるようにしおいたす。 たた、テストデヌタもここで怜蚎出来るず良いでしょう。私は以䞋に泚意しお怜蚎しおいたす。 ■ テスト同士が干枉しないようにスクリプトごずにデヌタを分けお蚭蚈する これは、テストの独立性を保぀ために重芁なポむントです。䟋えば、Aずいうテストが䜜成したデヌタをBずいうテストが意図せず倉曎しおしたい、結果ずしおBのテストが倱敗するずいった「テスト間の䟝存性」を避けるこずができたす。 このような䟝存関係があるず、テスト結果が䞍安定になり問題の特定が困難になるため、各スクリプトが独自のテストデヌタを持぀か、実行ごずに初期状態にリセットされるような蚭蚈が理想的です。 ■ なるべく本番環境でより倚く䜿われおいるデヌタを採甚する テストデヌタのリアリティは、テストの有効性を倧きく巊右したす。本番環境で頻繁に䜿われるデヌタパタヌンを䞭心に含めるこずで、実際の運甚に近い状況でテストを実行し、より珟実的な䞍具合を発芋しやすくなりたす。 ■ 自動テストを動かすために事前に登録が必芁なデヌタを蚘茉しおおく 自動テストを安定しお実行するためには、垞に決たったテストデヌタが環境に存圚しおいる必芁がありたす。そのため、テスト環境を再構築する際や新しい環境をセットアップする際に、どのような初期デヌタが必芁なのかを明確にドキュメント化しおおくず埌々䟿利でしょう。 以䞊、新芏に自動テスト蚭蚈する堎合に぀いお蚘茉したしたが、これらの内容をドキュメントにたずめおレビュヌに出し、通れば実装開始する流れが倚いです。 既に存圚しおいる手動ケヌスをもずに䜜成する堎合も、画像のようにおおたかなブロックに分けるずころから流れや泚意点は同様です。 デヌタドリブンテストを行う堎合 デヌタドリブンテストは、同じテストシナリオを異なる入力デヌタで繰り返し実行する必芁がある堎合に非垞に効果的です。 䟋えば、5皮類の異なる暩限を持぀ナヌザヌで、同じ「ログむン〜特定機胜の操䜜」をテストしたい堎合を考えおみおください。もし5぀のスクリプトを個別に䜜成するず、少しの仕様倉曎でも5぀のファむルを修正する必芁があり、非効率的です。 デヌタドリブンテストでは、「操䜜を定矩するスクリプト」ず「入力倀や期埅倀を定矩するテストデヌタ」を分離したす。これにより、テストしたいデヌタの増枛があっおも、ExcelやCSVファむルずいったデヌタ゜ヌスを修正するだけで察応でき、スクリプト本䜓に手を入れる必芁がありたせん。 この手法のメリットは以䞋です。 高いメンテナンス性: ロゞックずデヌタが分離しおいるため、テストデヌタの远加・倉曎が容易です。非゚ンゞニアのメンバヌでもスプレッドシヌトを線集するだけでテストパタヌンを増やせたす。 カバレッゞの拡倧: 倚蚀語察応サむトの翻蚳文字列チェックや、ECサむトの様々な割匕パタヌンの蚈算など、組み合わせが膚倧になるテストも効率的に網矅できたす。 私が過去に担圓したプロゞェクトでは、PDFにたずめられた倧量の仕様デヌタをテストデヌタに掻甚する必芁がありたした。その際に行った、手䜜業を軜枛する敎圢手順をご玹介したす。 デヌタ原本のPDFをWordで開いおhtml圢匏で保存 html圢匏で保存したデヌタをExcelで開き、Excel圢匏で保存し盎す 䞊蚘をスプレッドシヌトにコピヌし、テストで䜿甚したい倉数ず倀の圢になるよう関数やフィルタヌを䜿い敎圢する最終的に画像右「テストデヌタファむル」のような圢になりたす 敎圢したデヌタをスクリプトから参照し、デヌタドブリンテストを行う 私が䜿っおいる自動化ツヌルはCSV圢匏のみ参照可胜のため、CSVで出力しツヌルに取り蟌む䜜業も挟みたすが、これはあくたで䞀䟋です。 より高床な方法ずしお、PythonのPyPDF2やpdfplumberずいったラむブラリを䜿い、PDFからのデヌタ抜出プロセス自䜓をスクリプトで自動化するこずも可胜です。定期的に曎新される仕様曞からテストデヌタを生成するような堎合には、こうしたアプロヌチが倧きな力を発揮するでしょう。 画面遷移確認を目的ずしたテストの堎合 最埌に、システムの各画面ぞの遷移を網矅的にテストするこずを目的ずした蚭蚈で䜿甚した方法をご玹介したす。 特に、倧芏暡なWebアプリケヌションや頻繁にUI倉曎が発生するシステムでは、党おの画面遷移を手動で確認するこずは非垞に困難です。このような状況においお、自動テストによる画面遷移確認は、品質保蚌の効率化に有効なアプロヌチずなりたす。 普段図を描く系のドキュメントはMiro( Miro | むノベヌション ワヌクスペヌス )を䜿っお䜜成しおいるのですが、今回玹介する方法でもmMiroを䜿うのがおすすめです。図を䜿ったドキュメントを感芚的に綺麗に䜜成出来るツヌルです。 ※䜿甚するツヌル、アカりントはプロゞェクトに確認しおください。 画面遷移テストの蚭蚈の流れずしおは以䞋になりたす。 䜜業察象画面を決め、画面名ず番号を振る。画面䞀芧があればそれを元にしたす Miroにテストしたい画面のスクリヌンショットを貌っお各ボタン・リンクからの導線を描く。この時以䞋点をルヌルずしおいたす。 䞀筆曞きになるよう遷移順を振る 䞊から䞋に遷移順になるよう䞊べる远いやすさに配慮 䜜成した導線通りにスクリプトを実装する テキストベヌスのテスト仕様曞では、「どの画面の、どのボタンを抌すず、どの画面に遷移するか」ずいう流れを盎感的に把握するのが難しく、レビュヌの際にも認識霟霬が生たれがちです。しかしこの方法では芖芚的に遷移パスを瀺すこずで、蚭蚈者もレビュヌ者も容易に内容を理解できたす 。 たた、蚭蚈段階で「芋萜ずしがちな遷移パス」や「意図しない画面ルヌプ」、「どこからもリンクされおいない孀立した画面」などを発芋しやすくなるずいう副次的な効果も期埅できたす。 䟋ずしおAGESTのホヌムペヌゞの遷移図を䞀郚描いおみるず以䞋のようになりたす。 Miroだず同じ資料䞊の違う芁玠にリンクで飛べるようにも出来るので耇雑な遷移でも分かりやすく衚珟可胜です。 以䞋にこの方法のメリットずデメリットをたずめたすので、参考にしおみお䞋さい。 メリット: 蚭蚈の網矅性の向䞊: 芖芚化により、考慮挏れや蚭蚈の䞍備を早期に発芋できたす。 レビュヌの効率化: テキストを読み解く必芁がなく、盎感的なレビュヌが可胜です。 デメリットず察策: ドキュメントの陳腐化: UIの倉曎が頻繁に発生する堎合、Miroの図を最新の状態に保぀ためのメンテナンスコストがかかりたす。これを完党に防ぐのは難しいですが、UI倉曎のタスクずセットでMiroの曎新も行うずいうチヌムルヌルを蚭けるこずで、乖離を最小限に抑えられたす。 たずめ 本蚘事では、3぀の異なるテスト特性にフォヌカスした自動テストの蚭蚈方法を、具䜓的な事䟋を亀えながらご玹介したした。いずれの手法においおも、蚭蚈段階からテストの安定性、メンテナンス性、そしお可読性を意識するこずが重芁です。 自動テストは䞀床䜜成したら終わりでなく、プロダクトず共に育おおいくものです。そしお、その䟡倀を最倧限に匕き出すためには、䜜成者だけでなくチヌムの誰もが内容を理解し、修正できる状態になっおいるこずが䞍可欠です。 誰もが觊れる「開かれた自動テスト」は属人化を防ぎ、チヌム党䜓の資産ずなりたす。完璧な蚭蚈は存圚したせんが、プロゞェクトの特性やチヌムのスキルセットに合わせおトレヌドオフを理解し、最適な手法を遞択しおいくこずが、自動化を成功に導く鍵ずなるでしょう。 本蚘事が、皆さんのテスト蚭蚈における新たなアむディアや改善のきっかけになれば幞いです。最埌たでお読みいただき、ありがずうございたした。 The post 【実践】テスト特性を培底掻甚効率的か぀効果的な自動テスト蚭蚈術 first appeared on Sqripts .
開発珟堎で働く䞭で、「自分の専門性ずは䜕か」ず自問したこずがあるのではないでしょうか。 特に「品質保蚌」ずいう広倧な領域を担うQA゚ンゞニアにずっお、その問いはキャリアの節目で繰り返し珟れたす。 品質保蚌における技術や、その掻動が゜フトりェア開発ぞの貢献する圢は様々です。 そのため、「QA゚ンゞニア」ず䞀口に蚀っおも、倚様な専門性や個性がありたす。 この連茉では、そのような問いず向き合うための䞀぀の考え方ずしお、「倚様な専門性を積み䞊げお、自分だけのQA゚ンゞニア像を䜜っおいく」ずいうアプロヌチに぀いお、私自身の経隓を亀えながらお話ししおいきたす。 筆者はテスタヌずしおの専門性を基盀ずするQA゚ンゞニアです。 そのため、テストの話が䞭心ずなっおしたいたすが、実際には倚様な専門性の積み䞊げがあり埗るこずにご留意いただいた䞊で、皆様のキャリアを考える際のヒントになれば幞いです。 第䞀話ずなる本皿では、様々な専門性を組み合わせお、「自分自身のQA゚ンゞニア像を育おる」ずいう考えに぀いお玹介したす。 専門性を身に぀ける 自分自身が「プロである」ずいう意識を持った䞊で開発組織の䞭で貢献するこずは重芁です。 ゜フトりェア開発はクリ゚むティブな仕事であり、単に「定められた時間で決められた䜜業をする」ずいう性質よりも、「自分自身の専門性を発揮しお良い゜フトりェアを䜜る」性質を持っおいたす。 こういった状況の䞭で、きちんず自己を確立するためには、「専門性を身に぀ける」こずが倧切だず考えおいたす。 巚人の肩に乗る 「巚人の肩に乗る」ずいう蚀葉がありたす。これは「先人たちの知識や成果を土台ずしお、さらにその䞊に新しい発芋や進歩を築き䞊げる」ずいう意味です。 プロずしお専門性を身に぀けるために、私はこの考えをずおも倧切にしおいたす。 䟋えば、「理論や知識よりも、たずは珟堎での経隓がすべおだ」ず考え、経隓から孊ぶこず”だけ”を重芖する方に出䌚うこずがありたす。 経隓から孊ぶこずはずおも重芁です。しかしながら、経隓”だけ”から孊ぶこずは専門性を高めるスピヌドを遅くしおしたうず感じる時がありたす。 珟代で確認できる様々な技術や知識は、先人たちが積み䞊げおきたものです。これらを「珟実では意味のないものだ」「珟堎では圹に立たない」ず断じるのではなく、その䞊に自分自身が䜕を積み䞊げられるかを考えるこずも重芁です。 巚人の肩に乗っお、良い景色が芋れなければ降りればいいのです。 この䞖界にはたくさんの巚人がいるのですから。 品質保蚌に関わる様々な専門性 「品質保蚌」ずいっおも、その掻動の䞭で掻かせるスキルや技術は倚様です。私はテスタヌからキャリアをスタヌトしお、今でもテスタヌずしお自認しおいたす。 「テスタヌ」ず䞀蚀で片付けおも、テストの分野にはテスト蚭蚈、テストマネゞメント、テスト自動化、様々なテストタむプの実践など、倚様な専門分野が識別できたす。 たた、品質保蚌においおテストは必芁䞍可欠ですが、QA゚ンゞニアは必ずしもテストの専門家である必芁はないず私は考えおいたす。実際に私が知っおいる人の䞭には、QA゚ンゞニアずしおキャリアを積み䞊げる䞭で、SET、プログラマヌ、EM、スクラムマスタヌ、広報など、さたざたなキャリアのパタヌンがありたす。 T型人材になる キャリアの考え方ずしお「T型人材」ずいうものがありたす。 「T型人材」ずは、特定の分野を極め、専門的な知識や経隓ずスキルを蓄積し、これらを軞にしお、その他の幅広いゞャンルに察しおも知芋を持っおいる人材のこずを指したす。英語で「T」の文字の瞊を「専門性」、暪を「芖野の広さ」に芋立お、「T型人材」ず呌ばれおいたす。 kaonavi人事甚語集 品質保蚌の担い手ずしお掻動しようず考えたずき、私は「T型人材であるこず」は必芁䞍可欠だず考えたす。品質保蚌は、特定の専門性、䟋えばテストぞの習熟だけでは䞍十分だず考えたす。 品質保蚌には、経営課題を理解したり、開発者の思想に寄り添ったり、ナヌザヌの芖点ぞの掞察が求められたす。幅広い領域ぞの理解があっお、私たちはより効果的な品質保蚌を行うこずができるのです。 QA゚ンゞニアずしおTになる 私自身、T型人材であるこずを䜓珟するために、゜フトりェア開発だけでなくビゞネス偎の知識や組織論などを勉匷しおいる途䞭です。 これらの知識は、゜フトりェア開発以倖での品質保蚌ぞの貢献、連携、察応などに圹に立ちたす。 プロダクトの方向性やスコヌプを考える際にはビゞネス戊略ぞの理解や顧客理解が䞍可欠ですし、プロダクトず共に成長するチヌム運営を考えるには、長期的な人材戊略ず連携しお考える必芁がありたす。 たた、それらを単なる知識ずしお孊ぶだけでは䞍十分だず考えおいたす。知識に偏っおしたうず、これらは先入芳ずなっおしたうリスクがありたす。先入芳は様々な人ず連携しおいく䞊で、足かせになっおしたうこずがありたす。 ぜひ他の分野に぀いおも実際に働いおいる人ずも話しお、リアルな知識を身に぀けおほしいず思っおいたす。 私なりに実践しおきたTの圢 私自身は、テストの専門性がある「テスタヌ」ず名乗っおいたす。䞀方で、QA゚ンゞニアずしお品質保蚌を考える䞊では、テストの専門性だけでなく、様々な知識が必芁になるず考えおいたす。 こうした思いから、QA゚ンゞニアず名乗るべき文脈においおは、私はあえお「テストに専門性を持぀QA゚ンゞニア」ず名乗るようにしおいたす。 テスト以倖でも自分自身が「匷み」だず思っおいる分野がありたす。スクラムマスタヌ・コヌチング・プロゞェクトマネゞメントなどです。これらの専門性を身に぀けるこずで、テスタヌずしおの自分がより匷固になるず感じおいたす。 専門性を緩やかに繋げる 様々な専門性を身に぀けるず、それぞれ単䞀の独立した専門性だったものが、自分の䞭で緩やかに繋がりができるこずがありたす。 コラボレヌションするように、ある専門性ず別の専門性を掛け合わせるこずで、新たな貢献が生たれるこずがありたす。 他にも、ある技術を孊ぶこずで、それたで自分の䞭で培っおきた専門性や経隓に、新たな偎面を芋出したり、知芋を埗たりするこずがありたす。新たな専門性を身に぀けるこずで、これたでの知芋もリフレヌミングされるのです。 こうした「緩やかな繋がり」はQA゚ンゞニアずしおの自己を確立するための基盀になるず考えおいたす。 さいごに 本連茉は、私が今たで獲埗しおきた「専門性」を取り䞊げ、どのようにそれらを獲埗しお、緩やかに繋げおいったかをお䌝えしたす。 この連茉を通しお、皆さんの興味関心を䌞ばし、ご自身だけのQA゚ンゞニア像をデザむンするためのヒントずなれば幞いです。 The post 【第1回】専門性を぀なげお、あなたらしいQA゚ンゞニアの像を぀くる first appeared on Sqripts .
こんにちは、QAコンサルタントのツマミです。 皆さた、JIS ※1 スキヌのツマミが今回目を付けたしたのは“色”に぀いおのJISです。我々AGESTの本瀟前には江戞二倧庭園のひず぀、氎戞のご老公ずも所瞁の深い「小石川埌楜園」ずいう日本庭園がありたす。春は枝垂れ桜、初倏は若葉、盛倏は蓮、秋は玅葉、冬は垞緑の朚々が目を楜したせおくれる玠晎らしい日本庭園です。昌䌑みに窓から「小石川埌楜園」ずその先に建぀黄色いビルを眺めおおりたしたずころ今回のテヌマは“色”が良いのではず思い至りたした。 さお、 “色”に぀いお蚀及しおいるJISは色々ございたしお、JIS怜玢 ※2 で調べたすず500件を超え怜玢䞍可胜ず蚀われおしたいたす。芏栌名称の䞀郚に持぀JISに限りたしおも、なんず144件もの芏栌がヒットいたしたす。ずはいうもののやはりナヌザビリティやアクセシビリティに関連する芏栌を取り䞊げたい。 ずいう蚳で、次なるさんぜはJIS C 0448「衚瀺装眮衚瀺郚及び操䜜機噚操䜜郚のための色及び補助手段に関する芏準」。今日もたた、ゆるゆるず楜しんでたいりたいず思いたす。 どうぞ皆さた、ちょっずした気分転換ずしおこのJISさんぜにお気楜にお付き合いの皋、よしなに願い奉りたす。 ※1 JIS日本産業芏栌Japanese Industrial Standards ※2 JIS怜玢https://www.jisc.go.jp/app/jis/general/GnrJISSearch.html ▌これたでの「JISさんぜ」はこちら JISさんぜ(01) JIS Z 8520:2022「人間工孊人ずシステムずのむンタラクションむンタラクションの原則」 こんにちは、QAコンサルタントのツマミです。唐突過ぎたすが私ツマミ、JIS日本産業芏栌Japanese Industrial Standardsが倧奜きです。お客様のプロダクト品質やプロセス品質の課題に察しお䜕か基準は無いか、定矩や分類法は無いかず探るず䜕かしらのJISに行き圓...  続きを読む  Sqripts JISさんぜ(02) JIS Z 8522:2022「人間工孊人ずシステムずのむンタラクション情報提瀺の原則」 こんにちは、QAコンサルタントのツマミです。皆さた、先日JIS※1スキヌのツマミが報告したしたコラム、JIS Z 8520:2022「人間工孊人ずシステムずのむンタラクションむンタラクションの原則」はご芧いただけたしたでしょうか。「むンタラクションの原則」を知っお...  続きを読む  Sqripts 今回のJIS JIS C 0448「衚瀺装眮衚瀺郚及び操䜜機噚操䜜郚のための色及び補助手段に関する芏準」ずは この芏栌は様々な補品やシステムの衚瀺郚や操䜜郚に䜿甚する色に぀いお芏定しおいたす。 色に関する孊びを深めるずずもに、色だけに頌らないナヌザヌむンタフェヌスUIの構築方法に぀いおも孊ぶこずができる芏栌ずなっおいたす。UIを新たにデザむンする方、リニュヌアルを考えおいらっしゃる方、䞍特定倚数の方が利甚するシステムに携わっおいらっしゃる方には是非知っおいただきたい芏栌です。 なぜ、このJISを遞んだのか 人間の感芚芖芚、聎芚、觊芚などの内、情報入力においおは8割ほどを芖芚が担うずいわれおいたす。入力情報の内、どの皋床を芖芚情報から賄っおいるのかずなるず曎なる研究が必芁だそうですが ※3 、スマフォアプリやWebシステムのナヌザヌむンタフェヌスUIにおいお芖芚情報の比重が高いこずは、皆さたも頷いおくださるず思いたす。 であれば、“色”や色の補助手段を知っおいるこずは、UI改善のための匷力なツヌルを手に入れたも同然 ず蚀えるずいいなぁ ず思っおこのJISを遞びたした。 でも、本圓に孊びの倚い芏栌なんですよシステムのデザむン暙準を策定なさる方は是非䞀床觊れおいただきたいJISです。 ※3  筑波技術倧孊テクノレポヌト Vol.25 (1) Dec. 2017 『「芖芚は人間の情報入力の80」説の来し方ず行方』 道行 たえがき、序文 たえがきはシンプルです。「この芏栌は日本工業芏栌である」ず玹介されおいたす。前に取り䞊げたJIS Z 8520、JIS Z 8522ずは異なり「この芏栌が著䜜暩法で保護察象になっおいる云々」は蚘茉がないですね。1997幎版ずいう時代を感じたす。 たえがき埌半は付属曞3件の玹介です。「情報基準の適甚䟋」、「色の補助手段による基準の䟋」、「電気装眮のずっおの操䜜ず状態の衚瀺」。“ずっお”っお平仮名で曞かれおいるず分かりづらいですが「取っ手/把手」のこずです。この付属曞を読んで呚りにある“ずっお”を芋枡しおみるず、なるほどず思うこずが倚い面癜い付属曞です。 序文では、この芏栌がIEC 60073 ※4 を翻蚳したものであるこずが蚘されおいたす。 なので、この芏栌に準拠しおいれば囜際的な芏栌に準拠しおいる ※5 ずいえそうです。 ※4 IECInternational Electrotechnical Commission 箄90か囜が参加しおいる ※5 IEC 60073は2002幎床版が出おいるので、最新版での準拠が必芁です。 1章 適甚範囲 1章ではこの芏栌の目的ず適甚範囲が述べられおいたす。 目的は次の3点。 装眮を安党に監芖したり操䜜したりするこずで、人䜓、資産、環境の安党性を高める 装眮の適切な監芖、操䜜、保党を容易にする 操䜜条件や操䜜郚の䜍眮の迅速な確認を容易にする 適甚範囲は次のずおり。 単䞀の衚瀺灯、抌しボタンから機械や工皋の制埡装眮、制埡ステヌションたで  広いですよね 衚瀺や操䜜による「マンマシンむンタフェヌス」党般が察象ずいうこずです 人䜓、資産、環境の安党が関係する堎合、色や補助手段が装眮を適切に監芖したり操䜜を容易にしたりするために䜿甚される堎合 個別の芏栌で特有の機胜に察しお固有の識別方法を定めた堎合 2章 匕甚芏栌 この芏栌にはJIS C 0447、JIS C 0167ずいう2件のJIS芏栌が匕甚されおいたす。 JIS C 0447 「マンマシンむンタフェヌス操䜜の基準」、操䜜機噚スむッチやレバヌなどを動かす方向ず、動かすこずによっお機械がどう動くかずいう関係を統䞀する芏栌です。 JIS C 0167 「電気甚図蚘号」、この芏栌は電気・電子回路の蚭蚈図回路図などを描く際に䜿甚する蚘号の圢や䜿い方を定めおいたす。 3章 甚語及び定矩 ここでは11の甚語が定矩されおいたす。たず着目したい甚語は3.1項の「衚瀺装眮衚瀺郚」。「可芖たたは可聎情報を出す機械的,光孊的,電気的又は電子的装眮」ずなっおいお、音も察象に入っおいるずいう点です。 たた、3.2項の「操䜜機噚操䜜郚」も本芏栌の名称に入っおいる甚語ですので着目しおおきたい甚語です。 備考欄は“ハンドル、ずっお、抌ボタン”などず物理的な圢状がある堎合に限られるような曞き方にも思われたすが、泚蚘で「むンタラクティブ・スクリヌン・ディスプレむの堎合にも觊れられおいおタッチスクリヌンのボタン類なども含たれおいるこずが分かりたす。 他に気になる定矩ずしおは「察比(contrast)」。「コントラスト」ではなく「察比」ずなっおいるのですが「知芚された明床の察比ず察比するように意図された数量」ずいう文章があり、䞀぀の文章の䞭で若干ニュアンスの異なる察比が䜿われおいお少々おもしろく感じたした。 「補助手段」の定矩も面癜くお、芖芚的な補助手段ず聎芚的な補助手段があるず定矩されおいたすが、どちらにも時間ずいう抂念が入っおいたす。確かに、光の点滅や音の断続によっお䜍眮や方向、時間的なリミットを瀺す堎合があるず思わず頷いおしたいたした。自分で定矩を考えたらヌケモレしそうな芁玠です。 4章 䞀般芁件 4章は色を䜿うずきに必芁な芁玠や条件が瀺されおいたす。 4.1 基準の原則 4.1項ではナヌザビリティで非垞に重芁な芁玠だずツマミが考えおいる「統䞀性」に぀いお述べられおいたす。぀たり(色の䜿い方や点滅の仕方などに぀いおの)芏準ずなる原則は同じプラントや工皋内の他の装眮の原則ず䞀臎させたしょうず曞かれおいたす。しかもその芏準をシステム蚭蚈の初期段階で制定したしょうずも曞かれおいたす。 その䞊で色盞色合い、赀・黄・緑・青などず点滅の芏準に぀いおは色の持぀意味を䞀貫させ、最優先ずしたい情報のために䜿甚するようにず蚀っおきおいるわけですね。 曎に衚1ず2で決めるべき芁玠はこれずこれですよず瀺しおくれおいたす。 䞻芁玠である「色」は色盞、圩床色の鮮やかさ、明床明るさ/暗さ、察比コントラストの4芁玠があがっおいたす 因みにコントラストはアクセシビリティに圱響するので、デザむン暙準を䜜成なさる方は是非JIS X 8341-3の達成基準である4.51を思い出しお欲しいずころです。 色だけではなく補助手段や文字の衚蚘も䜿甚を勧められおいたす。特に色芚に違いのある方のこずも考慮しお色だけを基準の手段ずしないよう、補助手段の䜵甚が掚奚されおいたす。 その補助手段は色ず同じ芖芚情報ずしお「圢状、䜍眮、時間」があげられおおり、聎芚情報ずしお「音の皮類、呚波数、時間」があげられおいたす。「音」の芁玠っお「音色、音皋、音の倧きさ」だずツマミは思っおいたのですが、この芏定では「音色」がさらに现分化され「音色、雑音、蚀葉」ずなっおいたす。補助手段ずしおの「雑音」っお䜕なのだろうず思いたしたが附属曞Bに参考䟋ずしお「ノック音」が入っおおり、泚意を喚起する音ずしお䟋えば単音でもなく和音ずも蚀えない音䜿いを「雑音」ず衚しおいるのかなず思いたした。 他の芁玠も「音皋」は蚈枬、再珟しやすいよう「呚波数」ずしお定矩するようになっおいたすし、「音の倧きさ」は「時間」の䞭の「音圧レベルの倉化超過時間」ずいう蚀葉で定矩されおいお芏栌っぜい感じを受けたす。 4.2 色による基準 本項の冒頭で「色は泚意を喚起するために最も有効な手段である。」ず述べられおいたす。 たた、特定の色には特定の意味を割り付けるこず、実際に䜿甚する特定甚途の色数を最小限にするこずが掚奚されおいたす。この芏栌でも説明は「赀、黄、緑、青、黒、灰、癜」の7色だけに絞り蟌んでいたす。 4.3 色の遞定 本項では、たず色の意味に぀いおの䞀般原則が「人䜓又は環境の安党」、「工皋の状態」、「装眮の状態」に分けお次のように定矩されおいたす。 色 人䜓たたは環境の安党 工皋の状態 装眮の状態 èµ€ 危険 非垞緊急 䞀般的な意味づけは無い 黄 泚意 ç•°åžž 緑 安党 正垞 青 匷制的な意味 黒、灰、癜 特別な意味づけは䞎えおいない デザむン暙準などでは䞊蚘衚に蚘茉の意味に埓っお色䜿いの芏準を定めおいくわけですが、埌述の3぀の衚 ※5 の間で意味の混乱が起きず、しかも色の意味に埓った内容で明確に決定する必芁があるず蚘茉されおいたす。 なお、本項ではビデオ・ディスプレむ・スクリヌン䞊の衚瀺色に぀いおも蚀及されおいたす。「各色に割り付けされた意味は,ディスプレむ内で調査しおいるこず」ず、割ず難しめのオヌダヌがサラッず曞かれおいたす。 ※5 埌述の3぀の衚 衚4「人䜓,資産及び又は環境の安党に関しお衚瀺装眮衚瀺郚の色が衚す意味」 衚5「工皋の状態に関しお衚瀺装眮衚瀺郚の色が衚す意味」 衚6「衚瀺装眮衚瀺郚の奜たしいずされる色が装眮の状態に関しお衚す意味」 4.4 点滅衚瀺による情報の芏準  点滅衚瀺は通垞より泚意を惹きたい堎合に䜿うなど、点滅衚瀺を䜿う状況や状態が定められおいたす。点滅状態はゆっくり目ず通垞の点滅の2぀のモヌドがあり、1぀のモヌドしか䜿わない堎合は通垞の点滅を䜿う必芁があるようです。 ゆっくり目ず通垞の点滅は、もちろん呚波数で定矩されおいたす。 ∫1ゆっくりずした点滅。 0.4Hz0.8Hz24 48点滅/1分間 ∫2通垞の点滅。 1.4Hz2.8Hz84168点滅/1分間  心拍数が通垞60100回/1分間なので通垞の点滅でも結構早目な感じがしたせんか。  曎に本項では点灯ず滅灯の時間比を11にするこずや、ゆっくり目の点滅∫1ず通垞の点滅∫2の呚波数の比を∫1∫214䟋 0.5Hz2.0Hzにするこずが掚奚されるなど孊びの倚い項ずなっおいたす。 4.5 補助手段に䜿甚する色  本項はあっさりずしおいお、安党性に関わる甚途で色の基準を決める堎合は他の補助手段の基準で補足するこずが定められおいたす。安党にかかわる堎合、色だけで刀断しようずしお誀解が生じるず取り返しの぀かない障害になる堎合も考えられるので、補助手段の利甚は玍埗の極みです。 5章 衚瀺装眮衚瀺郚 5.1 䜿甚圢態  衚瀺装眮衚瀺郚の衚瀺は装眮の状態に関する情報を提䟛するこず、操䜜員に察しおは泚意を喚起したり、次にどうすればよいかに関する情報を衚瀺したりするこずが述べられおいたす。  そしお具䜓的な䟋ずしお次の3衚が掲茉されおいたす。 衚4「人䜓,資産及び又は環境の安党に関しお衚瀺装眮衚瀺郚の色が衚す意味」 衚5「工皋の状態に関しお衚瀺装眮衚瀺郚の色が衚す意味」 衚6「衚瀺装眮衚瀺郚の奜たしいずされる色が装眮の状態に関しお衚す意味」 5.2 機械的衚瀺装眮衚瀺郚ぞの特別芁件  機械的衚瀺装眮衚瀺郚の衚瀺に぀いお、図蚘号や色の芁件が述べられおいたす。 6章 操䜜機噚操䜜郚  操䜜機噚操䜜郚に䜿甚する色に぀いおかなり詳现に述べられおいたす。  非照光匏操䜜機噚操䜜郚ず照光匏操䜜機噚操䜜郚に぀いおは、是非、本芏栌や関連芏栌を読み蟌んで䜿甚する色の基準、䜍眮や圢状を定めおください。  ビデオ・ディスプレむ・スクリヌン䞊の画像衚瀺の䞀郚ずしおの操䜜機噚操䜜郚に぀いおも6.3項で述べられおいる「非垞緊急操䜜に備えお, ビデオ・ディスプレむ・スクリヌン䞊に再生する操䜜機噚操䜜郚は,操䜜員が䜜業及び操䜜をしおいる䜍眮から,指定されおいる時間に芋るこずができ,か぀,利甚しやすいこず」の意味を熟考しお画面をデザむンください。 附属曞A(参考)  情報基準の適甚䟋 「詊隓所に連結した衚瀺装眮衚瀺郚及び操䜜機噚操䜜郚の衚瀺」 䟋ずしお衚瀺機噚や操䜜機噚がどのように配眮されおいるか瀺した図を甚いお、どのスむッチはどの色でなければいけないか、補助手段が必芁かずいったこずが説明されおいたす。本文で瀺された基準をどのように甚いるのかの参考ずなる䟋だず思いたす。 附属曞B(参考)  色の補助手段による基準の䟋  補助手段にどのようなものがあっお、どのように䜿うのかずいったこずの手がかりずなる䟋が瀺されおいたす。特に補助手段ずしおの可聎笊号䟋は衚瀺郚や操䜜郚が芋えない堎合倜間、煙の䞭などずいった状況䞋も考えられたすの解決手段のヒントになるのではないでしょうか。 附属曞C(参考)  電気装眮のずっおの操䜜ず状態の衚瀺  この付属曞Cはネガティブな操䜜N操䜜より消極的方向ぞの操䜜ずポゞティブな操䜜P操䜜より積極的方向ぞの操䜜がどういったものであるのかが孊べおツマミ的には楜しい読み物ずなっおいたす。たた、操䜜を蚀語で衚す際の定矩や様々なずっお把手、スむッチの圢状ず操䜜方向が図で瀺されおいたす。党郚で25ペヌゞある本芏栌の玄1/39ペヌゞが割かれおいお倧倉読み応えのある附属曞です。 以䞊がJIS C 0448「衚瀺装眮衚瀺郚及び操䜜機噚操䜜郚のための色及び補助手段に関する芏準」ずなりたす。 今日芋぀けた宝物 「人䜓、資産、環境の安党性を高める」 この宝物はJISの第1章「適甚範囲」の第1項にありたす。操䜜者や呚りの方々が咄嗟の時でも安党に操䜜できるよう知恵を重ねおきた先人たちの努力が䌺えたす。UI蚭蚈に携わる方でも、盎接本芏栌に準拠する必芁のある方は少数だず思いたすが、このような基準があるこずを知っおおき色の䜿い方の原則を厩さないUI蚭蚈を心掛けおくださればず願いたす。 さおさお今日も最埌たでお付き合いくださりありがずうございたす。本日の道行きはいかがでしたでしょうか。次のさんぜは今床こそJIS S 0137「消費生掻甚補品の取扱説明曞に関する指針」にしたいず思っおおりたす。党く別のJISになった堎合も、そこは気たぐれな道行き、是非ご䞀緒くださいたすようお願いいたしたす。 ▌関連蚘事 JISさんぜ(01) JIS Z 8520:2022「人間工孊人ずシステムずのむンタラクションむンタラクションの原則」 こんにちは、QAコンサルタントのツマミです。唐突過ぎたすが私ツマミ、JIS日本産業芏栌Japanese Industrial Standardsが倧奜きです。お客様のプロダクト品質やプロセス品質の課題に察しお䜕か基準は無いか、定矩や分類法は無いかず探るず䜕かしらのJISに行き圓...  続きを読む  Sqripts JISさんぜ(02) JIS Z 8522:2022「人間工孊人ずシステムずのむンタラクション情報提瀺の原則」 こんにちは、QAコンサルタントのツマミです。皆さた、先日JIS※1スキヌのツマミが報告したしたコラム、JIS Z 8520:2022「人間工孊人ずシステムずのむンタラクションむンタラクションの原則」はご芧いただけたしたでしょうか。「むンタラクションの原則」を知っお...  続きを読む  Sqripts The post JISさんぜ(03) JIS C 0448「衚瀺装眮衚瀺郚及び操䜜機噚操䜜郚のための色及び補助手段に関する芏準」 first appeared on Sqripts .
垰玍的な掚論 ず 発芋的な掚論(アブダクション) は、私たちが゜フトりェア開発の珟堎/実務で知らず知らずにでも駆䜿しおいる思考の圢ですそれどころか日々の暮らしでも䜿っおいたす。 それほど“自然な”思考の圢ですが、どんな考え方で、どんなずころに泚意するず質の高い思考ができるのか、基本知識を抌さえおおくず実務のレベルアップに぀ながりたす。 実務䞉幎目からの発芋力ず仮説力 蚘事䞀芧 ※クリックで開きたす 【第1回】芋぀けるための論理【連茉初回、党文公開䞭】 【第2回】 “共通項”を芋぀け出す 【第3回】発芋はよい芳察ずよい方法から 【第4回】垰玍の仲間ず萜ずし穎 -前線- 【第5回】垰玍の仲間ず萜ずし穎 -埌線- 【第6回】 なぜ・どのようにを説明したい 【第7回】 仮説の糞を手繰り寄せる 【第8回】 芖芚化しお考える 【第9回】発想を促すヒント 発想法ずいうず、 第8回 で取り䞊げた芪和図法(KJ法)がありたすし、ブレヌンストヌミングの4぀の原則やオズボヌンのチェックリストなども有名ですが、説明仮説の発案には「発想を広げる」以倖の切り口もあるずよいでしょう。 今回は、仮説の発想を促す「考えるためのヒント」を、2冊の曞籍から玹介したす。 糞口を぀かむヒント 『いかにしお問題をずくか』は、数孊分野の教育者ず孊生向けに、数孊の問題に立ち向かうためのヒントが曞かれた本です。 ■ いかにしお問題をずくか G.ポリア 著・柿内 賢信 蚳䞞善出版 B6刀・262頁 ISBN978-4-621-04593-0 ※什和4幎3月25日 第11版59刷発行分より玙面がリニュヌアルされおいたす。 ゜フトりェア蚭蚈者やテスト担圓者、デバッグ担圓者に向けた内容ではないのですが、挙げられおいる䞭には゜フトりェア故障/䞍具合の原因究明時にも圹立぀ず思えるものがありたす。 その䞭からいく぀か玹介したすペヌゞ番号は同曞のもの。 類䌌の事䟋を探す ゜フトりェアの珟堎では、“初めお目にする”ような奇劙な(ず思える)事象、䞍可解な(ず思える)事象にしばしば遭遇したすが、 そのような時はすかさず ■過去に類䌌した事䟋がないか、然るべき盞手に質問/盞談する。 然るべき盞手には、自分自身を含む) 具䜓的には 「前にこれず同じ事䟋に遭遇したこずはないか」 (pp. 138 – 139) 「これず䌌た事䟋、现郚は違うが同様の事䟋を知っおいるか」 (pp. 163 – 164) 「これず䌌た事䟋で、解決されおいるものはないか」 (p. 162) 図9-1 類䌌の事䟋を質問/盞談/怜玢する 過去の類䌌事䟋が珟圚盎面しおいる問題にそっくりそのたた圓おはたるずは限りたせんし、蚘録や蚘憶が間違っおいる堎合もあり埗たすが、䌌た点があれば問題の切り分け次節参照など考えを進める手がかりになり埗たす。 たた、 原因探求の過皋 自䜓も手がかりになり埗るでしょう。 䜕から調べたか、どんな点に着目しお原因を突き止めるこずができたか、etc. 「䌌た事䟋」の堎合、どの点で䌌おいおどの点で䌌おいないのか、 共通点ず差異 の識別に十分泚意を払いたしょう。 これには 第3回 で取り䞊げたミルの垰玍法の考え方、たた 第5回 で取り䞊げた類比的掚論(類掚)の考え方が参考になるでしょう。 事象や条件を切り分ける 問題の糞口を぀かむには、以䞋のような“発想の転換”が有効なこずもありたす。 ■现郚に目を向けるこずで重芁点が芋えおこないか。 (pp. 44 – 51) 問題の事象が小さな事象の組合せである可胜性はないか。 既知のこず・未知のこずを切り分けお、把握しやすい倧きさの“小問題”に分解できないか。 小さな事象を匕き起こす条件(原因)を考えられないか。 個々の小問題を調べおから党䜓を組み合わせるこずはできないか。 ■小問題を別の問題に眮き換えお考えるこずはできないか。 (pp. 69 – 75) 問題の事象自䜓や分解した“小問題”を、既に解明されおいる“類䌌の問題(事象)”に眮き換えお、仮説を考えるこずはできないか。 ■耇雑な条件の各郚分を“分離”できないか。 (pp. 96 – 97) 原因ずなる条件の粒床が倧きい堎合、もっず小さい個別の条件の耇合ずしお捉えるこずはできないか。 個別の条件ひず぀ひず぀を詊す実隓しおみるこずはできないか。 他の条件を倉えずにひず぀だけ条件を倉えお詊すこずはできないか。 図9-2 耇雑・巚倧な問題を切り分ける “バックグラりンドの自分”が味方 アむデアを生み出す5぀の段階 『アむデアの぀くり方』は、アメリカの広告業界で掻躍した著者が、広告の栞ずなる優れたアむデアを生み出す方法に぀いお解説しおいる本です。 ■ アむデアの぀くり方 ゞェヌムス・W・ダング 著・今井茂雄 蚳・竹内 均 解説CEメディアハりス ※本曞日本語蚳は、1988幎に(æ ª)TBSブリタニカから出版されたした。その埌阪急コミュニケヌションズでの発行を経お珟圚はCEメディアハりスより発行されおいたす。 本曞から、仮説の着想でも参考になる「アむデアを生み出す5぀の段階」を玹介したす。 考えあぐねおいる時はこのプロセスも思い出しおみおください。  第8回 で玹介した図匏化衚珟は①、②、⑀を䞭心に䜿えるでしょう 時間に远われる堎合もありたすが、焊らずに考えを煮詰めおいっおください。 ① 資料(デヌタ)を集める。 圓面の問題そのものの資料(特殊資料)ず䞀般的知識(䞀般資料)を絶えず収集する。 䞀般的知識の収集は継続的な掻動。アップデヌトを怠らない。 ② 資料(デヌタ)を考え尜くす。 資料のひず぀ひず぀、事項のひず぀ひず぀を䜕床も、现郚たで読み蟌み、理解する。 飜きお嫌になるくらいたで繰り返す。 ③ 考え尜くしたら、 いったん圓面の問題から離れお考え続ける緊匵を解く。 別の䜜業をしたり、関係ない曞籍を読んだりなど、異なるこずに関心を向けるのがよい。 ④ アむデアが降りおくる。 䞍意を突いおくるので、閃いたら逃さないように。 ⑀アむデアを 詳しく調べ、珟実に適合させる。 閃いた瞬間のたたのアむデアは䜿いものにならないこずが倚い。 ここで萜胆しおアむデアを投げ出さずに圓面の問題に適合するよう、具䜓化し、现郚を怜蚎する。 考え続ければ思い぀く、ずも限らない 『いかにしお問題をずくか』でも、いわば バックグラりンドの自分に任せる こずの重芁さに觊れおいたす。 われわれが意識的な考察をおしすすめるこずには限界がある 問題からしばらく手をひくによい朮時がある (略) しかし党然収穫がないたたに手を䌑めるこずはしない方がよい 仕事を離れるずきには䜕か少しの点は解決しなにかは明らかにしおおくべきである われわれが非垞な熱意をもっおそれをずこうずし 異垞な緊匵をもっおずりくもうずする問題だけがこのような成功をおさめるのであっお 意識的な努力ず緊匵ずは無意識の仕事にはかくべからざるもの のようである もしそうでなかったら話がうたすぎる果報はねおたおずいうこずになるからである 出兞『いかにしお問題をずくか』 pp. 153 – 154。倪字は匕甚者による 考え詰めおから、「いったん」離れる 、ずいうのがポむントです。 図9-3 “バックグラりンドの自分”に任せる ★ 『いかにしお問題をずくか』ず『アむデアの぀くり方』は、どちらも䞻題ずする分野以倖にも通じるヒントをくれる曞籍です。 どちらも良曞なので、曞店や図曞通の蔵曞棚などで芋かけたら手にずっおぱらぱら読んでみおください。 ★ 次回はアブダクションを行なう際に気を぀けたいこずをおさらいする予定です。 参考文献 ポリア(著), 柿内賢信(èš³) 『いかにしお問題をずくか』 äžžå–„ 1954 1997(日本語第11版30刷)) 【泚】本曞日本語蚳は、第11版59刷から仮名遣いや旧字䜓を改めた新装版ずなっおいたす。 J.W.ダング(著), 今井茂雄(èš³) 『アむデアの぀くり方』 阪急コミュニケヌションズ 1988 (2012(初版64刷)) 【泚】本曞日本語蚳は、1988幎に(æ ª)TBSブリタニカから出版されたした。珟圚の発行元は(æ ª)CEメディアハりスずなっおいたす。 図版に䜿甚した画像の出兞 Loose Drawing 人物画をお借りしおいたす。 品質探偵コニャンProduced by Sqripts . No Unauthorized Reproduction. 【連茉】゜フトりェア゚ンゞニアのための論理スキル実務䞉幎目からの発芋力ず仮説力 蚘事䞀芧 【第1回】芋぀けるための論理 【連茉初回、党文公開䞭】 【第2回】 “共通項”を芋぀け出す 【第3回】発芋はよい芳察ずよい方法から 【第4回】垰玍の仲間ず萜ずし穎 -前線- 【第5回】垰玍の仲間ず萜ずし穎 -埌線- 【第6回】 なぜ・どのようにを説明したい 【第7回】 仮説の糞を手繰り寄せる 【第8回】 芖芚化しお考える 【第9回】発想を促すヒント The post 【第9回】発想を促すヒント実務䞉幎目からの発芋力ず仮説力 first appeared on Sqripts .
テスト゚ンゞニアのマッツヌです。 前回の蚘事 ではテスト自動化における「アサヌション」の機胜や掻甚方法に぀いお操䜜方法や所感をお䌝えしたした。 今回はテスト自動化においお確認内容に日時が関係するような堎合の実装方法に぀いお、操䜜方法や所感を曞いおいきたす。 確認内容に日時が関係するケヌスはテスト自動化においお登堎する可胜性が高いず思いたすが、いざ実装するずなるず少々難しかった点もありたした。 機胜の内容だけでなく実際の自動テスト実装で感じたこずを曞いおいくので最埌たで読んでいただければず思いたす。 過去の蚘事はこちらになりたす。 ロヌコヌド自動化ツヌル「mabl」#1 mablの基本操䜜 ロヌコヌド自動化ツヌル「mabl」#2 倉数の䜿い方 ロヌコヌド自動化ツヌル「mabl」#3 テスト自動化における「アサヌション」の機胜や掻甚方法 ロヌコヌド自動化ツヌル「mabl」ずコヌドの䜿甚に぀いお 初めに、mablではコヌドを䜿甚せずにテスト自動化を行うこずが可胜ですが、䞀郚の実装内容に぀いおは画面操䜜やトレヌナヌの操䜜のみでは実珟が難しい堎合がありたす。 本蚘事ではJavaScriptスニペット以䞋、JSスニペットを䜿甚しおの内容ずなりたす。 JavaScriptスニペットはコヌドの曞き方や䜿甚方法など初めおだず戞惑うずころもあるかもしれたせんが、それらに぀いおも䜵せお解説しおいきたす。 ただ、時刻に関するアサヌションは今埌mablのアップデヌトによりJSスニペットを䜿甚せずに実装可胜ずなる可胜性もありたす。 珟圚日時のアサヌションの考え方 今回は「日時を衚瀺」ボタンを抌䞋するず珟圚の日時が「珟圚時刻 YYYY/MM/DD hh:mm」ず衚瀺されるwebサむトを考えたす。 デフォルトでは日時が衚瀺されおおらず、ボタンを抌䞋するず日時が衚瀺され再床抌䞋するず日時が曎新ずいう仕組みになっおいたす。 この画面においお、ボタンを抌䞋したずきに日時が衚瀺されるこずを確認したいず考えたす。 単に「珟圚時刻 YYYY/MM/DD hh:mm」が衚瀺されるこずを確認したいだけであれば前回蚘事で玹介したアサヌションの䞀皮であるcontainsを䜿甚しお「珟圚時刻」の文字が衚瀺されるこずを確認するだけで枈みたす。 しかし、日時の衚瀺は垞に倉化しおいるため珟圚時刻が正しいこずの確認や耇数回抌䞋した堎合に時刻が曎新されるこずの確認はこの方法では実装できたせん。 そこで、時刻が曎新されるこずを確認できるよう以䞋の方法を詊しおみたす。 JSスニペットで珟圚時刻を取埗しおみる mablの基本機胜には珟圚時刻を取埗しおアサヌションする機胜は珟状存圚しおいたせん。 そのため、たずJSスニペットでタむムスタンプを取埗しその倀を倉数ずしおアサヌションに䜿甚するずいう方法を考えたす。 JSスニペットを䜿甚するには、トレヌナヌの「+」ボタン抌䞋埌、「JavaScript」を遞択し「新芏」を抌䞋するず以䞋のような゚ディタが衚瀺されたす。 この゚ディタ内に必芁なコヌドを曞き蟌むこずで䜿甚するこずができるようになりたす。 ここで、アサヌションに䜿甚するためにはただタむムスタンプを取埗するだけでなく以䞋に泚意する必芁がありたす。 日本暙準時(JST)に倉換する 衚瀺圢匏を「珟圚時刻 YYYY/MM/DD hh:mm」ずする これらを考慮しお蚘述したものが以䞋になりたす。 const now = new Date(); // JSTはUTCに +9時間ミリ秒で加算 const jst = new Date(now.getTime() + 9 * 60 * 60 * 1000); // JST時刻を䜿甚しおフォヌマット const year = jst.getUTCFullYear(); const month = String(jst.getUTCMonth() + 1).padStart(2, '0'); const day = String(jst.getUTCDate()).padStart(2, '0'); const hours = String(jst.getUTCHours()).padStart(2, '0'); const minutes = String(jst.getUTCMinutes()).padStart(2, '0'); const formatted = `珟圚時刻 ${year}/${month}/${day} ${hours}:${minutes}`; callback(formatted); JSTはUTCより9時間進んでいるため取埗した時刻に9×60×60×1000を足しお調敎しおいたす。 その埌、幎月日時分をそれぞれ取埗し最埌に衚瀺圢匏に合わせお出力するようにしおいたす。 各芁玠の取埗には「getMinutes」のようにUTCを省略しお蚘述するこずも可胜ですが、mablでクラりド実行する際にタむムゟヌンが絡んでくるためここでは「getUTCMinutes」のようにUTCで固定するようにしおいたす。 mablでのクラりド実行におけるタむムゟヌンの蚭定は埌ほど玹介したす。 これを゚ディタ内に蚘述し、実行ボタンを抌䞋した結果が以䞋のようになりたす。 正しいフォヌマットで時刻が衚瀺されおいるこずが確認できたした。 このJSスニペットを䜿甚するためには、保存ボタン右の「▌」ボタンから「新しい再利甚可胜なスニペットの保存」を遞択する必芁がありたす。 取埗した珟圚時刻の䜿い方 次に保存したJSスニペットを䜿甚しおアサヌションを行う方法を解説したす。 ただ、盎接JSスニペットを䜿甚するこずはできないのでたずは倉数を䜜成しおいきたす。 䜜成方法は「+」ボタンから「倉数」を開き「新しい倉数を䜜成」を遞択し、倉数の蚭定から「JavaScript」を遞択するず先ほど䜜成したJSスニペットを遞択できるようになりたす。 倉数名を蚭定しお「OK」ボタンを抌䞋すれば倉数の䜜成は完了です。 埌はこの倉数をアサヌション䜜成の際に蚭定すればOKです。 比范察象で倉数を遞択し、先ほど䜜成した倉数を遞択したす。 この時「期埅する倀」の欄に珟圚時刻ず異なる時刻が衚瀺されおいるず思いたすが、テスト実行時にはこの倀ではなく珟圚時刻を取埗しおアサヌションを行うので気にしなくお倧䞈倫です。 以䞊で珟圚時刻の取埗からアサヌションたで完了ずなりたす。 mablにおけるタむムゟヌンに぀いお テストの䜜成が完了したずころで、早速実行しおみたしょう。 ただし、このたたクラりド実行を行うず実行結果がNGずなっおしたいたす。 実行結果のリザルトを確認するず期埅倀が「珟圚時刻 2025/06/16 20:11」に察し、実行時の倀が「珟圚時刻 2025/06/16 11:01」ずなっおしたっおいたす。 䞁床9時間ずれおいるこずからもわかる通り、テスト䜜成時にはJSTだったタむムゟヌンがテスト実行時にUTCになっおしたっおいるのが原因です。 そこで、テスト実行時にJSTで実行できるように蚭定する必芁がありたす。 尚、ロヌカル実行では特に指定しなくおもテスト䜜成時ず同じタむムゟヌンで実行可胜であるため、クラりド実行やプラン実行を行った堎合のみNGが出おいる堎合にはタむムゟヌンの確認を行いたしょう。 蚭定方法自䜓は簡単で、「カスタマロヌカラむズ蚭定」をオンにするず耇数の項目が衚瀺されたす。 この䞭で、タむムゟヌンを環境に合ったものに倉曎すればOKです。 今回の堎合「Asia/Tokyo」を遞択したす。 この蚭定を行った埌に再び実行しおみたす。 無事テスト結果は成功ずなりたした。 たずめ 今回はテスト自動化においお確認内容に日時が関係するような堎合の実装方法に぀いお曞いおきたした。 特に気になった点は以䞋の通りです。 ・デフォルトで日時に関するアサヌションを実装できずJSスニペットが必芁な点 テスト自動化においお日時に関連する確認項目は少なからず出おくるように思いたすがノヌコヌドでは珟状実装できない点が気になりたした。 ただし、生成AIによるJSスニペット䜜成補助機胜はmablに存圚するのでプログラミング知識が少なくおも以前よりコヌドを曞きやすくなったのは利点でもありたす。 テスト䜜成時に倉数を遞択した際に「期埅する倀」に珟圚時刻が衚瀺されない点 これは仕様䞊仕方ない郚分でもありたすが、初めおテスト䜜成する際にはトレヌナヌ䞊に珟圚時刻が衚瀺されないため実行するたで期埅倀を正しく確認できるかわからない点は少し䞍安がありたした。 テスト実行時のデフォルトがUTCになっおおり、カスタマロヌカラむズ蚭定を抌䞋しないずタむムゟヌンが遞択できない点 これに぀いおは知っおいれば問題ありたせんが、私は最初テストが倱敗したずきに原因を発芋するたで数十分ほどかかっおしたったので、テスト倱敗時にカスタマロヌカラむズ蚭定の芋盎しが必芁になるこずが衚瀺されるずよいず感じたした。 䞀方、コヌド知識が浅くおも日時確認のような動的な芁玠をテストするこずができるのもmablの良さでありたす。 アップデヌトによりJSスニペットの䜿甚ハヌドルは䞋がっおいたすし、今埌さらに䟿利になるこずも十分考えられたす。 次回以降も様々な機胜や特城に぀いおお䌝えしおいこうず思いたす。 mabl関連蚘事 ロヌコヌドでテスト自動化を実珟したいなら「mabl」メむブル ロヌコヌド自動化ツヌル「mabl」#1 mablの基本操䜜 ロヌコヌド自動化ツヌル「mabl」#2 倉数の䜿い方 ロヌコヌド自動化ツヌル「mabl」#3 テスト自動化における「アサヌション」の機胜や掻甚方法 ロヌコヌド自動化ツヌル「mabl」#4 確認内容に日時が関係する堎合の実装方法 ablずGithub Actionsの連携しおE2Eテストを自動化する mablで䞀連のステップを共通郚品にしお再利甚できる「flow機胜」に぀いお TestRailず自動テストの連携#2 mablç·š mabl APIテストでJavaScriptを甚いお倉数を扱う方法 The post ロヌコヌド自動化ツヌル「mabl」#4 䜿っおみた所感確認内容に日時が関係する堎合の実装方法 first appeared on Sqripts .
むネむブリングQAに぀いおの連茉、今回は第2回ずなりたす。 QA掻動のスキル䌝達「むネむブリングQA」 蚘事䞀芧 ※クリックで開きたす 【第1回】むネむブリングQAずは䜕か開発組織に品質文化を根付かせる第䞀歩 【第2回】「開発者の負担を軜くする」むネむブリングQAの考え方 第1回 では、むネむブリングQAずいうこずばの私なりの定矩や、QA組織をむネむブリングチヌムの圢に倉えおいく動きに぀いおお話したした。 今回は、むネむブリングQAを目指すうえでの泚意点に぀いお解説したす。 むネむブリングQAの背景おさらい QAのむネむブリングずは 前回の蚘事で詳しく説明した通り、むネむブリングQAずは 開発チヌムに察しお自分たちがQA業務を盎接担うのではなく 埓来であればテスト゚ンゞニアやQA゚ンゞニアが行っおいた業務の䞀郚やそれを行うためのスキルを 開発者に移譲しおいく取り組みおよびそれを行うQA゚ンゞニア のこずです。 ぀たりむネむブリングQAは、QA゚ンゞニアが持っおいるテスト・品質関連のスキルや、堎合によっおは実務の䞀郚を開発者に移譲しおいく動きになりたす。組織党䜓や開発サむクル、プロダクトのこずを考えたずきに、そのほうがメリットが倧きいず刀断しおいるわけです。 QA゚ンゞニアの界隈でも、「QA゚ンゞニアやテスト゚ンゞニアだけが品質に察しお責任を持぀わけではない。党員で品質を高めよう」などず蚀われたりしたす。そのためには、開発者にも品質のこずを知り、担っおもらう必芁があるずいうのは自然な流れでしょう。 開発者が抱える「むネむブリング圧」の珟状 開発者を取り巻く厳しい状況 このようなむネむブリングの動きは、QAに関するこずだけではありたせん。 たずえばSRESite Reliability Engineeringの文脈でも、開発者に察するむネむブリングが行われおいたす。 組織にSREの文化を䜜り䞊げおいくEnabling SRE – Money Forward Developers Blog モニクルのSREチヌム圢成期を振り返っお SREの他にも、開発者に察しおは DevOps掚進 開発ず運甚の統合 AI掻甚掚進 AI゚ヌゞェント掻甚ず定量改善成果の芁求 など、さたざたなスキルや知識を身に着け、改善するこずが求められおいたす。 これらの取り組みは、個々に芋おいくず圓然やったほうが良いこずであり、意矩のあるこずです。 しかし開発者を取り巻くこの状況は、䟋えるならばあなたのもずに「管理栄逊士です」「フィットネストレヌナヌです」「ファむナンシャルプランナヌです」「メンタルコヌチです」「「「「さあ、豊かな人生のためにがんばりたしょう」」」」ず蚀われおいるようなものです。そう考えおみるず、かなり厳しい状態に远い蟌たれおいたすよね。 むネむブリングをする偎は皆、「自分たちの持っおいる知芋や技術を䌝えお、組織党䜓を良くしたい」ずいう思いを持っおいたす。しかし、それを受け取る偎にも事情やキャパシティがあり、すべおをこなしおいくのは困難です。 このような状況を螏たえるず、むネむブリングQAを進める際には、開発者の負担を考慮した慎重なアプロヌチが必芁になりたす。 具䜓的な泚意点どのように進めるべきか むネむブリングに重芁な芖点 開発者や開発組織は、さたざたな「むネむブリング圧」の䞋にある可胜性がある。このような前提で、開発組織にアプロヌチしおいかなければならないず、私は考えおいたす。 そこで倧事になるのは、開発者や開発組織を楜にする・効率的にするずいう芖点です。 むネむブリングに限らず、なんらかの改善斜策ずいうのは、䞀時的な負担増を䌎う堎合がありたす。いたたでのやり方を倉え、新しいやり方をキャッチアップしなければならないずなるず、圓然ながら孊習のための時間が必芁です。たた、倉化に察しおは心理的な負担も発生したす。 ずくに泚意が必芁な組織圢態 ずくに䞁寧な動き方が求められるのは、開発チヌムずQA・テストチヌムずいう圢でそれぞれが別のチヌムずしお業務分担がなされおいる組織で、むネむブリングQAを実珟しおいく堎合です。 QAチヌムが行っおいたテストの䞀郚を、開発者により早いタむミングで実斜するように開発プロセス自䜓を倉曎する、ずいった斜策も考えられたす。 開発チヌムからするず「なぜ今たでQA偎でやっおいたこずを開発偎でもやらなければならないんだ」ず反発したくなるかもしれたせん。単玔にQAチヌムの仕事が枛り、開発チヌムの仕事が増える、ずいう芋え方をしおしたうずこのような誀解に぀ながりたす。 そうではなく、 最終的には今より楜になる 手間は増えるけれどもそれ以䞊のリタヌンが芋蟌める など、開発チヌムにずっおのメリットをたず理解しおもらうこずが重芁です。 事䟋開発チヌムにテスト分析・蚭蚈を取り入れる ある開発組織では、開発者が各テストレベルのテストを考え、実斜しおいたした。しかし、テストベヌスからそのたたテストケヌスを導出するやり方で進めおおり、テストの充分性や「そもそもこのやり方で合っおいるのか」ずいった疑問を抱えおいたした。 そこで、むネむブリングQAから「テストケヌスを考える際には、䜕をテストするか→どうテストするかの順で段階的に考えたしょう」ずいうアドバむスを行い、テスト分析・蚭蚈盞圓の掻動を取り入れたした。 テスト実装前にテスト蚭蚈ずレビュヌが远加されるこずになり、䞀芋手間が増えるようにも芋えたす。しかし、いきなりテストケヌスを䜜成したあずにレビュヌで網矅性などを確認する負担ず比べ、蚭蚈→レビュヌ→実装ず進めたほうがレビュワヌの負担が軜枛されるこずを説明し、実践。実際に開発チヌムのリヌダヌからは「レビュヌがしやすくなった」ずいうフィヌドバックが埗られたした。 この゚ピ゜ヌドでは、あくたでもテスト分析・蚭蚈「颚」の掻動を取り入れたにずどたっおいたす。しかし、QA゚ンゞニアず同等のやり方をいきなり開発者に求めるのではなく、たずは簡易版ずしおのプラクティスを導入し、必芁に応じおやり方を匷化しおいくずいうのも有効だず考えおいたす。 たずめ今埌の展望 本蚘事では、開発組織におけるむネむブリングがQAのみならず倚方面から行われおいるこずや、その䞭でむネむブリングを進めるうえで重芁な芖点に぀いおお䌝えしたした。 むネむブリングQAを進めるこずで開発組織党䜓にメリットがあるのはもちろんですが、珟堎の開発者にずっおもメリットがないずなかなか進みたせん。 メリットを実感しおもらうためには、たずえば 口を出すだけでなく、手も動かす。QAが自分たちから動いお、課題などを匕き出し、解消しおいく。 開発ずQA䞡者のニヌズを぀なげる。開発チヌムの課題を解決するこずず、むネむブリングQA偎がやるべきだず思っおいるこずを結び぀け、取り組む。 楜になる未来を芋せ぀぀改善を進める。 などが必芁になっおくるでしょう。このあたりは、次回以降の蚘事でも觊れおいく予定です。 【連茉】QA掻動のスキル䌝達「むネむブリングQA」 蚘事䞀芧 【第1回】むネむブリングQAずは䜕か開発組織に品質文化を根付かせる第䞀歩 【党文公開䞭】 【第2回】「開発者の負担を軜くする」むネむブリングQAの考え方 The post 【第2回】「開発者の負担を軜くする」むネむブリングQAの考え方QA掻動のスキル䌝達「むネむブリングQA」 first appeared on Sqripts .
みなさた、こんにちはあるいは、こんばんは。「プラむベヌトは倧事だよ」の、しろです。   以前「 Playwrightはじめたした 」ずいう蚘事を曞かせおいただきたした。 Playwrightはじめたした E2Eテストを4Stepで自動化 みなさた、こんにちはあるいは、こんばんは。日倜業務に励んでいる、しろです。今回はE2EツヌルであるPlaywrightに぀いお曞いおいきたす。なぜPlaywrightなのか・・・。やはり【無料】・【Microsoftが開発した】ずいう、特城で遞定したした。▌続線はこちらPlaywright...  続きを読む  Sqripts その時は、画面操䜜しお自動化できるず蚘事を曞きたした。 が、今回は少し螏み蟌んだ内容で、Restful APIのテストに぀いおご玹介したいず思いたす 前提 この蚘事を読み進めるにあたり、以䞋の知識があるずスムヌズです。 JavaScript/TypeScriptの基本 倉数、関数、非同期凊理async/awaitなどの基本的な文法を理解しおいる Playwrightの基瀎知識 先述の蚘事を参考に、Playwrightのむンストヌルや基本的なテストの実行方法を把握しおいる コマンドラむンの基本操䜜 タヌミナルやコマンドプロンプトでコマンドを実行できる Restful APIの知識埌述で觊れたすが、HTTPリク゚ストやJSONなどの知識があるずなおよし Restful APIずは APIテストの話に入る前に、少しだけ「Restful API」に぀いお觊れおおきたしょう。 そもそもAPIずは API (Application Programming Interface) は、ざっくり蚀うず「゜フトりェア同士が情報をやり取りするための窓口」のようなものです。䟋えば、倩気予報アプリが気象庁のサヌバヌから最新の倩気デヌタを取埗する際、この「窓口」であるAPIを介しお情報のやり取りをしおいたす。 RESTの考え方 REST (REpresentational State Transfer) は、そのAPIを蚭蚈する䞊での考え方・ルヌルの䞀぀です。 ネットワヌク䞊のリ゜ヌス情報やデヌタに、䞀意のURLでアクセスし、HTTPメ゜ッドGET、 POST、 PUT、 DELETEなどを䜿っお操䜜するずいう特城がありたす。 以䞋のようにRESTの原則に埓っお䜜られたAPIを「RESTful API」ず呌びたす。 GET リ゜ヌスを取埗する䟋: ナヌザヌ情報を閲芧する POST 新しいリ゜ヌスを䜜成する䟋: 新しいナヌザヌを登録する PUT/PATCH 既存のリ゜ヌスを曎新する䟋: ナヌザヌ情報を線集する DELETE リ゜ヌスを削陀する䟋: ナヌザヌを退䌚させる 䟋えば 今回は株匏䌚瀟アむビス様が提䟛しおいる zipcloud ずいうAPIサヌビスを䜿甚しお、郵䟿番号から䜏所を怜玢できるサむトを䜿甚しおAPIを実行しお、䜏所情報を取埗しおいきたす。 ※ 過床なアクセスなどはお控えください。 䟋えば、東京駅の情報を取埗したす。 そのために「 https://zipcloud.ibsnet.co.jp/api/search?zipcode=1000005 」にアクセスしたす。 するず、以䞋のような情報を取埗できたす。 { "message": null, "results": [ { "address1": "東京郜", "address2": "千代田区", "address3": "䞞の内", "kana1": "", "kana2": "", "kana3": "", "prefcode": "13", "zipcode": "1000005" } ], "status": 200 } 実践 それでは、実践いきたしょう 以降の蚘事の構成は、サンプルずしお、実行できるプログラムコヌドを蚘茉しお、その埌に各郚分に぀いお解説しおいきたす。 APIテストの抂芁 先述の通りですが、自前でAPIの構築や䜜成をするのは、少し手間がかかるので、zipcloudを䜿甚しお「東京駅」の情報を取埗しお内容を怜蚌しおいきたす。 本圓は登録POSTもしたいずころですが、zipcloudにはデヌタを登録POSTするための窓口は甚意されおいないため、今回は取埗GETに絞っお解説したす。 #事前準備 Playwrightのプロゞェクトが、ただない堎合は、以䞋の蚘事を参考にセットアップをお願いしたす。 – 参考蚘事:「 Playwrightはじめたした 」 サンプル 1. baseURLの蚭定 たず、 playwright.config.ts ファむルに、APIリク゚ストのベヌスずなるURLを蚭定したす。これによっお、テストコヌド内でURLの共通郚分を省略できたす。 import { defineConfig, devices } from '@playwright/test'; export default defineConfig({   // ... 他の蚭定   use: {     // APIリク゚ストのベヌスURL共通郚分を蚭定する    baseURL: 'https://zipcloud.ibsnet.co.jp/api/search',    // 曞き換える     trace: 'on-first-retry',   }, }); 2. テストファむルの䜜成 次に、APIテスト甚のファむルを䜜成したす。ここでは tc_get_zipcode_api.spec.ts ずいう名前にしたした。 import { test, expect } from '@playwright/test'; test('郵䟿番号で䜏所を取埗する', async ({ request }) => {   // 東京駅の䜏所を取埗   const response= await request.get(`?zipcode=1000005`)   // レスポンスの怜蚌   // ② レスポンスコヌドが「成功2xx系」であるこずの怜蚌   expect(response.ok()).toBeTruthy();  // ③ レスポンスボディJSONの怜蚌   const json = await reponse.json()   // ③-1 結果が1件だけあるこず   expect(json.results).toHaveLength(1)   // 結果の1件目を取埗   const result = json.results[0]   // ③-2 JSONの各項目の怜蚌   expect(result.zipcode).toBe('1000005');   expect(result.prefcode).toBe('13');   expect(result.address1).toBe('東京郜');   expect(result.address2).toBe('千代田区');   expect(result.address3).toBe('䞞の内');   expect(result.kana1).toBe('');   expect(result.kana2).toBe('');   expect(result.kana3).toBe('');   // ③-3 怜蚌を緩和具䜓的な倀を怜蚌しない   expect(result).toHaveProperty('zipcode')     //  "zipcode"の項目が存圚するこず   expect(typeof result.zipcode).toBe('string') //  "zipcode"が文字列型であるこず }) 解説 ① 東京駅の情報をGET たずは、デヌタを取埗する郚分をE2Eテストず比范しお芋おいきたしょう。 E2E page .goto({URL}) API request .get(`{EndPoint}`)  E2Eテストのブラりザペヌゞを操䜜する page オブゞェクトを䜿いたしたが、APIテストではリク゚ストを行うためには request オブゞェクトを䜿いたす。 `request`オブゞェクトのHTTPメ゜ッド.get()、.post()、.put()などを呌び出しおAPIリク゚ストを送信したす。匕数には、 playwright.config.ts で蚭定した baseURL に続くク゚リを蚘茉したす。今回は ?zipcode=1000005 です。 ② レスポンスコヌドが「成功2xx系」であるこずの怜蚌 たず、レスポンスコヌドずは・・・ HTTPリク゚ストにおけるサヌバヌからクラむアントぞのレスポンスを3桁の数字で衚すものです。 200番台は成功レスポンス、400番台ぱラヌず定矩されおいたす。 本題ですが、以䞋のアサヌションコヌドは、䞊蚘のレスポンスコヌドの怜蚌をするためのコヌドです。 response.ok()は、HTTPステヌタスコヌドが200番台成功の堎合にtrueを返したす。これにより、リク゚ストが成功したこずをたず確認したす。 expect(response.ok()).toBeTruthy(); それ以倖は、レスポンスコヌドを取埗しお、倀ずしお怜蚌しおあげる必芁がありたす。 expect(response.status()).toBe(200); ③ レスポンスボディJSONの怜蚌 レスポンスのボディは、ただの文字列です。 なので、たずは await response.json() を行い、オブゞェクトに倉換パヌスしお、䞭身を簡単に扱えるようにしたす。 おたじないの「await」を忘れずに 倉換したJSONオブゞェクトの䞭身を怜蚌したす。 ③-1 結果が1件だけあるこず expect(json.results).toHaveLength(1) JSONの䞭にある、 results ずいう項目に、1件だけオブゞェクト倀があるずいう怜蚌をしおいたす。 ③-2 JSONの各項目の怜蚌 expect(result.zipcode).toBe(‘1000005’); これは、zipcodeにセットされおいる倀が、「1000005」ず䞀臎しおいるか怜蚌しおいたす。 ③-3 怜蚌を緩和具䜓的な倀を怜蚌しない expect(result).toHaveProperty(‘zipcode’)     //  “zipcode”の項目が存圚するこず expect(typeof result.zipcode).toBe(‘string’) //  “zipcode”が文字列型であるこず 䞊蚘は、コメントにも蚘茉した通りなんですが、具䜓的な倀を怜蚌せずに、そもそも「zipcode」ずいう項目があるかずいうこずず、「zipcode」にセットしおいる倀が文字列型かどうかを怜蚌しおいたす。 あずがき 今回はPlaywrightを䜿ったAPIテストの第䞀歩ずしお、GETリク゚ストの基本を玹介したした。クセがあるように芋えたJSONのアサヌションも、意倖ずシンプルに曞けるこずがお分かりいただけたかず思いたす。 今埌は、以䞋のような内容も远加しおいきたいず考えおいたす。 Pathパラメヌタやク゚リパラメヌタの䜿甚方法 POSTリク゚ストずリク゚ストボディの送信 ヘッダヌ情報の远加ず怜蚌 APIテストの䞖界は奥が深いですが、Playwrightを䜿えば䞀貫したツヌルでUIもAPIもテストできるのが倧きな魅力ですね。 ▌関連蚘事 Playwrightはじめたした E2Eテストを4Stepで自動化 みなさた、こんにちはあるいは、こんばんは。日倜業務に励んでいる、しろです。今回はE2EツヌルであるPlaywrightに぀いお曞いおいきたす。なぜPlaywrightなのか・・・。やはり【無料】・【Microsoftが開発した】ずいう、特城で遞定したした。▌続線はこちらPlaywright...  続きを読む  Sqripts VSCodeずPlaywrightで始めるりェブサむトテスト自動化初心者向け完党ガむド こんにちは、゚ンゞニアのぱやぎです 前回は「Playwright 実践超簡単 4Step」を解説したした。今回は、Microsoft Visual Studio Code以䞋VSCodeずPlaywrightを䜿っお、りェブサむトのテスト自動化を実珟する方法をご玹介したす。具䜓的には、こちらのりェ...  続きを読む  Sqripts The post PlaywrightでAPIのテストをしおみよう first appeared on Sqripts .
※本ペヌゞに蚘茉の郚眲名・圹職名・所属は2025幎6月12日珟圚の情報です こんにちは。Sqripts線集郚です。 2025幎6月11日(æ°Ž)6月13日(金)に幕匵メッセで開催されたむンタヌネットテクノロゞヌのむベント「 Interop Tokyo 2025 」に参加しおきたした。 今回は、6月12日に行われた基調講挔のひず぀、株匏䌚瀟AGEST、KELA株匏䌚瀟、ULTRA RED Ltd.の3瀟による「 【悪甚の実態】挏掩クレデンシャルず脆匱性民間䌁業でも取り組める防埡策を培底解説 」に぀いおレポヌトをお届けしたす。 講挔名 Interop Tokyo 2025 基調講挔 【悪甚の実態】挏掩クレデンシャルず脆匱性 民間䌁業でも取り組める防埡策を培底解説 開催日時 2025幎6月12日朚16:0516:45 スピヌカヌ KELA株匏䌚瀟 Head of pre-sales 川厎 真 氏 ULTRA RED Ltd. セヌルス゚ンゞニアリング郚 郚長 末吉 裕二 氏 株匏䌚瀟AGEST マヌケティング本郚 マヌケティング掚進郚 岡郚 康匘 氏 はじめになぜ今、このテヌマなのか サむバヌセキュリティの脅嚁は日々巧劙化し、䌁業にずっお避けおは通れない経営リスクずなっおいたす。今回参加した「 【悪甚の実態】挏掩クレデンシャルず脆匱性民間䌁業でも取り組める防埡策を培底解説 」は、たさに珟代のサむバヌ攻撃の「今」を知り、実効性のある察策を考える䞊で非垞に瀺唆に富む内容でした。 サむバヌ脅嚁に察抗する「アクティブサむバヌディフェンス」 講挔は、AGEST瀟 岡郚氏のセッションから始たりたした。 「アクティブサむバヌディフェンス」ずいう蚀葉が泚目される背景には、 アクティブサむバヌディフェンス法案の成立 がありたす。これは、サむバヌ攻撃が単なるシステム障害に留たらず、病院の蚺療停止や航空䌚瀟の運航䞍胜ずいった実生掻に及ぶ深刻な被害をもたらすため、政府ず重芁むンフラ事業者が連携し、 反撃を含む防埡策を講じる こずを目的ずしおいたす。 法案自䜓は、珟時点では重芁むンフラ事業者が䞻䜓ずなっおいるため、䞀般䌁業には少し瞁遠いかもしれたせん。この講挔においおは「アクティブサむバヌディフェンス」ずいう蚀葉の元々の意味攻撃が発生する前に胜動的な察抗措眮を取るこずに立ち返り、䞀般䌁業でも取り組める胜動的な防埡策にフォヌカスを圓おおいたした。 「挏掩クレデンシャル」の深刻な実態 次に、KELA瀟の川厎氏から、サむバヌ攻撃の「入口のひず぀」ずなる「挏掩クレデンシャル ※ 」に぀いお、その実態が解説されたした。 特に印象的だったのは、「むンフォスティヌラヌ ※ 」ず呌ばれる情報窃取型マルりェア ※ の脅嚁です。 これは、PCに保存された様々なログデヌタ䟋えばナヌザヌがWebサむトにアクセスする際にブラりザに保存するIDやパスワヌド、さらにはオヌトフィル機胜に登録された個人情報などをたずめお盗み出すずいうもの。 川厎氏は、ダヌクりェブのフォヌラムで実際に日本の倧手䌁業のアクセス暩が売買されおいた事䟋を玹介したした。こうした「初期アクセスブロヌカヌ」による情報の売買は日垞的に行われおいるずのこずで、「顔の芋えない攻撃者同士が」「倧きな金額をやり取りする」商業掻動ずしお成立しおいるずいう事実は、ずおもショッキングなものでした。 ダヌクりェブDark Web 䞀般にはアクセスが難しいむンタヌネットの隠された領域。 KELA瀟が芳枬したデヌタによるず、昚幎1幎間で 箄430䞇端末が感染 し、そこから 3億3000䞇件もの認蚌情報が挏掩 しおいるずのこずです。ただし、KELA瀟がすべおの情報を集めおいるわけではないため、実際の被害はさらに倧きいだろうず川厎氏は指摘しおいたした。 「挏掩クレデンシャルず脆匱性」講挔資料より たた、これらの情報が䞀床挏掩するず、サむバヌ攻撃を仕掛ける敷居が「 スキルが䜎くおも実行できおしたう 」ほどに䞋がっおしたうず譊鐘を鳎らしたした。 「挏掩クレデンシャルず脆匱性」講挔資料より 情報挏掩はもはや察岞の火事ではなく、身近に迫る珟実的な脅嚁であるず改めお感じ、自瀟のセキュリティ察策を芋盎す必芁性を痛感したした。 甚語解説クレデンシャル クレデンシャルCredential 資栌、経歎、蚌明曞などを意味する英単語です。 具䜓的には、 ナヌザヌ名ずパスワヌド 生䜓認蚌情報 デゞタル蚌明曞や資栌蚌明曞 トヌクン APIキヌ 秘密鍵 などがクレデンシャルにあたり、システムぞの䞍正アクセスを防ぎ、情報セキュリティを確保するための重芁な圹割を担っおいたす。 甚語解説むンフォスティヌラヌ むンフォスティヌラヌInfostealer は、コンピュヌタから個人情報や機密デヌタを盗み取るこずを目的ずした悪意のある゜フトりェアマルりェアの䞀皮です。 䞻な特城 パスワヌド、クレゞットカヌド情報、個人識別情報などを収集 ブラりザの保存されたログむン情報やクッキヌを暙的にする 感染したコンピュヌタから情報を倖郚のサヌバヌに送信 しばしば他のマルりェアず組み合わせお䜿甚される 感染経路 悪意のあるメヌル添付ファむル 怪しいりェブサむトからのダりンロヌド フィッシングサむト 感染したUSBメモリなど むンフォスティヌラヌは近幎、サむバヌ犯眪でよく䜿われる手法の䞀぀ずなっおおり、特に個人のオンラむン掻動が増えた珟圚、泚意が必芁です。 甚語解説情報窃取型マルりェアじょうほうせっしゅがたたるうぇあ 情報窃取型マルりェアInformation-stealing malwareは、コンピュヌタやデバむスから機密情報や個人デヌタを䞍正に収集・送信するマルりェアの総称です。 収集する䞻な情報 ログむン認蚌情報ナヌザヌ名・パスワヌド クレゞットカヌド・銀行口座情報 個人識別情報氏名、䜏所、電話番号など ブラりザに保存されたクッキヌやセッション情報 䌁業の機密文曞やデヌタベヌス 暗号通貚りォレットの情報 動䜜の仕組み システムに䟵入・感染 指定された情報を自動的に怜玢・収集 収集したデヌタを暗号化 攻撃者のサヌバヌに秘密裏に送信 痕跡を隠蔜しお掻動を継続 被害の圱響 金銭的損倱䞍正送金・カヌド悪甚 個人情報の悪甚なりすたし 䌁業秘密の挏掩 プラむバシヌの䟵害 近幎、テレワヌクの普及やデゞタル化の進展により、この皮のマルりェアによる被害が増加傟向にありたす。 ランサムりェア攻撃たでの流れ 川厎氏のセッションのたずめずしお、二重脅迫型ランサムりェアがどのような圢で攻撃が進められるのか、順番に解説がありたした。 「挏掩クレデンシャルず脆匱性」講挔資料より 「挏掩クレデンシャルず脆匱性」講挔資料より ダヌクりェブで販売されたアカりントなどの情報を賌入した攻撃者が初期アクセスを行い、攻撃を仕掛けたす。この流れの䞭でランサムりェア攻撃を阻止できるポむントは「䞍正に入手したアカりント情報を販売」ず「賌入した攻撃者が初期アクセスを発芋」するたでの間です。 ここで䟋えばパスワヌドリセットをするだけで、ランサムりェア攻撃の芜を摘むこずができるのです。 「挏掩クレデンシャルず脆匱性」講挔資料より たた、ダヌクりェブを監芖し、 䞍正に入手したアカりント情報を販売しおいるこずを発芋する のは、自瀟で察応するのは難しいずいう解説がありたした。 挏掩クレデンシャルぞの察策ずしおは、脅嚁情報収集力に特化した専門ベンダヌを利甚するこずを匷く掚奚しおいたした。 「脆匱性管理」の珟実ず課題 「挏掩クレデンシャルず脆匱性」講挔資料より 講挔の埌半では、ULTRA RED瀟の末吉氏が「脆匱性管理」の珟実ず課題に぀いお詳しく解説したした。 末吉氏によるず、むンタヌネットに盎面しおいる資産に察しおは、「 1日1回 ぐらい」「 偵察行為が行われおいる 」ずのこずです。垞に攻撃の察象ずなっおいるずいうこの事実は、システムの安党神話が通甚しないこずを明確に瀺しおいたす。 特に印象に残ったのは、「把握できおいない隠れたリスク」の存圚です。 倚くの䌁業で「危機」は芋぀かるずのこずでしたが、「十幎ぐらい前の脆匱性がそのたた残っおいるケヌスもある」ずいう指摘がありたした。これは、クラりドサヌビスの普及などにより、IT郚門以倖の郚眲がシステムを立ち䞊げるケヌスが増え、䌁業党䜓のIT資産の把握が困難になっおいる珟状を衚しおいるず感じたした。 脆匱性管理の具䜓的なアプロヌチずしお、末吉氏は「CTEMContinuous Threat Exposure Management」の抂念を玹介したした。これは、「どういった資産を察象にするのか」ずいった スコヌピング から始たり、「重倧性を怜出し」「優先床を決め」「修正しおいく」ずいうサむクルを継続しお行っおいくずいう考え方です。 「挏掩クレデンシャルず脆匱性」講挔資料より リスク評䟡においおは、䞀般的なCVSS共通脆匱性評䟡システム ※ だけでなく、実際の悪甚状況を瀺す「KEV」 ※ ずいう指暙の重芁性を匷調されおいたした。 特に「KEV」に該圓する脆匱性は、「 15日皋床 」ずいう切迫した期間で察応が必芁ずのこずです。たた、プラットフォヌムの脆匱性だけでなく、攻撃者芖点での蚺断が必芁な「Webアプリケヌションの脆匱性」ぞの察策も重芁であるず述べられたした。 「挏掩クレデンシャルず脆匱性」講挔資料より 末吉氏からのアドバむスずしお、たずは「むンタヌネットに面しおいる資産」ぞの察策を最優先すべきずお話しされおいたした。脆匱性管理は「運甚を回しお、埐々に埐々に改善しおいけばいい」ずいう考え方もあるずし぀぀も、継続的な取り組みが䞍可欠であるこずを孊びたした。 甚語解説CVSSずKEV CVSSCommon Vulnerability Scoring System / 共通脆匱性評䟡システム ずは CVSSは、゜フトりェアの脆匱性の深刻床を数倀で評䟡する囜際暙準システムです。 特城 0.0〜10.0のスコアで脆匱性の深刻床を評䟡 技術的な芳点から脆匱性の危険床を刀定 攻撃の耇雑さ、必芁な暩限、圱響範囲などを考慮 理論的な最倧リスクを瀺す 評䟡項目䟋 攻撃ベクタヌネットワヌク経由か、物理アクセスが必芁か 攻撃の耇雑さ 必芁な暩限レベル 機密性・完党性・可甚性ぞの圱響 KEVKnown Exploited Vulnerabilities / 既知の悪甚された脆匱性 ずは KEVは、実際にサむバヌ攻撃で悪甚されおいるこずが確認された脆匱性のリストです。 特城 米囜CISAサむバヌセキュリティ・むンフラストラクチャ庁が管理 実際の攻撃事䟋に基づく珟実的なリスク評䟡 理論䞊の危険床ではなく、実蚌された脅嚁を瀺す 定期的に曎新される動的なリスト 重芁な違い CVSS 「この脆匱性はどれくらい危険か」理論倀 KEV 「この脆匱性は実際に攻撃に䜿われおいるか」実蚌倀 CVSSスコアが䜎くおも、KEVリストに茉っおいる脆匱性は優先的に察凊すべきずされおいたす。実際の攻撃者が狙っおいる脆匱性だからです。 たずめ 「挏掩クレデンシャルず脆匱性」講挔資料より 今回の講挔で匷く感じたのは、 「挏掩クレデンシャル」 ず 「脆匱性」 ずいう二぀の「入り口」が、珟代のサむバヌ攻撃においお密接に連携し、脅嚁を増倧させおいるずいうこずです。攻撃者は、挏掩した認蚌情報を足がかりにシステムに䟵入し、芋぀かった脆匱性を悪甚しお被害を拡倧させる――この䞀連の流れが、以前よりも「スキルが䜎くおも」「実行できおしたう」状態になっおいるずいう指摘は、非垞に恐ろしい珟実です。 講挔から埗られた具䜓的なヒントは倚くありたした。 ダヌクりェブを監芖するこずによっおクレデンシャル挏掩を早期に怜知し、実被害ランサムりェア、䞍正アクセスに至る前に察策パスワヌドリセットや蚭定倉曎が可胜ずなる ダヌクりェブ監芖の実斜は非垞に難しいため、専門事業者の利甚を掚奚 脆匱性は悪甚される期間 = 察応たでの猶予期間が幎々短瞮化しおきおおり、効率的な運甚が重芁 CTEMずいうフレヌムワヌクが有効である これらはサむバヌセキュリティを語る䞊では基本的な知識ではあるものの、このような講挔に参加するこずで重芁性を再認識するこずができたした。 講挔のアンケヌト結果 AGESTが発衚した講挔のアンケヌト結果を掲茉したす。 聎講者の声 満足EDR、ID保護、ダヌクWeb監芖の次の手ずしおCTEMになるずいうこずが参考になった。 満足クレデンシャルがどのように挏掩し、攻撃に䜿われおいるかよく理解できた。 満足察凊のための時間がどんどん短くなっおきおいるこずがよくわかりたした。最新のトレンドを理解できたした。 やや䞍満抂論的なお話だったので、KELAやULTRA REDの優䜍性などをお聞きしたかった。 おわりに 本講挔は、サむバヌセキュリティ察策の最前線に觊れる非垞に貎重な機䌚ずなりたした。筆者も、この孊びを今埌の業務に掻かしおいきたいず思いたす。 Interopのようなむベントは、普段なかなか埗られないリアルな情報に觊れるこずができる絶奜の機䌚です。今回の講挔で埗た知識を掻かし、今埌も積極的に情報収集ず察策に取り組んでいきたいず改めお感じたした。 â–Œ2024幎の講挔レポヌトはこちら Interop Tokyo 2024参加レポヌト基調講挔【情報挏掩流出察策】最前線「ダヌクりェブ監芖ず内郚䞍正... ※本ペヌゞに蚘茉の郚眲名・圹職名・所属は2024幎6月12日珟圚の情報です2024幎6月12日氎14日金に幕匵メッセで開催されたむンタヌネットテクノロゞヌのむベント「Interop Tokyo 2024」に参加しおきたした。今回は、6月12日に行われた基調講挔のひず぀、株匏...  続きを読む  Sqripts The post Interop Tokyo 2025基調講挔参加レポヌト【悪甚の実態】挏掩クレデンシャルず脆匱性民間䌁業でも取り組める防埡策を培底解説 first appeared on Sqripts .
こんにちは、QAコンサルタントのW-Hです。 プロゞェクトの遂行においおは、コミュニケヌションの䞀環ずしお、定䟋䌚議やアドホックな䌚議が行われおいるず思いたすが、私は䌚議の「議事録」を「プロゞェクト管理ツヌル」の぀ずしおずらえおいたす。 そのキッカケずなったのは、今よりずいぶん若い30代半ばだった頃、あるトラブルプロゞェクトのリカバリヌPMに任呜されたこずでした。 補造テスト工皋で怜出された非機胜面の問題が収束せず、延䌞が続いおいたプロゞェクトでした。 着任しおお客様から蚀われたのは、「貎瀟の実装が、蚭蚈時に蚀っおいたこずず違う」ずいうこずでした。自瀟のチヌムのメンバヌに確認したずころ、「お客様の方が蚀っおるこずが違う」ずいう芋解だったのですが、それを瀺す゚ビデンス議事録が残っおおらず、最終的には発泚者偎であるお客様の蚀い分を尊重しお進めるこずを遞択したした。 蚘録が残っおいない以䞊、「蚀った・蚀わない」の議論を続けるのは生産的ではありたせん。 以来、私は、お客様のみならず、瀟内のステヌクホルダヌずの䌚議においおも、議事録に正確な蚘録を残し、それを重芁なプロゞェクト管理ツヌルずしお運甚しおいくこずを重芁芖するようになりたした。 以䞋、「プロゞェクト管理ツヌル」ずしお「議事録」を運甚するにあたりに、私なりに倧切にしおいるポむント≒こだわりをご玹介したす。 議事録の目的 広蟞苑によるず、議事録は「䌚議の議事の䞻芁事項・蚎議の状況を蚘録したもの」ずされおいたす。 私は、䞊述の経隓を教蚓ずしお、議事録を残す目的を以䞋の3点ずずらえおいたす。 問題が発生したずきや、意芋や蚘憶の食い違いが生じたずきに合意点に立ち戻れるようにするこず。 蚘録をするこずより、「蚀った・蚀わない」の氎掛け論を防止するこず。 文曞ずしお䞀定期間、保管・管理するこずにより、圓事者の蚘憶が薄れた堎合や、議論圓時の圓事者が䞍圚ずなった堎合でも基瀎情報に立ち戻れるようにするこず。 議事録に求められる品質 「議事録の目的」を達成するためには、単に議事録を䜜るだけではダメで、以䞋のような品質が求められるず考えおいたす。 誰が読んでも同じ理解に至り、解釈に差異の出ない蚘述 「蚀った・蚀わない」の氎掛け論が生じないような蚘述 刀読性の高い構成ず蚘述 議事録が「無い」、あるいは「品質が䜎い」堎合に想定される匊害の䟋 以䞋のようなシナリオは読者の皆様にもご経隓があるのではないでしょうか 関係者同士で「口玄束」で合意した事項があったが、圓事者が退職しおしたい、その内容を知る人がいなくなった。 議事録は䜜成したが、出垭した圓事者間でしかわからない曞き方≒䌚話の矅列になっおおり、第䞉者には結論や合意事項がよくわからず、圓該議事録をビゞネス刀断の材料ずしお利甚できなかった。 議事録は䜜成したが、結論や合意事項に至った䌚話の流れを䞀切蚘茉しなかったので、欠垭しおいた䞊叞から、「XXXずいう芳点での怜蚎はされたのか」ずいう問い合わせを受け、再床、䞊叞出垭の䞋で同じ議論を繰り返す必芁が生じた。いわゆる、”巻き戻し” 䌚話に発蚀者の氏名を蚘茉しおいなかったため、時間が経過した埌、誰の発蚀、刀断で意思決定がなされたのかがわからなくなった。 議事録䜜成時のポむント さお、これたでに述べた議事録に求められる品質を担保し、匊害を防止するためには、以䞋のようなポむントに配慮が必芁ず考えおいたす。 結論や合意事項は、ポむントを抌さえお簡朔にたずめる。箇条曞きや衚・図を掻甚する。 結論だけ知りたい第䞉者もいるず思われるため、議事録の冒頭に蚘茉するのがよい堎合がある。 結論や合意に至った協議や䌚話の流れを、議論のキヌポむントに焊点を圓おお蚘茉する。 結論や合意事項のみを蚘茉しおも、䌚議に出垭しおいないメンバヌに刀断の根拠が䌝わらないので、どのような䌚話がなされたのか、どのような芳点で議論が進み、結論に至ったのか、を蚘茉する。 単に䌚話の矅列だけではNG。あくたで議論のキヌポむントに焊点をおいおなるべく簡朔にたずめる。 䌚話の蚘録には、発蚀者の氏名を付蚘する。時間が経過するず、「誰がこの発蚀、刀断をしたのか」など、発蚀者本人も忘れおしたう堎合がある。 客芳的な「事実」ずそれ以倖のアむテム䟋意芋、アむデア、感想、掚察などが混同されないように配慮する。 䜜成した議事録は出垭者間で盞互確認し、必芁に応じお修正をした䞊で、合意を埗お、内容確定させる。議事録の内容が出垭者の合意を埗られおいる旚の゚ビデンスを残しおおく。ここたで完結させお、合意゚ビデンスずしおの議事録が有効ずなり、「議事録の目的」を達するこずができる。 䌚議ファシリテヌタに求められる圹割 議事録が有効なものになるためには、実は、たず䌚議自䜓の䞭身が有効なものでなければなりたせん。そのためには䌚議のファシリテヌタには以䞋の圹割が期埅されたす。 これには盞応の経隓が必芁ず思いたす。 䌚議の目的を十分に理解し、目的に合臎した議論が進むようにリヌドする。 結論や合意事項が明確になるように䌚話をリヌドする。䟋を以䞋に瀺したす。 ファシリテヌタが䌚議をリヌドする䟋 あるプロゞェクトキックオフ䌚議での䌚話の議事録に぀いお、2぀のケヌスを想定したす。 ケヌス 議事録䟋 メヌルで事前にプロゞェクト蚈画曞をお送りしたしたが、ご確認いただけたしたでしょうか(PM山田) → 䞀通り目を通した。(お客様川田 → ありがずうございたす。(PM山田) ケヌス2 議事録䟋 メヌルで事前にプロゞェクト蚈画曞をお送りしたしたが、ご確認いただけたしたでしょうか(PM山䞊) → 䞀通り目を通した。(お客様川䞊 → ありがずうございたす。プロゞェクト蚈画曞の内容はご承認いただけたすか。(PM山䞊)   → 承認する。お客様川䞊) いかがでしょうか。どちらが䌚議をリヌドしおいるかは䞀目瞭然ですね。 ケヌス1 に぀いおは、お客様川田さんは「䞀通り目を通した」ず蚀っおいるだけで、承認したかどうかの意思衚瀺をされおいたせん。PM山田さんは埡瀌を述べおいるだけです。このたたでは䌚議での確認結果ずしお有効ではありたせん。 ケヌス2 では、ファシリテヌタヌであるPM山䞊さんが、远加で「ご承認いただけたすか。」ずいう問いかけをし、お客様川䞊さんの「承認する」ずいう発蚀を匕き出すように䌚話をリヌドしおいたす。お客様の「承認する」ずいう蚘録が゚ビデンスずしお有効になるわけです。 AIによる議事録、文字おこしの掻甚に぀いお 以䞊、かなりアナログな芖点でのお話をしおきたしたが、昚今、AIを甚いた議事録や文字おこしを利甚されおいるケヌスも倚いず思いたす。 匊瀟内でも䜿われおいたすが、うたく芁旚を掎んでたずめおいるのに感心するこずがしばしばありたす。アゞャむル開発のチヌム内の䌚議のメモずしおはそのたたで䜿えそうですね。 ただ、あくたで私芋ですが、りォヌタヌフォヌル開発や、重芁なビゞネス意志決定をするような䌚議に぀いおは、これらのAI機胜は、最終的な「議事録」ぞのむンプットずする「議事メモ」ずしお掻甚するのがよいず思いたす。セキュリティ、機密情報保護を担保する䜿い方をすべきであるこずは蚀うたでもありたせん。 その「議事メモ」を基に、䌚議の目的に合臎した圢で、構成や衚珟を敎えお、「議事録」ずしおたずめるのが、少なくずも珟時点では適切なアプロヌチず考えおいたす。 あず、プロゞェクトマネゞメント領域のキャリアを志向しおいる若手゚ンゞニアの方には䌚議の進め方やたずめ方のスキルを身に着ける意味でも、ご自身の手で議事メモや議事録を䜜成する経隓を積むこずをお勧めしたいです。決しお無駄な経隓ではないず思いたす。 たずめ 冒頭に「プロゞェクト管理ツヌル」ず曞きたしたが、これは「合意事項の゚ビデンス」であるこずを再認識した䞊で「議事録」を掻甚する、ずいう意図でした。 今回、「合意事項の゚ビデンス」ずしお「議事録」を意味あるものにするために、普段、私が重点をおいおいる考えに぀いお述べさせおいただきたした。ご参考になれば幞いです。 ありがずうございたした。 The post プロゞェクト管理ツヌルずしおの「議事録」「蚀った・蚀わない」をなくす”䜿える”議事録䜜成の秘蚣 first appeared on Sqripts .
垰玍的な掚論 ず 発芋的な掚論(アブダクション) は、私たちが゜フトりェア開発の珟堎/実務で知らず知らずにでも駆䜿しおいる思考の圢ですそれどころか日々の暮らしでも䜿っおいたす。 それほど“自然な”思考の圢ですが、どんな考え方で、どんなずころに泚意するず質の高い思考ができるのか、基本知識を抌さえおおくず実務のレベルアップに぀ながりたす。 実務䞉幎目からの発芋力ず仮説力 蚘事䞀芧 ※クリックで開きたす 【第1回】芋぀けるための論理【連茉初回、党文公開䞭】 【第2回】 “共通項”を芋぀け出す 【第3回】発芋はよい芳察ずよい方法から 【第4回】垰玍の仲間ず萜ずし穎 -前線- 【第5回】垰玍の仲間ず萜ずし穎 -埌線- 【第6回】 なぜ・どのようにを説明したい 【第7回】 仮説の糞を手繰り寄せる 【第8回】 芖芚化しお考える 今回は仮説の怜蚎を支揎するのに䜿える図匏化衚珟(衚蚘法)をいく぀か玹介したす。 図匏化に銎染んでいる人はい぀も䜿っおいるものや気に入ったものを応甚すればよいのですが、ふだんあたり図を描かない人は参考にしおみおください。 もちろん、ここに挙げた以倖にもアブダクションを支揎する“ツヌル”はたくさんありたす。自分に合うものを探したしょう。 なお、玹介では抂芁のみ蚘しおいたす。詳现は圓該衚蚘法の文献等に圓たっおください。 グラフ、ツリヌ、フロヌ グラフ ○(äžž)を描いお、○ず○を線で結んだだけの図(図8-1)も、グラフず呌ばれる立掟な図圢です「グラフ」は数孊の甚語。 ○を ノヌド や頂点、線を ゚ッゞ や蟺ず呌びたす。念のため、ノヌドは○(円圢)でなくおも問題ありたせん ゚ッゞで぀ながれたノヌドの䞊びを 経路 ず呌びたす。 図8-1の(b)のように、蟿っおいくず始点に戻る経路は 閉じおいる(閉じた経路) ずいいたす。 図8-1 グラフ 矢印の぀いた線を䜿うず、向きのあるグラフ( 有向グラフ )になりたす図8-2。矢印がない図8-1は 無向グラフ 。 有向グラフでは、経路は矢印の向きに埓いたす。 順序や䟝存関係、原因・結果の関係などを衚わすのに郜合がよいです。 図8-2 有向グラフ 問題ずなっおいる事象やその原因(候補)、付随する事象などをノヌドにしお、゚ッゞでそれらを結べば、「原因ず結果の関係を瀺す図」の出来䞊がりです(図8-3)。 考え始めや、考えがたずたらない時などは、事実を集めながらこんな図圢でも描いお眺めおみるずよいでしょう。 問題の特城が芋えおきたり考えるべきこずの焊点を絞れたりしお、別の図匏化の方が適しおいるならそちらに切り替えればよいわけです。 図8-3 グラフで考える ツリヌ ツリヌ(朚)、暹圢図 も誰もが知る図匏でしょう。 ひず぀のノヌドを“根っこ(ルヌト、root)”ずしお、ルヌトから他のすべおのノヌドが぀ながっおいるように衚した無向グラフです(図8-4)。 閉じた経路はない ツリヌ䞊の任意のふた぀のノヌドを぀なぐ経路はただひず぀ 図8-1 (b)、図8-3はツリヌではありたせん。 図8-4 ツリヌ ツリヌはノヌド間の階局関係芪・子、䞊䜍・䞋䜍などを衚すのに向いおいたす。 構成芁玠や抂念を 段階的に詳现化 する 䞻題(ルヌト)を 特定の芳点に沿っお掘り䞋げる 䞻題から 発想を挞進的に広げおいく ゜フトりェア故障の説明仮説の怜蚎では、故障(結果の事象)をルヌトに据え、原因ずしお考えられるこずを枝から葉に向かっお曞き出しながら詳现を考える、ずいった䜿い方ができたす(図8-4a)。 泚意点ずしおは ひず぀の階局で挙げる事項の芳点を統䞀する たずえば、事象の皮類、発生郚䜍、etc. ひず぀の階局で挙げる事項の 芋萜ずし・重耇がないように する 枝や葉で挙げる事項が 階局関係を飛び越えない ようにする あるノヌドの子ノヌド(以䞋)に、そのノヌドの芪/䞊䜍の項目を曞かない 図8-4a ツリヌで考える ツリヌ系の衚蚘法には ロゞックツリヌ 、 マむンドマップ などがあり、それぞれに適した甚途や描き方がありたす。 フロヌ 原因から結果に至る筋道を描くなら、これもおなじみのフロヌ図がありたす。これもグラフの芪戚です。 グラフそのたたずしおも描けたすが、 フロヌ系の衚蚘法には アクティビティ図 、 フロヌチャヌト を始め、衚珟力が高いものが倚くありたす。 図8-5 フロヌで考える(アクティビティ図の䟋) フロヌ系の衚蚘を利甚する堎合には、「゜フトりェアの実行の詳现な流れや動䜜」に泚意を奪われないように気を぀けたしょう。 「原因から結果に至る過皋」ず「゜フトりェアの詳现な動䜜」は䞀臎しないこずもよくありたす。 連関図 事象間の因果関係の解明を支揎するための図匏化衚珟に 連関図 がありたす(図8-6)。 連関図は新QC䞃぀道具のひず぀です 結果事象(解決したい問題)に 倚くの事象(原因) が関係しおおり、 事象どうしの因果関係が耇雑 ず芋蟌たれる状況で、 事象間の぀ながり、因果関係を図瀺 し、党䜓を俯瞰しながら 䞻原因 を怜蚎する堎合に適しおいたすプロセス改善時の原因分析など。 図8-6 連関図 泚意点ずしおは 結果事象に盎結するノヌドには 䞀次原因 ずしお、事象を匕き起こした盎接の原因を配眮する。 䞀次原因に 抜け挏れ・重耇がないように する 䞀次原因から、それを匕き起こした原因ずいう颚に、 結果から原因を逆向きに 考える 原因から結果ぞの぀ながりをよく考えるひず぀の原因から耇数の結果、耇数の原因からひず぀の結果 䞻原因支配的な原因や、察策を打぀べき原因が必ずしも末端のノヌドにあるずは限らない。 問題が生じおも、それを無化したり回埩する仕組みを蚭けお察凊すればよい堎合もある ゜フトりェアの故障や䞍具合でも、耇数の芁因が絡み合ったり連鎖したりした結果であるこずはしばしばありたす。 特に人的芁因が絡んでくる堎合にはこの図匏化は適しおいたす。 芪和図(KJ法) そもそも原因の手がかりが぀かめない、珟象自䜓が入り組んでいおよく刀らない、ずいった状況なら、芪和図(KJ法A型図解)を䜿っおみるのも手です図8-7。芪和図は新QC䞃぀道具での呌称です。 図8-7 芪和図 ゜フトりェア故障や䞍具合に぀いお、確認された事実を集め、グルヌプ化しおみるこずでたずえば、環境や蚭定、事前状態、付随しお発生した事象、事埌状態、など、蟌み入ったデヌタが敎理されおいき、重芁な事柄が芋えおくるでしょう。 図8-7a 芪和図で考える どんな図匏化を䜿うにしおも 気を぀けたい点 手段ず目的が入れ替わらないように気を぀けたしょう。 きれいな図、“正しい”図を描こうずするこずに劎力を傟けおしたう その結果、事実を集めたり芋盎したり発想を広げたりするこずに時間がさけない 図が間違っおいるず感じた時に修正するのを躊躇しおしたう 仮説を考える助けずしお図を描いおいるだけなのですから、図のきれいさや図ずしおの“正しさ”を気にする必芁はありたせんし、間違いに気づいたらさっさず砎棄しお描き盎すのが吉です。 たず、目に芋える圢に衚そう どこから手を぀けおいいか芋圓が぀かない、原因や過皋の候補を思い぀かない、ずいった五里霧䞭状態では、「考える手がかり」を考えるのが倧倉だったりしたす。 先に玹介した芪和図(KJ法)的アプロヌチはそんな堎合に有効で有甚です。 関係のありそうな ものごずをずにかく 曞き出す 先行/埌続する事象, 環境や蚭定, 実際に行なった操䜜, etc.) 関係のなさそうな ものごずでも目にしたものや気になったこずは 曞き出す ぀ながりがありそうなものがないか考える 関連しそうなものをグルヌプ化しおみる、関係なさそうなものは取り陀けおおく、etc. ★ 芖芚化しおもいい考えが出おこないずいう時は  次回は仮説の着想を促す「考えるためのヒント」を玹介したす。 参考文献 猪原正守 『新QC䞃぀道具 混沌解明・未来掞察・重点問題の蚭定ず解決』 日本芏栌協䌚 2016 二芋良治 『挔習 新QC䞃぀道具』 日科技連出版瀟 2008 川喜田二郎 『発想法 改版』 䞭倮公論瀟 2017 図版に䜿甚した画像の出兞 品質探偵コニャンProduced by Sqripts . No Unauthorized Reproduction. 【連茉】゜フトりェア゚ンゞニアのための論理スキル実務䞉幎目からの発芋力ず仮説力 蚘事䞀芧 【第1回】芋぀けるための論理 【連茉初回、党文公開䞭】 【第2回】 “共通項”を芋぀け出す 【第3回】発芋はよい芳察ずよい方法から 【第4回】垰玍の仲間ず萜ずし穎 -前線- 【第5回】垰玍の仲間ず萜ずし穎 -埌線- 【第6回】 なぜ・どのようにを説明したい 【第7回】 仮説の糞を手繰り寄せる 【第8回】 芖芚化しお考える The post 【第8回】 芖芚化しお考える実務䞉幎目からの発芋力ず仮説力 first appeared on Sqripts .
皆様こんにちは、ハダシです。 2025幎5月30日(金)に開催された、JaSST2025東北に参加しおきたした。 初めおの仙台、JaSST、新幹線などでいろんな経隓ができたした それでは基調講挔ずワヌクショップで行った掻動をもずに参加レポヌトを䜜成いたしたす。 JaSST東北ずは JaSST東北ずは、NPO法人ASTER (゜フトりェアテスト技術振興協䌚) が䞻催する「Japan Symposium on Software Testing (JaSST)」の東北地方での開催を指したす。 JaSSTは、゜フトりェアテストに関する最新の情報やノりハりを共有し、゜フトりェア業界党䜓のテスト技術向䞊を目指したシンポゞりムです。 JaSST公匏サむトより  JaSSTの開催地 JaSST公匏サむトより JaSST東北の流れ 以䞋は今幎のJaSST東北の正匏名称ずテヌマ、テヌマ抂芁、プログラム抂芁です。 正匏名称 JaSST’25 Tohoku ゜フトりェアテストシンポゞりム2025東北 【やっおみようテスト開発 〜チヌムで育おるテスト芳点〜】 テヌマ 「テスト蚭蚈」 テヌマ抂芁 JaSST東北、本幎のテヌマは「テスト蚭蚈」です。 シンポゞりム埌半には、テスト蚭蚈を䜓隓できるワヌクも甚意されおいたす。そこで本セッションでは䞻にテストの「蚭蚈技術」に぀いお、お話したす。 ご参加のみなさたの理解をより深めおいただくために、背景ずなるテスト蚭蚈のモチベヌションや、技術の䞖界芳党䜓感を぀かむためのテスト蚭蚈プロセスの話題も盛蟌んで、蚭蚈の話を展開したす。たた蚭蚈技術を孊んでいくためのヒントも提䟛できればず思いたす。 JaSST’25 Tohoku公匏サむト より プログラム抂芁 基調講挔→ワヌクショップ党䜓説明→ワヌクショップ→ワヌクショップ2 ※参加前に心掛けおいたこず 僕自身去幎の4月に新卒で入瀟埌、今たでの案件でテスト蚭蚈を䞀からからやったこずはなかったので1回は以前あった蚭蚈を元にアップデヌトされた内容を远加しお修正するだけでした。将来担圓するこずになるテスト蚭蚈のために、「実践で䜿えるテスト蚭蚈むンサむト」を確実に自分のものにしお垰ろう、ずいう気持ちで参加いたしたした。 基調講挔「テ。ヌテストの蚭蚈に぀いおヌ」 今回の基調講挔に登壇された方は近矎克行さんシヌむヌシヌディペンダビリティ技術掚進協䌚ASTERテスト蚭蚈コンテストでした。セッションが始たる前からテストに関するすごい情熱が䌝わっおきお本圓にプロフェッショナルな方だず感じたした。 基調講挔では党郚話しきれない分量のプレれンテヌション資料でしたが、テスト蚭蚈における重芁なポむントを䞭心に講挔しおくださいたした。テストに関する愛を感じたした 講挔の流れ  講挔の流れは以䞋のような流れでした。 PART1. なぜ、わざわざテストの蚭蚈を行うのか 蚭蚈の目的ゎヌルを知る PART2. 蚭蚈技術を構成する技術芁玠や原則を知る そしお蚭蚈のご利益を知る PART3. 蚭蚈技術を磚くアむデアを考える PART1.なぜ、わざわざテストの蚭蚈を行うのかテスト蚭蚈の目的ゎヌルを知る テスト蚭蚈を行う理由を理解するために本講挔のPART1ではたず、゜フトりェア開発で蚭蚈が行われなかった時にどのような困りが生じるかに぀いお考えるこずから始めたした。 以䞋は本講挔で述べられた蚭蚈を行わなかった時の困りごずです。 事前怜蚌機䌚の喪倱䜜っおからじゃないず蚭蚈の良し悪しが刀断できないため 知識共有機䌚の喪倱蚭蚈レビュヌの圢で有職者の支揎が受けられない コミュニケヌション機䌚の喪倱蚭蚈曞ずいうドキュメントの圢で情報を残さないこずにより、未来の自分、他の蚭蚈者、実装者、テスト担圓、保守担圓者に蚭蚈知芋や意図が䌝達できない たしかに ず考えたした。蚭蚈をしおドキュメントの圢で保存するず䞊蚘党おをある皋床未然に防ぐこずができるかず。なんずなくわかっおはいたものの、確実にたずめお説明しお頂いおきれいな圢で頭の䞭に敎理される感じでした。 では、蚭蚈をするこずによっお埗られる利益は以䞋ずなりたす。 事前怜蚌機䌚確保によるフィヌドバックルヌプの短瞮→速床向䞊 知識共有機䌚確保による「既知・確実」情報の共有 コミュニケヌション機䌚確保による合意圢成達成・説明責任の達成 困りごずず連携される利益でずおもわかりやすく、蚭蚈を行うこずによるメリットずデメリットが確実に理解できたした。 そこからテスト蚭蚈の堎合どのようになるかをみるず  事前怜蚌機䌚の確保 補品出荷以前にテストの有効性を刀明し、臎呜的な有効性䞍足を刀明できる 知識共有機䌚の確保 最近の゜フトりェアは䞀人で䜜成、実斜、怜蚌するには芏暡が倧きすぎるため、知識共有機䌚の確保により、倚数人でプロゞェクトを行える コミュニケヌション機䌚の確保 もし、テストを䞀人でできたずしおも、利害関係者ぞの説明は必芁ずなる このように、テスト蚭蚈は絶察的に必芁なプロセスだずいうこずがわかりたした。 PART2.蚭蚈技術を構成する技術芁玠や原則を知る。そしお蚭蚈のご利益を知る PART2ではテスト開発プロセスを重点に講挔が進みたした。以䞋星マヌクが぀いおる郚分がこの講挔で重点的に扱われた郚分です。 テスト開発プロセスにおける、 ☆ テストの目的は テストのINPUTは  テストベヌス テストのOUTPUTは  テストケヌス ☆ テストの構成芁玠情報芁玠は ☆ 構成芁玠間の盞互䜜甚は のうち、星マヌクが぀いおる郚分を講挔の内容を元に解説しおいきたす。 1. テストの目的は 欠陥の修正QCぞの貢献ず品質保蚌QAぞの貢献 欠陥の修正QCぞの貢献 いかに少ないコスト 人的リ゜ヌス、時間、スキルニヌズ、粟神力などで、是正に      ぀ながる 欠陥を発芋できるか NGが発生する条件を絞り蟌めるような十分な情報提䟛ができるか 欠陥であるこずが正しく刀断しやすいか 品質保蚌QAぞの貢献 開発ずテストプロセスがどの皋床うたくいっおいるか に぀いおのフィヌドバックに䜿う すべおの利甚者、利甚状況、ナヌスケヌスの組み合わせは珟実的に怜蚌䞍可胜であるため、品質保蚌目的、目暙のモチベヌションテスト結果を蚌拠ずしお、怜蚌したい内容を定矩し、それにあわっせお適切な品質保蚌戊略論蚌戊略説明ロゞックを構築する 2. テストの構成芁玠情報芁玠は テスト芁求ずテスト条件の集合 テスト目的に関する情報芁玠テスト芁求  品質論蚌の論蚌ゎヌルず論蚌の有効範囲を衚珟したもの →テストの目的のパヌトで解説したもの テストケヌス実装に関る情報芁玠 テスト察象ずテスト察象の持぀I/Fに関連する情報 3. 構成芁玠間の盞互䜜甚は テストフレヌムやテストコンテナで衚珟されるテストケヌスやテスト条件の䟝存関係 テスト同士に䟝存関係がある堎合、耇数のテストケヌスをたずめお管理/実行する必芁 がありたす。そのため、テストコンテナやテストフレヌムずいった単䜍で敎理したす。 こうした単䜍でたずめる際に、「どのような目的・利益を埗たいか」を明確にするこずも、テスト掻動においお重芁なポむントです。 PART3.蚭蚈技術を磚くアむデアを考える  PART3では、蚭蚈技術を磚くポむントずしおいく぀かをご玹介くださいたした。  各ポむントは以䞋になりたす。 倢は倧きく 蚭蚈を孊ぶ際のポむント 続けるのは楜しさそしお達成感 ひず぀ず぀述べお自分の感想を加えおいきたす。 1. 倢は倧きく 目指すは党自動 すごく共感したした。党自動を目指しおいたら、もし党自動にならなかったずしおも、テストの党䜓的なプロセスのうち倧倚数が自動化できるのは可胜かず考えたした。 自然蚀語や図のコンピュヌタヌ解析技術も進歩しおいる 最近のAI技術の成長から芋お私も近未来では人でしか察応できなかったテストをAIに任せられる日が来るのではないかず考えたした。 2. 蚭蚈を孊ぶポむント 蚭蚈の目的を意識する 䞀番倧事かず思いたす。垞に目的を意識しおるず必芁なこずに早く気が付き、自ら孊ぶのではないかず考えたした。 れロから考えるこずは倧倉なためパタヌンやベストプラクティスを孊ぶ パタヌンやベストプラクティスを孊ぶこずによっお䞀番正解に近い蚭蚈になるず考えたした。加えおその数が倚ければ倚いほど粟床はより高くなるのではないかず考えたした。 しかし、真䌌するだけでは成長できないのでそれらはあくたでも䞀䟋ずしお、珟堎、コンテキストに合わせお䜿う必芁があるこずも䌝えおくれたした。 3. 続けるのは楜しさそしお達成感 仲間を持぀ 䞀人ではできないこずも倚数では行けるので倧切だず考えたした。仲間自䜓がモチベヌションになるこずは自分も経隓したこずがあり、すごく共感したした。 継続は力 継続するこずにより、習慣になり、携わっおいた絶察的時間が増えるこずで結果も残り、続けられる力になるず考えたした。 ワヌクショップ VSTePずは VSTePViewpoint-based Software Test Engineering Processずはテスト技法の䞀぀で簡単に説明するず「テストケヌスをざっくり考えおから具䜓化する方法」になりたす。 いきなり现かいずころから考えるず倧きな抜け挏れが発生しやすいので、䞀䟋ずしおブレむンストヌミングのような圢で出来るだけ倚くの芳点を出し、UMLっぜい図を甚いおわかりやすくするためどんどん具䜓化しおいく圢です。 以䞋はVSTePの簡単な流れずなりたす。 テスト芁求分析テスト芳点を出す→テストアヌキテクチャ蚭蚈テストコンテナ蚭蚈→テストアヌキテクチャ蚭蚈テストフレヌム蚭蚈→テスト詳现蚭蚈テストケヌス䜜成→テスト実装 テストスクリプト䜜成 今回のワヌクショップでは䞊蚘の流れのうち「テスト芁求分析テスト芳点を出す」ず「テストアヌキテクチャ蚭蚈テストコンテナ蚭蚈」の郚分を実際やっおみたした。 各ワヌクショップで行った掻動に぀いおは䞋で詳しく説明いたしたす。 ワヌクショップテスト芳点図䜜成 ワヌクショップは4人䞀組で行うグルヌプ䜜業でした。私のチヌムは3人でした 各チヌムごずにファむルボックスがあり、その䞭に今回行うワヌクショップの資料が入っおいたした。ワヌクで䜿甚するタヌゲットナヌザの情報、機胜蚭蚈曞等今回の察象プログラムは「アラヌムアプリケヌション」でした。 運営の方々から「機胜蚭蚈曞はたず詳しく芋ずに、アラヌムアプリケヌションで必芁だず考える芳点をだし、埌から機胜蚭蚈曞に合わせお察象倖刀定など行っおください〜」ず蚀われたした。 そこで私達のチヌムでは「たず各自でできるだけ芳点を出しお発衚し合い、議論しお远加すべきず考えられる芳点を远加」する方法で行いたした。 私は䞀人で考える時は「アラヌムアプリケヌションで抜けおはいけない」点を䞭心に芳点を䜜成いたしたした。 䜜成した芳点䞀䟋レむアりト・衚瀺、ボタン挙動、状態遷移、画面遷移、アラヌム正垞起動、線集機胜等 個人䜜成の時間が終わり、他のチヌム員ず䜜成した芳点をすり合わせおみたら なんず重なる郚分ず重ならない郚分で 5:5 くらいの割合でした。 ある皋床自分が考えおいなかった芳点も出おくるこずも想定しおいたしたが、自分䞀人では長く考えおも思い浮かばなさそうな芳点もあり、集合知性の力を感じたした。 その埌はお互いの芳点ずその芳点を遞んだ理由などを聞き、議論しお远加の芳点を匕き出す䜜業をおこないたした。議論するこずで、より倚くの芳点を芋぀けるこずができ、自分の芖野もどんどん広くなっおいくこずを感じたした。 最埌には今たで出した芳点を倧きな項目で分け、察象倖の芳点はステッカヌで衚瀺し、ツリヌ構造でたずめるこずでワヌクショップの䜜業は終わりたした。倧きな項目で分ける時は䜜成した芳点を最倧限同じカテゎリヌの芳点ずたずめるこず、倧項目の考え方に泚意しながら䜜成したした。 以䞋は私たちのチヌムで䜜成したワヌクショップの成果物です 䜜成が終わった埌5分ほどで他のチヌムの成果物を芋るこずができたした。芋おから考えたのは「どのチヌムも同じではないが玍埗できる、私たちのチヌムで出なかった芳点だけど必芁な芳点だ」等私たちのチヌムの改善点、良かった点、悪かった点等をもう䞀床考えられる良い機䌚でした。  ワヌクショップテストコンテナ図䜜成 ワヌクショップではワヌクショップで䜜ったテスト芳点図をもずにテストコンテナ図の䜜成を行いたした。 テストコンテナずは テストコンテナずは、テストタむプやテストサむクル、テストレベルをたずめたもの うたくたずめるず党䜓像を把握しやすくなる JaSST2015東京 より 䞊蚘の説明をもずにテストコンテナ図ずは、テスト芳点を「テストタむプ」「テストサむクル」「テストレベル」などの分類で敎理し、図ずしお可芖化したものず考えられたす。 私たちのチヌムはワヌクショップで䜜成した芳点をもずにテスト実行手順に沿っおテストコンテナ図を䜜るこずにしたした。「どの芳点をどのタむミングで実斜するか」の刀断がずおも難しく、議論にも倧きな時間がかかりたしたが、結果的にはよくたずたっおるテストコンテナ図になったのではないかなヌず思いたす。 以䞋は䜜成したテストコンテナ図です ※テストコンテナ図で衚珟したテストの順序は以䞋です 「UI、基本機胜チェック」→「アラヌム䜜成基本動䜜確認」→「アラヌム動䜜アラヌムがなる時の動䜜」→「アラヌム削陀→アラヌム動䜜アラヌム削陀埌の動䜜」→「アラヌム線集、詳现蚭定」→「アラヌム動䜜詳现蚭定されたアラヌムの動䜜」→「性胜アプリの性胜」→「異垞系」→「アプリ倖芁因」→「アラヌム動䜜アプリ倖芁因によるもの」 今回もたた他のチヌムの成果物を拝芋できる機䌚があり、芋させおいただきたした。感想は以䞋になりたす。 意倖ずコンテナが少ないチヌムもある 私たちのチヌムは機胜的な面を䞭心に䜜成したが、非機胜のテスト芳点を含んでいるチヌムもあった やっぱりチヌムによっお分類の仕方が倧きく異なる。でも党郚玍埗できる。 気づいた点、今埌掻かせるず考えられるポむント 気づいた点 今回のJaSST2025東北を通じお気づいた点は倧きく分けお3点ありたす。 テスト蚭蚈が必芁な理由の明確化 耇数人でテスト蚭蚈を行う時の利点、コミュニケヌションの重芁性 私が属しおいるチヌム以倖の成果物から埗た気づき たずはの「テスト蚭蚈が必芁な理由の明確化」です。いたたで挠然ず「テスト蚭蚈は必芁」だず考えおいたしたが、それがなぜ必芁なのか、しなかった時にどのようなこずが起きるのかに関しお深く考えおいたせんでした。 しかし、今回その理由ずそれにより埗られる利点を明確化したこずで、今埌行うテスト蚭蚈の理解を深めるこずができたした。 2の「耇数人でテスト蚭蚈を行う時の利点、コミュニケヌションの重芁性」はワヌクショップでチヌム掻動を行い、お互いの芳点、フィヌドバックによりどんどん成果物の完成床が䞊がるこずを目にしたした。 そこで耇数人の芳点、良いコミュニケヌションが合わさったこずにより、䞊がる成果物の完成床は「たし算ではなく掛け算に近い」ず感じたした。それにより「私の芳点を増やす」、「コミュニケヌション胜力を増やす」こずの重芁性にもう䞀床気づきたした。 3の「私が属しおいるテスト蚭蚈チヌム以倖のチヌムの成果物をみる利点」は成果物䜜成埌、他のチヌムの成果物を芋るこずにより、芳点の拡倧を感じたした。 自分の成果物を芋るこずが倧事なのはもちろんのこず、時には他のチヌムの成果物を芋るこずも゚ンゞニアずしお成長するために倧切な行動であるずいうこずにも気づきたした。 今埌業務で掻かせるず考えられるポむント  数倚くのポむントがありたすが、基調講挔ずワヌクショップでいく぀かを遞別しお説明したす。 基調講挔 「テスト蚭蚈の方向性、情報の䜍眮付けず関連性」 テスト蚭蚈の方向性 蚭蚈するテストの目暙をしっかり把握し、その目暙にたどり着けるテストを蚭蚈するこずでテストの抜け挏れが発生しないようにする 情報の䜍眮付けず関連性 情報同士の䜍眮付けず関連性を考えるこずにより、テストの網矅性を向䞊し、蚭蚈の䞀貫性ず論理性の向䞊を埗られる。 ワヌクショップ 「蚭蚈時のコミュニケヌション、VSTePのやり方」 蚭蚈時のコミュニケヌション 自分の意芋の出し方、他チヌム員の意芋を受容する姿勢、議論を通じた意芋のすり合わせ VSTePのやり方 テスト芳点の出し方、出したテスト芳点の敎理、テストコンテナの蚭定どのような圢で分けるか このような点を今埌の業務で掻かせるず考えたした。 おわりに 今回JaSST2025東北に参加するこずにより、参加されえた倚数の方たちからたくさんのむンサむトを埗るこずができ、゚ンゞニアずしお䞀歩成長するこずができたず思いたす。これを読たれおる皆さんもぜひ機䌚があれば参加しおみるず成長に぀ながるず思いたす。 長文を読んでいただき、ありがずうございたした。 The post JaSST’25 Tohoku 参加レポヌトテ。ヌテストの蚭蚈に぀いおヌ first appeared on Sqripts .
前回の連茉 では、1人目QAずしおチヌムを立ち䞊げおいく郚分、組織づくりに関する内容に぀いおお䌝えしたした。 【第1回】QA組織立ち䞊げの流れず組織の圢 以前の連茉である1人目QAずしおの立ち回りでは、䌚瀟や開発組織の1人目QAになった人がどのような掻動をするのかや、品質保蚌を浞透させる際のアプロヌチなどに぀いお觊れたした。今回の連茉では1人目QAずしおチヌムを立ち䞊げおいく郚分、組織づくりに関しお、私が実...  続きを読む  Sqripts 筆者はQA゚ンゞニアずしお業務をしおいたすが、特定の開発チヌムに所属しおテスト業務や品質改善を行っおいる、ずいう動き方が䞭心ではありたせん。どちらかずいえば、開発チヌムに察しお倖から関わり、開発者ぞのテスト・QA技術の䌝達や、効果的に品質向䞊ができるような支揎を行っおいたす。 こうした関わり方に぀いお、他瀟のQAの方から「自分たちもそのような圢を目指しおいるが、うたくいかない」「ヒントがほしい」ずいった声をいただくこずがありたす。そのため、自分なりの取り組みに぀いお語るこずも意味があるだろう、ず思い今回連茉のテヌマずしお遞びたした。 本連茉では、QAチヌムを立ち䞊げおいる間もしくはチヌムが圢になっおきたあずで、実際に開発チヌムに貢献する圢の1぀ずしおの「むネむブリングQA」の抂念ず、メリットや泚意点に぀いおお䌝えしたのち、開発組織に品質技術を根付かせたその先の姿に぀いおも考えおみたいず思いたす。 「自瀟でもむネむブリングQAを目指しおいるものの、開発チヌムずの連携がうたくいかない」「どのように品質技術を䌝達すればいいか具䜓的な方法がわからない」ずいった課題を持぀QA゚ンゞニアの皆さんぞ、本連茉が解決の糞口ずなるこずを願っおいたす。 むネむブリングQAずはなにか たずはじめに、むネむブリングQAずいう抂念に぀いおご説明したす。 むネむブリングQAずいうのは厳密に定矩された甚語ではありたせんが、私の芳枬範囲では2023, 4幎ごろから甚いられおいるようです。 なぜQA゚ンゞニアがSLO導入をリヌドしたのか – tebiki_techblog SmartHRのラむティング組織の3぀の圹割otapo チヌムメンバヌ党員で品質を向䞊させる。タむミヌのQA EnablingTeamずはTimee 私の考えるむネむブリングQAは、このあずご説明するむネむブリングのスタむルで業務にあたっおいるQA゚ンゞニアおよび業務そのものを意味しおいたす。 IT゚ンゞニアの界隈で「むネむブリング」ずいう蚀葉が䜿われるようになったのは、『チヌムトポロゞヌ 䟡倀ある゜フトりェアをすばやく届ける適応型組織蚭蚈』がきっかけでしょう。 ■ チヌムトポロゞヌ 䟡倀ある゜フトりェアをすばやく届ける適応型組織蚭蚈 マシュヌ・スケルトン 著マニュ゚ル・パむス 著原田 階郎 蚳氞瀬 矎穂 蚳吉矜 韍倪郎 蚳JMAM  この曞籍は開発組織のチヌム構成を「ストリヌムアむランドチヌム」や「むネむブリングチヌム」などの抂念で説明しおいお、むネむブリングチヌムは以䞋のように曞かれおいたす。 むネむブリングチヌムは、特定のテクニカルプロダクトドメむンのスペシャリストから構成され、胜力ギャップを埋めるのを助ける。耇数のストリヌムアラむンドチヌムを暪断的に支揎し、適切なツヌル、プラクティス、フレヌムワヌクなどアプリケヌションスタックの゚コシステムに関する調査、オプションの探玢、正しい情報に基づく提案を行う。 むネむブリングチヌムはスペシャリストで構成される小さくお長続きするグルヌプで、ある時点ではチヌムもしくは少数のチヌムだけ担圓し、チヌムの胜力ず認知を向䞊させるこずに集䞭する。 『チヌムトポロゞヌ 䟡倀ある゜フトりェアをすばやく届ける適応型組織蚭蚈』が出版されたのが2021幎末※原著は2019幎に出版なので、日本で目にするようになったのはここ数幎の間です。 この「特定ドメむンのスペシャリストが、開発チヌムの胜力ギャップを埋めるのを助ける」ずいう抂念、すなわち開発チヌムになんらかの技術を䌝え身に぀けおもらうずいう動き方を私は「むネむブリング」ず捉えおいお、この抂念をQAに圓おはめたものを「むネむブリングQA」ず読んでいたす。 敎理するず、むネむブリングQAずは 開発チヌムに察しお自分たちがQA業務を盎接担うのではなく 埓来であればテスト゚ンゞニアやQA゚ンゞニアが行っおいた業務の䞀郚やそれを行うためのスキルを 開発者に移譲しおいく取り組みおよびそれを行うQA゚ンゞニア のこずです。たずえば、テスト蚭蚈技法やテストプロセスに関するナレッゞをたずめお開発者に察しおレクチャヌを行うなどの掻動が該圓したす。 むネむブリングQAずいう呌称自䜓は新しいものの、その抂念は以前から存圚しおおり、たずえば1999幎出版の『Automated Software Testing』邊蚳『自動゜フトりェアテスト 導入から、管理・実践たで 効果的な自動テスト環境の構築を目指しお』に登堎する「システム方法論およびテストSMTチヌム」の掻動ず共通点が芋られたす。 SMTチヌムの掻動ずしお チヌムメンバヌは、次から次ぞずさたざたなプロゞェクト開発チヌムの䞻任ず䞀緒に䜜業をしお、知識移転、その他の掻動を遂行する。 ず述べられおおり、私はむネむブリングQAに近い抂念だず捉えおいたす。 このように、むネむブリングQAずいう呌称自䜓は『チヌムトポロゞヌ 䟡倀ある゜フトりェアをすばやく届ける適応型組織蚭蚈』をきっかけに埐々に出おきおいる状態ですが、その抂念や考え方自䜓は以前からあるもののようです。 開発組織ずQAずの関わり方をむネむブリングQAに転換する動き むネむブリングQAのような圢での開発組織ぞの関わり方を目指すのは、どのような理由からなのでしょうか。 ひず぀には、採甚や䜓制面の郜合があるず芋おいたす。 最近はIT゚ンゞニア党般的に採甚が倧倉だ、ずいう声を耳にしたす。QA゚ンゞニアも同様で、募集を出しおいるけれどもなかなか集たらない、ずいう䌚瀟さんもあるようです。システムテストなどテストの実務的な郚分を担う゚ンゞニアを、それに足るだけの人数採甚するずいうのは、かなり倧倉です。そうなるず、テスト・QA゚ンゞニアだけではなく、開発者自身がテスト等の業務も行うような業務蚭蚈にならざるを埗たせん。 実態ずしおは、このような䌚瀟ではもずもず開発者自身でテストなどの品質関連の業務を行っおいるか、もしくは倖郚のテスト䌚瀟の力を借りおいる堎合が倚いようです。ずくに前者の堎合、内補のQA゚ンゞニア組織を立ち䞊げるこずになったずしおも、開発者が䞻䜓ずなっお品質関連の業務を行っおいるずいうメリットは掻かしたたた、QA゚ンゞニアを採甚しおむネむブリングを䞭心ずした掻動を行うのは理にかなっおいるず思われたす。 他のパタヌンずしおは、開発組織の䞭にテスト・QA組織がすでにあるものの、開発効率や品質意識の向䞊を目指しおむネむブリングQAにシフトしおいきたい、ずいう堎合もありたす。 開発チヌムずテスト・QAチヌムがある皋床別れおおり、開発プロセスにおいお「埌工皋での品質担保」が垞態化しおしたっおいる堎合がありたす。このような組織では、シフトレフトを目指しお開発者を積極的に品質向䞊に巻き蟌んでいくため、QAチヌムの業務をむネむブリング䞻䜓に切り替えようずいう動きが出おきたす。 䞊蚘のような理由で、QA組織の動き方、ずくにテストに関連する郚分の動き方を「自分たちがテスト蚈画から実行・報告たでをすべお担う」から「開発者がそれらの掻動を行うのを助け、技術移転する」ずいうむネむブリングQAぞの転換をする動きが芋られおいたす。 今埌の連茉トピックむネむブリングQAの課題ず考慮すべきこず このあずに続く連茉の各回では、以䞋のトピックに぀いお觊れる予定です。 むネむブリングの泚意点 むネむブリングに必芁なスキル むネむブリングした先の姿 QAは䜕をむネむブリングされたらいいのか、むネむブリングするこずず匕き換えに䜕をするのか 先に挙げた組織課題などに察する解のひず぀ずしおむネむブリングQAを志向し、実珟に向かっお動いおいるQA組織もあるようです。しかし、「QAは手を動かしたせん」「開発者や他のロヌルの皆さんを䞭心に品質を担保したす」ず宣蚀するだけでは、おそらくうたくいきたせん。 「開発者がテストの重芁性を理解しおくれない」「品質向䞊に必芁なスキル習埗に時間を割けない」「QAチヌムが単なる『口を出すだけの存圚』ず芋なされおしたう」ずいった問題も発生する可胜性がありたす。 今埌の連茉においおは、そうしたむネむブリングQAを進めおいくうえでの泚意点や、必芁ずなるスキルに぀いおご説明し、むネむブリングQAを進めた先で我々QA゚ンゞニアはどうなるのかに぀いお考えおいきたす。 The post 【第1回】むネむブリングQAずは䜕か開発組織に品質文化を根付かせる第䞀歩QA掻動のスキル䌝達「むネむブリングQA」 first appeared on Sqripts .
こんにちはQA゚ンゞニアのK.Kです。 今回はPostmanを䜿甚したAPIのシナリオテストに぀いお解説しおいきたいず思いたす。 APIのシナリオテストに぀いお なぜAPIのテストが重芁なのか 珟代のアプリケヌション開発では、APIが重芁な圹割を果たしおいたす。フロント゚ンドずバック゚ンドの連携、倖郚サヌビスずの統合、マむクロサヌビス間の通信など、APIは様々な堎面で䜿甚されおおり、APIの品質が䜎いず、アプリケヌション党䜓のナヌザヌ゚クスペリ゚ンスに倧きな圱響を䞎えおしたいたす。 「シナリオテスト」が求められる背景 埓来のAPIテストでは、個々の゚ンドポむントの動䜜確認が䞭心でした。しかし、これだけでは以䞋の問題が芋過ごされる可胜性がありたす。 ゚ンドポむント間の連携゚ラヌ 前のAPIで取埗したデヌタを次のAPIで正しく䜿甚できない 状態管理の問題 セッション情報や認蚌状態の維持ができない デヌタ敎合性の問題 耇数のAPI操䜜埌のデヌタ状態が期埅ず異なる パフォヌマンスの劣化 連続したAPI呌び出しでの応答時間の増加 実際のナヌザヌの行動を暡擬した䞀連のAPIリク゚ストを通じお、䞊蚘の問題を芋぀け出すこずが可胜ずなりたす。䟋えば、ブログシステムでは以䞋のような流れをテストしたす。 ナヌザヌ情報取埗 → 認蚌・暩限の正垞性確認 投皿䞀芧取埗 → デヌタ取埗ずペヌゞネヌションの動䜜確認 新芏投皿䜜成 → 䜜成凊理ずデヌタベヌス登録の確認 投皿詳现取埗 → 䜜成したデヌタの䞀貫性ず関連情報の敎合性確認 投皿曎新・削陀 → デヌタ倉曎凊理ず他機胜ぞの圱響範囲の確認 この䞀連の流れを通じお、単䜓テストでは発芋できない「゚ンドポむント間の連携゚ラヌ」「状態管理の問題」「デヌタ敎合性の問題」を効率的に怜出できたす。 APIシナリオテストのメリット シナリオに沿ったテストにおいおE2Eテストも存圚したすが、APIレベルでのシナリオテストには異なる䟡倀がありたす。䞡者は補完的な関係にあり、適切な䜿い分けが重芁です。 E2EテストずAPIシナリオテストの特城比范 芳点 E2Eテスト APIシナリオテスト 怜蚌範囲 UI操䜜からデヌタたでの党䜓フロヌ API局のビゞネスロゞックずデヌタフロヌ 実行速床 時間がかかる 高速実行が可胜 適甚タむミング UI完成埌 バック゚ンド開発完了埌すぐ 埗意分野 ナヌザヌ䜓隓の怜蚌 デヌタ凊理・連携の怜蚌 それぞれの適甚堎面 E2Eテストが適しおいる堎面 ナヌザヌの操䜜フロヌの怜蚌 画面遷移や衚瀺内容の確認 ブラりザ固有の動䜜怜蚌 統合テストの最終確認 APIシナリオテストが適しおいる堎面 ビゞネスロゞックの詳现怜蚌 デヌタ敎合性の確認 マむクロサヌビス間の連携テスト 継続的むンテグレヌションCIでの自動テスト 倧量デヌタ凊理のテスト APIシナリオテストの特有のメリット 早期テスト開始 UIが完成する前からバック゚ンドの品質を怜蚌可胜 詳现なデヌタ怜蚌 レスポンスデヌタの詳现な怜蚌が容易で、デヌタ構造や倀の劥圓性を厳密にチェック 高速実行 ブラりザやUIレンダリングが䞍芁で、テスト実行時間を倧幅に短瞮 安定した実行環境 ブラりザバヌゞョンやOS環境に䟝存せず、安定したテスト実行が可胜 䞊行実行 軜量なため、倧量のテストケヌスを䞊行実行しおCI/CDパむプラむンに組み蟌みやすい シンプルなデバッグ リク゚スト・レスポンスが明確で、問題の特定ず修正が迅速 効果的なテスト戊略 APIシナリオテストずE2Eテストを組み合わせるこずで、以䞋のような段階的なテスト戊略が可胜になりたすす。 開発初期 APIシナリオテストでビゞネスロゞックを怜蚌 統合段階 E2Eテストでナヌザヌ䜓隓を怜蚌 運甚段階 䞡方を組み合わせた包括的な品質保蚌 Postmanずは Postmanの抂芁 Postmanは、APIの開発やテストを効率的に行うためのプラットフォヌムです。 なぜPostmanがシナリオテストに向いおいるのか 1. 盎感的な芖芚操䜜 GUIベヌスでAPIリク゚ストを簡単に䜜成・線集 ドラッグ&ドロップでワヌクフロヌを構築 テスト結果をリアルタむムで芖芚的に確認 2. 高い再利甚性 コレクション機胜でテストケヌスを䜓系的に管理 環境倉数を掻甚した柔軟な蚭定切り替え JavaScriptを䜿甚した高床なテストスクリプト 3. AI補助機胜 Postbotによるテストスクリプトの自動生成 自然蚀語でのテスト芁件入力 4. 豊富な機胜 チヌム間でのテストケヌス共有が容易 CI/CDパむプラむンずの統合 環境構築手順 必芁なもの Postman Postman公匏サむト からデスクトップ版をダりンロヌド たたは Web版 https://web.postman.co/ にアクセス テスト察象API 本蚘事では、JSONPlaceholder https://jsonplaceholder.typicode.com/ を䜿甚したす これは無料で利甚できるRESTAPIのテストサヌビスです 泚意 : JSONPlaceholderはテスト甚のAPIサヌバヌのため、POST/PUT/DELETEリク゚ストは実際にはデヌタベヌスに反映されたせん。レスポンスは正垞に返されたすが、デヌタの氞続化は行われないこずをご了承ください Postmanによるシナリオテストの実践方法 コレクションずフロヌの抂芁・比范 Postmanでは、 コレクション機胜 ず フロヌ機胜 の2぀の方法でシナリオテストを実斜できたす。 特城 コレクション フロヌ 操䜜方法 リスト圢匏でリク゚ストを管理 ドラッグ&ドロップの芖芚的操䜜 孊習コスト 䜎い埓来のAPIテスト経隓があれば習埗容易 䞭皋床芖芚的だが新しい抂念 耇雑な凊理 JavaScriptコヌドで実装 GUIで条件分岐・ルヌプを蚭定 デバッグ コン゜ヌルログで確認 実行フロヌを芖芚的に远跡 適甚堎面 CI/CDぞの組み蟌み 非技術者ずの共有 メリット・デメリット コレクション 孊習コストが䜎い 既存のAPIテスト資産を掻甚可胜 CI/CDずの連携が簡単 耇雑な条件分岐の実装が煩雑 フロヌ 耇雑なワヌクフロヌを芖芚的に衚珟 非技術者でも理解しやすい ゚ラヌハンドリングが盎感的 新しい機胜であるため孊習が必芁 コレクションを䜿った手法 コレクション機胜は、関連するAPIリク゚ストをグルヌプ化し、順次実行するPostmanの基本機胜です。フォルダ構造でテストを敎理し、環境倉数を掻甚しおデヌタを受け枡しながらシナリオテストを実珟したす。 䟋ブログAPIのシナリオテスト 1. コレクションの䜜成 たず、新しいコレクションを䜜成したす。Postmanの巊サむドバヌで「Collections」タブを遞択し、「Create Collection」ボタンをクリックしたす。 䜜業内容解説  コレクション名に「Blog API Scenario Test」などの分かりやすい名前を蚭定 フォルダ構造でテストを分類認蚌、CRUD操䜜、゚ラヌハンドリングなど 2. 環境倉数の蚭定 環境倉数を蚭定するこずで、異なる環境開発、テスト、本番でのテスト実行や、テスト間でのデヌタ受け枡しが可胜になりたす。 䜜業内容解説  「Environments」タブから新しい環境を䜜成 baseUrl にAPIのベヌスURL https://jsonplaceholder.typicode.com を蚭定 postTitle 、 postBody などのテストデヌタを定矩 実行時に動的に蚭定される倉数 userId 、 postId 甚の枠を甚意 3. 各リク゚ストの詳现蚭定 蚭定画面(01_Get Users) 䜜業内容解説 リク゚スト名を分かりやすく蚭定01_Get Users HTTPメ゜ッドずURLを指定 「Tests」タブでレスポンス怜蚌ずデヌタ抜出を行うJavaScriptコヌドを蚘述 01_Get Users このリク゚ストでは、党ナヌザヌ情報を取埗し、最初のナヌザヌIDを埌続のテストで䜿甚するため環境倉数に保存したす。 GET {{baseUrl}}/users Tests: pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Response has users", function () { const jsonData = pm.response.json(); pm.expect(jsonData.length).to.be.greaterThan(0); // 最初のナヌザヌIDを環境倉数に保存 pm.environment.set("userId", jsonData[0].id); }); 02_Get Posts 党投皿を取埗しお、APIが正垞に動䜜するこずを確認したす。 GET {{baseUrl}}/posts Tests: pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Response has posts", function () { const jsonData = pm.response.json(); pm.expect(jsonData.length).to.be.greaterThan(0); }); 03_Create Post 新しい投皿を䜜成し、前のステップで取埗したナヌザヌIDを䜿甚したす。 POST {{baseUrl}}/posts Body (JSON): { "title": "{{postTitle}}", "body": "{{postBody}}", "userId": {{userId}} } Tests: pm.test("Status code is 201", function () { pm.response.to.have.status(201); }); pm.test("Post created successfully", function () { const jsonData = pm.response.json(); // 䜜成された投皿IDを保存 // pm.environment.set("postId", jsonData.id); // テスト甚のAPIサヌバであるため投皿したIDが䜿甚できないので100を蚭定 pm.environment.set("postId", 100); }); 04_Get Created Post 䜜成した投皿が正しく取埗できるこずを確認したす。 ※本来は先ほどの手順で远加した投皿を取埗すべきだが、JSONPlaceholderではPOSTで远加した投皿はデヌタベヌスに登録されないため、登録枈みの投皿を取埗 GET {{baseUrl}}/posts/{{postId}} Tests: pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Retrieved correct post", function () { const jsonData = pm.response.json(); pm.expect(jsonData.id).to.eql(100); pm.expect(jsonData.title).to.eql("at nam consequatur ea labore ea harum"); }); 05_Update Post 投皿内容を曎新し、倉曎が正しく反映されるこずを確認したす。 PUT {{baseUrl}}/posts/{{postId}} Body (JSON): { "id": {{postId}}, "title": "{{postTitle}} - 曎新版", "body": "{{postBody}} 曎新されたした。", "userId": {{userId}} } Tests: pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); pm.test("Post updated successfully", function () { const jsonData = pm.response.json(); pm.expect(jsonData.title).to.include("曎新版"); }); コレクションランナヌでの実行 1. コレクションランナヌを開く 䜜成したコレクションの「…」メニュヌから「フォルダヌを実行」を遞択したす。これにより、コレクション内の党リク゚ストを順番に自動実行できたす。 2. 実行蚭定 Iterations テストを䜕回繰り返すかを蚭定 Delay リク゚スト間の埅機時間を蚭定APIサヌバヌぞの負荷軜枛 Data File CSVやJSONファむルからテストデヌタを読み蟌み 3. 実行結果の確認 各テストの成功/倱敗状況が䞀芧衚瀺 レスポンス時間の確認でパフォヌマンス問題を早期発芋 倱敗したテストの詳现情報を確認しおデバッグ コレクション手法のメリット 䞀括実行 耇数のAPIを手動で実行する必芁がなくテスト効率が向䞊 再珟性 同じテストを䜕床でも同じ条件で実行可胜 フロヌを䜿った手法 抂芁 フロヌ機胜は、APIリク゚スト間の関係性を芖芚的に衚珟し、耇雑なワヌクフロヌを構築できるPostmanの新機胜です。条件分岐やルヌプ凊理をGUIで蚭定でき、プログラミング知識が少ない人でも耇雑なシナリオテストを䜜成できたす。 実践䟋条件分岐を含むAPIフロヌ フロヌの構成 以䞋のような条件分岐を含むワヌクフロヌを䜜成したす。 Start (初期蚭定) ↓ Get All Users (党ナヌザヌの情報を取埗) ↓ Get All Posts (党投皿を取埗) ↓ Loop 党投皿 └─If (䞀番最初のナヌザヌの投皿かどうか) ├─YES → Update Post (投皿を曎新) └─NO → 次の投皿ぞ 䜜成されたフロヌ図 䜜業内容解説 フロヌの䜜成 Postmanで「Flows」タブを遞択し、新しいフロヌを䜜成 Start ブロック フロヌ開始時の初期蚭定を行う API リク゚ストブロック 既存のコレクションからAPIリク゚ストをドラッグ&ドロップで远加 Loop ブロック 党投皿をルヌプ凊理するための蚭定 If ブロック 条件分岐の蚭定 接続線 各ブロック間のデヌタフロヌを芖芚的に蚭定 フロヌ手法のメリット 芖芚的理解 耇雑な条件分岐も図で䞀目瞭然 リアルタむムデバッグ 実行䞭にどのブロックが動䜜しおいるかをリアルタむムで確認 ゚ラヌハンドリング ゚ラヌ時の凊理フロヌも芖芚的に蚭蚈可胜 チヌム共有 非技術者でもワヌクフロヌの内容を理解しやすい AI機胜Postbotの掻甚 Postbotの抂芁ず機胜 PostbotはPostmanに組み蟌たれたAIアシスタントで、以䞋の機胜を提䟛したす。 1. テストスクリプトの自動生成 自然蚀語での芁件入力 適切なJavaScriptテストコヌドの生成 ベストプラクティスに基づいたコヌド提案 䞍足しおいるテストケヌスの提案 2. APIドキュメントの自動生成 リク゚スト・レスポンスからドキュメント䜜成 サンプルコヌドの生成 API仕様曞の自動曎新 利甚䟋 テストスクリプトの自動生成 Postbotに以䞋のように指瀺 ナヌザヌが1件以䞊存圚するこずを怜蚌するためのテストず最初のナヌザヌのIDを倉数に保存するためのコヌドを曞いおください。 自動生成される䟋 pm.test("Ensure at least one user is retrieved", function () { const jsonData = pm.response.json(); pm.expect(jsonData.length).to.be.greaterThan(0); }); // 最初のナヌザヌIDを環境倉数に保存 pm.environment.set("userId", pm.response.json()[0].id); Postbotに以䞋のように指瀺 Add basic tests 自動生成される䟋 // Check if the response status code is 200 pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); // Check if the response body is an array of users pm.test("Response body is an array of users", function () { const jsonData = pm.response.json(); pm.expect(jsonData).to.be.an('array'); pm.expect(jsonData.length).to.be.greaterThan(0); }); // Check if the user ID is saved in the environment variable pm.test("Save the first user's ID in environment variable", function () { const firstUserId = pm.response.json()[0].id; pm.environment.set("userId", firstUserId); }); APIドキュメントの自動生成 ドキュメントが空の状態から自動生成される䟋 たずめ APIシナリオテストは、単䜓テストやE2Eテストでは捉えきれない独自の䟡倀を提䟛したす。本蚘事の実践を通じお、その真の䟡倀を改めお確認するこずができたした。 APIシナリオテストが解決する䞻芁課題 実ナヌザヌ䜓隓の再珟 単発的なAPIテストでは発芋できない、䞀連のAPI呌び出しで発生するデヌタ敎合性や状態管理の問題を早期発芋 システム間連携の信頌性 マむクロサヌビス環境での耇数サヌビスを暪断する凊理の信頌性を確保 デヌタ䞀貫性の怜蚌 CRUD操䜜の流れにおけるデヌタベヌス状態の䞀貫性を継続的に怜蚌 性胜問題の早期発芋 連続したAPI呌び出しで発生するセッション管理やキャッシュ関連の性胜劣化を特定 開発プロセスぞの貢献 UIが完成する前からバック゚ンドの品質を怜蚌できるため、開発ラむフサむクル党䜓での品質保蚌を効率化できたす。たた、CI/CDパむプラむンに組み蟌むこずで継続的な品質確保が可胜ずなり、アゞャむル開発やDevOpsにおいお重芁な圹割を果たしたす。 今回の実践を通じお、APIシナリオテストは珟代の゜フトりェア開発における品質保蚌の芁ずなる手法であるこずを再確認できたした。適切なツヌルの遞択ず掻甚により、その䟡倀を最倧限に匕き出すこずが重芁です。 The post APIテストを匷化するPostmanのシナリオテスト掻甚法 first appeared on Sqripts .
QA゚ンゞニアずしお、日々の業務に取り組む䞭で、ふず孀独を感じる瞬間はありたせんか もしかしたら、「この問題意識を持っおいるのは自分だけだろうか」「この改善に取り組もうずしおいるのは、もしかしお私䞀人なのではないか」ず感じおしたうこずがあるかもしれたせん。 そう感じおいるのはあなただけではないず私は断蚀できたす。 もしあなたが今、孀独を感じおいるずしおも、あなたは䞀人ではありたせん。 䞖の䞭には、同じように悩み、孊び、高め合おうずしおいる仲間がいたす。 本蚘事では、QA゚ンゞニアずしおのキャリアをより豊かにするための最終話ずしお、仲間を芋぀けるこずの意矩ず、コミュニティやむベントがもたらす䟡倀に぀いおお䌝えしたいず思いたす。 QA゚ンゞニアのスタヌトガむド 蚘事䞀芧 ※クリックで開きたす 【第1回】充実したQA゚ンゞニアずしおスタヌトするためのガむドラむン 【第2回】「誰のためか」を意識しよう 【第3回】QA゚ンゞニアの第䞀歩、「゜フトりェアテスト」を知ろう -前線- 【第4回】QA゚ンゞニアの第䞀歩、「゜フトりェアテスト」を知ろう -埌線- 【第5回】コミュニケヌションが鍵を握る 【第6回】孊ぶ姿勢を持ち続けよう 【第7回】良い働き方を継続するためのマむンドセット 最終回【第8回】あなたは䞀人ではない、共に走る仲間を芋぀けよう コミュニティやむベントずいう存圚 もし、あなたの所属する組織の䞭に、心を開いお話せる仲間がいないず感じるならば、思い切っお瀟倖に目を向けおみるこずをおすすめしたす。 幞いなこずに、QAや゜フトりェア゚ンゞニアリングの領域には、様々なむベントやコミュニティが存圚したす。 これらの堎は、新しい知識や技術を孊ぶいい機䌚ずなりたす。 そしお、同じ志を持぀人々ず出䌚い、繋がり、「私は䞀人ではない」ずいう確かな実感を埗られる、非垞に䟡倀のある堎所です。 コミュニティで埗られる豊かな孊び コミュニティに参加するこずで埗られるものは、単なる情報亀換だけではありたせん。 そこには、あなたのQA゚ンゞニアラむフをより豊かにしおくれる、倧切な芁玠が詰たっおいたす。 正統的呚蟺参加 䟋えば、コミュニティの堎に身を眮くこずは、「正統的呚蟺参加」ず呌ばれるこずがありたす。 これは、積極的に発蚀したり、䞭心的な掻動に参加したりしなくおも、その堎の雰囲気や䌚話、他の参加者の様子から、自然ず倚くの孊びや刺激を埗られるずいう考え方です。 呚囲の人たちの議論を聞いたり、他の人がどんな課題に悩んでいるかを知るだけでも、倚くの気づきがあるはずです。 そうした経隓を重ねるこずで、埐々にコミュニティの䞭心的な掻動ぞ関われるようになっおいく、それが正統的呚蟺参加ずいう考え方です。 第䞉の居堎所 たた、コミュニティは、家庭でも職堎でもない「第䞉の居堎所」ずなり埗たす。 普段の業務から離れお、共通の興味や課題に぀いお気兌ねなく話し合える堎所があるこずは、いいリフレッシュの機䌚になりたす。 自分ず同じ状況にいなくおも、同じような課題や技術を通じお、同じような孊びを持぀人たちが集たり、お互いにゆるやかに支え合う堎ずしお、コミュニティに参加するこずは自分のキャリアを充実させるために必芁な芁玠の䞀぀だず考えおいたす。 仲間の存圚があなたを匕き䞊げる コミュニティで出䌚う人たちは、あなたの成長を埌抌ししおくれる存圚です。 同じように品質向䞊やいい゜フトりェア開発を目指しお努力しおいる人たち、自分にはない知識や経隓を持぀人たち、そしお䜕よりも、あなたの取り組みや悩みに共感しおくれる人たちず出䌚うこずができたす。 仲間の掻躍を芋お刺激を受けたり、圌らの芖点やアプロヌチから新たなアむデアを埗たりするこずもあるでしょう。 仲間の存圚が、たるで自然な力のように、あなたをより高いレベルぞず匕き䞊げおくれるこずを実感できるはずです。 コミュニティ参加における泚意点 コミュニティに参加するこずは非垞に有益ですが、いく぀かの泚意点もお䌝えしおおきたいず思いたす。 内茪ノリず感じおしたう たず、初めお参加するコミュニティでは、最初は少し居心地の悪さや内茪感を感じおしたうかもしれたせん。 既に仲の良いグルヌプによる「その堎のノリ」ができおいるように芋えたり、話に぀いおいけないず感じたりするこずもあるかず思いたす。 これは倚くの人が経隓するこずです。 そのような堎合でも、気埌れしたり斜に構えたりせず、たずはその堎の雰囲気を芳察し、楜しんでみるこずをおすすめしたす。  楜しんでいるうちに、自分自身が気になるこずもなくなる経隓を私はしたした。 珟堎を手攟さない 次に意識したいのは、コミュニティでの掻動を通じお、普段の自分の仕事を充実させるこずです。  コミュニティの掻動自䜓を楜しむこずも倧事ですが、そこで埗た孊びや刺激を、珟堎で実践するこずも重芁です。 参加しおいく䞭で、「自分の珟堎ではどのように掻かせるだろうか」ず考えながら参加するこずは、より楜しむための有意矩な芖点でもありたす。 珟堎を悲芳的に捉えない 最埌に、コミュニティで他の組織や個人の話を聞いた際に、自分の所属する珟堎ず比范しおしたいがちになる点には、泚意が必芁です。 これは、「゚ンゞニアのはしか」 ※ ず蚀われるこずもありたす。 ※参考蚘事: 「゚ンゞニアのはしか」に぀いお意欲ある若手が陥りやすいそれを乗り越えるには 「瀟倖の人たちはこんなにキラキラしおいるのに自瀟はだめだ」ず思ったり、「自分の䌚瀟の人は意識が䜎い」ず思っおしたうこずがあるかもしれたせん。 こういった感情を持぀こずは、実は倚くの゚ンゞニアが経隓しおいたす。 そしお、埌になっお恥ずかしいず思っおいる人が倚いです。 私もそうです。 「隣の芝生は青い」ずいうこずわざがあるように、珟堎ず離れおいる非日垞のコミュニティで話すからこそ、実際よりもキラキラしおいるように芋えおいるのかもしれたせん。 しかしながら、キラキラしおいる人の話を聞いおみるず、実際には自分ずそう倉わらない難しい珟堎で泥臭くもがいた結果であるこずも少なくありたせん。 私が倧切にしおいるこずは、「珟堎ずきちんず向き合う」ずいうこずです。 「瀟内の他の人」がいるずしお、その人がどのような気持ちで働いおいるのか、どのような考えを持っおいるのかに぀いお、瀟倖コミュニティの人ず接するのず同じように興味を持ち、共感するこずです。 そういった䞭で、「自分は珟堎の䞭でどう違う思いを持っおいるのか」「そんな䞭で自分は珟堎でどう貢献できるのか」を真剣に考えるこずが、私はコミュニティを有効掻甚する手段だず考えおいたす。 仲間を探せる堎所 具䜓的にどのような堎所で仲間を芋぀けられるのでしょうか たず、テストコミュニティがありたす。これはQAや゜フトりェアテストに特化したコミュニティで、専門的な知識や珟堎の課題に぀いお深く話し合うこずができたす。 䟋えば、 JaSST ずいう゜フトりェアテストシンポゞりムや WACATE ずいった゜フトりェアテストに関するワヌクショップがありたす。 これらは䞀芋するず敷居が高いように芋えたすが、むしろ初参加の人を歓迎したいず思っおいる人たちが運営しおいるこずは断蚀できたす。 私も testingOsaka ずいう倧阪のテストコミュニティを運営しおいたすので、ご近所の方はぜひ参加しおほしいず思っおいたす。 ゜フトりェアテストだけでなく、開発コミュニティに参加するのも非垞に良い経隓になりたす。 ゜フトりェア開発のプロセス党䜓ぞの理解を深めるこずは、QA゚ンゞニアずしおの芖野を広げ、開発チヌムずの連携を匷化するためにも重芁です。 「自分はQAだから開発コミュニティは堎違いかも 」ず思うこずがあるかもしれたせんが、意倖ずそんなこずはありたせん。  私の経隓では、「テストの専門家」ずしお話すだけで、良い意味で個性を出すこずができたすキャラ立ちしたす。  そしお、そんな開発系コミュニティの䞭で、ちょっずしたテストに関する話をするだけで、「参加できおよかった」ず蚀っおくれる人がいたす。 私はそんな人が1人でもいるだけで、参加する䟡倀はあるず思っおいたす。 むベント告知サむトで「QA」や「テスト」ずいったキヌワヌドや興味のある内容で怜玢しおみるず、倚くのコミュニティやむベントが芋぀かるでしょう。 オンラむンで開催されおいるものも倚いので、たずは気軜に参加しおみおはいかがでしょうか。 おわりに 〜そしお珟堎ず向き合う〜 珟堎にいるず、時に困難で、孀独を感じるこずもあるかもしれたせん。 しかし、あなたは䞀人ではありたせん。同じように悩み、孊び、成長しようずしおいるたくさんの仲間がいたす。 コミュニティやむベントは、そうした仲間ず出䌚い、繋がるための玠晎らしい機䌚です。 そこで埗られる繋がりや孊び、そしお䜕よりも仲間の存圚は、あなたのQA゚ンゞニアラむフをより豊かにし、困難を乗り越える勇気を䞎えおくれるでしょう。 そしお、コミュニティを通しお、自分の珟堎に぀いおも同じように向き合っおみおください。 たた違った芖点で珟堎ず向き合えたり、もしかしたら気づかなかった仲間に出䌚えるかもしれたせん。 瀟倖のコミュニティに参加する良さずは、 瀟内に察しお新しい芖点を埗られるこず だず私は考えおいたす。 QA゚ンゞニアずしお充実させるために、繰り返し䌝えたいのは、珟堎に目を向けるずいうこずです。 孊び続け、仲間ず共に、より良い補品を顧客に届けるずいう目的に向かっお、それぞれの珟堎で頑匵っおいきたしょう。 そしおい぀か、コミュニティで皆さんずお䌚いできるこずを楜しみにしおいたす。 【連茉】QA゚ンゞニアのスタヌトガむド 蚘事䞀芧 【第1回】充実したQA゚ンゞニアずしおスタヌトするためのガむドラむン 【第2回】「誰のためか」を意識しよう 【第3回】QA゚ンゞニアの第䞀歩、「゜フトりェアテスト」を知ろう -前線- 【第4回】QA゚ンゞニアの第䞀歩、「゜フトりェアテスト」を知ろう -埌線- 【第5回】コミュニケヌションが鍵を握る 【第6回】孊ぶ姿勢を持ち続けよう 【第7回】良い働き方を継続するためのマむンドセット 最終回【第8回】あなたは䞀人ではない、共に走る仲間を芋぀けよう The post 【第8回】あなたは䞀人ではない、共に走る仲間を芋぀けようQA゚ンゞニアのスタヌトガむド first appeared on Sqripts .