Yazılım testi gerçekten profesyonel projelerde yapılıyor mu?


25

Birkaç şirkette birçok projede yer aldım çünkü uzun süredir geliştiriciyim ve müteahhitim.

Projelerin % 20'sinden azının metodik olarak test edildiğini tahmin ediyorum . Metodik olarak test edildiğinde, geçici olmayan plan testi ötesinde bir test anlamına gelir.

Ayrıca , projelerin % 10'undan daha azının , ekibin bir parçası olarak test eden test uzmanlarına sahip oldukları, geliştiricilerin otomatik testler yazdığı test plan belgesinin ve test kapsamı izleyen ve sonuçları ölçtükleri durumlarda, sistematik olarak test edildiğini tahmin ediyorum .

İki soru

  1. Bu konuda yüzde tahminleriniz neler?
  2. Yazılım testiyle ilgili profesyonel deneyiminiz nedir?

Ek not

Metodik test sorusu oldukça taraflı cevaplar alabildiğinden (insanlar diğerlerinden daha üstün olma konusunda övünmek isterler) diğer geliştiricileri (metodik teste maruz kalmayanlar) cevaplarını da sağlamaları konusunda cesaretlendiririm , çünkü aksi halde test gibi görünecektir. her yerde yapılıyor ... şirketiniz dışında.


Harika bir soru, yeniden düzenleme için zaman ayırdığınız için teşekkür ederiz!

@Mark Trapp: Teşekkürler. Biraz basit olduğunu düşünüyorum ama biraz daha sorabilirim (önceki soru setine dayanarak)
Robert Koritnik

Yanıtlar:


8

Kariyerim üzerinde test yaparken gördüğüm model, bir projedeki başarısızlık riskiyle güçlü bir yazışma gösteriyor. Büyük projelerin küçük projelere göre test edilme olasılığı daha yüksektir, kritik görev uygulamalarının bir pazarlama dışı web sitesine göre test edilme olasılığı daha yüksektir, ev sistemlerinde kamuya açık olanlara göre test edilme olasılığı daha düşüktür.

Bununla birlikte, fazlasıyla test edilmiş ve yeterince test edilmemiş projeler var, ancak bunlar azınlık.


Sorumu biraz düzenledim. Tahminlerini de verebilir misin?
Robert Koritnik

Katıldığım projelerin hemen hepsinde (% 80 +) metodik olarak test edilmiş, ancak daha sonra neredeyse sadece kurumsal görev kritik uygulamaları yaptım.
Martin Brown

İlaç firması için çalışıyorum. Başvuruların% 80'inin profesyonel test ve geliştiriciler tarafından test edildiğini söyleyebilirim. Bu% 20'si iPad'deki tanıtım sunumu gibi düşük riskli uygulamalardır. ama bu bile birileri tarafından kontrol edilir.
yoosiba

5

Ürettiğimiz her şey tamamen test edilir. Dahili KG ekibimiz aşırı yüklendiyse, projeleri test eden bir offshore ekibimiz var. İç ekibimiz kadar iyi değiller ama bu farklı bir konu.


Sorumu biraz düzenledim. Profesyonel gelişim piyasasına ilişkin tahminlerinizi verebilir misiniz? Çünkü projeleriniz inceleniyor. Testleriniz otomatik mi değil mi?
Robert Koritnik

Bu denizaşırı takım kim? Onlara bir tavsiye verir misiniz?
Martin Brown

