「品質は、誰かにとっての価値である」Gerald Marvin Weinberg:ソフトウェア文化を創る1 ワインバーグのシステム思考法 より
はじめに
どうも!
ユニファ株式会社でQA(品質保証)エンジニアをしています、高田です!
※自己紹介については、去年の投稿*1を、ご覧ください!
いやはや。
巷では生成AIや大規模言語モデル(LLM)について、色々と活発に動いていますよね!
つい先日、友人から最近出た(先月1月に、"arxiv"で公開された)メタ社の論文「Mutation-Guided LLM-based Test Generation at Meta」*2のことを教えてもらい、QA(品質保証)の世界でも大規模言語モデルをベースにしたテスト手法が、実践の現場でも出てくるのかな〜と、ワクワクしています!
LLMベースで考える、TDD(テスト駆動開発)といったところでしょうか?
いや?違うか?
とまぁそんなことを考えつつ、本格的にチームにアサインして業務に勤しんでいる中で、ふと思ったことがありまして。
それは、
って
「おっと、なんか難しいこと考えてるな〜」と思ったそこのアナタ!
これ、結構重要だったりするんですよね〜
ん?なんでかって?
そりゃ、目指す姿があれば Enablementを持って、前に向かって進める じゃないですか!
むむっ?イメージできなくて分からない、と。
わかりました。
では今から、「 そ こ そ こ、 納得できる」ように、例え話を交えて説明しましょう!
もし、
アナタの友人(でも良いですし、旦那さんでも奥さんでも、誰か親しい方)からいきなり、
「◯月✗日に、旅行行くよ!!」
と、アナタに向かって提案して、
行き先もな〜んも伝えずに、
とりあえずなんとな〜く、
それとな〜しに準備して、
当日になって「どこに行くの?」と尋ねると
「これから、ヨーロッパを横断して北極圏を旅するぞ!!!」
と言われたら、ちょっと不安になりません?
「水曜どうでしょう*3」の若かりし頃の大泉洋さんみたいにさ、
- 急に言われてな〜んも準備出来てないから、車中は、ほぼクダ巻くしさ
- 「ここを、キャンプ地とする!!」*4といって、深夜12時にドイツの原っぱで野宿しようって、なるしさ*5
- しまいにゃそんな中で洋ちゃん、しばれて*6眠れんくなってさ!(薄着*7で夜を過ごして、大変な目に.....)
すったらもんあったら、ゆるくね〜べや!?もう、わやだ!? *8!!!
........つい感情が昂って、訛ってしまいました。
失敬!
※ちなみに高田は北海道出身で、「生粋のどうでしょう藩士」でもあります。
つまり何が言いたいかというと、
「目的も、手段も、方向性も何も無いまま進むとなると、どこに向かっているのか、何故向かっているのか分からなくなって、"不安"になってしまいますよね?」
ということを、言いたいのです!
なので、ここいらで「向かう先 = ユニファQAが目指す、QAエンジニアの姿」というのを、ちょっと考察しようかと思い立ったわけです!
おことわり
ここでの考察は、 ユニファQAチーム内で、決定したものでは無いということを、最初に申し上げておきます。
ユニファQAの一員である高田が、「 ユニファQAの、ある一つの姿やあり方の可能性 」について、考えたことを述べることにします。
なので、この投稿を読んでくださって「あぁ、そういうのも、あるんだな〜」と参考に思っていただければ、ありがたいです!
品質を語るには、「◯◯◯」が大事である
まず、最初に申し上げたいのは、
です。
上記は, この前ユニファの開発部署内であったLTにて、高田が話したネタから引っ張って来ました!
"点"と"点"が、"線"で結ばれるように、
そしてその線で結ばれたストーリーを語る上で必要になってくる要素を、以下に挙げておきます。
そう。5W1H です!
これからユニファQAの姿を語る上で、重要な考え方のフレームワークとして考えていくことにします。
「じゃあ、それをベースにして何を考えるのさ!」と読んでくださってる方の声が、聞こえてきそうです。
それが次に出てくる、「 ユニファのValue(行動指針)に沿ったテスト」です
「 ユニファのValue(行動指針)に沿ったテスト」って?
ユニファでは、以下のValueを持って行動することで、それぞれの役割に対して「自由と責任」を持って日々従事しています。
その行動指針から、以下のように「ユニファQAのテスト」を、導出してみました。
「PlayFair」なテスト:開発チームとの協業、伴走
「OneMoreStep」なテスト:「品質 = "誰かにとっての価値"」の”創造”
それぞれのValueに対して、「 〜なテスト 」とつけたものになります。
では、それぞれのValueに沿ったテストはどのような活動が考えられるか、掘り下げてみます。
-
シフトレフトのテスト(LeanとDevOps)の推進
- MTTR(mean time to recovery:平均修復時間)などの改善による、リードタイム短縮
- デプロイ頻度の向上
- リリースサイクルの向上
- 改善サイクルの継続的改善
「PlayFair」なテスト:開発チームとの協業、伴走
-
オンデマンドのコミュニケーション
- 仕様レビューからのQAチーム参加
- 変化のキャッチアップ
- 「定量的な評価」や「定性的な評価」といった、テストメトリクス(品質指標)の策定・運用
- 変化の能動的なキャッチアップ
- 予防QAのアプローチ
- Validation Check(妥当性確認)*12
- 不具合によって齎される「機会損失」を極力少なくする
「OneMoreStep」なテスト:「品質 = "誰かにとっての価値"」の”創造”
- 「その先の未来に存在する、誰か」に向けた価値にフォーカス
- 「自動テスト」と「手動テスト」両方の特性を活かした、ユーザーフレンドリーなシステムの実現
まだまだ掘り下げることはいっぱいあるのですが、今現在、高田が5W1Hで考察した「ユニファのValue(行動指針)に沿ったテスト」の内容は、上記にようになります。
ここで、一つ疑問に思ったかもしれません。
" 「OneMoreStep」なテストが、最初じゃないの? " と。
高田も最初、そのように考えていました。
社長も、Valueを紹介する時「OneMoreStep」から言ってたし。
が、Valueに沿ったテストを見ていくうちに、こう考えたのです。
「 あ、OneMoreStep なテストが、最終的に目指す "ユニファQAの姿だ" 」と
3つのユニファのValue(行動指針)に沿ったテストを見ているうちに、
「SpeedDrivenなテスト」
「PlayFair なテスト」
「OneMoreStep なテスト」
の順番で、「 定量的な評価 」から「 定性的な評価 」の流れで 品質指標策定 を図れるのではないかと、考えたからです。
敬愛する、あるQAエンジニアさんから、「 定量的評価で"いつでも価値を届けるコンディションを整えて"、ユーザーに届けた後 "モニタリングを通して" 定性的評価をする 」と教わったことがあります。
ならば、最初にやるべきは「 SpeedDriven なテスト 」と「 PlayFair なテスト 」でユーザーに、いつでも価値を届ける状態にコンディションを整えることであり、「 OneMoreStep なテスト 」につなげて、「 保育に関わる全ての人たちに、価値を届ける 」。
これが、高田が考えた「 ユニファQAが目指す、QAエンジニアの姿 」です。
結びに
ここまで、色々と申して来ましたが、今現在ユニファのQAでは「 SpeedDriven なテスト 」に向けて、 テスト自動化の導入に向けた検討・トライアルといった活動 を実施しています。
また、高田が現在アサインしている開発チームにおいても「 PlayFair なテスト 」の実現に向けて、 テストプロセス改善に向けた活動(実践や可視化など) も同時並行で実施しています。
基本的なことのように見えますが、こういうのを一つづつ積み上げることって、大事なんですよね。
「 型があってこそ型破り、型がなくては形無し 」歌舞伎役者 十八代目 中村勘三郎の言葉
QAエンジニアとしての腕を磨き、価値を届ける "旅" は、まだまだ続きます。
芸事も技術も何事も、「 守破離 」が大事ってことですね。
前回の前後編の記事に続き、今回の記事も長々となってしまいましたが、ここまで読んでくださって、ありがとうございます!
では、また!
ユニファでは家族の幸せを生み出すあたらしい社会インフラを一緒につくっていく仲間を大募集しています! 気になる方はぜひこちらのサイトもチェックしてみてください。
*2:Mutation-Guided LLM-based Test Generation at Meta:メタ社の変異誘導型LLMベースドテスト生成システム「ACH」についての論文
*3:北海道で放映していた、"伝説的"ローカル番組
*4:"どうでしょう藩士"には、おなじみの名シーン。1999年放送「ヨーロッパ・リベンジ」より
*5:大泉洋さん「(ククっ)ただの、原っぱじゃないですか〜」って、爆笑してましたけど
*6:北海道弁で、”痛いくらいに寒い、凍える"こと
*7:詳しくは、動画配信サービス等でご確認ください
*8:北海道弁で, "そんな事があったら、大変でしょ!?(疲れるよ!?)。もう、めちゃくちゃよ!?"という意。
*9:ユニファの開発部署内であったLT「Tech Lunch」にて高田話した「QAテスト設計の基礎」より "テスト設計の5W1H"
*10:ユニファの開発部署内であったLT「Tech Lunch」にて高田話した「QAテスト設計の基礎」より "テスト設計の5W1H"
*11:ユニファ株式会社 会社紹介資料より, 抜粋
*12:テストの原則 第7項:「欠陥ゼロ」の落とし穴によるアプローチ