Naúrar 5 / 12

Gwaji Samar da Tabbacin Inganci

Riba:

  • Ikon samar da gwajin naúrar, shari'o'in gefe, da kuma nazarin rata na ɗaukar hoto tare da AI
  • Ikon buga tsammanin gwaji bisa ƙayyadaddun ƙayyadaddun bayanai, ba halin halin yanzu na lambar ba
  • Ikon gwada ko a zahiri gwajin yana karewa ta hanyar allurar kurakurai

Gwajin rubuce-rubuce yana ɗaya daga cikin ayyuka masu samar da ƙima waɗanda yawancin masu haɓakawa ke kashewa. Kyakkyawan ɗakin gwaji shine tabbacin cewa lambar tana aiki kamar yadda aka zata kuma hanyar rayuwa don canje-canje na gaba. Matsalar ita ce gwaje-gwajen rubuce-rubuce suna maimaitawa kuma suna cin lokaci - daidai irin aikin da AI ke haskakawa. Amma akwai kama: AI sau da yawa yana gwada halin da ake ciki na lambar, ba halin da ya kamata ya kasance ba. Sarrafar da wannan bambanci shine ainihin wannan rukunin.

A cikin wannan naúrar, za ku koyi gwajin naúrar (gwajin da ke gwada aikin shi kaɗai, a keɓe), gwaje-gwajen harka da samar da bayanan gwaji tare da AI; rufe gibba a cikin ɗaukar hoto; kuma me yasa amincewa da makauniyar gwajin AI yana da haɗari.

Hannu biyu na Gwaji: Gyara Halayyar vs. tabbatarwa

Gwaji na iya amfani da dalilai guda biyu daban-daban. Na farko shine tabbatarwa: yana gwada cewa lambar daidai ce, cewa ta bi ƙayyadaddun bayanai. Na biyu shine kariyar sake dawowa: yana daskare halayen lambar a yau, don haka idan wani ya canza shi da gangan gobe, gwajin zai karya kuma ya sanar.

AI yana da kyau sosai a ƙarshen; Yana duba lambar kuma yana haifar da shari'o'in da ke gwada "abin da yake yi a yanzu." Amma idan lambar ta yi kuskure tun daga farko, AI na iya sanya waccan halin da ba daidai ba a matsayin "daidai." Don haka dole ne ku sake nazarin tabbacin kowane gwajin da AI ya samar: "Lambar ta dawo 42 kuma gwajin yana tsammanin 42" baya nufin cewa 42 shine amsar daidai.

Tsanaki: Idan AI ta wuce gwajin, ba yana nufin lambar tana "aiki" ba; yana nufin kawai "yana nuna hali kamar yadda AI ke tsammani". Kuna yanke shawarar ko tsammanin daidai ne ko a'a ta hanyar duba ƙayyadaddun bayanai.

Mataki-mataki: Rubutun Gwaje-gwaje masu ƙarfi tare da AI

  1. Ba da ƙayyadaddun bayanai, ba kawai lambar ba. Idan kun ƙara bayanin "Wannan aikin ya kamata yayi wannan", AI zai iya rubuta ainihin tsammanin; Zai gwada halin yanzu idan kun samar da lambar kawai.
  2. Nemi shari'o'in gefen. Babu komai, maras kyau, sifili, mara kyau, babba da yawa, mummunan tsari, daidaitawa - a zahiri da'awar kashe hanyar farin ciki.
  3. Ƙayyade tsarin gwaji da salo. "amfani da pytest", "Arrange-Act-Assert pattern", "bari kowane gwaji ya gwada abu ɗaya" da dai sauransu.
  4. Bincika tsammanin (tabbaci). Kwatanta da ƙayyadaddun ƙayyadaddun da kowane ke faɗi yana bincika ƙimar daidai.
  5. Rufe gibi a cikin iyaka. Ba da gwaje-gwajen da ke akwai kuma ku tambayi "waɗanne rassan da shari'o'in ba a gwada su ba?" sa ku tambaya; sannan tabbatar da ƙarin gwaje-gwajen da aka yi.

Mini Cases guda uku

Case 1 - Rufewa daga 52% zuwa 85%. Keɓancewar gwajin tsarin sabis guda ɗaya shine 52%. Ƙungiyar ta ciyar da gwaje-gwajen da ake da su ga AI, sun jera rassan da ba a gwada su ba kuma sun samar da gwaje-gwaje a gare su. Tare da nazarin ɗan adam, ɗaukar hoto ya karu zuwa 85%; A cikin tsari, AI ta gano ainihin kwaro (hanyar da ta dawo da lambar kuskure) a cikin reshen kwaro wanda ba a taɓa gwada shi ba.

