
GitLab Duo ile Otomatik Testler
Otomatik testler zaman alıcıdır ve bir projeyi ilerletmiyormuş gibi hissettirebilirler. Öte yandan, birçok geliştiricinin deneyimlediği gibi, otomatik testler genel olarak olumlu bir yatırım getirisi sağlar. GitLab’in yapay zeka destek servisi GitLab Duo, bu sancılı sürecin en büyük yardımcısı…
Bu yüzden amacımız bu soruna daha olgun bir çözüm sunmaktı, bu nedenle otomatik test bir gereklilik haline geldi. Bu durum, test etme ve sağlam bir ürün sağlama süresini dengelerken verimli bir şekilde inşa etme zorluğunu da beraberinde getirdi. Bu nedenle ekibimiz test üretimi için yapay zeka yetenekleri paketimiz olan GitLab Duo’dan yararlanmaya karar vererek, teslim edilen ürünün geliştirme hızını ve kalitesini artırdı.
GitLab Duo ile otomatikleştirmeyi konusunu iki alt bölümde ele alacağız:
- Kod Testlerini Oluşturmak İçin GitLab Duo’yu kullanmak
- Deney Sonuçları (Spoiler: 1 geliştirici + GitLab Duo = 2 günde %84 kapsam)
Kod testlerini oluşturmak için GitLab Duo’yu kullanmak
Önelikle GitLab Duo’yu yükleyin ve etkinleştirin.
GitLab Duo’yu kullanmanın ön koşulu olarak, GitLab Duo özellikli bir hesabımız olduğundan emin olduk. GitLab Duo’ya sahip değilseniz, 60 günlük ücretsiz deneme sürümüne kaydolabilirsiniz.
VS Code’da GitLab Duo Chat’i kullanmak için kurulum talimatlarını takip ettik. Ardından, kenar çubuğunda GitLab Duo Chat uzantısını görebildik ve Chat penceresini açabildik.
Sohbet botu ile testler oluşturma
Biz özel bir modül oluştururken bu özelliğe gitlab-helper ismini vereceğiz. gitlab-helper, ekibin çalışmalarında GitLab API ile etkileşimi standartlaştırmak için oluşturulmuş özel bir modüldür ve geliştirme ve komut dosyası yazma işlerini basitleştirmek için diğer kütüphane işlevlerini genişletir. Bir yöntem veya özellik gitlab-helper’a taşındıktan ve uygun şekilde uygulandığı görüldükten sonra, bunun için test oluşturma süreci basitti:
- IDE’de yöntemi, sınıfı veya tüm dosyayı seçin.
- Seçilen koda sağ tıklayın.
- GitLab Duo Chat altında, Generate tests’i seçin.
Birkaç saniye içinde testler oluşturuldu ve yapay zeka destekli sohbet botumuzun penceresinde gördük. Bu testler incelenebilir veya kopyala/yapıştır yoluyla mevcut ya da yeni test dosyalarına eklenebilir halde.
Sonuç olarak, kısa zamanda çok fazla sonuç almıştık. Bazı testlerin başarısız olmasının sebebi, ince ayar yapılması gerektirmesiydi (örneğin, iç içe geçmiş bağımlılıklarla uğraşırken).
GitLab Duo, bize gitlab-helper’ın otomatik testlerini oluşturmak için harika bir başlangıç noktası sağladı ve test yazma verimliliğini ve kod kapsamını büyük ölçüde geliştirerek geliştirme sürecini önemli ölçüde hızlandırdı. GitLab Duo’nun yanı sıra, gitlab-helper modülüne insan gözetiminde çok sayıda değerli test yinelemesi eklendi.
Deney sonuçları
GitLab Duo ile test yaparken, yapay zeka tarafından oluşturulan testlerimizin test kapsamını artırıp artırmadığını ve beklediğimiz gibi değer katıp katmadığını görebilmek için testler ve kapsam raporları çalıştırıyorduk. GitLab’ın test kapsamı görselleştirmesinden yararlanarak çalışmalarımızın sonuçlarını sürekli olarak izleyebildik.
Sonuçta, daha önce çoğunlukla manuel olarak yaptığımız testlerde kapsanan kodları yeniden oluşturmak için GitLab Duo’yu kullandıktan sonra %84’lük test kapsamına ulaşmayı başardık. Bu ekip için büyük bir başarıydı.
Birden fazla mühendis tarafından yaklaşık bir ay boyunca 74’lük bir oran yakalanmıştı. Şimdiyse deney sonunda sadece tek bir mühendisin %84’lük bir test kapsamına ulaşması, yaklaşık iki gün sürmüştü. Bu deneyden bu yana ekip, yeni özellikler sunmaya devam ederken, GitLab Duo’nun yardımıyla kapsama alanını %89’a kadar çıkardı.
GitLab Duo’yu kullanmak, test verimliliğinin ve kapsamını arttırdı ve aynı zamanda mevcut kodla ilgili daha düşük içeriğe sahip geliştiricilerin değerli testleri hızlı bir şekilde yazmasına olanak sağladı. Bu, hata yapma endişesi olmadan yeni özellikler geliştirme konusunda ekibin güveninin artmasına neden oldu.