Astrum: Test Otomasyon Tool

ASTRUM

Test Otomasyon Tool

Otomasyon testi, test yapan kişilerin analiz edilen gereksinimler doğrultusunda scriptler yazdığı ve gerçek sonuç ile beklenen sonucu belirli araçlar yardımı ile karşılaştırdığı bir test tekniğidir. Test yürütülürken manuel bir müdahaleye gerek kalmadan test senaryoları yazılır ve yazılan bu senaryolara göre otomasyon araçları yardımıyla testler yürütülür. Astrum da bu test otomasyon araçlarından biri ve bu yazımızda sizlerle bu aracı nasıl kullandığımızdan ve otomasyonun etkilerinden bahsedeceğiz.

Bazen sürekli gelişen ve değişen sistemler doğrultusunda aynı testin tekrar tekrar yürütülmesi gerekebilir. Test otomasyonu ile birlikte test için gerekli senaryoların kaydedilerek istenilen durumlarda tekrar yürütülmesi sağlanır. Böylelikle daha kısa bir zaman diliminde kontroller sağlanmış olur.

Eklenen bir özelliğin daha önceki senaryolara etkisini, hala çalışabilir olup olmadığını, hatalara neden olup olmadığını bilmek için aynı testleri manuel olarak gerçekleştirmek zaman ve efor kaybına neden olabilir. Testleri otomatize ederek kalan zamanımızı ve enerjimizi müşterilerimize daha iyi birer ürün ve performans sağlayabilmek için harcıyoruz. Otomasyonda test senaryolarını hızlı ve tekrar tekrar kolaylıkla uyguluyoruz. Testlerimizi 7×24 çalıştırarak herhangi bir sebepten kaynaklı hatayı erken teşhis edip müdahale edilebilir hale getiriyoruz.

Medianova’da Neden Testleri Otomatize Etmeye İhtiyaç Duyduk ?

Bizler Medianova’da daha önce testlerimizi manuel gerçekleştiriyorduk. Özellikle ard arda çalıştırılması gereken test senaryolarını manuel olarak çalıştırmak vakit ve efor kaybına neden oluyordu. Manuel test koşum yönteminde, koşulan test sayısıyla doğru orantılı olarak bir efor artışı görülürken, otomasyon test aracıyla oluşturulan testlerde ilk adımda fazladan harcanan birkaç saatlik eforla yeniden çalıştırılmaya hazır hale getirebildiğini gördük. Zamanın değerini bildiğimiz için de hem daha hızlı koşmak hem hatalarımızı minimalize etmek adına testlerimizi otomatize etmeye ihtiyaç duyduk.

Öte yandan otomasyon ile testleri otomatize ederek insan hatasından kaynaklı hataları da azaltabiliyoruz. Birden fazla veri kümesi gerektiren testleri daha kısa sürede daha az efor harcayarak çalıştırabiliyoruz. Manuel olarak gerçekleştirdiğimiz testlerin %95’inden fazlasını otomasyonda çalıştırabiliyoruz. Böylece yapılan bir geliştirme sonucu sistemde oluşabilecek hataları daha erken tespit ederek maliyeti azaltarak zamandan kazanç sağlayabiliyoruz.

Somutlaştırmak gerekirse, otomasyon üzerinde ortalama 500 senaryonun çalıştırılma süresi 20 dakikadır. Testlerimiz çalıştırıldıktan sonra sonuçları açık bir şekilde görebiliyoruz ve erken müdahale edebiliyoruz. Öncesinde bu testleri manuel olarak gerçekleştime süremiz ise çok daha fazlaydı. Testlerimizi otomatize etmek canlıya çıkış sürelerimizi azaltarak bize daha kısa zamanda daha kaliteli bir ürün sunmamıza olanak sağlamakta.

Aşağıdaki tabloda örnek bir test verisinin manuel olarak kontrol edilmesi ve aynı testin yapılan analizler doğrultusunda test aşamasındaki hazırlık süresi de dahil olmak üzere otomasyonda çalıştırılma sürelerini görebilirsiniz.

Otomasyonda ilk koşum için test senaryolarımızı yazarak otomasyon testimizi de hazırlamış oluyoruz. Hazırladığımız senaryoları birden fazla çalıştırabiliyoruz. Böylece çoklu koşum durumlarında insan müdahalesi otomatize ettiğimiz testlerde azalıyorken manuel olarak gerçekleştirdiğimiz testlerde bu geçerli olmuyor. Aynı efor her bir koşum için sağlanıyor.

Tabloda da görüldüğü üzere testimizi birden fazla koşturduğumuz durumlarda otomasyonda harcadığımız süre ile bu işlemi manuel olarak gerçekleştirdiğimiz süre arasındaki fark koşum sayısı arttıkça belirgin şekilde artıyor.

Ayrıca test raporu hazırlama ve paylaşma konusunda manuel koşumda çeşitli raporlama araçlarının yardımına ihtiyaç duyarken, otomasyon paketinin çalıştırıldığı test araçlarında bu raporlama işlemi test koşum sürecine dahil oluyor. Bir başka deyişle, raporlama için fazladan işgücü harcamamış oluyoruz.

Konuşma Dilinde Test Senaryoları Yazmak

Senaryoları yazarken konuşma dilinde komutlar vererek testleri çalıştırıyoruz. Böylelikle çok derin bilgi sahibi olmayan kişilerin bile kolay adapte olmasına, senaryo üzerinden yorum yapılabilmesine ve yapılan işin kolay devredilebilir olmasına olanak sağlıyoruz. Senaryoları yazarken “markdown” formatına dayalı kolay okunabilir ve yinelenebilir esnek söz dizimleri kullanıyoruz. Bu sayede analiz ekibimiz bu senaryoları oluştururken otomatize de etmiş oluyoruz. Söz dizimlerinin basit ve esnek olmasına özen gösteriyoruz. Senaryolarımızda, anahtar sözcükler belirleyerek butonlara tıklanması, menü seçenekleri seçilmesi, nesne metot ve özelliklerinin çağrılması gibi birçok özelliği simüle ediyoruz. Bir örnek üzerinden gösterecek olursak:

## Login Success Scenario

  1. * Open a web browser using "Chrome"
  2. * Open "Login" page
  3. * Write "example@medianova.com" to "email" field
  4. * Write "examplepwd" to "password" field
  5. * Click to "Login" button

Görüldüğü gibi sadece 5 satırda login olma işlemini otomasyon sürecine dahil etmiş olduk.

Keyword’ler ile oluşturduğumuz senaryodaki komutlarımızın teknik olmayan kullanıcılar tarafından da kolayca kullanılabilir olmasına, güçlü ve sağlam otomasyon test senaryolarının yazılmasına olanak veriyoruz. Özetle, oluşturduğumuz senaryoları mevcut projelerimizin CI / CD süreçlerine entegre ederek ürün kalitemizi arttırdığımızı ve dolayısıyla canlıya alınan projelerde hatalarımızı minimize ettiğimizi rahatlıkla söyleyebiliriz.

Kısacası Astrum, müşterilerimize daha stabil bir hizmet vermek adına bizim için büyük bir önem taşıyor ve Astrum’u Medianova’yı bir adım daha ileri götürecek önemli bir ürün olarak görüyoruz.

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors