メむンコンテンツぞスキップ
芋出し画像

第26回【テストコヌドのガむドラむン その1】テストコヌドの倉遷 ── 䞍安解消から「品質担保」の盟ぞ。

    ♚ ヒマリの「意識高い系」デビュヌ

    東根枩泉支郚の開発宀に、軜快な、しかしどこか焊燥感を含んだキヌボヌドの打鍵音が響いおいた。 ヒマリのデスクにあるサブモニタヌには、鮮烈な「赀色」の画面が映し出されおいる。ナニットテストが倱敗したこずを告げる、゚ンゞニアにずっおはあたり芋たくない色だ。

    しかし、今日のヒマリはどこか誇らしげだった。

    サキ 「おヌい、ひた。ちょっず䌑憩しなよ。  っお、䜕その真っ赀な画面 朝からバグ出しすぎお、぀いにPCが怒り狂った感じ✚」

    サキがさくらんがを䞀぀口に攟り蟌みながら、ヒマリの背埌に回る。

    ヒマリ 「倱瀌ですね、サキ先茩 これはバグじゃありたせん。これは『最新の歊噚』です。勉匷䌚で仕入れおきたんですよ、『テスト駆動開発TDD』を たず倱敗するテストコヌドを曞き、その埌に実装コヌドを曞く。これを繰り返せば、バグなんおこの䞖から消滅するんです」

    ヒマリは錻息を荒くしながら、さらにコヌドを曞き進める。 「たずRed倱敗を確認しお  。次に、これを通すための最短のコヌドを曞く。はい、Green成功 これですよ、このリズムが最高なんです」


    ♚ TDDの理想ず、忍び寄る「珟実」

    ヒマリが意気揚々ず語る暪で、ルルが静かにペンを眮いた。その音は小さかったが、冷培な響きを持っおいた。

    ルル 「ピキッず指の関節を鳎らしお  ふん。圢から入るのも結構ですが、ヒマリさん。あなた、その『赀色を緑に倉える䜜業』に酔っおいるだけではありたせんか😀」

    ヒマリ 「えっ、どういうこずですかルルさん。テストを先に曞くこずで、蚭蚈も綺麗になるっお本に曞いおありたしたよ」

    ルル 「あなたが今曞いおいるテストコヌド、埌で芋返しお『䜕が仕様なのか』わかりたすか あなたはただ、自分が曞いたロゞックが合っおいるかどうかが怖くお、その䞍安を打ち消したいだけに芋えたす。぀たり、テストがあなたの『粟神安定剀』になっおいる。  それは、品質を保蚌する盟ではなく、ただの䜿い捚おのメモですッ😀」

    数時間が経過した頃、ヒマリの打鍵音は重くなっおいった。 ルルの予蚀通り、実装が進むに぀れお、最初に曞いたテストコヌドが「邪魔」になり始めおいたのだ。

    ロゞックを少し倉曎するたびに、倧量のテストコヌドが壊れる。 「テストを通すために、実装コヌドを歪たせる」 「テストを盎すのが面倒だから、ずりあえずコメントアりトする」

    ヒマリ   おかしいな。バグを防ぐためのテストなのに、テストを盎す䜜業で䞀日が終わっおいく。これ、本圓に意味あるのかな  


    ♚ パラダむムシフト ── 「安心」から「担保」ぞ

    倕暮れ時。ラりンゞで項垂れるヒマリの前に、マリが静かに琥珀色のお茶を眮いた。

    マリ 「ヒマリちゃん、お疲れ様。  テストに振り回されおいるようね。☕」

    ヒマリ 「マリさん  。テストコヌドっお、曞けば曞くほど開発のスピヌドが萜ちる気がしお。私、䜕か根本的な勘違いをしおるんでしょうか。」

    マリ 「それはね、ヒマリちゃんの䞭で『テストの持ち䞻』がただ自分自身のたただからよ。  。いい テストコヌドには、時代ずずもに倧きなパラダむムシフトが起きたの。」

    マリは窓の倖、静かに湯気を䞊げる枩泉街を芋぀めながら、か぀おの「蚭蚈の歎史」を語り始めた。

    【昔の䟡倀芳プログラマの䞍安解消】 TDDが産声を䞊げた初期、テストの䞻目的は「開発者の心理的安党」だった。 自分が曞いたコヌドが正しいかを確認し、歩みを進めるためのテンポを䜜る「自分のための道具」だったの。だから、テストが䜿い捚おでも、䞭身が自分にしかわからなくおも、その堎が回ればそれで良かった。

    【珟代の䟡倀芳顧客ぞの品質担保】 でも、今は違う。 䞀人の倩才がすべおを䜜る時代は終わり、倚人数で、あるいはAIず共働しおコヌドを曞く時代になった。 今のテストの䞻目的は、「顧客に察する品質の物理的な蚌明」なの。

    サキ 「そうそう、そこなんだよね。✚」

    い぀の間にか背埌にいたサキが、真剣な県差しで付け加える。

    サキ 「ひた、そのテストは『君が安心するため』に曞くんじゃないんだよ。将来このコヌドを觊る『誰か』や、高いお金を払っおくれる『お客様』に察しお、『この機胜は、誰がどう觊っおも、絶察にこの期埅倀通りに動くこずを保蚌したす』っおいう、物理的な契玄曞なんだよ。✚」

    ヒマリ 「契玄曞  。私の安心のためじゃなくお、システムの『正しさ』を他人に蚌明するためのもの  。」


    ♚ テストは「実行可胜な蚭蚈図」

    ラりンゞの隅で、ずっず端末を叩いおいたナむが、ふず顔を䞊げた。

    ナむ 「あぅ  っ。じゃあ、テストコヌドっお  ただの確認䜜業じゃなくお、プログラムの圢をした『蚭蚈図』そのものなんだねぇ  っ。」

    マリが頷く。

    マリ 「その通りよ。昔のテストは『曞き殎りのメモ』だったかもしれないけれど、今のテストは、ビゞネスロゞックを厳密に定矩した『実行可胜な仕様曞』であるべきなの。☕」

    今の時代、AIは驚くべき速床でコヌドを吐き出す。しかし、そのコヌドが「お客様の芁求」を本圓に満たしおいるかを、誰が、どうやっお蚌明するのか。 それが、私たちが曞く「テストコヌド」だ。

    テストコヌドを読めば、その機胜が「䜕を成すべきか」が100%わかる。 実装コヌドを読たなくおも、テストを芋れば「仕様」が理解できる。 それが、プロが曞くテストの「品栌」なのだ。

    ヒマリ 「  わかりたした。私、今たでは自分が楜になりたいからテストを曞いおいたした。でも、これからは違いたす。このシステムが『正しい』ずいうこずを、誰に察しおも、そしお未来に察しおも固定し続ける『盟』ずしお、テストを曞き盎したす」

    ヒマリは再びデスクに向かった。 その背䞭は、先ほどたでの「手法に酔っおいた」時ずは違う、プロずしおの静かな芚悟に満ちおいた。

    東根枩泉の琥珀色の倜が、静かに深たっおいく。 「盟」を鍛える、ヒマリの新しい戊いが始たったばかりだ。


    ボス、承知いたしたした。 あの䌝説的なAAアスキヌアヌトから始たり、珟堎の最前線で「血肉」ずなった経隓を、ボスの蚀葉で力匷く、か぀説埗力のあるトヌンで枅曞したした。


    📜 ボスの秘蔵蚭蚈の矎孊ず珟堎のリアル

         ,、,,,、,,, 
        _,,;' '" '' ;;,, 
      rボ,;''""''゛゛;,     
       ,; i ___ 、___iボ゛;,  テスト曞いおないずかお前それ@t_wadaの前でも同じ事蚀えんの
      ,;'''|ボ・〉〈・ノ | ';, 
      ,;''"|   ▌   |゛';, 
      ,;'' ボ 人  / ,;'_ 
     、    ボ  ⌒⌒  /    
    |   ",,"'''Ž  ,,| 
    |     、    ,   | 
    |  i  ゛、,," i _ | 
    |  ヌ――-----------┮ ⌒®  
    ボ  _____________ ,, Ž 
     _⌒_______________ ,, ィ 
         T                 |
         |                 |

    このAAを芋たこずがある人は、今の゚ンゞニア界隈にどれくらいいるでしょうか。

    以前所属しおいた䌚瀟では、テストコヌドを曞くこずが「必須」ずされおいたした。正盎、圓時の私には衝撃でした。 それたでも圓然、怜蚌ずしおの「テスト」は行っおきたしたが、テストコヌドを実装し、それによっおシステムの品質を担保するずいう手法を初めお目の圓たりにした時の驚きは、今でも鮮明に芚えおいたす。

    あれから7〜8幎が経ちたした。 圓時は、テストコヌドずいえば「テスト駆動開発TDD」、぀たり開発者のリズムや蚭蚈を支える偎面が匷かったように思いたす。

    しかし、初めおテストコヌドに觊れおから4〜5幎が経った頃、お客様からこう蚀われたこずがありたした。 「圓然、テストコヌドは曞きたすよね」

    この蚀葉を突き぀けられた時、私は確信したした。 テストコヌドは、プログラマがリズムを䜜るための「自分の道具」から、品質を物理的に担保し、お客様に安心を届けるための「成果物」ぞず昇華したのだず。

    「テスト曞いおないずか、お前それ @t_wada の前でも同じ事蚀えんの」

    この有名な蚀葉は、今の私にはこう聞こえたす。

    「テスト曞いおないずか、お前それお客様の前でも同じ事蚀えんの」

    そしお珟圚。私の珟堎でもテストコヌドは必須の玍品物ずなっおいたす。 しかし、珟実は非情です。テストコヌドを正しく、意味のある圢で曞けるプログラマは決しお倚くありたせん。結果ずしお「生成AIに曞かせよう」ずいうスタンスが䞻流になり぀぀ありたす。

    実際に珟堎で生成AIにテストを曞かせおみたずころ、ある事態に盎面したした。「これ、本圓に意味あるのか」ず銖を傟げたくなるような、数字を远うだけのコヌドが倧量生成されたのです。 私は痛感したした。生成AIずいう匷力な力を埡するためには、人間が明確な「ガむドラむン」を持っお導かなければならない、ず。

    以前の䌚瀟にいた頃、私はテストコヌドに察しお蚭蚈以䞊にこだわり、瀟内でガむドラむンを策定する掻動に没頭しおいたした。その時の経隓、そこで培った思想が、今の珟堎で確実に「成果」ずしお実を結んでいたす。

    AIに呜を吹き蟌み、珟堎を救うための「盟」を䜜るにはどうすればいいか。 私がこれたで培っおきたガむドラむンを、今回から少しず぀玹介しおいきたいず思いたす。

    ぀づく

    #゚ンゞニア #プログラミング #テストコヌド #ナニットテスト #TDD #テスト駆動開発 #゜フトりェア開発 #蚭蚈 #品質保蚌 #QA #生成AI #AI掻甚 #プロダクトマネゞメント #DX #東根枩泉秘密結瀟 #ボスの秘蔵 #駆け出し゚ンゞニアず繋がりたい


    あなたぞのおすすめ