Microsoft i OpenAI, en col·laboració amb GitHub, han desenvolupat l'extensió Copilot, una eina d'optimització i finalització de codi impulsada per IA. Pot ajudar els desenvolupadors suggerint blocs o fins i tot línies de codi basats en codis disponibles i existents. Les proves d'unitats en el desenvolupament de programari es refereixen a provar unitats o blocs de codi per assegurar-ne el funcionament adequat. La integració de la IA a les proves de codi no només pot millorar la productivitat en el desenvolupament de programari, sinó també la qualitat general. Aquesta publicació explica com pots fer-ho utilitzar Copilot per generar proves unitàries .
Una breu visió general de GitHub Copilot
GitHub Copilot és un assistent de codificació amb intel·ligència artificial que suggereix fragments de codi basats en el context del codi. OpenAI i Github van desenvolupar una eina de processament de llenguatge impulsada per IA amb el model GPT-3 i Codex, que proporciona suggeriments de codi basats en el context. Està entrenat en codis disponibles públicament i es pot integrar amb editors de codi populars com Visual Studio.
per què la paraula diu producte sense llicència?
Beneficis de la generació automatitzada de proves unitàries mitjançant Copilot
- Eficaç en el temps: Copilot pot generar automàticament el codi de prova d'unitat a l'instant en funció de la descripció o els comentaris que esmentem. Això ens pot ajudar a estalviar molt de temps que escriure els codis de prova manualment, millorant i optimitzant així el cicle de desenvolupament de programari.
- Errors humans reduïts: L'automatització accelera el procés, però també ajuda a reduir significativament els errors humans habituals. En revisar el codi escrit, Copilot pot entendre fàcilment el propòsit i generar la prova en conseqüència sense cap error manual.
- Coherència: Copilot tendeix a fer complir la uniformitat en les estructures i els patrons de prova mentre genera proves unitàries. Aquest enfocament ens pot ajudar a mantenir un enfocament de prova similar per a tota la base de codi, facilitant la comprensió de tot el programa.
- Desenvolupament basat en proves: En l'entorn de proves de programari, el desenvolupament basat en proves és un mètode que utilitza proves de codi de programari com a feedback per ajudar els desenvolupadors a escriure o modificar programari. Copilot admet pràctiques de TDD mitjançant els seus suggeriments de codi dinàmic per a casos de prova. Al mateix temps, escrivim els codis, fomentant un enfocament de prova primer en què es creen proves abans d'implementar el codi.
Com utilitzar Copilot per generar proves unitàries
Per generar la prova, podem començar instal·lant l'extensió GitHub Copilot i creant el programa abans de permetre que Copilot iniciï la prova. Es poden seguir els passos següents per a la generació de casos de prova:
1] Instal·leu l'extensió Github Copilot
Obriu el Visual Studio Marketplace , cerqueu l'extensió GitHub Copilot i feu clic Instal·lar .
2] Creeu una funció
Per demostrar la generació de proves unitàries mitjançant Copilot, creem un programa que comprova si un nombre en particular és primer utilitzant el codi escrit per l'usuari de Python. funció is_prime() .
Comencem creant un fitxer d'script Python, prime_number.py , que conté la funció esmentada anteriorment i els codis necessaris per comprovar si hi ha nombres primers. Un cop creat el fitxer, podem escriure el codi basant-nos en la lògica que comprovaria els nombres primers.
3] Executeu la prova d'unitat
Per explicar com Copilot pot generar proves unitàries per al programa anterior, podem seguir els passos esmentats a continuació:
- Creem una funció de prova anomenada nombre_primer_de_prova_unitaria() per provar el is_prime() funció.
- Un cop creada, escrivim el propòsit o la cadena de documentació de la funció i afegim la condició d'asserció. Un cop esmentada la cadena de document, Copilot comença a suggerir la condició d'asserció per a la prova.
reparació de serveis d'actualització de Windows Server
Consells per a una generació efectiva de codi d'unitat
- Descripció clara: Copilot genera principalment codis d'unitat revisant els comentaris o les cadenes de documentació que l'usuari proporciona al fitxer. Per tant, els codis de descripció ben escrits són essencials per generar codis de prova unitaris significatius.
- Denominació de variables: L'ús de noms de variables que descriguin el propòsit del codi pot ajudar a generar casos de prova. La claredat en els noms de variables garanteix que els casos de prova generats automàticament compleixin les nostres expectatives.
- Ús de tècniques de burla i taca: Mocking i Stubbing són tècniques de prova que s'utilitzen per crear entorns simulats per examinar les funcions del codi. Mocking crea un clon d'un objecte real, com una base de dades o un servei web, mentre que Stubbing crea una versió simplificada d'una funció de la qual depèn el codi que es prova.
- Reviseu el codi suggerit: Els suggeriments de Copilot s'han de revisar per assegurar-se que compleixen els requisits de prova i els estàndards de codificació.
Limitacions de les proves unitàries mitjançant GitHub Copilot
GitHub Copilot Chat està pensat per oferir-vos la resposta més rellevant a la vostra pregunta. Tanmateix, és possible que no sempre proporcioni la resposta que busqueu. Els usuaris de Copilot Chat són responsables de revisar i validar les respostes generades pel sistema per garantir que siguin precises i adequades.
Espero que la publicació hagi estat útil i hàgiu entès els avantatges i les limitacions d'utilitzar GitHub per generar proves unitàries.
La prova d'unitat generada per Copilot cobreix els casos cantoners?
Copilot és una eina útil per a les proves unitàries, però pot ser que no cobreixi tots els escenaris. Heu de revisar els seus suggeriments a fons i tenir en compte les entrades o errors inusuals. Sigueu creatius per garantir proves exhaustives. La vostra experiència és crucial per a proves unitàries sòlides, fins i tot amb Copilot.
Per als casos de prova, Copilot és capaç de gestionar algorismes complexos?
Copilot lluita amb provar algorismes complexos. Tot i que pot escriure proves bàsiques, no pot substituir la vostra experiència. Per a algorismes complexos, creeu proves específiques dirigides a la lògica única. Copilot pot ser útil, però la vostra experiència sempre és necessària per a proves complexes.