Test, hata ayıklama ve özel durum işlemeye başlama
- 7 dakika
Her yazılım geliştiricisinin, kodunu geliştirirken bazı test ve hata ayıklama düzeylerini tamamlaması gerekir ve genellikle özel durum işleme gerekir. Peki bu üç görevle nasıl ilgili ve ne zaman uygulanmalıdır?
Test, hata ayıklama ve özel durum işleme
Kod hata ayıklama hem kod geliştirme hem de test etme ile açıkça ilgilidir. Sonuçta, uygulamanızı geliştirirken kod mantığınızda düzeltmeler yaparsınız ve ayrıca kodunuzu düzenli aralıklarla çalıştırarak kod söz diziminizin ve mantığınızın doğru olduğunu doğrularsınız. Ancak geliştirme işlemi sırasında kod mantığını güncelleştirmek gerçekten hata ayıklamanın amacı mı? Ayrıca kodunuzun derlendiğini ve çalıştırıldığını doğrulamak, test etmekle amaçlanır mı? Hayır, pek değil.
Özel durum işleme ile kod geliştirme ve test arasındaki ilişki nedir? Aslında, "özel durum işleme" ne anlama gelir ve bir geliştiricinin bunu yapması beklenir mi? C# geliştirmesinde, uygulama çalışma zamanı sırasında oluşan hatalara (derleme işlemi sırasında oluşan derleme hatalarına karşı) özel durumlar olarak adlandırılır ve "özel durum işleme" geliştiricinin kodundaki bu çalışma zamanı özel durumlarını yönetmek için kullandığı işlemdir.
Özel durum işlemenin kod geliştirme ve test ile ilişkisini merak ediyor olabilirsiniz. Aslında, "özel durum işleme" ne anlama gelir ve bir geliştiricinin bunu yapması beklenir mi? C# geliştirmede, uygulama çalışırken oluşan hatalar özel durumlar olarak adlandırılır. "Özel durum işleme" terimi, bir geliştiricinin kodu içinde bu çalışma zamanı özel durumlarını yönetmek için kullandığı işlemi ifade eder. Derleme işlemi sırasında oluşan hatalar hata olarak adlandırılır ve özel durum işleme işleminin bir parçası değildir.
Aşağıdaki bölümlerde geliştiricinin test, hata ayıklama ve özel durum işlemedeki rolü açıklanmaktadır.
Yazılım testi ve geliştirici sorumlulukları
Yazılım geliştirme süreci çok fazla test içerebilir. Aslında, yazılım testinin kendi uzmanlık alanı vardır ve yazılım test edicileri büyük uygulamaların geliştirilmesinde önemli bir rol oynar. Yazılım geliştirme sürecine yönelik, test temelli geliştirme gibi teste dayalı yaklaşımlar bile vardır.
Yazılım testi kategorileri, test türleri , test yaklaşımları veya her ikisinin birleşimi altında düzenlenebilir. Test türlerini kategorilere ayırmanın bir yolu, testi İşlevsel ve İşlevsel Olmayan testlere bölmektir. İşlevsel ve işlevsiz kategorilerin her biri test alt kategorilerini içerir. Örneğin, işlevsel ve işlevsiz test aşağıdaki alt kategorilere ayrılabilir:
- İşlevsel test - Birim testi - Tümleştirme testi - Sistem testi - Kabul testi
- İşlevsel olmayan test - Güvenlik testi - Performans testi - Kullanılabilirlik testi - Uyumluluk testi
Geliştiricilerin çoğu muhtemelen kendilerini test edici olarak kabul etmese de, bir geliştirici çalışmalarını bırakmadan önce bir tür test yapılması beklenir. Geliştiricilere test sürecinde resmi bir rol atandığında genellikle birim testi düzeyinde olur.
Uyarı
Yazılım testi bu kadar büyük bir konu olduğundan ve genellikle ayrı bir iş rolü tarafından gerçekleştirildiğinden, yazılım testine yönelik resmi yaklaşımlar bu modülde tartışılmaz.
Kod hata ayıklama ve geliştirici sorumlulukları
Kod hata ayıklama, geliştiricilerin sorunu yalıtmak ve düzeltmek için bir veya daha fazla yolu belirlemek için kullandığı bir işlemdir. Sorun, kod mantığı veya özel durumla ilgili olabilir. Her iki durumda da, istediğiniz gibi çalışmadığında kodunuzun hatalarını ayıklamaya çalışırsınız. Genel olarak, hata ayıklama terimi izole edilmesi zor çalışma anındaki sorunlar için ayrılmıştır. Bu nedenle, bir kod deyiminin sonunda eksik ";" gibi söz dizimi sorunlarının düzeltilmesi normalde hata ayıklama olarak kabul edilmez.
Aşağıdaki örnek kodu göz önünde bulundurun:
string[] students = new string[] {"Sophia", "Nicolas", "Zahirah", "Jeong"};
int studentCount = students.Length;
Console.WriteLine("The final name is: " + students[studentCount]);
Kod örneğinin amacı aşağıdakileri gerçekleştirmektir:
- adlı
studentsbir dize dizisi bildirin. Dizi,studentsöğrencilerin adlarını içerir. - adlı
studentCountbir tamsayı bildirin. Kod, dizinin yöntemini kullanarakLengthöğesinestudentCountbir değer atar. - Konsola son öğrencinin adını yazdırın. Kod, dizideki son ada erişmek için
studentCountkullanır ve bilgileri konsola yazdırmak içinstudentsyöntemini kullanır.
İlk bakışta her şey yolunda görünüyor. Ancak bu kod, öğrenci adını konsola yazdırmaya çalışırken bir özel durum oluşturur. Geliştirici dizilerin sıfır tabanlı olduğunu unuttu. Dizideki son adına students[studentCount - 1] kullanılarak erişilmelidir.
Kod hata ayıklama kesinlikle geliştirici sorumluluğundadır. Bu kod örneğinde sorunu hemen fark etmiş olabilirsiniz. Ancak daha karmaşık kodlama senaryolarında sorun bulmak her zaman kolay değildir. Endişelenmeyin, bulması zor olan sorunları izlemek için kullanabileceğiniz araçlar ve yaklaşımlar vardır.
Özel durum işleme ve geliştirici sorumlulukları
Daha önce okuduğunuz gibi, uygulama çalışma zamanı sırasında oluşan hatalar özel durumlar olarak adlandırılır. Bir uygulama özel durum oluşturursa ve bu özel durum kodda yönetilmiyorsa, uygulamanın kapatılmasına neden olabilir.
Özel durumları işlemek kesinlikle geliştiricinin sorumluluğundadır. C# bir özel durum oluşturabileceğini bildiğiniz kodu "denemeniz" için bir yol ve oluşan özel durumları "yakalamanız" için bir yol sağlar.
Özet
Bu ünitede hatırlamanız gereken birkaç önemli şey şunlardır:
- Test, hata ayıklama ve özel durum işleme, yazılım geliştiricileri için önemli görevlerdir.
- Test, işlevsel ve işlevsel olmayan testlere kategorize edilebilir ve geliştiricilerin bazı düzeylerde test gerçekleştirmesi beklenir.
- Kod hata ayıklama, sorunları yalıtma ve bunları düzeltmenin yollarını belirleme işlemidir ve bu bir geliştirici sorumluluğudur.
- Özel durum işleme, çalışma zamanı sırasında oluşan hataları yönetme işlemidir ve geliştiriciler kodlarında "try" ve "catch" deyimlerini kullanarak özel durumları işlemekle sorumludur.