what is software testing
Test Tanımı, Türleri, Yöntemleri ve İşlem Ayrıntılarını içeren 100'den Fazla Manuel Test Öğreticisi içeren Eksiksiz Bir Yazılım Test Kılavuzu:
Yazılım Testi nedir?
Yazılım testi, belirtilen gereksinimleri karşılayıp karşılamadığını bulmak için bir uygulamanın işlevselliğini doğrulama ve doğrulama sürecidir. Bir uygulamadaki kusurları bulma ve uygulamanın nerede çalıştığını son kullanıcının gereksinimlerine göre kontrol etme sürecidir.
Manuel Test nedir?
Manuel Test, geliştirilmiş bir kod parçasının (yazılım, modül, API, özellik vb.) Davranışını beklenen davranışla (Gereksinimler) karşılaştırdığınız bir süreçtir.
Ne öğreneceksin:
Manuel Yazılım Test Öğreticilerinin Listesi
Bu, Yazılım Testi ile ilgili en kapsamlı eğitim dizisidir. Temel ve gelişmiş test tekniklerini öğrenmek için bu seride bahsedilen konuları dikkatlice gözden geçirin.
Bu eğitim dizisi, bilginizi zenginleştirecek ve karşılığında test becerilerinizi geliştirecektir.
Canlı Bir Projede Uçtan Uca Manuel Test Ücretsiz Eğitimi uygulayın:
Öğretici 1: Manuel Yazılım Testinin Temelleri
Öğretici # 2: Canlı Proje tanıtımı
Öğretici 3: Test Senaryosu Yazımı
Eğitim 4: Sıfırdan bir Test Planı Belgesi Yazın
Öğretici 5: SRS Belgesinden Test Örnekleri Yazma
Öğretici # 6: Test uygulaması
Eğitim 7: Hata İzleme ve Test İmzalama
Eğitim # 8: Yazılım Test Kursu
Yazılım Testi Yaşam Döngüsü:
Öğretici 1: STLC
Web Testi:
Öğretici 1: Web Uygulama Testi
Öğretici # 2: Çapraz Tarayıcı Testi
Test Vakası Yönetimi:
json dosyası pencerelerde nasıl açılır
Öğretici 1: Test Durumları
Öğretici # 2: Örnek Test Vaka Şablonu
Öğretici 3: Gereksinimler İzlenebilirlik Matrisi (RTM)
Eğitim 4: Test kapsamı
Öğretici 5: Test Veri Yönetimi
Test Yönetimi:
Öğretici 1: Test Stratejisi
Öğretici # 2: Test Planı Şablonu
Öğretici 3: Test Tahmini
Eğitim 4: Test Yönetim Araçları
Öğretici 5: HP ALM Eğitimi
Öğretici # 6: Jira
Eğitim 7: TestLink Eğitimi
Teknik testler:
Öğretici 1: Kullanım Durumu Testi
Öğretici # 2: Durum Geçiş testi
Öğretici 3: Sınır Değer Analizi
Eğitim 4: Eşit bölümlere ayırma
Öğretici 5: Yazılım test metodolojileri
Öğretici # 6: Çevik Metodoloji
Hata Yönetimi:
Öğretici 1: Hata Yaşam Döngüsü
Öğretici # 2: Hata Raporlama
Öğretici 3: Kusur Önceliği
Eğitim 4: Bugzilla Eğitimi
Fonksiyonel test
Öğretici 1: Birim Testi
Öğretici # 2: Sağlık ve Duman Testi
Öğretici 3: Gerileme testi
Eğitim 4: Sistem Testi
Öğretici 5: Kabul testleri
Öğretici # 6: Entegrasyon Testi
Eğitim 7: UAT Kullanıcı Kabul Testi
İşlevsel Olmayan Test:
Öğretici 1: İşlevsel Olmayan Test
Öğretici # 2: Performans testi
Öğretici 3: Güvenlik Testi
Eğitim 4: Web Uygulama Güvenliği Testi
Öğretici 5: Kullanılabilirlik testi
Öğretici # 6: Uyumluluk Testi
Eğitim 7: Kurulum Testi
Eğitim # 8: Dokümantasyon Testi
Yazılım Test Türleri:
Öğretici 1: Test Türleri
Öğretici # 2 : Kara Kutu Testi
Öğretici 3: Veritabanı Testi
Eğitim 4: Uçtan Uca Test
Öğretici 5: Keşif testi
Öğretici # 6: Artımlı Test
Eğitim 7: Erişilebilirlik Testi
Eğitim # 8: Negatif Test
Eğitim 9: Arka Uç Testi
Öğretici # 10: Alfa Testi
Öğretici # 11: Beta testi
Eğitim # 12: Alfa ve Beta Testi
Eğitim # 13: Gama Testi
Eğitim # 14: ERP Testi
Öğretici # 15: Statik ve Dinamik Test
Öğretici # 16: Adhoc testi
Öğretici # 17: Yerelleştirme ve Uluslararasılaştırma Testi
Eğitim # 18: Otomasyon Testi
Eğitim # 19: Beyaz kutu testi
Yazılım Test Kariyeri:
Öğretici 1: Bir Yazılım Test Kariyerinin Seçilmesi
Öğretici # 2: QA Test İşi Nasıl Alınır - Tam Kılavuz
Öğretici 3: Test Uzmanları için kariyer seçenekleri
Eğitim 4: BT Dışı - Yazılım Test Anahtarı
Öğretici 5: Manuel Test Kariyerinize Başlayın
Öğretici # 6: Testte 10 Yıldan Alınan Dersler
Eğitim 7: Test Alanında Hayatta Kalma ve İlerleme
Mülakat Hazırlığı:
Öğretici 1: KG Özgeçmiş Hazırlığı
Öğretici # 2: Manuel Test Mülakat Soruları
Öğretici 3: Otomasyon Testi Mülakat Soruları
Eğitim 4: QA Mülakat Soruları
Öğretici 5: Herhangi Bir İş Görüşmesini Yönetin
Öğretici # 6: Test İşini Daha Taze Olarak Alın
Farklı Alan Uygulamalarını Test Etme:
Öğretici # 1 : Bankacılık Uygulama Testi
Öğretici # 2: Sağlık Hizmetleri Uygulama Testi
Öğretici 3: Ödeme Ağ Geçidi Testi
Eğitim 4: Test Satış Noktası (POS) Sistemi
Öğretici 5: e-Ticaret Web Sitesi Testi
QA Sertifikasyonunun Test Edilmesi:
Öğretici 1: Yazılım Test Sertifikasyon Kılavuzu
Öğretici # 2: CSTE Sertifikasyon Kılavuzu
Öğretici 3: CSQA Sertifikasyon Kılavuzu
Eğitim 4: ISTQB Rehberi
Öğretici 5: ISTQB Gelişmiş
Gelişmiş Manuel Test Konuları:
Öğretici 1: Cyclomatic karmaşıklık
Öğretici # 2: Göç Testi
Öğretici 3: Bulut Testi
Eğitim 4: ETL Testi
Öğretici 5: Yazılım Test Ölçütleri
Öğretici # 6: Ağ hizmetleri
Bu Manuel Test serisindeki 1. öğreticiye göz atmaya hazır olun !!!
Manuel Yazılım Testine Giriş
Manuel Test, geliştirilmiş bir kod parçasının (yazılım, modül, API, özellik vb.) Davranışını beklenen davranışla (Gereksinimler) karşılaştırdığınız bir süreçtir.
Ve beklenen davranışın ne olduğunu nasıl bileceksiniz?
Gereksinimleri dikkatlice okuyarak veya dinleyerek ve tamamen anlayarak öğreneceksiniz. Unutmayın, gereksinimleri tam olarak anlamak çok çok önemlidir.
java'da bir öncelik kuyruğu uygulamak
Kendinizi test edeceğiniz şeyin son kullanıcısı olarak düşünün. Bundan sonra, artık yazılım gereksinimi belgesine veya içindeki kelimelere bağlı değilsiniz. Daha sonra temel gereksinimi anlayabilir ve sistemin davranışını sadece yazılı veya söylenenlere karşı değil, aynı zamanda kendi anlayışınıza ve yazılmayan veya söylenmeyen şeylere karşı da kontrol edebilirsiniz.
Bazen, gözden kaçan bir gereksinim (eksik gereksinim) veya örtük bir gereksinim (ayrı olarak belirtilmesi gerekmeyen ancak karşılanması gereken bir şey) olabilir ve bunu da test etmeniz gerekir.
Ayrıca, bir gerekliliğin belgelenmiş olması gerekmez. Yazılımın işlevselliği hakkında çok iyi bilgi sahibi olabilirsiniz veya hatta tahmin edebilir ve her seferinde bir adımı test edebilirsiniz. Biz buna genellikle geçici test veya keşif testi diyoruz.
Derinlemesine Bir Bakış Yapalım:
İlk önce gerçeği anlayalım - İster bir yazılım uygulamasını veya başka bir şeyi (bir araç diyelim) test ediyor olun, konsept aynı kalır. Yaklaşım, araçlar ve öncelikler farklılık gösterebilir, ancak temel amaç AYNI kalır ve basittir, yani gerçek davranışı beklenen davranışla karşılaştırmak.
İkincisi - Test etmek, içeriden gelmesi gereken bir tutum veya zihniyet gibidir. Beceriler öğrenilebilir, ancak ancak varsayılan olarak içinizde birkaç özelliğe sahip olduğunuzda başarılı bir test uzmanı olacaksınız. Test becerilerinin öğrenilebileceğini söylediğimde, yazılım test süreci etrafında odaklanmış ve resmi eğitimi kastediyorum.
Ancak başarılı bir test yapmanın nitelikleri nelerdir? Onlar hakkında aşağıdaki bağlantıdan okuyabilirsiniz:
Burada okuyun => Son Derece Etkili Test Uzmanlarının Nitelikleri
Bu eğiticiye devam etmeden önce yukarıdaki makaleyi incelemenizi şiddetle tavsiye ederim. Özelliklerinizi Yazılım Test Edici rolünde beklenenlerle karşılaştırmanıza yardımcı olacaktır.
Makaleyi gözden geçirmek için vakti olmayanlar için, işte bir özet:
'Merakınız, dikkatiniz, disiplininiz, mantıklı düşünceniz, çalışma tutkunuz ve bir şeyleri inceleme yeteneğiniz Yıkıcı ve Başarılı bir Testçi olmak için çok önemli. Benim için çalıştı ve sizin için de işe yarayacağına kuvvetle inanıyorum. Bu niteliklere zaten sahipseniz, o zaman gerçekten sizin için de işe yaramalı. '
Temel ön koşullardan bahsettik yazılım testçisi olmak. Şimdi Manuel Testin neden Otomasyon Testi büyümesi olsa da olmasa da neden bağımsız varlığını sürdürdüğünü anlayalım.
Manuel Test Neden Gereklidir?
Bir Test Cihazı olmanın en iyi yanı, o da Manuel Test Cihazı olmanın ne olduğunu biliyor musunuz?
Buradaki yalnızca beceri setine güvenemeyeceğiniz gerçeğidir. Düşünce sürecinizi geliştirmeli ve geliştirmelisiniz. Bu, birkaç kuruşa gerçekten satın alamayacağınız bir şey. Bunun üzerinde kendin çalışmalısın.
Zorunda kalacaksın soru sorma alışkanlığını geliştirmek ve test ederken her dakika onlara sormanız gerekecek. Çoğu zaman bu soruları başkalarına değil kendinize sormalısınız.
Umarım önceki bölümde tavsiye ettiğim makaleyi (yani oldukça etkili test uzmanlarının nitelikleri) geçtiniz. Cevabınız evet ise, o zaman testin bir düşünce süreci olarak kabul edildiğini ve bir test uzmanı olarak ne kadar başarılı olacağınızın tamamen bir kişi olarak sahip olduğunuz niteliklere bağlı olduğunu bilirsiniz.
Şu basit akışı görelim:
- Sen bazı şeyler yaparsın ( eylemler gerçekleştirmek ) onu biraz niyetle gözlemlerken (beklenenle karşılaştırarak). Şimdi senin gözlem yetenekler ve disiplin bir şeyler yapmak burada devreye giriyor.
- Voila! Neydi o? Bir şey fark ettin. Farkettin çünkü mükemmel veriyordun detaylara dikkat senin önünde. Gitmesine izin vermeyeceksin çünkü sen Meraklı . Beklenmedik / tuhaf bir şey olacağı planınızda yoktu, bunu fark edeceksiniz ve daha fazla araştıracaksınız. Ama şimdi yapıyorsun. Gitmesine izin verebilirsin. Ama gitmesine izin vermemelisin.
- Mutlusunuz, sebebini, adımları ve senaryoyu buldunuz. Şimdi bunu geliştirme ekibine ve ekibinizdeki diğer paydaşlara doğru ve yapıcı bir şekilde ileteceksiniz. Bunu bazı kusur izleme araçlarıyla veya sözlü olarak yapabilirsiniz, ancak bunu yaptığınızdan emin olmalısınız. yapıcı bir şekilde iletişim kurmak .
- Oops! Ya bu şekilde yaparsam? Giriş olarak ancak başında beyaz boşluklarla uygun tamsayı girersem ne olur? Farzedelim? … Farzedelim? … Farzedelim? Kolay bitmez, kolay bitmemelidir. Olacaksın hayal etmek bir çok durum ve senaryo ve aslında bunları gerçekleştirmek için cazip olacaksınız.
Aşağıda verilen şema, bir Test Cihazının Ömrünü temsil etmektedir:
Yukarıda bahsedilen dört madde işaretini bir kez daha okuyun. Çok kısa tuttuğumu ancak yine de manuel test cihazı olmanın en zengin bölümünü vurguladığımı fark ettiniz mi? Ve birkaç kelimede cesurca vurgulamayı fark ettiniz mi? Bunlar, bir manuel test cihazının ihtiyaç duyduğu en önemli niteliklerdir.
Şimdi, bu eylemlerin tamamen başka bir şeyle değiştirilebileceğini gerçekten düşünüyor musunuz? Ve bugünün sıcak trendi - otomasyona geçebilir mi?
SDLC'de herhangi bir geliştirme metodolojisiyle, birkaç şey her zaman sabit kalır. Bir test uzmanı olarak, gereksinimleri tüketecek, bunları Test Senaryolarına / Test senaryolarına dönüştüreceksiniz. Daha sonra bu test senaryolarını yürütecek veya doğrudan otomatikleştireceksiniz (birkaç şirketin bunu yaptığını biliyorum).
Bunu otomatikleştirdiğinizde, odak noktanız sabittir ve bu da yazılan adımları otomatikleştirir.
Resmi kısma geri dönelim, yani manuel olarak yazılan test senaryolarını yürütelim.
Burada, yalnızca yazılı test senaryolarını yürütmeye odaklanmıyorsunuz, aynı zamanda bunu yaparken de birçok keşif testi gerçekleştiriyorsunuz. Unutma, merak ediyorsun? Ve hayal edeceksin. Ve karşı koyamayacaksın, gerçekten de hayal ettiğin şeyi yapacaksın.
Aşağıda verilen resim, Test Senaryosu yazmanın nasıl basitleştirildiğini göstermektedir:
Bir formu dolduruyorum ve ilk alanı doldurmayı bitirdim. Odağı bir sonraki alana kaydırmak için fareye gitmek için çok tembelim. 'Sekme' tuşuna bastım. Bir sonraki ve son alanı da doldurmayı bitirdim, şimdi Gönder düğmesine tıklamam gerekiyor, odak hala son alanda.
Hata, yanlışlıkla 'Enter' tuşuna bastım. Ne olduğunu kontrol edeyim. VEYA bir gönder düğmesi var, ona çift tıklayacağım. Tatmin edici değil. Birden çok kez tıklıyorum, çok hızlı.
Fark ettin mi? Hem amaçlanan hem de amaçlanmayan pek çok olası kullanıcı eylemi vardır.
% 100 test edilen uygulamanızı kapsayan tüm test senaryolarını yazmayı başaramazsınız. Bu keşifsel bir şekilde gerçekleşmelidir.
Uygulamayı test ederken yeni test senaryolarınızı eklemeye devam edeceksiniz. Bunlar, daha önce hiçbir test senaryosu yazılmamış, karşılaştığınız hatalar için test senaryoları olacaktır. Veya test ederken, düşünce sürecinizi bir şey tetikledi ve test senaryosu paketinize eklemek ve yürütmek isteyeceğiniz birkaç test senaryosu daha var.
Bütün bunlardan sonra bile, olmadığına dair hiçbir garanti yok. gizli hatalar . Sıfır hataya sahip yazılım bir Efsanedir. Onu yalnızca Sıfır'a yaklaştırmayı hedefleyebilirsiniz, ancak bu, yukarıda gördüğümüz örnek sürece benzer, ancak bununla sınırlı olmayan bir insan zihni sürekli olarak aynı şeyi hedeflemeden gerçekleşemez.
En azından bugün itibariyle, insan zihni gibi düşünen, insan gözü gibi gözlemleyen, soru soran, insan gibi cevaplayan, sonra da amaçlanan ve olmayan eylemleri gerçekleştirecek bir yazılım yok. Böyle bir şey olsa bile kimin aklını, düşüncelerini ve gözünü taklit edecek? Seninki veya benimki? Biz insanlar da aynı haklı değiliz. Hepimiz farklıyız. Sonra?
Otomasyon Etrafındayken Manuel Test Gereksinimi:
Otomasyon Testinin bugünlerde kendine has bir şan payı var ve önümüzdeki yıllarda daha da fazlasına sahip olacak, ancak manuel QA testinin (insan / keşif testini okuyun) yerini alamaz.
Daha önce duymuş olmalısın- ' Testi otomatikleştirmiyorsunuz, kontrolü otomatikleştiriyorsunuz ’. Bu cümle, Otomasyon testi ile manuel kalite güvence testinin nerede olduğu hakkında çok şey anlatıyor. Dünyanın dört bir yanından birçok büyük isim bu konu hakkında yazdı ve konuştu, bu yüzden bu konu üzerinde fazla durmayacağım.
Otomasyon, İnsan Testinin yerini alamaz çünkü:
- Gözlerinizin önünde (siz test ederken) ve birkaç durumda sahne arkasında olan her şey hakkında çalışma zamanı yargılarını gerektirir.
- Açık ve sürekli gözlem gerektirir.
- Talep ediyor sorgulama.
- Soruşturma gerektiriyor.
- Muhakeme gerektirir.
- Test sırasında gerektiği gibi planlanmamış eylemler gerektirir.
Test, ayrıntıları özümseyebilecek, işleyebilecek, eylemleri yönetebilecek ve bunları bir insan zihni ve insan gibi gerçekleştirebilecek ve tüm bunları çalışma zamanında ve olası tüm bağlamlarda gerçekleştirebilecek bir araç / makine ile değiştirilebilir. Bu araç yine tüm olası insanlar gibi olmalı.
Kısacası, insan testi değiştirilemez. Belki birkaç yıl içinde bir Hollywood bilimkurgu filmi ona yakından bakabilir, ama gerçek hayatta bunun birkaç yüz yıl boyunca olacağını tahmin edemiyorum. Sonsuz olasılıklara inandığım için bunu sonsuza kadar yazmayacağım.
Ayrı bir kayda göre, gerçekten birkaç yüz yıl sonra olsa bile, hayal edebildiğim resim kesinlikle korkunç bir dünya. Transformers Çağı. :)
= >> Önerilen Okuma - En İyi Manuel Test Hizmeti Firmaları
Otomasyon Manuel Testi Nasıl Tamamlıyor?
Daha önce söyledim ve bir daha Otomasyonun artık göz ardı edilemeyeceğini söylüyorum. Sürekli entegrasyon, sürekli teslimat ve sürekli dağıtımın zorunlu hale geldiği dünyada, sürekli testler boşta kalamaz. Nasıl yapılacağına dair yollar bulmalıyız.
Çoğu zaman, daha fazla iş gücü dağıtmak, bu görev için uzun vadede yardımcı olmuyor. Bu nedenle, Test Sorumlusu (Test Sorumlusu / Mimar / Yönetici) neyin otomatikleştirileceğine ve neyin yine de manuel olarak yapılması gerektiğine dikkatle karar vermelidir.
Orijinal beklentiden herhangi bir sapma olmadan otomatikleştirilebilmeleri ve 'Sürekli Test' in bir parçası olarak ürünü geri çekerken kullanılabilmeleri için çok hassas testlerin / kontrollerin yazılması son derece önemli hale geliyor.
Not: 'Sürekli Test' teriminden gelen sürekli kelimesi, yukarıda aynı ön ek ile kullandığımız diğer terimlere benzer koşullu ve mantıksal çağrılara tabidir. Bu bağlamda sürekli, dünden daha sık, daha hızlı anlamına gelir. Anlamda olsa da, her saniye veya Nano saniye anlamına gelebilir.
Mükemmel bir İnsan Test Cihazı eşleşmesine ve otomatik kontrollere sahip olmadan (kesin adımlarla testler, söz konusu testin beklenen sonucu ve çıkış kriterleri belgelenir), Sürekli Teste ulaşmak çok zordur ve bu da sürekli entegrasyon, sürekli teslimat ve sürekli dağıtım sağlayacaktır. daha zor.
Yukarıdaki bir testin çıkış kriterini bilerek kullandım. Otomasyon kıyafetlerimiz artık geleneksel olanlara benzemiyor. Başarısız olurlarsa, çabuk başarısız olmaları gerektiğinden emin olmalıyız. Hızlı bir şekilde başarısız olmalarını sağlamak için, çıkış kriterleri de otomatikleştirilmelidir.
Misal:
Diyelim ki, Facebook'a giriş yapamadığım bir engelleyici hatası var.
Bu durumda, oturum açma işlevi ilk otomatik kontrolünüz olmalı ve otomasyon paketiniz, oturum açma işleminin bir durum göndermek gibi bir ön koşul olduğu bir sonraki denetimi çalıştırmamalıdır. Başarısız olacağını çok iyi biliyorsun. Bu nedenle, daha hızlı başarısız olmasını sağlayın, sonuçları daha hızlı yayınlayın, böylece kusur daha hızlı çözülebilir.
Sonraki şey yine daha önce duymuş olmanız gereken bir şey - Her şeyi otomatikleştirmeye çalışamazsınız ve denememelisiniz.
Otomatikleştirildiğinde önemli ölçüde fayda sağlayacak test senaryolarını seçin İnsan Testçilerine ve iyi bir Yatırım Getirisine sahip. Bu konuda, tüm Öncelik 1 test durumlarınızı ve mümkünse Öncelik 2'yi otomatikleştirmeye çalışmanız gerektiğini söyleyen genel bir kural vardır.
Otomasyonun uygulanması kolay değildir ve zaman alıcıdır, bu nedenle düşük öncelikli vakaları en azından yüksek olanlarla işiniz bitene kadar otomatikleştirmekten kaçınmanız önerilir. Neyin otomatikleştirileceğini seçmek ve ona odaklanmak, sürekli kullanıldığında ve bakımı yapıldığında uygulama kalitesini artırır.
Sonuç
Umarım şimdiye kadar Kaliteli Ürünler sunmak için neden ve ne kadar manuel / insan testinin gerekli olduğunu ve Otomasyonun bunu nasıl tamamladığını anlamışsınızdır.
Manuel Kalite Güvencesi Testinin önemini kabul etmek ve neden özel olduğunu bilmek, mükemmel bir manuel test cihazı olma yolunda atılan ilk adımdır.
Yaklaşan manuel test eğitimlerimizde, Manuel Test yapmak için genel bir yaklaşımı, Otomasyon ile nasıl bir arada var olacağını ve diğer birçok önemli yönü ele alacağız.
Bu serideki tüm eğitici listeyi okuduktan sonra Yazılım Testi hakkında kapsamlı bilgi sahibi olacağınızdan eminim.
json dosyasını açan program
Sizden haber almak isteriz. Aşağıdaki yorumlar bölümünde düşüncelerinizi / önerilerinizi ifade etmekten çekinmeyin.
Önerilen Kaynaklar
- En İyi Yazılım Test Araçları 2021 (QA Test Otomasyon Araçları)
- Yazılım Testi QA Yardımcısı İşi
- Alfa Testi ve Beta Testi (Tam Kılavuz)
- Fonksiyonel Test ve Fonksiyonel Olmayan Test
- SoftwareTestingHelp'ten En İyi QA Yazılım Test Hizmetleri
- Yazılım Test Kursu: Hangi Yazılım Test Enstitüsüne katılmalıyım?
- Yazılım Testi Türleri: Ayrıntılarla Birlikte Farklı Test Türleri
- Kariyeriniz olarak Yazılım Testini Seçme