Nkeji 10 / 11

Ihe ize ndụ ntụkwasị obi ụgha, Ogo Nnwale, na Nnwale Mgbanwe: Nnwale ule

Uru:

  • Ikike ịmata ihu atọ nke pseudo-Trust (na-abụghị nke nkwuwa okwu, nkwuwa okwu onwe ya, nkwupụta obere okwu) na itinye ọgwụ mgbochi.
  • Ikike iji nnwale mutation na akara ngbanwe dị ka ihe njiri mara mma karịa pasenti mkpuchi site na ngwaọrụ ma ọ bụ aka
  • Ikike itinye AI dị ka otu ndị na-acha uhie uhie megide nnwale na ichu nta maka ule loopholes na-adabaghị n'ọnyà otuto

N'ime obi nke modul a bụ ịdọ aka ná ntị ugboro ugboro: otu panel nke na-egbuke egbuke na-acha akwụkwọ ndụ abụghị ihe àmà nke àgwà. Ọ bụrụ na ule gị na-enye gị obi ike, ịkwesịrị ịma ma ntụkwasị obi ahụ ọ̀ bụ eziokwu ka ọ bụ adịgboroja. N'ime afọ ọgụgụ isi (AI), ajụjụ a dị oke egwu karịa mgbe ọ bụla, n'ihi na AI maara nke ọma n'ịmepụta mmiri mmiri, na-ele anya nke ọma ma nwee oghere. Ụgha ntụkwasị obi - ikwere na software ziri ezi n'ihi na ule bụ akwụkwọ ndụ akwụkwọ ndụ, mgbe n'ezie na ule na-adịghị nyochaa ihe ọ bụla-bụ ihe kasị dị ize ndụ ihe nwere ike ime a QA otu; n'ihi na ọ na-ezoghị na ọ dịghị njehie, ma na ị na-apụghị ịhụ njehie. Nkeji a na-ejikọta nkà ihe ọmụma nkwado nke modul dum n'ime otu ọzụzụ: nwalee ule gị.

Ọkọlọtọ ọla edo maka ịlele ogo nnwale: nnwale mutation

Ụzọ kachasị ike isi ghọta ma ule ọ na-echebe n'ezie ma ọ bụ na ọ bụghị bụ ule mutation (nnwale mgbanwe - usoro na-emepụta obere mgbaghara/mgbanwe na koodu isi mmalite ma tụọ ma ule ahụ na-achọpụta mgbagwoju anya ndị a). Echiche ahụ dị mfe: ọ bụrụ na ị kpachaara anya mebie koodu ahụ (na-eme + n'ime -, a> n'ime> =, eziokwu n'ime ụgha), ezigbo ụlọ nyocha kwesịrị ijide nrụrụ aka ahụ wee gbanwee uhie. Ọ bụrụ na ọ meghị, ọgba aghara ahụ bụ mutant dị ndụ - yabụ ule gị anaghị echekwa omume ahụ n'ezie.

Mgbanwe akara = mutation gburu/mkpokọta mmụgharị. Otu ngwugwu nwere mkpuchi ahịrị 90% nwere ike ịnwe akara ngbanwe nke 40%; Nke a na-egosi na ahịrị ndị ahụ na-arụ ọrụ mana ekwenyeghi na omume ahụ. Akara mmụgharị bụ ihe nrịba ama n'eziokwu karịa mkpuchi pasentị.

NDỤMỌDỤ: E nwere ngwaọrụ ngbanwe akpaaka (PIT/Pitest maka Java, Stryker maka JavaScript/TypeScript, Stryker.NET maka .NET, mutmut maka Python). Ndị a na-emepụta ma nwalee ọtụtụ narị mutation na-akpaghị aka. Ọ bụrụ na ịnweghị ngwá ọrụ, ọbụlagodi akwụkwọ ntuziaka "na-agbaji ule koodu" bara uru maka ọrụ dị oke mkpa.

Ihu atọ nke pseudo-trust na ọgwụ mgbochi ya

Ụdị ntụkwasị obi pseudo

akara

ọgwụ mgbochi

