A Google Team Measured Half of My Argument, and Left the Other Half Open
🇬🇧 English
A recent Google paper showed spec-driven test generation raised bug detection by 9.8 percentage points on a sample from their codebase. But their spec is read out of the code, which leaves the half I care about unresolved. I have been arguing for months that a test suite written by the same model that wrote the code cannot really disagree with it and to support my claim I've developed a new open source Python library.
Software testing has been moving in one direction for twenty years, and Specification-Driven Development (SDD) is where that movement has recently arrived. This article argues for one more step: Independent SDD, or ISDD. TDD said the tests are the specification. BDD was the answer to that. SDD is the version that arrived with the agents.
Currently, Spec-Driven Development divides the work. It does not divide who has the knowledge. The same specification goes to the planner, the test generator and the coding agent. My argument is to cut along that line: give the coding agent the decisions and withhold the acceptance criteria, so the test suite can tell the code it is wrong.
A team at Google measured the step before withholding. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" does something narrower than my argument. They first ask it to reason about the code and write down its contract. That document becomes a cognitive scaffold and the tests are generated from it. The results, on production bugs from Google's own codebase, showed that more than half the time, a test suite generated...
🇸🇦 العربية
توليد الاختبارات الموجه بالمواصفات من Google: نصف الحجة
أظهرت ورقة بحثية حديثة من Google أن توليد الاختبارات الموجه بالمواصفات رفع اكتشاف الأخطاء بنسبة 9.8 نقطة مئوية على عينة من قاعدة الأكواد الخاصة بهم. لكن مواصفاتهم تُقرأ من الكود، مما يترك النصف الذي يهمني دون حل. لقد كنت أجادل لشهور أن مجموعة اختبارات كتبها نفس النموذج الذي كتب الكود لا يمكنها حقًا أن تختلف معه، ولدعم ادعائي قمت بتطوير مكتبة Python مفتوحة المصدر جديدة.
تحركت اختبارات البرمجيات في اتجاه واحد لعشرين عامًا، والتطوير الموجه بالمواصفات (SDD) هو حيث وصلت هذه الحركة مؤخرًا. تدافع هذه المقالة عن خطوة إضافية: SDD المستقل، أو ISDD. قال TDD إن الاختبارات هي المواصفات. كان BDD هو الرد على ذلك. SDD هو الإصدار الذي جاء مع الوكلاء.
حاليًا، يقسم التطوير الموجه بالمواصفات العمل. لا يقسم من يملك المعرفة. نفس المواصفات تذهب إلى المخطط، ومولد الاختبارات، ووكيل البرمجة. حجتي هي القطع على طول هذا الخط: أعطِ وكيل البرمجة القرارات واحجب معايير القبول، حتى تتمكن مجموعة الاختبارات من إخبار الكود بأنه خاطئ.
قام فريق في Google بقياس الخطوة قبل الحجب. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" يفعل شيئًا أضيق من حجتي. يطلبون أولاً منه التفكير في الكود وكتابة عقده. تصبح هذه الوثيقة سقالة معرفية وتُولد الاختبارات منها. النتائج، على أخطاء الإنتاج من قاعدة أكواد Google الخاصة، أظهرت أنه في أكثر من نصف الوقت، مجموعة اختبارات مولدة...
ما هي الحجة الرئيسية للمقال بشأن الاختبارات المولدة بالذكاء الاصطناعي؟
الحجة الرئيسية هي أن مجموعة اختبارات كتبها نفس النموذج الذي كتب الكود لا يمكنها حقًا أن تختلف معه. يقترح المؤلف SDD المستقل (ISDD)، حيث يتلقى وكيل البرمجة المتطلبات ولكن ليس معايير القبول، حتى تتمكن مجموعة الاختبارات من التحقق من الكود بشكل مستقل.
🇧🇩 বাংলা
Google স্পেক-চালিত টেস্ট জেনারেশন: অর্ধেক যুক্তি
সম্প্রতি Google-এর একটি পেপার দেখিয়েছে যে স্পেক-চালিত টেস্ট জেনারেশন তাদের কোডবেসের নমুনায় বাগ সনাক্তকরণ ৯.৮ শতাংশ পয়েন্ট বাড়িয়েছে। কিন্তু তাদের স্পেক কোড থেকে পড়া হয়, যা আমার কাছে গুরুত্বপূর্ণ অর্ধেকটি অমীমাংসিত রেখে দেয়। আমি মাস ধরে যুক্তি দিয়ে আসছি যে যে মডেল কোড লিখেছে সেই একই মডেলের লেখা টেস্ট স্যুট সত্যিই তার সাথে দ্বিমত পোষণ করতে পারে না, এবং আমার দাবি সমর্থনের জন্য আমি একটি নতুন ওপেন সোর্স Python লাইব্রেরি তৈরি করেছি।
সফটওয়্যার টেস্টিং বিশ বছর ধরে এক দিকে এগিয়ে চলেছে, এবং স্পেসিফিকেশন-চালিত উন্নয়ন (SDD) হল যেখানে এই আন্দোলন সম্প্রতি পৌঁছেছে। এই নিবন্ধটি আরও এক ধাপের পক্ষে যুক্তি দেয়: স্বাধীন SDD, বা ISDD। TDD বলেছিল টেস্টই স্পেসিফিকেশন। BDD ছিল তার উত্তর। SDD হল সংস্করণ যা এজেন্টদের সাথে এসেছে।
বর্তমানে, স্পেক-চালিত উন্নয়ন কাজকে ভাগ করে। এটি ভাগ করে না কার জ্ঞান আছে। একই স্পেসিফিকেশন পরিকল্পনাকারী, টেস্ট জেনারেটর এবং কোডিং এজেন্টের কাছে যায়। আমার যুক্তি হল সেই রেখা বরাবর কাটা: কোডিং এজেন্টকে সিদ্ধান্ত দিন এবং গ্রহণযোগ্যতার মানদণ্ড আটকে রাখুন, যাতে টেস্ট স্যুট কোডকে বলতে পারে যে এটি ভুল।
Google-এর একটি দল আটকে রাখার আগের ধাপটি পরিমাপ করেছে। "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" আমার যুক্তির চেয়ে সংকীর্ণ কিছু করে। তারা প্রথমে এটিকে কোড সম্পর্কে যুক্তি করতে এবং এর চুক্তি লিখতে বলে। সেই নথিটি একটি জ্ঞানীয় ভারা হয়ে ওঠে এবং এটি থেকে টেস্ট তৈরি হয়। ফলাফল, Google-এর নিজস্ব কোডবেসের উৎপাদন বাগগুলিতে, দেখায় যে অর্ধেকেরও বেশি সময়, একটি উৎপন্ন টেস্ট স্যুট...
AI-উত্পন্ন টেস্ট সম্পর্কে নিবন্ধের মূল যুক্তি কী?
মূল যুক্তি হল যে যে মডেল কোড লিখেছে সেই একই মডেলের লেখা টেস্ট স্যুট সত্যিই তার সাথে দ্বিমত পোষণ করতে পারে না। লেখক স্বাধীন SDD (ISDD) প্রস্তাব করেন, যেখানে কোডিং এজেন্ট প্রয়োজনীয়তা পায় কিন্তু গ্রহণযোগ্যতার মানদণ্ড নয়, যাতে টেস্ট স্যুট স্বাধীনভাবে কোড যাচাই করতে পারে।
🇩🇪 Deutsch
Googles spezifikationsgesteuerte Testgenerierung: Die Hälfte des Arguments
Ein aktuelles Google-Papier zeigte, dass spezifikationsgesteuerte Testgenerierung die Fehlererkennung um 9,8 Prozentpunkte auf einer Stichprobe ihrer Codebasis erhöhte. Aber ihre Spezifikation wird aus dem Code gelesen, was die Hälfte, die mir wichtig ist, ungelöst lässt. Ich argumentiere seit Monaten, dass eine Testsuite, die von demselben Modell geschrieben wurde, das den Code geschrieben hat, ihm nicht wirklich widersprechen kann, und um meine Behauptung zu untermauern, habe ich eine neue Open-Source-Python-Bibliothek entwickelt.
Softwaretests bewegen sich seit zwanzig Jahren in eine Richtung, und die spezifikationsgesteuerte Entwicklung (SDD) ist der Punkt, an dem diese Bewegung kürzlich angekommen ist. Dieser Artikel plädiert für einen weiteren Schritt: unabhängiges SDD oder ISDD. TDD sagte, die Tests seien die Spezifikation. BDD war die Antwort darauf. SDD ist die Version, die mit den Agenten kam.
Derzeit teilt die spezifikationsgesteuerte Entwicklung die Arbeit. Sie teilt nicht, wer das Wissen hat. Dieselbe Spezifikation geht an den Planer, den Testgenerator und den Codierungsagenten. Mein Argument ist, entlang dieser Linie zu schneiden: Gib dem Codierungsagenten die Entscheidungen und behalte die Abnahmekriterien zurück, damit die Testsuite dem Code sagen kann, dass er falsch ist.
Ein Team bei Google hat den Schritt vor dem Zurückhalten gemessen. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" tut etwas Engeres als mein Argument. Sie bitten es zuerst, über den Code zu reasoning und seinen Vertrag zu schreiben. Dieses Dokument wird zu einem kognitiven Gerüst und die Tests werden daraus generiert. Die Ergebnisse an Produktionsfehlern aus Googles eigener Codebasis zeigten, dass mehr als die Hälfte der Zeit eine generierte Testsuite...
Was ist das Hauptargument des Artikels bezüglich KI-generierter Tests?
Das Hauptargument ist, dass eine Testsuite, die von demselben Modell geschrieben wurde, das den Code geschrieben hat, ihm nicht wirklich widersprechen kann. Der Autor schlägt unabhängiges SDD (ISDD) vor, bei dem der Codierungsagent Anforderungen, aber keine Abnahmekriterien erhält, damit die Testsuite den Code unabhängig validieren kann.
🇪🇸 Español
Generación de Pruebas Especificadas por Google: La Mitad del Argumento
Un artículo reciente de Google mostró que la generación de pruebas especificadas aumentó la detección de errores en 9.8 puntos porcentuales en una muestra de su base de código. Pero su especificación se lee del código, lo que deja sin resolver la mitad que me importa. He estado argumentando durante meses que un conjunto de pruebas escrito por el mismo modelo que escribió el código no puede realmente discrepar de él, y para respaldar mi afirmación he desarrollado una nueva biblioteca de Python de código abierto.
Las pruebas de software se han movido en una dirección durante veinte años, y el Desarrollo Especificado (SDD) es donde ese movimiento ha llegado recientemente. Este artículo aboga por un paso más: SDD Independiente, o ISDD. TDD dijo que las pruebas son la especificación. BDD fue la respuesta a eso. SDD es la versión que llegó con los agentes.
Actualmente, el Desarrollo Especificado divide el trabajo. No divide quién tiene el conocimiento. La misma especificación va al planificador, al generador de pruebas y al agente de codificación. Mi argumento es cortar a lo largo de esa línea: dar al agente de codificación las decisiones y retener los criterios de aceptación, para que el conjunto de pruebas pueda decirle al código que está equivocado.
Un equipo de Google midió el paso antes de retener. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" hace algo más estrecho que mi argumento. Primero le piden que razone sobre el código y escriba su contrato. Ese documento se convierte en un andamiaje cognitivo y las pruebas se generan a partir de él. Los resultados, en errores de producción de la propia base de código de Google, mostraron que más de la mitad de las veces, un conjunto de pruebas generado...
¿Cuál es el argumento principal del artículo sobre las pruebas generadas por IA?
El argumento principal es que un conjunto de pruebas escrito por el mismo modelo que escribió el código no puede realmente discrepar de él. El autor propone SDD Independiente (ISDD), donde el agente de codificación recibe requisitos pero no criterios de aceptación, para que el conjunto de pruebas pueda validar el código de forma independiente.
🇫🇷 Français
Génération de tests pilotée par spécifications de Google : la moitié de l'argument
Un récent article de Google a montré que la génération de tests pilotée par spécifications a augmenté la détection de bogues de 9,8 points de pourcentage sur un échantillon de leur base de code. Mais leur spécification est lue à partir du code, ce qui laisse sans résolution la moitié qui m'importe. Je soutiens depuis des mois qu'une suite de tests écrite par le même modèle qui a écrit le code ne peut pas vraiment être en désaccord avec lui, et pour appuyer ma revendication, j'ai développé une nouvelle bibliothèque Python open source.
Les tests logiciels évoluent dans une direction depuis vingt ans, et le développement piloté par spécifications (SDD) est là où ce mouvement est récemment arrivé. Cet article plaide pour une étape supplémentaire : le SDD indépendant, ou ISDD. Le TDD a dit que les tests sont la spécification. Le BDD a été la réponse à cela. Le SDD est la version qui est arrivée avec les agents.
Actuellement, le développement piloté par spécifications divise le travail. Il ne divise pas qui détient la connaissance. La même spécification va au planificateur, au générateur de tests et à l'agent de codage. Mon argument est de couper le long de cette ligne : donner à l'agent de codage les décisions et retenir les critères d'acceptation, afin que la suite de tests puisse dire au code qu'il a tort.
Une équipe de Google a mesuré l'étape avant la rétention. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" fait quelque chose de plus étroit que mon argument. Ils lui demandent d'abord de raisonner sur le code et d'écrire son contrat. Ce document devient un échafaudage cognitif et les tests sont générés à partir de lui. Les résultats, sur des bogues de production de la propre base de code de Google, ont montré que plus de la moitié du temps, une suite de tests générée...
Quel est l'argument principal de l'article concernant les tests générés par IA ?
L'argument principal est qu'une suite de tests écrite par le même modèle qui a écrit le code ne peut pas vraiment être en désaccord avec lui. L'auteur propose le SDD indépendant (ISDD), où l'agent de codage reçoit les exigences mais pas les critères d'acceptation, afin que la suite de tests puisse valider le code de manière indépendante.
🇮🇳 हिन्दी
Google स्पेक-संचालित टेस्ट जनरेशन: आधा तर्क
हाल ही में Google के एक पेपर ने दिखाया कि स्पेक-संचालित टेस्ट जनरेशन ने उनके कोडबेस के नमूने पर बग डिटेक्शन को 9.8 प्रतिशत अंक बढ़ाया। लेकिन उनका स्पेक कोड से पढ़ा जाता है, जो मेरे लिए महत्वपूर्ण आधे हिस्से को अनसुलझा छोड़ देता है। मैं महीनों से तर्क दे रहा हूं कि जिस मॉडल ने कोड लिखा है, उसी मॉडल द्वारा लिखा गया टेस्ट सूट वास्तव में उससे असहमत नहीं हो सकता है, और अपने दावे के समर्थन में मैंने एक नई ओपन सोर्स Python लाइब्रेरी विकसित की है।
सॉफ्टवेयर टेस्टिंग बीस वर्षों से एक दिशा में आगे बढ़ रही है, और स्पेसिफिकेशन-संचालित विकास (SDD) वह जगह है जहां यह आंदोलन हाल ही में पहुंचा है। यह लेख एक और कदम की वकालत करता है: स्वतंत्र SDD, या ISDD। TDD ने कहा कि टेस्ट ही स्पेसिफिकेशन हैं। BDD उसका उत्तर था। SDD वह संस्करण है जो एजेंटों के साथ आया।
वर्तमान में, स्पेक-संचालित विकास काम को विभाजित करता है। यह विभाजित नहीं करता कि ज्ञान किसके पास है। वही स्पेसिफिकेशन प्लानर, टेस्ट जनरेटर और कोडिंग एजेंट के पास जाता है। मेरा तर्क उस रेखा के साथ काटना है: कोडिंग एजेंट को निर्णय दें और स्वीकृति मानदंड रोक दें, ताकि टेस्ट सूट कोड को बता सके कि वह गलत है।
Google की एक टीम ने रोकने से पहले के कदम को मापा। "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" मेरे तर्क से संकीर्ण कुछ करता है। वे पहले इसे कोड के बारे में तर्क करने और अपना अनुबंध लिखने के लिए कहते हैं। वह दस्तावेज़ एक संज्ञानात्मक मचान बन जाता है और उससे टेस्ट उत्पन्न होते हैं। परिणाम, Google के अपने कोडबेस के उत्पादन बग्स पर, दिखाते हैं कि आधे से अधिक समय, एक उत्पन्न टेस्ट सूट...
AI-जनित टेस्ट के संबंध में लेख का मुख्य तर्क क्या है?
मुख्य तर्क यह है कि जिस मॉडल ने कोड लिखा है, उसी मॉडल द्वारा लिखा गया टेस्ट सूट वास्तव में उससे असहमत नहीं हो सकता है। लेखक स्वतंत्र SDD (ISDD) का प्रस्ताव करता है, जहां कोडिंग एजेंट को आवश्यकताएं मिलती हैं लेकिन स्वीकृति मानदंड नहीं, ताकि टेस्ट सूट स्वतंत्र रूप से कोड को मान्य कर सके।
🇮🇩 Bahasa Indonesia
Generasi Tes Berbasis Spesifikasi Google: Setengah Argumen
Makalah Google baru-baru ini menunjukkan bahwa generasi tes berbasis spesifikasi meningkatkan deteksi bug sebesar 9,8 poin persentase pada sampel dari basis kode mereka. Tetapi spesifikasi mereka dibaca dari kode, yang meninggalkan setengah yang saya pedulikan tidak terselesaikan. Saya telah berargumen selama berbulan-bulan bahwa rangkaian tes yang ditulis oleh model yang sama yang menulis kode tidak dapat benar-benar tidak setuju dengannya, dan untuk mendukung klaim saya, saya telah mengembangkan pustaka Python sumber terbuka baru.
Pengujian perangkat lunak telah bergerak dalam satu arah selama dua puluh tahun, dan Pengembangan Berbasis Spesifikasi (SDD) adalah tempat gerakan itu baru-baru ini tiba. Artikel ini berargumen untuk satu langkah lagi: SDD Independen, atau ISDD. TDD mengatakan tes adalah spesifikasi. BDD adalah jawaban untuk itu. SDD adalah versi yang datang dengan agen.
Saat ini, Pengembangan Berbasis Spesifikasi membagi pekerjaan. Ia tidak membagi siapa yang memiliki pengetahuan. Spesifikasi yang sama pergi ke perencana, generator tes, dan agen pengkodean. Argumen saya adalah memotong sepanjang garis itu: berikan agen pengkodean keputusan dan tahan kriteria penerimaan, sehingga rangkaian tes dapat memberi tahu kode bahwa itu salah.
Sebuah tim di Google mengukur langkah sebelum menahan. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" melakukan sesuatu yang lebih sempit dari argumen saya. Mereka pertama-tama memintanya untuk bernalar tentang kode dan menulis kontraknya. Dokumen itu menjadi perancah kognitif dan tes dihasilkan darinya. Hasilnya, pada bug produksi dari basis kode Google sendiri, menunjukkan bahwa lebih dari separuh waktu, rangkaian tes yang dihasilkan...
Apa argumen utama artikel tentang tes yang dihasilkan AI?
Argumen utama adalah bahwa rangkaian tes yang ditulis oleh model yang sama yang menulis kode tidak dapat benar-benar tidak setuju dengannya. Penulis mengusulkan SDD Independen (ISDD), di mana agen pengkodean menerima persyaratan tetapi bukan kriteria penerimaan, sehingga rangkaian tes dapat memvalidasi kode secara independen.
🇯🇵 日本語
Googleの仕様駆動テスト生成:議論の半分
最近のGoogleの論文は、仕様駆動テスト生成が彼らのコードベースのサンプルでバグ検出を9.8パーセントポイント向上させたことを示しました。しかし、彼らの仕様はコードから読み取られており、私が気にする半分は未解決のままです。私は何ヶ月も、コードを書いたのと同じモデルによって書かれたテストスイートは、実際にはそれと矛盾できないと主張してきました。そして、私の主張を支持するために、新しいオープンソースのPythonライブラリを開発しました。
ソフトウェアテストは20年間一方向に動いており、仕様駆動開発(SDD)はその運動が最近到達した場所です。この記事はもう一歩を主張します:独立SDD、つまりISDDです。TDDはテストが仕様であると言いました。BDDはそれに対する答えでした。SDDはエージェントとともに登場したバージョンです。
現在、仕様駆動開発は作業を分割します。それは誰が知識を持っているかを分割しません。同じ仕様がプランナー、テストジェネレーター、コーディングエージェントに行きます。私の議論はその線に沿って切ることです:コーディングエージェントに決定を与え、受け入れ基準を差し控えることで、テストスイートがコードに間違っていると伝えられるようにします。
Googleのチームは差し控える前のステップを測定しました。「Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation」は私の議論よりも狭いことを行います。彼らはまずそれにコードについて推論させ、契約を書かせます。その文書は認知的足場となり、そこからテストが生成されます。結果は、Google自身のコードベースの本番バグについて、半分以上の時間で、生成されたテストスイートが...
AI生成テストに関する記事の主な議論は何ですか?
主な議論は、コードを書いたのと同じモデルによって書かれたテストスイートは、実際にはそれと矛盾できないということです。著者は独立SDD(ISDD)を提案しており、そこではコーディングエージェントが要件を受け取りますが、受け入れ基準は受け取らないため、テストスイートはコードを独立して検証できます。
🇧🇷 Português
Geração de Testes Especificada pelo Google: Metade do Argumento
Um artigo recente do Google mostrou que a geração de testes especificada aumentou a detecção de bugs em 9,8 pontos percentuais em uma amostra de sua base de código. Mas sua especificação é lida do código, o que deixa sem solução a metade que me interessa. Tenho argumentado por meses que um conjunto de testes escrito pelo mesmo modelo que escreveu o código não pode realmente discordar dele, e para apoiar minha afirmação desenvolvi uma nova biblioteca Python de código aberto.
O teste de software tem se movido em uma direção por vinte anos, e o Desenvolvimento Especificado (SDD) é onde esse movimento chegou recentemente. Este artigo defende mais um passo: SDD Independente, ou ISDD. O TDD disse que os testes são a especificação. O BDD foi a resposta para isso. O SDD é a versão que chegou com os agentes.
Atualmente, o Desenvolvimento Especificado divide o trabalho. Não divide quem tem o conhecimento. A mesma especificação vai para o planejador, o gerador de testes e o agente de codificação. Meu argumento é cortar ao longo dessa linha: dar ao agente de codificação as decisões e reter os critérios de aceitação, para que o conjunto de testes possa dizer ao código que ele está errado.
Uma equipe do Google mediu o passo antes de reter. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" faz algo mais estreito do que meu argumento. Eles primeiro pedem que ele raciocine sobre o código e escreva seu contrato. Esse documento se torna um andaime cognitivo e os testes são gerados a partir dele. Os resultados, em bugs de produção da própria base de código do Google, mostraram que mais da metade das vezes, um conjunto de testes gerado...
Qual é o principal argumento do artigo sobre testes gerados por IA?
O principal argumento é que um conjunto de testes escrito pelo mesmo modelo que escreveu o código não pode realmente discordar dele. O autor propõe SDD Independente (ISDD), onde o agente de codificação recebe requisitos, mas não critérios de aceitação, para que o conjunto de testes possa validar o código de forma independente.
🇷🇺 Русский
Генерация тестов на основе спецификаций от Google: половина аргумента
Недавняя статья Google показала, что генерация тестов на основе спецификаций повысила обнаружение ошибок на 9,8 процентных пункта на выборке из их кодовой базы. Но их спецификация читается из кода, что оставляет нерешённой ту половину, которая важна для меня. Я месяцами утверждал, что набор тестов, написанный той же моделью, которая написала код, не может по-настоящему противоречить ему, и в поддержку своего утверждения я разработал новую библиотеку Python с открытым исходным кодом.
Тестирование программного обеспечения движется в одном направлении уже двадцать лет, и разработка на основе спецификаций (SDD) — это то, куда это движение недавно пришло. Эта статья выступает за ещё один шаг: независимый SDD, или ISDD. TDD говорил, что тесты — это спецификация. BDD был ответом на это. SDD — это версия, которая пришла с агентами.
В настоящее время разработка на основе спецификаций разделяет работу. Она не разделяет, у кого есть знания. Одна и та же спецификация идёт к планировщику, генератору тестов и агенту кодирования. Мой аргумент — разрезать по этой линии: дать агенту кодирования решения и удержать критерии приёмки, чтобы набор тестов мог сказать коду, что он неправильный.
Команда Google измерила шаг перед удержанием. "Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation" делает нечто более узкое, чем мой аргумент. Они сначала просят его рассуждать о коде и записать свой контракт. Этот документ становится когнитивным каркасом, и из него генерируются тесты. Результаты на производственных ошибках из собственной кодовой базы Google показали, что более чем в половине случаев сгенерированный набор тестов...
Какова основная аргументация статьи относительно тестов, сгенерированных ИИ?
Основная аргументация заключается в том, что набор тестов, написанный той же моделью, которая написала код, не может по-настоящему противоречить ему. Автор предлагает независимый SDD (ISDD), где агент кодирования получает требования, но не критерии приёмки, чтобы набор тестов мог независимо проверять код.
🇨🇳 简体中文
谷歌规范驱动测试生成:论据的一半
谷歌最近的一篇论文显示,规范驱动测试生成在其代码库样本上将缺陷检测率提升了9.8个百分点。但他们的规范是从代码中读取的,这留下我关心的另一半未解决。我几个月来一直认为,由编写代码的同一模型编写的测试套件无法真正与代码产生分歧,为了支持我的主张,我开发了一个新的开源Python库。
软件测试二十年来一直朝着一个方向发展,规范驱动开发(SDD)是该运动最近到达的地方。本文主张再进一步:独立SDD,即ISDD。TDD说测试就是规范。BDD是对此的回应。SDD是随代理一起出现的版本。
目前,规范驱动开发划分工作,但不划分谁拥有知识。相同的规范交给规划者、测试生成器和编码代理。我的论点是沿着这条线切割:给编码代理决策,扣留验收标准,这样测试套件就能告诉代码它是错的。
谷歌的一个团队测量了扣留之前的步骤。"Grounding AI Agents in Contracts: An Empirical Evaluation of Spec-Driven Test Generation"做的事情比我的论点更窄,并测量了它所做的。他们首先要求它推理代码并写下其契约。该文档成为认知脚手架,测试从它生成。结果,在谷歌自己代码库的生产缺陷上,显示超过一半的时间,生成的测试套件...
关于AI生成测试,文章的主要论点是什么?
主要论点是,由编写代码的同一模型编写的测试套件无法真正与代码产生分歧。作者提出了独立SDD(ISDD),其中编码代理接收需求但不接收验收标准,因此测试套件可以独立验证代码。