YAZILIM TESTLERİNDE BİLİŞSEL ÖNYARGILAR

Başkalarının işlerindeki hataları kendi işlerimizden daha kolay algıladığımız kabul edilen bir gerçektir.

– Leonardo da Vinci

Yazılım testleri, zaman içinde yalnızca hataları belirleyip bildirmekten onları önlemeye kadar değişti. Yazılım geliştirme yaşam döngüsünün ilk aşamalarındaki birincil testler, yazılım ürünlerine kalite getirir ve piyasa başarısızlığını en aza indirir. Geliştiriciler, testçiler, analizciler, proje yöneticileri, yazılım uzmanları ve hatta üst yöneticiler olarak hepimiz bu konuda kesinlikle hemfikiriz.

Ayrıca kusurları belirlemek ve hataları düzeltmek için çok sayıda yüksek kaliteli akıllı test aracımız, geliştirme ve test süreçlerimiz, kurallarımız ve metodolojimiz var. Bununla birlikte, bir ürün çevrimiçi olduktan veya üretime geçtikten sonra “kaçırılan” ve bulunan birçok kusur olabilir. Hala iki soru var: Belirli bir kusuru neden veya nasıl gözden kaçırdık ve bu kimin hatası?

Akıllı ekipler süreçleri kontrol edecek, test araçlarını buna göre kalibre edecek, boşluğu bulacak, belki de test ekibine ve geliştirme ekibine gerekli eğitimi verecek ve bir sonraki dağıtımda “eksik hatayı” önlemek için olası tüm önlemleri alacak. Bu kolay kısım. Daha akıllı ekip üyeleri kendi içlerinde daha derine bakmaya çalışacaklar ki bu zor olan kısımdır. Bununla birlikte, iç gözlemsel bir yaklaşım, yazılım testi uzmanlarına ne tür bireysel sorunlarla karşı karşıya olduklarına dair ipuçları sağlaması gerektiğinden, yazılım testinin iyileştirilmesinde özellikle etkilidir; bunlardan biri bu makalenin konusudur: Bilişsel önyargılar.

Wikipedia, bilişsel önyargıları “Bilişsel önyargılar, yargıda norm veya rasyonellikten sistematik sapma kalıplarıdır” olarak tanımlar. Bilişsel önyargılar nasıl düşündüğümüzü, hissettiğimizi, iletişim kurduğumuzu, arkadaşlarla nasıl etkileşim kurduğumuzu, satın aldığımızı, sattığımızı, ürünleri kullandığımızı vb. etkiler. Çoğu zaman, kendi bilişsel önyargılarımızın ve bunların hayatımızı nasıl etkilediğinin farkında değiliz. Bu son cümle hakkında aynı fikirde değilseniz, bu sizin “önyargı kör noktanız”dır, önyargıların kendi yargılarınız üzerindeki etkisini fark etmenizi ve başkaları için kolayca yapmanızı engelleyen bir bilişsel önyargı örneğidir.

Yazılım test süreci, bir ekibin veya bireyin önyargılarından en çok olumsuz etkilenir. Her ekip üyesinin -en deneyimli olanlar bile- kontrol edemediği ve bazen farkında bile olmadığı önyargıları vardır. İdeal bir çalışma ortamının önyargısız olduğunu söylemeye gerek yok. Sorun şu ki, insan doğası gereği bu basitçe elde edilemez. Önyargı, dünyayı geçmiş deneyimlerle renklendirilmiş bir mercekten görmeye yönelik doğal bir eğilimdir. Kendimizdeki önyargıları değiştirmek çok zordur. Yapılması daha kolay bir şey, ürün kalitesindeki önyargıların olumsuz etkilerini azaltmak için ekipteki önyargıyı kabul etmektir.

Yazılım testi hem bir sanat hem de bir bilimdir; öncelikle yazılım özellikleri hakkında seçimler, değerlendirmeler, değerlendirmeler ve sonuçlar yapmaktan oluşan bir meslek. Yazılım testi, test oluşturma, yürütme ve sonuçların tüketilmesi aşamaları boyunca bilişsel önyargıya da tabidir. Yazılım test süreçlerini, testleri ve KG ekiplerini etkileyebilecek birçok bilişsel önyargı türü vardır. Danışmanlık hizmetlerimiz sırasında karşılaştığımız dört tanesini özetledim:

1. Onay Önyargısı

Tanım: Bir kişinin önyargılarını doğrulayacak şekilde bilgiyi arama, yorumlama, odaklanma ve hatırlama eğilimi.