Nwalee na-enweghị nkwuwa okwu

Koodu na-arụ ọrụ, ọ nweghị ihe kwadoro

Ezi nkwuputa n'ule ọ bụla; nwale na mutation

ule na-egosi onwe ya

Atụrụ anya = mmepụta koodu

Gbakọọ uru a na-atụ anya n'onwe ya

Nkwuwa okwu efu

"ọ bụghị efu", "200 laghachiri"

Kwado iwu azụmaahịa/ nsonaazụ n'ezie

Ụgha dị elu

90% ahịrị, nchebe dị ala

Lelee akara ngbanwe

Nlegide ule na-esighi ike

"rapaara ọzọ, gafere"

Mgbọrọgwụ ihe kpatara + deterministic ule

Iji AI dị ka "otu uhie"

AI nwere ike imepụta ntụkwasị obi pseudo ma bụrụ onye mmekọ siri ike na ịchụ nta ya. Jiri AI dị ka otu na-acha uhie uhie megide ule nke gị: jụọ "dee koodu na-agafe ule ndị a mana ọ na-ezighị ezi" ma ọ bụ "chọta mgbagha ga-aghọgbu ule ndị a." Ọ bụrụ na AI chọta oghere na ule gị, oghere ndị ahụ bụ ezigbo ihe egwu.

Kpachara anya: Ajụla AI ​​" Ogo ule m ọ dị mma?" ma were azịza ya "ee, nnukwu" dị ka mmesi obi ike. AI na-achọkarị ịdị obiọma. Kama, gbaa AI aka ka ọ rụọ ọrụ siri ike: "mepụta ahụhụ na-agafe ule ndị a." Ọ bụrụ na ọ nwere ike mepụta ya, ule gị kpuru ìsì na njehie ahụ.

Mgbanwe nhata yana oke akara

Nnwale mmụgharị dị ike, mana ọ nwere njide: ụfọdụ mmụgharị anaghị agbanwe omume nke koodu ahụ ma ọlị. A na-akpọ ndị a ngbanwe nhata (mutant - koodu rụrụ arụ, mutation nke na-arụpụta kpọmkwem otu nsonaazụ ya dị na mbụ). Dịka ọmụmaatụ, ịgbanwe uru mbụ nke mgbanwe nke na-ejighi eme ihe anaghị emetụta mmepụta; Ọ dịghị ule nwere ike ma ghara ijide nke a. Ya mere, akara ngbanwe 100% na-abụkarị ihe a na-apụghị ime eme na omume ma ọ bụghị ihe mgbaru ọsọ. Iji aka na-ekpochapụ mmụgharị ndị ha nhata na-arụ ọrụ siri ike; Ya mere, agụla akara ngbanwe dị ka akara ule zuru oke, mana dịka ihe ngosi n'eziokwu nke "nlele m ọ na-echebe n'ezie?"

Ụzọ dị irè bụ nke a: kama na-agba ọsọ na-agba ọsọ ngbanwe mgbe niile n'ofe koodu koodu niile, na-agba ya na modul ndị nwere ihe ize ndụ kachasị elu na iwu azụmahịa dị mgbagwoju anya. Nyochaa mmụgharị ndị dị ndụ na modul ndị a otu otu; Ọ bụrụ na ọ bụ ezigbo oghere, tinye ule; ọbụrụ na ọ bụ ngbanwe nhata, kanye ya n'ezi omume wee gafee. AI nwere ike ime nyocha mbụ n'ịtụle ma mmụgharị dị ndụ hà nhata; mana mkpebi ikpeazụ bụ nke gị maara ihe koodu na-eme.

Kpachara anya: Nnwale mgbanwe mgbanwe dị ọnụ ahịa ọnụ (a na-emegharị ule niile dị mkpa maka ngbanwe ọ bụla). Ya mere, usoro a na-ahụkarị na nke ezi uche dị na ya bụ ịhazi ya dị ka kwa izu ma ọ bụ tupu ewepụta ya nyocha miri emi maka modul dị oke egwu, karịa njikọ ọ bụla.

