Erthyglau

Beth yw Datblygiad a yrrir gan Brawf, dulliau gweithredu a manteision

Mae Test Driver Development (TDD) yn ddull datblygu meddalwedd lle mae achosion prawf yn cael eu datblygu i nodi a dilysu beth fydd y cod yn ei wneud.

Mae bron achosion prawf ar gyfer pob nodwedd yn cael eu creu a'u profi cyn i'r feddalwedd gael ei rhyddhau, ac os bydd y prawf yn methu, caiff cod newydd ei ysgrifennu (neu ei ailysgrifennu neu ei glytio) i basio'r prawf a gwneud y cod yn syml ac yn rhydd o fygiau.

Mae Datblygiad a yrrir gan Brawf (TDD) yn dechrau gyda dylunio a datblygu profion ar gyfer pob nodwedd fach mewn cymhwysiad. Mae'r fframwaith TDD yn cyfarwyddo datblygwyr i ysgrifennu cod newydd dim ond os yw prawf awtomataidd wedi methu. Mae'r dull hwn yn osgoi dyblygu cod. Datblygiad sy'n cael ei yrru gan brawf yw'r modiwl TDD cyflawn.

Deilliodd Datblygiad sy’n Cael ei Gyrru gan Brawf (TDD) fel rhan o baradeim dylunio meddalwedd mwy o’r enw Rhaglennu Eithafol (XP), sy’n rhan o fethodoleg datblygu meddalwedd Agile.

Cysyniad syml TDD yw ysgrifennu a thrwsio profion a fethwyd cyn ysgrifennu cod newydd (cyn ei ddatblygu). Mae hyn yn helpu i osgoi dyblygu cod gan ein bod yn ysgrifennu ychydig bach o god ar y tro i basio profion. (Nid yw profion yn ddim mwy nag amodau gofyniad y mae'n rhaid i ni eu profi i'w bodloni).

Mae datblygiad sy'n cael ei yrru gan brawf yn broses o ddatblygu a rhedeg profion awtomataidd cyn datblygiad gwirioneddol y cais. Felly, weithiau gelwir TDD hefyd yn Datblygiad Prawf yn Gyntaf.

Camau'r dull TDD

Cyn i unrhyw god newydd gael ei ysgrifennu, rhaid i'r rhaglennydd greu prawf uned sy'n methu yn gyntaf. Yna, mae'r rhaglennydd - neu gwpl, neu dorf - yn creu digon o god i fodloni'r gofyniad hwnnw. Unwaith y bydd y prawf wedi mynd heibio, gall y rhaglennydd ail-ffactorio'r prosiect, gan wneud gwelliannau heb newid yr ymddygiad.

Er bod TDD yn canolbwyntio ar ryngweithiadau rhaglennydd lefel uned, mae yna ddulliau poblogaidd eraill, megis datblygiad sy'n cael ei yrru gan brawf derbyn (ATDD) neu ddatblygiad sy'n cael ei yrru gan ymddygiad (BDD), sy'n canolbwyntio ar brofion y gall cwsmeriaid eu deall.


Mae'r dulliau hyn yn cynnwys adeiladu enghreifftiau byd go iawn fel profion cydweithredol rhwng y staff peirianneg a'r cwsmer cyn codio, ac yna rhedeg y profion ar ôl codio i ddangos bod y cod yn cael ei weithredu. Mae cael y profion yn hysbys ymlaen llaw yn gwella ansawdd y tro cyntaf. Mae ATDD a BDD yn ei gwneud yn ofynnol i ddatblygwyr, profwyr a'r ochr fusnes gydweithio i ddychmygu a thrafod y feddalwedd a'i goblygiadau cyn creu'r cod.

Manteision TDD

Gall datblygiad sy'n cael ei yrru gan brawf gynhyrchu cymwysiadau o ansawdd uchel mewn llai o amser nag sy'n bosibl gyda dulliau hŷn. Mae gweithredu TDD yn llwyddiannus yn ei gwneud yn ofynnol i ddatblygwyr a phrofwyr ragweld yn gywir sut y bydd y cymhwysiad a'i ymarferoldeb yn cael ei ddefnyddio yn y byd go iawn.