Onay önyargısı, test edenlerin beklentilerine göre yürütüleceğini tahmin ettiği durumlara yönelik test senaryolarının seçilmesini destekler. Bu dürtüyle başa çıkmak için iyi bir yaklaşım, tüm varsayımları gözden geçirmeye devam etmek ve negatif testte olduğu gibi “kutunun dışında” test etmenin diğer yollarını keşfetmektir.

2. Çoğunluk Etkisi

Tanım: Başka birçok insan aynı şeyi yaptığı (veya inandığı) için bir şeyler yapma (veya inanma) eğilimi. Sürü davranışı ve grup düşüncesi ile ilgili.

Belirli sayıda insan bir şeye inandığında, diğer kişinin de aynı şeye inanma olasılığını otomatik olarak artırır. Bu, günlük hayatımızda birçok kez olur. En yaygın örnek, bazı ürünleri satın almamızdır. Bir ürünü bağımsız olarak seçmek yerine, genellikle başkalarının inancıyla hareket ederiz. (insan olarak “vogue” veya “moda”yı böyle yarattık)

Tam olarak aynı davranış, test dünyasında da görüntülenir. Bir ekip üyesi belirli bir modülün hatasız olduğunu hissederse, özellikle akran olarak uzun bir çalışma geçmişimiz varsa, bilmeden aynı şeye inanma eğilimindeyiz.

3. Uyum Önyargısı

Tanım: Olası alternatif hipotezleri test etmek yerine, yalnızca doğrudan test yoluyla hipotezleri test etme eğilimi.

Bu, testçilerin testleri yazılı beklenen davranışa göre planladığı ve yürüttüğü doğrulama yanlılığına benzer. Özellikle yeni özellikler içeren ve/veya kullanıcı eğitimi gerektiren büyük sürümlerde sorunlara neden olabilir. Çoğunlukla, gereksinimler belgesinde tüm olumsuz akışlardan bahsedilmediğinde ortaya çıkar.

4. İstem dışı Körlük

Tanım: Algısal körlük olarak da bilinen istem dışı körlük, herhangi bir görme kusuru veya kusuru ile ilişkili olmayan psikolojik bir dikkat eksikliğidir. Bireyin, açıkça görülebilen beklenmedik bir uyaranı algılamada başarısız olduğu olay olarak da tanımlanabilir.

Bu tam olarak bir önyargı değil, biz profesyonellerin dikkat eksikliği ve en bariz kusurları, onları aramadığımızda gözden kaçırma eğilimimizdir.

Bunu test dünyasıyla ilişkilendirmek için, örneğin ekranlardan birinin yeni geliştirildiği bir geliştirme projesinde, testçilerin yeni geliştirilen ekrana daha fazla odaklanması ve diğer kritik entegrasyonları veya değişiklikleri kaçırması doğal bir eğilimdir. diğer ekranlarda. Regresyon testleri bu konuda yardımcı olabilir.

Sonuç:

Bilim adamlarına, araştırmacılara ve psikologlara göre insanın günlük hayatını etkileyen, karar verme sürecini kendimiz için kolaylaştıran onlarca önyargı var. Bu önyargıların çoğu inanç oluşumunu, ticari ve ekonomik kararları ve genel olarak insan davranışını etkiler. Test uzmanları ve QA ekibi üyeleri olarak bu önyargıların üstesinden gelmenin kolay bir yolu yoktur. Sonuçta hepimiz insanız, robot değiliz. Yapabileceğimiz şey, bu önyargıları bilmek ve kabul etmek, mantıksız davranışların sonuçları konusunda açık fikirli olmak ve koşullar gerektirdiğinde değişiklik yapmaya istekli olmaktır.


Daha fazla:

[1]: Yalansavar web site

http://yalansavar.org/

[2]: 18 Cognitive Biases You Can Use for Conversion Optimization. Shanelle Mullin, October 15, 2015.

http://conversionxl.com/blog/cognitive-biases-in-cro/

[3]: List of cognitive biases,

http://en.wikipedia.org/wiki/List_of_cognitive_biases

[4]: Fuqun Huang (June 21st, 2017). Human Error Analysis in Software Engineering, Theory and Application on Cognitive Factors and Risk Management, Fabio De Felice and Antonella Petrillo, IntechOpen, DOI: 10.5772/intechopen.68392. Available from:

http://www.intechopen.com/books/theory-and-application-on-cognitive-factors-and-risk-management-new-trends-and-procedures/human-error-analysis-in-software-engineering

[5]: Oswald, Margit E.; Grosjean, Stefan (2004). “Confirmation Bias”. In Pohl, Rüdiger F. Cognitive Illusions: A Handbook on Fallacies and Biases in Thinking, Judgement and Memory. Hove, UK: Psychology Press. pp. 79–96. ISBN 978-1-84169-351-4. OCLC 55124398.