Geçtiğimiz 2 yılda, yapay zekadaki, özellikle de LLM'lerdeki (Büyük Dil Modelleri) ilerlemenin, geleneksel sorunları daha verimli bir şekilde çözdüğü ortaya çıktı ve LLM'lerin yaratabileceği bu tür etkilerden biri, yazılım testlerimizi otomatikleştirmeye yardımcı olmaktır. Çoğu yazılım ekibi için otomasyon hiçbir zaman SDLC döngüsünün birinci sınıf vatandaşı olmadı ve ekipler " Test Otomasyon Borcunu " oluşturan test senaryolarını otomatikleştirmek için mücadele ediyor. Test otomasyonundaki bu boşluk nedeniyle, kalite ekipleri bu test senaryolarını manuel olarak doğrulamak ve yazmak için çok fazla zaman harcıyor ve sonuç olarak mühendislik ekibinin nakliye hızı yavaşlıyor.
Yukarıda bahsedilen tüm sorunların, yazılım ekiplerinin bunlarla nasıl başa çıkması gerektiğine dair ayrı bir makale gerektirmesine rağmen, bu bölümde QA mühendislerinin BDD'de (davranış odaklı test) yardımcı pilotları olarak ChatGPT veya LLM'lerden nasıl yararlanabilecekleri hakkında konuşacağız.
BDD nedir?
Davranış odaklı geliştirme (BDD), bir uygulamanın, kullanıcının onunla etkileşimde bulunurken deneyimlemeyi beklediği davranış etrafında belgelendiği ve tasarlandığı Çevik bir yazılım geliştirme metodolojisidir. Bu tartışmanın bağlamı için bir YC web sitesinde BDD tabanlı testi uygulayalım ve YC hacker haberlerinin giriş sayfasını başlangıç noktası olarak ele alalım.
" Bir kullanıcı oturum açmayı denediğinde ve adresinde geçerli kimlik bilgilerini girdiğinde ve oturum aç tuşuna bastığında, kullanıcıyı hacker haber web sitesine yönlendirmelidir ".
BDD yönergelerine göre yukarıdaki davranış, olası bir test senaryosu olabilecek Salatalık sözdizimi/adımları olarak yazılabilir ve salatalık bir çerçeve olarak kullanılarak aynı Salatalık otomatikleştirilebilir ve bu davranış artık insan müdahalesine ihtiyaç duymaz . Bununla birlikte, yukarıdaki bölümde tartıştığımız sorun nedeniyle, QA ekibi genellikle aynı şeyi otomatikleştirmede sıkıntı çekiyor, ancak birkaç komut yazarak ve QA ekiplerimizin Gherkin adımlarını ve otomasyonunu iptal etmesi için bir iş akışı oluşturarak LLM'lerin gücünden yararlanabiliriz. salatalık çerçevesinde daha hızlı.
Kornişon Söz Dizimi Oluşturma İş Akışı
Gherkin Sözdiziminden salatalık uyumlu kod oluşturmaya yönelik iş akışı
1. Adım: Tasarlanma istemi
Adım 2: Otomasyon için temel olarak kullanılması gereken ilgili HTML'nin enjekte edilmesi.
Aşağıda gösterildiği gibi ince ayar yaptıktan sonra ChatGPT, salatalık için adım tanımları oluşturmak için kullanabileceği ilgili HTML ve Salatalık adımlarını ister.
Adım3: Adım tanımının oluşturulması
Feature: User Login Redirect Scenario: User logs in with valid credentials Given the user is on the login page of "//news.ycombinator.com/login?goto=news" When the user enters valid credentials and presses the login button Then the user should be redirected to the "hacker news" website
Nihai çıktı