Case 2 - The ƙarya tsammanin gyara tarko. Aikin zagayowar kuɗi ya kasance kuskure; Maimakon zagaye 2.675 zuwa 2.67, yana zagaye 2.67 maimakon 2.68. AI ta kalli lambar kuma ta rubuta assert round_money(2.675) == 2.67 - daskare kuskuren a matsayin "gaskiya". Lokacin da mai haɓakawa ya karanta ƙayyadaddun bayanai, ya gyara tsammanin kuma ya kama ainihin kwaro. Gwajin ƙa'idar, ba lambar ba, ya haifar da bambanci.

Case 3 - Fashewar jihar Edge. Lokacin tambayar AI don kawai "lakatun gefen" don aikin kewayon kwanan wata; Ya samar da shari'o'i 8 kamar farawa = ƙarshen, tazarar baya, shekarar tsalle 29 ga Fabrairu, yankuna daban-daban da tazara mara kyau. Biyu daga cikin waɗannan (tazarar juyewa da shekarar tsalle) sun haifar da kuskure. Yin la'akari da waɗannan lokuta da hannu sau da yawa ana tsallake su; AI ya zama abokin tarayya na "babban shari'ar kwakwalwa" a nan.

Samfura guda huɗu masu Kwafi

Ƙirƙirar gwaji ta ƙayyadaddun bayanai:

Matsayi: Mai haɓakawa wanda ke rubuta gwaje-gwaje. Tsarin: {{pytest/JUnit/Jest...}}.Abinda aikin YA KAMATA YI ( ƙayyadaddun bayanai): {{dokar}} Rubuta gwaje-gwaje don aikin mai zuwa. Rubuta tsammanin bisa ga ƙayyadaddun bayanai, BA fitar da lambar na yanzu ba. Hanyar farin ciki + ƙara aƙalla lokuta 4 gefuna. Bari kowane ya gwada abu ɗaya, yi amfani da suna mai kwatanta. {{aiki}}

Edge case brainstorming:

Lissafin lambobi / gazawar da ya kamata a gwada a gwaji don wannan aikin (rasa, null, breakpoints, bad format, concurrency, external error) .Ga kowane hali: shigarwa, halayen da ake tsammani. KADA KA rubuta lamba tukuna, kawai jera.{{aiki}}

Binciken tazarar ɗaukar hoto:

A ƙasa akwai ayyuka da gwaje-gwajen da akwai. Wadanne rassa, yanayi da lokuta ba a gwada su ba? Jera gazawar kuma rubuta sabbin gwaje-gwaje don kasawa kawai. Kar a maimaita wadanda suke. Aiki:{{aiki}}Gwaji:{{abubuwan_tests}}

Gwajin bayanan / abin izgili:

Ƙirƙirar bayanan gwaji na haƙiƙa don gwaje-gwajen {{aiki/sabis}}: samfurori masu aiki, samfuran iyaka da samfuran marasa inganci daban. Ba da shawara mai sauƙi na izgili don dogaro na waje {{X}}. Amfani da bayanan sirri na gaskiya/PII; Ƙirƙirar bayanan karya.

Rauni mai ƙarfi / Ƙarfi mai ƙarfi

Rauni: "Rubuta gwaji don wannan aikin."
Ƙarfafa: "tare da pytest. Aiki apply_discount (jimlar, kashi) - mulki: rangwame dole ne 0% -30%, daga iyakoki ya kamata jefa ValueError, sakamakon ya kamata a zagaye zuwa 2 decimals. Rubuta tsammanin ta wannan RULE (ba ta lambar ba). Hanya mai farin ciki + waɗannan lokuta na gefen: 0%, 30%), 31% (kuskure).

Ya ba da ƙaƙƙarfan ƙa'idar saki kuma ya ce "rubuta tsammanin bisa ga ka'ida, ba lambar ba"; Wannan jumla guda ɗaya ta rufe tarkon AI na gyara rashin ɗabi'a.

Nau'in gwaji

AI gudunmawa

sarrafa mutane

Gwajin naúrar hanya mai farin ciki

sauri kwarangwal

Shin tsammanin daidai ne?

Matsalolin gefen