Cylchlythyr arloesi
Peidiwch â cholli'r newyddion pwysicaf am arloesi. Cofrestrwch i'w derbyn trwy e-bost.

Mae TDD yn adeiladu cyfres prawf atchweliad fel sgil-effaith a all leihau profion dynol â llaw, dod o hyd i broblemau yn gynharach, gan arwain at atebion cyflymach. Mae natur drefnus TDD yn sicrhau sylw ac ansawdd tro cyntaf llawer uwch na'r cylchoedd cod graddol clasurol > prawf > trwsio > ailbrofi. Oherwydd bod profion yn cael eu cynnal yn gynnar yn y cylch dylunio, mae'r amser a'r arian sy'n cael ei wario ar ddadfygio yn ddiweddarach yn cael ei leihau.

Buddiannau disgwyliedig:

  • gostyngiadau sylweddol mewn cyfraddau diffygion, ar gost cynnydd cymedrol mewn ymdrech datblygu cychwynnol
  • mae costau gorbenion yn fwy na'u gwrthbwyso gan leihad mewn ymdrech yng nghamau olaf prosiectau
  • Mae TDD yn arwain at rinweddau dylunio gwell yn y cod ac, yn fwy cyffredinol, gradd uwch o ansawdd "mewnol" neu dechnegol, er enghraifft trwy wella'r metrigau cydlyniant a chyplu

Anfanteision TDD

Mae angen sgil sylweddol ar TDD i fod yn llwyddiannus, yn enwedig ar lefel uned. Yn syml, nid yw llawer o systemau etifeddol yn cael eu hadeiladu gyda phrofi uned mewn golwg, gan ei gwneud yn amhosibl ynysu cydrannau i'w profi.

Hefyd, nid oes gan lawer o raglenwyr y sgiliau i ynysu a chreu cod glân. Rhaid i bob aelod o'r tîm greu a chynnal profion uned neu byddant yn darfod yn gyflym. A bydd yn rhaid i sefydliad sy'n edrych ar TDD fuddsoddi amser, arafu ychydig nawr i fynd yn gyflymach yn nes ymlaen.

Yn olaf, fel gydag unrhyw ddull, nid yw canlyniadau terfynol TDD ond cystal â'r profion a ddefnyddiwyd, pa mor gywir y cawsant eu perfformio, ac i ba raddau y maent yn dynwared yr amodau a wynebwyd gan ddefnyddwyr y cynnyrch terfynol.

Camgymeriadau cyffredin:

  • anghofio rhedeg profion yn aml
  • ysgrifennu gormod o brofion ar unwaith
  • ysgrifennu profion sy'n rhy fawr neu gros
  • ysgrifennu profion rhy ddibwys, fel hepgor honiadau
  • ysgrifennu profion ar gyfer cod dibwys
  • mabwysiadu rhannol: dim ond ychydig o ddatblygwyr mewn gweithgor sy'n defnyddio TDD
  • cynnal a chadw swît prawf gwael, gan amlaf yn arwain at swît brawf gydag amser rhedeg rhy hir
  • yr ystafell brawf wedi’i gadael (h.y. yn cael ei rhedeg yn anaml neu byth) – weithiau oherwydd gwaith cynnal a chadw gwael, weithiau oherwydd trosiant tîm

TDD athroniaeth

Mae TDD yn caniatáu i'r rhaglennydd gymryd camau babi wrth ysgrifennu meddalwedd. Ysgrifennir y prawf cyn profi'r ymarferoldeb ac mae'n sicrhau bod y cymhwysiad yn addas ar gyfer prawfadwyedd. Gwneir profion ar ychydig bach o god i ddal gwallau sy'n digwydd yn y cod a brofwyd. Yna mae'r swyddogaeth yn cael ei rhoi ar waith. Cyfeirir at hyn fel "refactor gwyrdd coch" lle mae coch yn golygu methiant a gwyrdd yn dangos pasiad. Yna caiff y camau hyn eu hailadrodd. Nod cyntaf rhaglennydd yw canolbwyntio ar y dasg dan sylw a'i goresgyn.

