Hatasız Yazılım Geliştirme Sağlamak için 5 İpucu
Yayınlanan: 2017-10-24Yazılım uygulamanızda hatalar var mı? Tabii ki var, çünkü mevcut her yazılım programının sorunları var ve hatasız yazılım hikayesi bir efsane. Bununla birlikte, birkaç kitapçığı ancak pratik kısıtlama tekniklerini izleyerek hataları, hataları ve güvenlik sorunlarını önemli ölçüde en aza indirmek hala mümkündür.
Herkesi kurallara uymaya teşvik etmek gerektiğinden, hata takibi söz konusu olduğunda çok fazla disiplin söz konusudur. Özellikle yeni kurulan şirketlerde ve yaratıcı endüstrilerde, herhangi bir gayri resmi iletişimi caydırmak oldukça zor olabilir. Aslında, çoğu durumda insanlar bir projenin en odaklanmış parçası olarak 'hata izlemeyi' adlandırmazlar.
Hata izleme gerçekten ne hakkında?
Technopedia'ya göre: “ Hata izleme, kalite güvence personeli ve programcılar tarafından yazılım sorunlarını ve çözümlerini takip etmek için kullanılan bir süreçtir. “
Bu nedenle bir hata izleme sistemi, bildirilen hatalarla ilgili tüm bilgileri yönetir ve her bir hatanın durumunu takip eder. Sorunları takip ederken kesinlikle kapsamlı bilgiye ihtiyaç duyuyorsunuz. Yeterli veri sağlamak sadece çok fazla zaman değil, aynı zamanda yazılım geliştirme alanında da bol miktarda beceri gerektirir.
Hata sınıflandırması
Üç tür yazılım hatası vardır:
- Yanlış özellikler
- Uygulama kusurları
- Eksik özellik
Bu hata türlerinden herhangi biri kolayca kritik bir sorun olarak sınıflandırılabilir (veya bir iyileştirme olarak yeniden sınıflandırılabilir). Xolv.io'nun Kurucusu Sam Hatoum tarafından kullanılan yeniden sınıflandırma yönergelerinden bazıları aşağıda belirtilmiştir.
- Yanlış spesifikasyon bize zarar mı veriyor? Örneğin, spesifikasyon, izleme harcamalarının ne zaman Yeniden Sınıflandırma Hatası olması gerektiğini belirtir.
- Uygulama kusuru ihmal edilebilir mi? Örneğin, yazılıma gömülü olması gerektiğinde web yazı tipi yükleniyor.
- Eksik belirtim yeni işlevler anlamına mı geliyor? Örneğin, kullanıcılar profil ayrıntılarını sosyal ağlarda paylaşamaz ve düzenleyemez.
Geliştirme ekibine hataları diğer tüm çalışmalara göre önceliklendirmesi talimatı verildiğinden, ürün yöneticilerinin hataları verimli bir şekilde sınıflandırması için riskler yükseltilir. Geliştiriciler, tüm hatalar giderilene kadar çalışmayacak veya başka bir şey yapmayacak.
Ekip kalite standartlarını oluşturmak
Bir tasarım ve geliştirme ekibi, bir uygulama virüsünün bir iyileştirme olarak yeniden sınıflandırılıp sınıflandırılamayacağına karar verdiğinde, bu karar süreci, ekibin kalite standartlarını dolaylı olarak belirtir. Örneğin, yüksek kaliteli görsellere vurgu yapan bir marka sahibi, tasarım farklılıklarına karşı düşük toleransa sahip olabilir. Bunun yerine, bu sorunları hata olarak yeniden sınıflandırırlardı.
Tutarlı bir yeniden sınıflandırma sistemi, ekibinizin kalite standartlarını ilk sıraya koyan yapılandırılmış bir teslim yaklaşımını sürdürürken, beklentileri gerçeğe karşı sürekli olarak uyarlamanıza olanak tanır.
Hata hataları
Son araştırmalar, sistem arızalarının neredeyse yüzde 40'ının yazılım hatalarından kaynaklandığını, diğer güvenlik sorunlarının ve program açıklarının ise yüzde 60'ının ortak bellek ve eşzamanlılıkla ilgili sorunlardan kaynaklandığını iddia ediyor. Uygulamanızdaki yazılım hatalarını azaltmak, yazılımınızın güvenliğini, kararlılığını ve güvenilirliğini artırmanın en iyi yoludur.
Hatasız Yazılım Geliştirme Sağlamak İçin İpuçları
Günlüğe kaydetme aracı SmartInspect'in geliştirilmesi sırasında geliştiriciler, sistemlerinin kalitesini yüksek tutmak için birçok yöntem kullandılar. Yukarıda bahsedilen liste, kullandıkları tekniklerin bazılarını içermektedir.
1. İletişim için alan yaratmak
Hataları tespit etmek ve raporlamak, daha sonra her sorun raporuna eklenen ilgili bilgileri tanımlama becerilerini gerektirir. Usersnap gibi gerekli bilgileri otomatik olarak ekleme yeteneği sunan birçok hata izleme ve kalite güvence aracı vardır. Bununla birlikte, her zaman eksik veya yanlış anlaşılmalara yer olacak ve bu da uygun iletişim ihtiyacına neden olacaktır.
Bazı test senaryolarında, geliştiriciler ve test kullanıcıları arasında bu tür bir ifşaya yer yoktur. 'Sorumlu uzmanlarla nasıl iletişime geçebilirim?' gibi sorular. veya 'Telefon veya e-posta yoluyla geri bildirim istemek uygun mudur?' hata izleme sürecinin başında yanıtlanması gerekir.
Test kullanıcıları ve geliştiriciler adına yanlış anlamaları önlemek için herkesi aynı sayfaya getirmeye çalışın ve her iki tarafın çalışmalarına aynı şekilde saygı duyulduğu geri bildirim odaklı bir kültür oluşturun.
2. Bire bir tutun
Bir proje toplantısında hataları tartışmaktan kaçının. Şimdi beni yanlış anlama. Ekip olarak çalışmanın, hataları yeniden üretmenin ve düzeltmenin kötü bir tarafı yok. Ancak tüm kabine ile uzun süreli toplantılarda sorunları tartışmayın. Usersnap.com'da bir teknoloji blog yazarı olan Thomas Peham'a göre, hataları bildirmek ve ardından bir sonraki geliştirme 'yeniden test' aşamasında bunları tartışmak oldukça yavaş bir yaklaşım.
Aslında, onu bire bir tutmak çok daha verimli. Yegor'un hata izlemenin 5 ilkesiyle ilgili makalesinde yazdığı gibi, her hata raporu iki kişi arasında - belirleyici ve sorun çözücü - bağlantılıdır. Sürece kaç kişi dahil olursa olsun, bildirilen bir sorunu çözmek için yalnızca 2 ana sorumluluk (iki farklı rolle) vardır.
3. Ekibinizin katılımını sağlayın
Tüm ekibiniz kullanmıyorsa, iyi bir hata izleme veritabanı etkisiz olacaktır. Tüm paydaşlarınızın (müşteri hizmetleri, kalite güvencesi, proje yöneticileri ve geliştiriciler) araçları değerlendirmesini ve birlikte karar vermeye çalışmasını sağlayarak başlamak en iyisidir; Aynı sistemi kullanarak hataları tutarlı bir şekilde günlüğe kaydetme ve adresleme.
İnsanları gemiye almakta zorlanıyorsanız, yapabilecekleriniz şunlardır;
Geliştiriciler için, hata raporlarını başka bir yöntemle değil, bireysel veritabanları aracılığıyla kabul etme yasasını ortaya koyun. Testçiler size geri bildirim içeren e-postalar gönderdiğinde, onlardan raporları bilgi sistemine atmalarını isteyin. Bu, işlerin düzenli kalmasını sağlamanın yanı sıra, gerekli tüm bilgileri sağlayarak ve gerekli alanları tanımlayarak raporlamaya da yardımcı olur.
Daha verimli bir süreç oluşturmanın başka bir yolu da, QA'ya sahip olmak veya müşterilerden gelen hataları doğrulamayı desteklemek ve geliştiriciler bilgilendirilmeden önce tam adımları veritabanına eklemektir. Yazılım sorunlarınızı etkili bir şekilde izlemek, güvenilir ve tutarlı bir proje yönetimi çerçevesine sahip olmanın en önemli yönlerinden biridir.
- İyi bir hata ayıklayıcı
Visual Studio veya Delphi gibi sistemler kullanıyorsanız, kullanmanız gereken son derece güçlü bir hata ayıklayıcıya zaten erişiminiz vardır. Geliştiricilerin genellikle hataları deneme yanılma yoluyla ortadan kaldırmaya çalıştığı bir komut dosyası ortamı söz konusu olduğunda, süreç yalnızca sorunları tanımlamanın ve çözmenin hantal bir yolu olmakla kalmaz, aynı zamanda kodunuzu tam olarak anlamazsanız ve yapamıyorsanız çok tehlikelidir. bir hata ayıklayıcı ile adım atın. Ekibiniz için iyi bir hata ayıklama platformu edinerek kendinize bir iyilik yapın - hemen hemen her şey için hata ayıklayıcılar vardır.
4. 'Kapalı' bir hatanın ne anlama geldiğini bilin
Hiç bir hatayı kapatma hakkında bir tartışmaya katıldınız mı? Tebrikler, olabilecek en kötü hata izleme durumundaydınız.
Kendinizi 'hata durumu' ile ilgili bir tartışmanın içinde bulursanız, geri adım atmayı ve kendinize aşağıdaki soruları sormayı düşünün:
- Sonuçları kabul etmek kimin sorumluluğundadır?
- Kabul kriterleri nelerdir?
- Emrin verilmesinden kim sorumludur?
'Kapalı' kelimesinin anlamına bir göz atın. Geliştirme ekiplerinin çoğunda, hatayı düzelten kişi tarafından bir hata kapatılır. Peham, sorunu bildiren kişinin hata raporunu kapatmasını önerir. Belirli bir hatanın çözümü geliştirici tarafından ortaya konulduktan sonra, muhabirden raporu kapatması istenmelidir. Bu, geri bildirimin yazılım karışıklıkları için yeterli bir çözüm olmasını sağlayacaktır.
5. Sanal makineler
Yazılımınızı mümkün olduğunca çok farklı işletim sistemlerinde ve ortamlarda hatalara karşı test etmek için Virtual PC veya diğer mevcut sanallaştırma yazılımları gibi araçlarla sanal makineler kullanmalısınız. Sanal makineleri kolayca kopyalayabileceğiniz, paylaşabileceğiniz ve sıfırlayabileceğiniz için bu yöntemle tonlarca zaman kazanabilirsiniz, bu da yazılımınızı her türlü konfigürasyonda test etmenize olanak tanır.
Düzenli olarak test ettiğiniz tüm işletim sistemleri için çeşitli standart görüntüler oluşturmak ve bunları bir dosya sunucusuna koymak her zaman tercih edilir. Bir şeyi test etmek için oldukça spesifik bir konfigürasyona ihtiyacınız olduğunda, işletim sistemini, gerekli yazılımları ve sürücüleri vb. yüklemeden temel görüntülerden biriyle başlayabilirsiniz.
Yeni bir kavram değil
Hatoum bu konsepti ortaya attığında Zero-Bug yazılımı fikrinin yeni olmadığını öğrendi. Aslında 1960'lardan beri var, unutulmuş eski usul felsefelerin çoğu gibi.
Efsanevi kalite uzmanı Phillip Crosby, Sıfır Hata terimini Martin Company'de çalışırken ya da şu anda bilinen adıyla 'Lockheed Martin'de icat etti ve burada “hükümet denetimi altındaki donanım kusurlarında %54'lük bir kusur azalması” elde ettikleri bildirildi.
Sıfır-Hata tekniği ilk olarak 60'larda havacılık ve uzay imalatında kullanıldı ve daha sonra 1990'larda otomotiv imalatında uygulandı. İmalat endüstrisi ve yazılım teslimi arasında birçok benzerlik vardır.
Örneğin popüler çevik yönetim yöntemi Kanban, Toyota Üretim Sisteminden kaynaklanmıştır. Bunun bize temel olarak söylediği şey, yazılım veya uygulama geliştirmede teknik ilham almak için bu üretim süreçlerine kolayca bakabileceğimizdir ve Zero-Bug bu ilhamlardan biridir.
Bununla birlikte, standardı karşılamanın aşırı maliyeti, Sıfır Hata yaklaşımının önemli bir eleştirisidir. Ve eğer yanlış uygulanırsa, bu gerçekten doğru olabilir. Sıfır Hata yaklaşımında, Hatoum, hataların özelliklere yeniden sınıflandırılması ve önemli iyileştirmeler yoluyla bu sorunla doğrudan ilgilendi ve maliyetin ekibin kalite standartları aracılığıyla kontrol edilmesini sağladı.
Bugün başla
Teknoloji kullanıcıları ve geliştiriciler olarak, yukarıda belirtilen sistemi kullanarak mevcut tüm aksaklıkları gözden geçirmeye ve sınıflandırmaya başlayabilirsiniz. Yüz binlerce sorununuz olduğunu düşünüyorsanız, bunları biriktirmek ve yeniden başlamak için iyi bir zaman olabilir. Endişelenmeyin, gerektiğinde arşivlerdeki hataları her zaman mevcut etki alanına taşıyabilirsiniz.
Geliştirme ekibi, hataları ezmeye başlamadan önce tüm sınıflandırma alıştırmasının tamamlanmasını beklemek zorunda değildir; birkaç hata sınıflandırılır sınıflandırılmaz başlayabilirler. Ekip, tüm öğeler 'hatadan arındırılana' veya yeniden sınıflandırılana kadar biriktirme listesindeki diğer öğeler üzerinde çalışmaya başlamamalıdır. Ürün yöneticilerini yeni işleri doğru bir şekilde önceliklendirmeye zorlayan tam da bu kuraldır.
Özetlemek
Bir projede bildirilen her hata, düzeltilmesi için ek süre gerektirir. Bu nedenle, hata izleme, hataları izleyen kişilerden büyük iletişim becerileri ve bunları düzeltenlerden hassasiyet gerektirir. Yukarıda bahsedilen izleme hileleri ile ekibiniz her türlü teknoloji veya güvenlik engelini bildirirken daha üretken olmaya çalışabilir.