Yazılım Test Sürecinde Aşamalar

Numanhan Duran
4 min readMar 31, 2021

--

Tekrardan merhabalar. Bir önceki yazımda test süreci boyunca yaklaşımlarımızı ve prensiplerimizi ele almıştık. Bu haftaki konumuzda artık teste giriş yaptık ama bu süreçte bizi ne gibi aşamalar bekliyor bu konuları konuşmak istiyorum.

Test Süreci Aşamaları

Yazılım Test Sürecinde Aşamalar

Normal hayatımızı yaşarken, bir iş yaparken, tatile çıkarken ve buna benzer bütün süreçler aslında aşamalar halinde ilerler. Yazılım test süreci de aynı şekilde, SDLC(Yazılım Yaşam Döngüsü) boyunca aşamalardan ve bu aşamaların değerlendirmeleri şeklinde ilerler. Çayımız kahvemiz hazırsa biraz bu aşamaları konuşalım..:)

Planning and Control

Herhangi bir işe başlarken, bir sürece adım atarken plan yapmak ve bu planı gözden geçirmek durumundayız. Böylece planımız ve kontrolümüz dahilinde yürüteceğimiz süreci daha sağlıklı ve amacına uygun şekilde yürütmüş oluruz.

Yazılım test sürecinde planlama aşaması, test misyonunun, amaçlarının ve aktivitelerinin belirlenmesini sağlar. Bu planı yolculuğa çıkarken çıkardığımız yol haritamız gibi düşünebiliriz.

Burada test kontrol aşaması, test planından sapmaların raporlanması ve bu sapmalardan kaynaklanabilecek sorunlar için gerekli tedbirlerin alınmasını kapsamaktadır. Aynı zamanda kontrol, her test aşamasında yapılabilir, öncesi veya sonrası yoktur. Sonuç olarak test sürecimizi planlamalıyız ve bu planı kontrol ederek olası sapmaları yakalayarak doğabilecek sorunları engelleyebilir ve daha sağlıklı bir süreç geçirebiliriz.

Analysis and Design

Test edilecek dokümanlar(analiz dokümanları, yazılımın bütünlük seviyesi, risk raporları, mimari tasarım, arayüz ) gözden geçirilir. Test nesnelerinin test edilebilirliği değerlendirilir. Bu analiz bize, içerisinde bulunduğumuz test süreci için fikir bütünlüğü sağlaması açısından önemli bir adımdır. Yaptığımız analize göre test koşullarımızı tanımlar ve önceliklendirme yapabiliriz. Önceliklerimiz de bize yazılım test süreci boyunca kritik noktalarımızı ve risklerimizin seviyesini belirmede yardımcı olacaktır.

Devam eden bu aşamada test senaryolarımızı desteklemek için gerekli test dataları belirlenir. Test ortamımızı kurarız ve testler ile tasklar arasında bir izlenebilirlik oluştururuz. Analizlerimizi yaptıktan sonra yapacak olduğumuz testin tasarımını yaparız. Analiz ve tasarım aşaması, test süreci için bir kroki veya kılavuz oluşturuyor diyebiliriz.

Implementation and Execution

Planlımızı yaptık, kontrollerimizi gerçekleştirdik, gerekli analiz ve tasarımlar yapıldıktan sonra, artık bu aşamada oluşturduğumuz tasarımları test case’leri haline getirebiliriz. Test ortamı ve test scriptlerini oluşturur ve uygulamaya alırız. Buglar düzeltilinceye kadar regression testleri yapılır. Planlanan sıraya göre de test prosedürlerini manuel olarak veya test otomasyon araçları kullanarak yürütürüz.

Prosedürlerimizi uyguladıktan sonra bizim analiz aşamasında beklediğimiz sonuçlar ile gerçekleşen sonuçları karşılaştırırız. Beklediğimiz şekilde çıkmayan sonuçlar uyumsuzluk getirecektir. Bu uyumsuzlukları raporlar ve ardından sebebini bulacak şekilde analizini gerçekleştiririz. Analizi yapıldıktan sonra bugların kök sebeplerini araştırır, her bir bug için yeniden geliştirme yapıldıktan sonra re-test yapılmasını sağlarız. Geliştirme sonrasında ve re-test öncesinde bulduğumuz fixlenen bugların etki analizini yapmak zorundayız. Yani düzeltilen bug başka bir yeri etkiliyor mu, etkilediği noktada risk doğuruyor mu mutlaka kontrol etmeliyiz.

Evaluating Exit Criteria and Reporting

Test sürecinin bu aşamasında, planlamada belirlenen misyon ve amaçlara ulaşılıp ulaşılmadığının kontrolünü sağlarız. Test sonuçlarını planlamada belirtilen çıkış kriterlerine göre değerlendirilmesi yapılır.

  • Testlerin %100 koşumunun sağlanmış olması gerekir.
  • Yüksek öncelikli testlerde %100,
  • Orta öncelikli testlerde %90,
  • Düşük öncelikli testlerde %50 koşum sağlanması gerekiyor.

En az %70 passed oranı sağlanmış olmalı, 1. ve 2. derecede kritik hataların yazılım ekibi tarafından fixlenmiş olması sağlanmalıdır. Sonrasında daha fazla test gerekiyor mu ya da çıkış kriterleri değiştirilmeli mi kararlarının alınması sağlanır. Yönetim ve paydaşlar ile özet raporları paylaşılır, sürecin kapanışına doğru yol alınmaya başlanır.

Test Closure

Artık bütün aşamaları sağlıklı şekilde tamamladık, test koşumları sağlandı, hatalar düzeltildi, riskler olabildiğince ortadan kaldırıldı ve test sonlandırılma aşamasına geldi. Sonlandırılan testlerin sonuçları birleştirilerek test projesinin kapatılma kararı verilmekte, kapatılan teste ilişkin dokümanlar ve test scriptleri diğer testlerde kullanılmak üzere arşivlenmektedir.

Bir sonraki test sürecinde benzer bir süreç bizi bekliyor olacak olursa, bir önceki test projemizden yararlanabilir ve bütün aşamalarda bize bir yol haritası olmasını sağlayabiliriz. Yaptığımız testleri, analizleri ve raporları arşivimize ekleyelim ki ileride benzer işler bizi bekliyor olabilir.. :)

Bu hafta test aşamalarını ele almak istedim. Bir sonraki haftalarda test seviyelerine ve test tiplerine değiniyor olacağım. İlerleyen süreçlerde test case’ler ve test senaryoları hakkında konuşuyor olacağız ve ardından Selenium ile ilk otomasyon testimizi yazarak testlerimizi otomasyon haline getireceğiz. Bir sonraki bloglarda görüşmek üzere sağlıklı ve mutlu günler diliyorum..:)

https://www.linkedin.com/in/numanhan-duran-0003959a/

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Numanhan Duran
Numanhan Duran

Written by Numanhan Duran

Software Test Specialist — Somewhere in Europe

No responses yet

Write a response