Ƙwaƙwalwar ƙwaƙwalwa mai zurfi

Cire abin da bai dace ba

Cika tazarar iyaka

Ya nemo rassan da aka tsallake

Tabbatar da mahimmanci

Gwajin bayanai/ba'a

Yana samar da samfurin gaskiya

Babu PII, sarrafa gaskiya

Gwaje-gwaje Suna Sarrafa Inganci, Ba Garanti ba

Babban ɗaukar hoto yana ba da kwarin gwiwa, amma kuma yana iya zama yaudara: ɗaukar hoto 100 na nufin "kowane layi ya gudana," ba "kowane layi daidai ba ne." Yana da sauƙi don ƙara ɗaukar hoto tare da AI; Ainihin ƙimar ita ce a rubuta tsammanin tsammanin ma'ana. Ƙimar gwaji ita ce ikonsa na karya da faɗakar da ku lokacin da lambar ta karye. Wannan shine dalilin da ya sa gwaje-gwajen AI da aka samar sun dogara ne akan tambayar "Shin da gaske lambar ta karya lokacin da ta canza?" Gwada shi da tambayar; Karɓar layi da gangan da ganin hutun gwajin (ra'ayin maye gurbi) tabbaci ne cewa gwajin ya yi aiki.

Tukwici: Don ganin ko gwajin AI ya rubuta yana aiki, ƙirƙirar ƙaramin kwaro a cikin lambar (misali canza a + zuwa a -) kuma duba idan gwajin ya karye. Idan bai karye ba, wannan gwajin ba zai kare ku ba.

Kuskuren gama gari

  • Neman gwaji ba tare da bada ka'ida ba. Samfurin yana daskare halin yanzu; yana gyara kuskuren a matsayin "gaskiya".
  • Yarda da tsammanin ba tare da karanta su ba. Gwaji yaudara ce idan ba ku bincika cewa abubuwan da aka tabbatar suna duba ƙimar daidai ba.
  • Kawai gwada hanyar farin ciki. Kurakurai na gaske suna rayuwa a gefe; Nemi shari'o'in gefe a bayyane.
  • Kuskure iyaka don manufar. Kashi mai girma bashi da garantin ɗabi'a daidai.
  • Yin bayanan gaske/boye azaman bayanan gwaji. Bayanan abokin ciniki ko asirin kada su shiga gwaji da adanawa; Ƙirƙirar bayanan roba.

A taqaice

AI yana ɗaukar yawancin nauyin maimaitawa daga gwaje-gwajen rubuce-rubuce: yana samar da kwarangwal masu sauri, manyan jerin lambobi, da nazarin rata na ɗaukar hoto. Amma mafi mahimmancin batu shine tsammanin: AI yana ƙoƙarin gwada halin yanzu na lambar, yayin da gwajin ya kamata a rubuta bisa ga ƙayyadaddun bayanai. Ba da doka, duba abubuwan da ake tsammani, aiwatar da shari'o'in gefe, da gwada ko a zahiri gwaje-gwajen sun kare ta hanyar allurar kwaro. Gwajin ɗaukar hoto kayan aiki ne, ba manufa ba.

Aikin aikace-aikace

Zaɓi aiki kuma fara buga gwaji ga AI ta hanyar ba da lambar sa kawai; Lura da tsammanin. Sa'an nan kuma buga gwajin sake, ba da ƙayyadaddun (dabi'ar da ake buƙata) don wannan aikin. Kwatanta abubuwan da ake tsammanin saitin gwaji guda biyu: shin akwai bambanci, wanne ne ke bayyana kwaro na gaske? A ƙarshe, tabbatar da cewa ɗayan gwaje-gwajen da aka samar yayi aiki ta ƙara kwaro da gangan ga lambar da ganin hutun gwajin.

jerin abubuwan dubawa

  • [ ] Na bambanta ko gwajin shine don gyara ko tabbatar da hali.
  • [ ] Lokacin da na nemi gwaji, na ba da ka'ida (bayani) wanda ya kamata ya kasance a wurin, ba lambar ba.
  • [ ] Ina kwatanta kowane ikirari da aka samar da ƙayyadaddun bayanai.
  • [ ] Ina fayyace kararraki na gaba da gazawa.
  • [ ] Ina kallon ɗaukar hoto azaman kayan aiki, ba manufa ba.
  • [ ] Na gwada ko a zahiri gwaji yana karewa ta hanyar allurar kurakurai.