Ngwa ngwa adịghị ike / Ike siri ike

Adịghị ike: "Nnwale m ezuola?"
Ike: "Mee dị ka otu red otu maka ọrụ a na ule suite. (1) N'ịwa 8 mutations na koodu nwere ike igbu (onye na-arụ ọrụ nnọchi, ókèala mgbanwe, ọnọdụ inversion, nloghachi uru nnọchi). Nlele ndị a niile mana na-emebi iwu azụmahịa + ule: [mado]"

Ike ngwa ngwa; Ọ na-edobe AI dị ka onye nyocha na-agbaji ule, ọ bụghị igwe otuto.

Ndebiri anọ enwere ike iṅomi

1) Njikwa mmụgharị aka:

Mepụta ngbanwe 8 dị ịrịba ama (obere mgbaghara) maka koodu a: nnọchi onye ọrụ mgbakọ na mwepụ, oke ntụnyere (> vs>=), ntụgharị ezi uche dị na ya, nloghachi/ngbanwe mgbe niile, mwụli ọnọdụ. Maka ngbanwe ọ bụla, buru amụma nke n'ime ule dịnụ ga-enweta ya ma ọ bụ na ọ gaghị ejide ya. Koodu+nwale: [mado]

2) Na-egbu mmụkọ dị ndụ:

Akụkọ nnwale mutation na-esonụ nwere mmụgharị ndị na-adị ndụ (anaghị ejide): [ndepụta/akụkọ]. Maka nke ọ bụla, dee ntakịrị ule ga-egbu mmụgharị ahụ (koodu ga-acha uhie uhie ma ọ bụrụ na agbajiri ụzọ ahụ). Kwuo ihe omume ule na-akwado.

3) Red otu - ọbara ule:

Ị nwere ike dee koodu na-agafe ule niile ndị a, mana ọ na-emebi iwu azụmahịa ndị a: [iwu azụmahịa]. Ọ bụrụ otu a, kedu oghere dị na ule ndị a na-enye ohere nke a? Tinye ule nke ga-emechi oghere ahụ. Nnwale: [mado]

4) Nleba anya nke ọma:

Lelee ụlọ nyocha a maka ịdị mma. Tinye akara maka ule ọ bụla: - Enwere ezigbo nkwupụta ma ọ bụ na-akwado ya? - uru a na-atụ anya ya ọ bụ onwe ya, sitere na koodu? - Ọ na-enyocha iwu azụmahịa ma ọ bụ ihe na-adịghị mkpa? N'ikpeazụ nye atụmatụ "ezigbo nkwuputa akara" yana ule 3 kachasị ike. Nnwale: [mado]

Obere ikpe atọ

Ikpe 1 - Mkpuchi 92%, akara ngbanwe 38%. Otu otu dabere na mkpuchi dị elu. Mgbe ejiri Stryker mee nnwale mutation, akara ahụ bụ 38%: ọtụtụ n'ime mmụgharị ndị emepụtara lanarịrị. Nke a bụ ihe na-egosi na ule ndị ahụ anaghị agba ahịrị ma na-enyocha omume ahụ. Ndị otu ahụ tinyere izu atọ n'ịdị mma ule; Akara mmụgharị ahụ mụbara ruo 81%, na ejidere mperi mgbako abụọ n'ezie site na nnwale ndị a gbalitere na mwepụta na-esote.

Ikpe 2 - AI ghọgburu ule ahụ. Site na ndebiri "otu uhie", onye ọkachamara jụrụ AI maka koodu gafere ule ndị dị ugbu a mana mebiri iwu mbelata ego. AI dere koodu nke na-eweghachite mbelata efu nke efu mgbe niile - na ule niile nọgidere na-acha akwụkwọ ndụ akwụkwọ ndụ n'ihi na ọ nweghị ule na-enyocha ọnụ ahịa mbelata n'ezie. Ahụrụ oghere, agbakwunyere ezigbo nkwenye.