Y gwahanol gamau mewn cylch datblygu a yrrir gan brawf yw:
  • Ychwanegu Prawf: Mae pob nodwedd newydd yn TDD yn dechrau gyda phrawf y mae'n rhaid iddo fethu wrth iddo gael ei roi ar waith cyn gweithredu unrhyw nodwedd. Y rhagofyniad ar gyfer ysgrifennu prawf cyn gweithredu'r nodwedd yw dealltwriaeth glir o'r gofyniad gan y datblygwr. Cyflawnir hyn trwy straeon defnyddwyr ac achosion defnydd. Felly mae datblygwr yn deall y gofyniad cyn ysgrifennu cod y rhaglen.
  • Rhedeg pob prawf a gwirio a yw'r cod newydd yn methu: mae hyn yn sicrhau bod yr harnais prawf yn gweithio'n gywir ac nad yw'r prawf newydd yn methu heb unrhyw god newydd. Mae'r cam hwn hefyd yn gwirio'r prawf ac yn dileu'r posibilrwydd y bydd y prawf newydd bob amser yn pasio.
  • Ysgrifennu Cod: Y cam nesaf sy'n dilyn yw ysgrifennu'r cod sy'n clirio'r prawf. Nid yw'r cod newydd yn berffaith ond caiff ei addasu'n ddiweddarach yn unol â'r gofynion. Fe'i cynlluniwyd yn syml ar gyfer profi ac nid yw'n cynnwys unrhyw nodweddion eraill.
  • Rhedeg Profion Awtomataidd: Os yw pob achos prawf a gynhyrchir yn pasio'r prawf yn hawdd, mae'n golygu bod y cod yn bodloni'r holl fanylebau gofynnol. Yna gellir dechrau cam olaf y cylch.
  • Cod ailffactorio: Mae hyn yn debyg i ddileu dyblygu. Nid yw ailffactorio yn torri unrhyw ymarferoldeb presennol ac yn helpu i gael gwared ar ddyblygu rhwng cynhyrchu a chod prawf. Mae'r cod bellach yn cael ei lanhau yn ôl yr angen.
  • Ailadrodd: Mae'r cylch yn ailadrodd fel yn yr achosion blaenorol gyda phrawf newydd. Y gofyniad hanfodol yw bod maint y cam yn fach, gyda thua 1-10 o newidiadau rhwng pob rhediad prawf. Os bydd y cod newydd yn methu prawf newydd, dylai'r rhaglennydd wneud mwy o ddadfygio. Mae integreiddio parhaus yn darparu pwyntiau gwirio cildroadwy.

Ercole Palmeri

Cylchlythyr arloesi
Peidiwch â cholli'r newyddion pwysicaf am arloesi. Cofrestrwch i'w derbyn trwy e-bost.

Erthyglau Diweddar

Mae'r Dyfodol Yma: Sut Mae'r Diwydiant Llongau yn Chwyldro'r Economi Fyd-eang

Mae'r sector llyngesol yn bŵer economaidd byd-eang gwirioneddol, sydd wedi llywio tuag at farchnad 150 biliwn...

1 Mai 2024

Mae cyhoeddwyr ac OpenAI yn llofnodi cytundebau i reoleiddio'r llif gwybodaeth a brosesir gan Ddeallusrwydd Artiffisial

Ddydd Llun diwethaf, cyhoeddodd y Financial Times gytundeb ag OpenAI. Mae FT yn trwyddedu ei newyddiaduraeth o safon fyd-eang…

30 2024 Ebrill

Taliadau Ar-lein: Dyma Sut Mae Gwasanaethau Ffrydio yn Gwneud ichi Dalu Am Byth

Mae miliynau o bobl yn talu am wasanaethau ffrydio, gan dalu ffioedd tanysgrifio misol. Mae’n farn gyffredin eich bod chi…

29 2024 Ebrill

Mae Veeam yn cynnwys y gefnogaeth fwyaf cynhwysfawr ar gyfer ransomware, o amddiffyniad i ymateb ac adferiad

Bydd Coveware gan Veeam yn parhau i ddarparu gwasanaethau ymateb i ddigwyddiadau cribddeiliaeth seiber. Bydd Coveware yn cynnig galluoedd fforensig ac adfer…

23 2024 Ebrill