Genellikle büyük şirketler diğer ülkelerde Ar-Ge Merkezlerine sahiptir (çoğunlukla Asya'da). Açık deniz gelişiminin yapıldığı yer. Açık deniz kalkınmasının amacı, geliştirme maliyetini azaltmaktır (bunun bir kısmı).
Nipuna

2

Son 15 yılda çalıştığım üç firmanın hepsinde otomatik olarak yapılan birim testleri yapıldı.

Bu şirketlerden ikisinde, onları tanıtmak için zorladım.


Sorumu biraz düzenledim. Profesyonel pazardaki yazılım testleriyle ilgili tahminlerinizi de verebilir misiniz?
Robert Koritnik

@Robert: Genel bir tahminde bulunacak kadar işten atılmamıştım. Bildiğim kadarıyla, işler daha iyi hale geliyor. Ama sonra, size bahsettiğim üç durumdan ikisinde otomatik birim testleri için beni zorlayan kişi
bendim

Ama diğer şirketlerdeki diğer geliştiricilerle konuşuyorsunuz, değil mi?
Robert Koritnik

2

Son 9 yılda, sadece kabul / regresyon testleriyle karşılaştım. Sadece birkaç ünite testi yapıldı.


Sorumu biraz düzenledim. Profesyonel pazarda da test test tahminlerinizi verebilir misiniz?
Robert Koritnik

2

Evet.

Test miktarı, uygulamanın gerektirdiği güvenilirliğin yanı sıra programcı kültürünün olgunluğuyla orantılıdır.

Web siteleri oldukça sık (kırık linkler patlak delikler yürüyorlar olan bir kusur).

Video oyunları genellikle sıkıcıdır.

Windows (nihayet) oldukça güvenilirdir.

Yönlendiriciler çok güvenilir

Hastane monitörleri "bozulma"

Mali başarısızlık maliyetinin de güvenilirlik ile ilişkili olduğunu unutmayın.


2
Size kesinlikle katılmıyorum - yönlendiricinin başarısız olduğunu hiç görmediniz mi? Xbox, Playstation ve Wii oyunları kilitlenir mi? Windows'ta mavi ekran veya 'Uygulama yanıt vermiyor mu?'
JBRWilkinson

@JBRWilkinson Sanırım ciddiyeti değiştiricilerini kaçırdığınızı ve aynı zamanda Paul'un dediği gibi PC oyunlarının büyük çoğunluğunu yaratacağını düşünüyorum. Her neyse, liste muhtemelen biraz iyileştirme yapabilirdi, ancak duyarlılık doğru: güvenilirlik genellikle başarısızlıkla ilişkili mali kayıplarla ilişkilendiriliyor.
Jay Carr,

1

10 yıl boyunca hiçbir zaman resmi kod testi olan bir proje üzerinde çalışmadım.

Şu anki işimde sadece işlevsel testler yapıyoruz.

Sorun, yönetimde hiç kimsenin kod testi hakkında bir şey bilmemesidir. Test departmanı kod testi hakkında bir şey bilmiyor, sadece üst düzey spesifikasyonları takip ediyor ve davranışsal / işlevsel bir bakış açısından uyup uymadığımızı doğrulıyor.

Bizi kodlamaya zorlayan nitelikli bir yazılım liderimiz yok. Sonuç, spagetti kodu, çok sayıda gerileme, cevapsız programlar vb.


Dürüst cevabın için teşekkür ederim. Tahmininiz nedir (düzenlenen sorumu kontrol edin)?
Robert Koritnik

İtalya için tahminim, resmi kod testlerinin% 10'unun altında. Belki de neredeyse sadece kritik görev kodu.
Wizard79

İrlanda, İngiltere, İskoçya ve Slovenya'da çalıştım ve görünüşe göre İtalya farklı görünmüyor.
Robert Koritnik

1

Güney Asya'da orta ölçekli bir denizaşırı şirketiz. Ancak, her zaman ABD merkezli projeler yapıyoruz ve doğrudan ABD şirketinden gönderilen gereksinimlerle çalışıyoruz.

Oluşturduğumuz her uygulamaya metodik test uygularız. Belki de, test kalitesi standart değil, ama onları kullanıyoruz.


Bu testler otomatik mi olacak, yoksa manuel mi? Sorumu biraz düzenledim. Profesyonel pazarda da test test tahminlerinizi verebilir misiniz?
Robert Koritnik

Testlerimizin çoğu elle yapılır.
Shamim Hafiz

1

İçimdeki saflık kadar, ne kadar titizlikle test ettiğinize veya herhangi bir resmi test yaptırıp yaptırmadığınıza ilişkin kararın içinde bir risk yönetiminin olması gerektiğini kabul etmek istemiyor. Programlama projelerinin büyük bir yüzdesi olduğundan şüphelendiğim iç uygulamalar için, bir hatayı silmenin ve fark edildikten sonra hızlı bir şekilde düzeltme işleminin maliyeti bazen tam bir test ekibinin maliyetinden ağır basabilir. Tabii ki bu uygulamaya ve arızaların potansiyel maliyetine bağlıdır.

Bununla birlikte, risk yönetimi planlamasının resmi testlerin olmamasının nedeni olduğunu sanmıyorum. Bunun teknik olmayan yöneticilerin sağladığı değeri anlamadığı ve sadece maliyeti gördüğü sonucu olmadığını düşünüyorum.


2
Ne dediğini duyuyorum ama haklı çıkarmak zor. Araştırmalar, bir hatanın ne kadar uzun süre fark edilmediğini, katlanmadan maliyetlerinin arttığını göstermiştir. Müşteriye bunu yapan hataların maliyeti muazzamdır ve bir birim test çerçevesi mevcut değilse, sık sık yeni hatalara neden olur (bu tür bir "yama ve düzeltme" zihniyetinin mevcut olması durumunda olası bir senaryo). Sonuç olarak, test araçlarının ve metodolojilerinin makul kullanımı, yama ve düzeltme işlemlerinden çok daha az pahalı olduğu gösterilebilir.
Robert Harvey,

3
Bu dogmaya, özellikle de evrensel olarak nasıl uygulandığına dair şüpheci bir şekilde büyüyorum. Bazı zamanların doğru olduğundan eminim, ancak tüm hatalar eşit olarak yaratılmıyor, ne de tüm uygulamalar. 10 kişinin kullandığı dahili bir uygulamadaki bir hatanın yama sürümünde karşı test sırasında bulunursa düzeltmenin daha pahalı olduğunu yutmak çok zor. Üstelik daha utanç verici olabilir, ancak bir test cihazının hatayı bulmak için harcadığı zamanın gerçek maliyetlerini göz ardı etmediğiniz sürece daha pahalı olmaz.
JohnFx

2
Ayrıca, bu istatistiklerin yaratıldıkları büyük projeler (örneğin İşletim Sistemleri) için daha uygulanabilir olmadığını ve çoğumuzun yaşam için inşa ettiği CRUD tipi uygulamalara çevrilmediğini de merak ediyorum.
JohnFx

İkinize de katılıyorum ve her iki vakayı da gördüm. Ama Robert’in tarif ettiği üssel maliyetlerden payımın, özellikle de yazılımda bir hata bulunduğunda, diğer özellikler gerçekte sabitlenmişse kırılmaya başlayacağından eminim. Yeterince uzun süre çalışan insanlar ve yeterince uzun bir süre içinde kalan böcekler ile yeterince çılgınca kodlama, 1 + 1, 2 değil. 7.

1

Örneğim yüzdesini bulmak için çok küçük, ama yine de gidiyor.

Bunlardan biri fanatik testler yapan fabless chip + firmware firmasıydı. Onlarca tesiste 7/24 otomatikleştirilmiş testler, her biri onlarca ünite paralel olarak test edilir. Test ekipleri geliştirmeye adanmış yazılım ekipleri. Donanım test ekipleri oluşturmaya adanmış ekipler. Onlarca rakibe karşı uyumluluk testi. Heck, fişlerin dökümhaneden ayrılmasından sonra fabların yaptığı testlerin bazılarını geliştirmek ve hata ayıklamak için multi-milyon dolarlık bir fiş test cihazı bile satın aldılar.

Bir diğeri de banka idi. Bu tamamen farklı bir ortam: ürün açıklaması yok, ancak sürekli çalışmaya devam etmek için çok fazla ve çok sayıda şirket içi yazılım. Bu adamlar cr * p'leri yaptıkları her değişiklikten test etti. DEV / QA / PROD ortamları, otomatik regresyon testi, zorunlu QA testi son kullanıcılar tarafından üretime girmeden önce imzalanan çok sıkı bir şekilde ayrıldı.

Yani evet, insanlar metodik testler yapar. Ama söyleyebileceğiniz gibi, tipik GUI yazılımınızı tipik bilgisayar kullanıcısı için gönderen bir yerde hiç çalışmadım.


1

Şu anda kablosuz tıbbi cihazlar yapan küçük bir başlangıç ​​şirketi için gömülü ürün yazılımı yazıyorum. Sıkı bir test yapmamız ve doğrudan CEO'ya rapor veren biri tarafından tamamen ayrı bir kalite departmanımız olması gerekmektedir. Kodumu daha önce hiç test etmeden bu kadar ayrıntılı bir şekilde test etmedim (karşılaştırılan tek zaman, yaklaşık 15 yıl önce uydu TV sistemlerinde çalıştığım zamandı.)

Test sonuçlarımız FDA'ya gönderilir (şu ana kadar iki FDA izni aldık - her gönderim yaklaşık 500 sayfa uzunluğundaydı). Hem geliştirme hem de test metodolojilerimiz periyodik denetime tabidir.

Bu yüzden çok sayıda resmi test yapan sadece büyük şirketler değil.

Not - 25 yılı aşkın sözleşme programlamam / danışmanlığımda, neredeyse resmi bir test yapmayan birçok şirket için de çalıştım. Çoğu artık buralarda değil.


Ayrıca bir tıbbi cihaz şirketindeyim ve GMP'ye giriş (İyi Üretim Uygulamaları, kontrollü bir tasarım / test süreci için FDA konuşması) benim için oldukça açıktı. Beni daha iyi bir mühendis yaptı (ve ne yazık ki doktora uzmanı)
Bill Gribble

0

Neredeyse her şirkette metodik testler yaptım. Şu anki şirketim bazı temel birim tarzı testlerine sahip ve bu yeterli değil. Bundan dolayı bazı kalite sorunlarımız oldu. Kendin dışında birisinin kullanacağı herhangi bir projede bağımsız testler yapmanı şiddetle tavsiye ederim. Harcanan para buna değer. İşe yarayan uygulamalar alışmaz. Bu hem içten hem dıştan dışa dönüktür.


Sorumu biraz düzenledim. Profesyonel pazarda da test test tahminlerinizi verebilir misiniz?
Robert Koritnik

@Robert: "Yazılım testlerinin tahminleri" sorunuzu anlamıyorum. Kaç şirketin test ettiği hakkında fikrimi mi soruyorsun? Tahminim kendi gözlerimle gördüklerime göre% 90 veya daha fazla olabilir. Test yapmak, mesleki gelişimin ortak bir parçasıdır.
Bryan Oakley

0

Kariyerimin son yirmi senesinde, sekiz şirket aracılığıyla, hiçbir zaman test yapmayan bir proje üzerinde çalışmamıştım . Testlerin miktarı her şirkette farklıydı, ancak üzerinde çalıştığım her profesyonel gelişim projesi resmi testler yaptı. Bu, hem küçük hem de orta ölçekli şirketler için aynı şekilde geçerlidir ("küçük" 10 çalışandan az, "orta ölçekli" ise birkaç bin çalışan veya daha az çalışan anlamına gelir).

Bazı şirketler çok otomatik testlere sahip değildi, bazıları çok manuel testlere sahip değildi, ancak en az bir tanesine sahipti.


0

Bu müşterinin ihtiyaçlarına bağlıdır. Bir sözleşme durumunda muhtemelen kabul testleri vardır. Kurum içi genellikle küçük bir test ile bir tokatlama. Tüketici maddeleri genellikle sık işlevsellik ile kaplıdır, ancak kenarlarda pürüzlüdür.


0

Kısa cevap: Evet

Uzun cevap:

  1. İlk kategori için iyi bir tahminde bulunmuyorum (muhtemelen sıfırdan biraz uzak, ama ne kadar?), Ancak deneyimlerim aslında ikinci tahmininizle de doğrulanıyor. Testlerin miktarı ve türü, geliştirilmekte olan uygulamanın türüne, kullanılabilir zaman dilimine ve geliştiricilerin becerisine ve projenin nasıl yürütüleceğine bağlı olduğundan, anlamlı yüzdeleri vermek zordur. Uygulamada geliştiriciler için en önemli engel kabul testi olacaktır çünkü bu faturalandırma için önemli bir dönüm noktasıdır. Ancak, aynı zamanda beklenmeyen durumların ortaya çıkabileceği zamandır (daha fazla gereksinim) ve geliştiricilere, sorun gidermek ve üstesinden gelmek için gereken zamanın üzerinde mümkün olan ve zamanında (bu aşamada) yapılan herhangi bir geçici testi sunmak ve almak için baskı yapılabilir. beklenmeyen.

  2. Yukarıda belirtilen farklı faktörlerin kombinasyonuna sahip çeşitli projelerden geçtim:

    • resmi ünite testi yok, sadece entegrasyon testleri ve çoğunlukla anlık testler

    • ünite testlerinden, özel kalite güvence kaynaklarını, otomatik testleri (test uzmanları tarafından kendi araçları ile yapıldığı gibi) ve kod kapsamı raporlarını içeren ayrıntılı test planlarına kadar çok resmi bir şekilde yer almaktadır. Ancak bunlar, yöneticiler kadar geliştiriciler için her zaman anlamlı değildir.

Bireysel düzeyde, uğraştığım teknolojiye uygun testler yazmak ve bunları kendi takdirime göre uygulamak söz konusu olduğunda seçeneklerimi anlamaya çalışıyorum. Temelde işlerim için gerçekten anlamlı ve faydalı olan şeyler ve sayıları fazla kesiyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.