Ikpe 3 - The otuto ọnyà. Onye nyocha nke obere jụrụ AI, "Nnwale m ọ dị mma?" ma nwee ahụ iru ala mgbe ọ nụrụ azịza ya, "Okejuru oke." Onye ya na ya na-arụkọ ọrụ nwere otu ule a na-enyocha site na iji "nyocha nyocha ule"; Ọ tụgharịrị na 12 n'ime 20 ule bụ ihe ndozi (na-enweghị nkwupụta ma ọ bụ junk). Ajụjụ ziri ezi wetara azịza ziri ezi.

Mmejọ ndị nkịtị

  • Oke na-ezighi ezi maka ịdịmma. Na-adabere na mkpuchi mkpuchi dị elu ma ghara ilele akara ngbanwe ma ọlị.
  • Ịtụkwasị obi otuto AI. Na-ajụ "Nlele gị ọ dị mma?" na ịtụle azịza dị mma dị ka mmesi obi ike.
  • Nweta uru a tụrụ anya na koodu. Nnwale nyocha onwe onye na-akwado koodu na-ezighi ezi.
  • Nwee afọ ojuju n'okwu ndị na-enweghị isi. Nyocha ndị na-akwadoghị iwu dị n'ezie, dịka "ọ bụghị efu", "200 laghachiri".
  • Na-eleghara mmụgharị ndị dị ndụ anya. Na-eleghara ihe ejideghị na akụkọ mmụgharị.
  • Ọbụlagodi na-anwa iji aka megharịa koodu dị egwu. Ịwụfe nzọụkwụ "gbajie koodu na nwalee" ma ọ bụrụ na ngwá ọrụ adịghị.

Na nchịkọta

Pseudo-trust bụ ikwere na ngwanro ziri ezi n'ihi na ule a bụ akwụkwọ ndụ akwụkwọ ndụ; ebe ule nwere ike ọ gaghị akwado ihe ọ bụla. Ọkọlọtọ ọla edo maka ịtụ nke a bụ nnwale mutation: kpachaara anya mebie koodu ahụ wee tụọ ma ule ahụ ejidere ya. Akara mmụgharị bụ ihe nrịba ama n'eziokwu karịa mkpuchi pasentị. AI abụọ na-emepụta ntụkwasị obi pseudo wee bụrụ ndị otu na-acha uhie uhie siri ike n'ịchụ nta ya - jụọ "wepụta ahụhụ na-agafe ule ndị a." Nwalee ule gị: ezi nkwuputa, uru a na-atụ anya ya, nkwado iwu azụmahịa, yana mmụgharị gburu.

Ọrụ ngwa

Bubata ọrụ nwere iwu azụmaahịa yana ule ya site na ọrụ nke gị. Ọ bụrụ na ọ ga-ekwe omume, mee ngwa ngbanwe (Stryker/Pist/mutmut) wee tụọ akara ngbanwe; Ọ bụrụ na enweghị ngwá ọrụ, mepụta opekempe 8 mutations na "aka mutation control" template ma jiri aka nwalee ha. Maka ngbanwe ọ bụla dị ndụ, dee nnwale ọhụrụ yana ndebiri "mutation na-anwụ anwụ". N'ikpeazụ, na ụkpụrụ "ndị otu uhie", hụ ma AI nwere ike ịmepụta koodu na-aghọgbu ule gị. Kpesa akara mmalite na njedebe gị (ma ọ bụ ọnụọgụ mutation ejidere/ngụkọta).

ndetu

  • [] M enyocha ogo ule site na akara ngbanwe, ọ bụghị mkpuchi.
  • [] M gbara ule mutation (ma site na ngwa ọrụ ma ọ bụ aka) maka koodu dị oke mkpa.
  • Edere m ule ọhụrụ maka mmụgharị ọ bụla dị ndụ.
  • [] M na-eji AI dị ka ndị na-acha uhie uhie ma chọọ oghere na ule m.
  • [ ] Anaghị m ewere AI "ule gị dị mma" otuto dị ka mmesi obi ike.
  • [ ] A enyochara m na ule ọ bụla na-enyocha nkwuputa ahụ n'ezie, uru a tụrụ anya n'onwe ya na iwu azụmahịa.