specflow tutorial ultimate guide bdd tool
Teknik Özellik Akışı ve Davranış Odaklı Geliştirme (BDD) Eğitimi için Tam Kılavuz:
Specflow nedir?
Specflow, .NET çerçevesinde BDD uygulamalarını destekleyen bir test çerçevesidir. GitHub'da barındırılan açık kaynaklı bir çerçevedir. .NET Uygulamaları için ATDD (Kabul testi sürücü geliştirme) kullanımına yardımcı olur. Bununla, herkesin açıkça anlayabileceği, Kornişon dili ile tanımlanan düz İngilizce senaryosu tanımlayabiliriz.
BDD yaklaşımında Cucumber / JBehave for Java, Lettuce for Python, Jasmine for Javascript gibi çeşitli araçlar vardır. Specflow .NET için.
BDD (Davranış Odaklı Geliştirme), Ürün, Geliştiriciler ve Test Edenler gibi farklı paydaşlar arasındaki iletişim boşluğunu kapatmayı amaçlayan TDD'ye (Test Güdümlü Geliştirme) benzer bir dizi uygulama veya yaklaşımdır.
BDD yaklaşımının nihai amacı, yanlış anlamaları önlemek için tüm ekip tarafından anlaşılabilecek iş gereksinimleri oluşturmak ve geliştirilen özelliğin en kabul edilebilir şekilde sunulmasına yardımcı olmaktır.
Eksiksiz Bir Specflow Eğitim Serisi:
Baştan sona okuyun Eksiksiz Specflow Eğitim Serisi konsepti daha iyi anlamak için.
Öğretici 1: Specflow BDD Aracına Giriş (Bu Eğitim)
Öğretici # 2: Specflow ve Selenium Örneği
Öğretici 3: Specflow Bağlama ve Gelişmiş Kavramlar
Eğitim 4: Adım Bağımsız Değişken Dönüşümleri ve Specflow Tabloları
Öğretici 5: Turşu ile Specflow Living Belgeleri
Öğretici # 6: Specflow Rapor Oluşturucu
Eğitim 7: Specflow Mülakat soruları
Specflow Serisindeki Öğreticilere Kısa Bir Genel Bakış:
| Eğitici # | Açıklama |
|---|---|
| 7 | Specflow Mülakat soruları İlk denemede herhangi bir Specflow röportajını başarıyla kırmanız için en popüler Specflow mülakat sorularının ve örneklerle yanıtlarının bir listesi bu eğiticide yer almaktadır. |
| bir | Specflow BDD Aracına Giriş (Bu Eğitim) Bu giriş öğretici, Specflow hakkında size her şeyi ayrıntılı olarak açıklayacaktır. Specflow, .NET çerçevesinde BDD uygulamalarını destekleyen bir test çerçevesidir. GitHub'da barındırılan açık kaynaklı bir çerçevedir. .NET Uygulamaları için ATDD (Kabul testi sürücü geliştirme) kullanımına yardımcı olur. |
| iki | Specflow ve Selenium Örneği Bu eğitim, Youtube uygulamasında basit bir video arama test senaryosu aracılığıyla Selenium'un Specflow çerçevesiyle Entegrasyonuna odaklanacaktır. Ayrıca, özel sınıf alanları aracılığıyla farklı bağlamalarda verilerin nasıl paylaşılacağını da kontrol edeceksiniz. |
| 3 | Specflow ve Selenium Örneği Bu eğitim, Youtube uygulamasında basit bir video arama test senaryosu aracılığıyla Selenium'un Specflow çerçevesiyle Entegrasyonuna odaklanacaktır. Ayrıca, özel sınıf alanları aracılığıyla farklı bağlamalarda verilerin nasıl paylaşılacağını da kontrol edeceksiniz. |
| 4 | Adım Bağımsız Değişken Dönüşümleri ve Specflow Tabloları Bu bilgilendirici Specflow öğreticisi, Specflow argümanları için özel tip dönüşümlerine izin veren ve standart koddan kaçınmak için özel tip dönüşümlerine izin veren Adım Bağımsız Değişken dönüşümlerini ayrıntılı olarak açıklayacak ve Specflow tabloları, kullanıcı dostu bir tablo halinde çok sayıda alanı / veriyi tek adımda geçirmeniz gerektiğinde kullanışlı olacaktır. biçim. |
| 5 | Turşu ile Specflow Living Belgeleri Bu Specflow eğitiminden, mevcut Specflow dosyalarınızı kullanarak turşu adı verilen açık kaynaklı bir çerçeve aracılığıyla iyi görünümlü yaşam belgelerinin nasıl oluşturulacağını öğreneceksiniz. |
| 6 | Specflow Rapor Oluşturucu Bu Specflow Raporlama eğitiminde, Specflow özellik testlerini çalıştırmanın ve Specflow yürütülebilir dosyası aracılığıyla HTML raporları oluşturmanın yollarını öğreneceksiniz. |
Bu serideki ilk eğiticiyle başlayalım.
Ne öğreneceksin:
Specflow BDD Aracına Giriş
Video Eğitimini İzleyin:
İşte Specflow ve Davranış Odaklı Geliştirme hakkında bir eğitim videosu:
BDD'nin özellikleri
BDD'nin temel özellikleri aşağıda özetlenmiştir:
# 1) Geliştirilmekte olan sistemin veya özelliğin davranışını bir örnek veya senaryo üzerinden tanımlamaya çalışır. Örneğin, basit bir Hesap Makinesi Uygulaması oluşturuyorsanız, farklı davranışlar toplama, çarpma, bölme vb. İçerir.
Bu nedenle BDD aracılığıyla, tüm paydaşlar önce Toplama gibi uygulamanın davranışına karar vermek için toplanacak ve aşağıda gösterilen senaryolara sahip olacaklardır.
Given, I have 2 numbers 30 and 50 as input When I add these 2 numbers Then I should get an output of 80Yukarıdaki gösterimi görürseniz, bu, herkes tarafından açıkça anlaşılabilir ve bir özelliğin gereksinimlerini netleştiren (kabul kriterlerine göre) düz İngilizce bir senaryodur. Bu nedenle ilk adım, bu gereksinimleri ifade etmektir.
#iki) Şimdi bu senaryoların bir setiyle, QA bunlara karşı testler yazıyor ve özellik henüz geliştirilmediğinden bu başlangıçta başarısız olacak.
# 3) Şimdi, geliştirici bir özellik kodu yazar ve bu testleri tekrar yürütür.
# 4) Testler başarılı veya başarısız olabilir. Başarısız olurlarsa - kodu yeniden düzenleyin ve işlemi tekrarlayın
# 5) Kod yeniden düzenleme tamamlandığında, tüm senaryolar / testler geçmelidir.
Dolayısıyla BDD, özünde TDD yaklaşımını kullanır ve senaryolar şeklinde kolayca anlaşılabilir bazı ortak spesifikasyonlara sahip olarak bunu bir sonraki seviyeye taşır. Ayrıca kendi içinde özellik belgelerini temsil ederler.
BDD yaklaşımında Cucumber / JBehave for Java, Lettuce for Java gibi test yazmak için çeşitli araçlar vardır. Python , Javascript için Jasmine, Specflow .NET için.
indirdikten sonra torrent dosyaları nasıl kullanılır
Bu eğitimde Specflow'a odaklanacağız.
Ayrıca Oku => En İyi BDD Araçları ve Test Çerçevesi
Anahtar Kelimeler - Verilen, Ne Zaman ve Sonra
Birim testi dünyasından, çoğumuz 3 A'ya aşinayız, yani Düzenleyin, Harekete Geçin ve Onaylayın. Şimdi, Verilen, Ne Zaman ve Sonra bunların BDD dünyasında ikameleri var.
Hadi bir alalım Misal bunların her birini anlamak için. Bir e-ticaret uygulamasının alışveriş sepetine eklenen ve bir ön koşul olarak oturum açmanızı gerektiren bir ürünü doğrulamak için bir senaryo listelediğinizi varsayalım.
Şartname şu şekilde yazılabilir:
Scenario: Products get added to cart for a logged in customer Given I have a logged-in customer on my application When I add 2 quantity of a product to my shopping cart Then the shopping cart should get updated and have the right product and quantity Verilen :Bu, tanımlanan senaryo için bir dizi ön koşulu açıklamak için kullanılır. Örneğin, örnekte, senaryonun ön koşulu oturum açmış bir müşteridir. Bu nedenle, Düzenleme Bir birim testinde benzer şekilde, adım uygulamasının oturum açmış bir müşteri olduğundan emin olması gerekecektir.
Ne zaman :Bu, bir eylemi veya yürütme adımını tanımlamak için kullanılır. Örnekte, müşterinin alışveriş sepetine ürün eklemeye çalıştığını göstermektedir. Bu nedenle, bu adım için adım uygulaması, sepete bir ürün eklemek için simülasyon kodunu halledecektir. Bu karşılaştırılabilir davranmak Birim testlerinde adım.
Sonra :Bu, senaryonun Sonucunu ve esasen doğrulamaların nereye yerleştirilmesi gerektiğini açıklamak için kullanılır. İddia Birim test dünyasında bir adım. Buradaki örnekte, adım uygulaması, ürünün gerçekten eklenip eklenmediğini ve miktarın müşteri tarafından seçilenle aynı olup olmadığını belirleyecektir.
Özellik Dosyası
Özellik dosyası, esasen geliştirme veya test aşamasındaki uygulama için birden çok senaryodan oluşan bir gruptur. Ayrıca, uygulamanın mantıksal olarak ayrılabildiği farklı uygulama modülleri olarak da düşünülebilir.
Örneğin:
Bir e-ticaret uygulaması, aşağıdakiler gibi farklı üst düzey özellik dosyalarına sahip olmaya karar verebilir:
- Giriş / Çıkış işlevi
- Alışveriş Sepeti
- Ödeme vb.
Specflow nedir?
Specflow, .NET çerçevesinde BDD uygulamalarını destekleyen bir araçtır. GitHub'da barındırılan açık kaynaklı bir çerçevedir. .NET Uygulamaları için ATDD (Kabul testi sürücü geliştirme) kullanımına yardımcı olur.
Örneklerle Spesifikasyon paradigmasını kullanarak bir uygulama için bağlayıcı iş gereksinimleri, tüm paydaşlar tarafından uygulama davranışının daha iyi anlaşılmasına yardımcı olur ve böylece ürünün doğru beklentilerle gönderilmesine neden olur.
Kullanır Kornişon özellikler ve senaryolar oluşturmak için sözdizimi. Ayrıca aktif bir tartışması / geliştiricisi var forum .
Specflow - Başlarken
Bu bölümde, Visual Studio IDE'ye specflow yüklemeyi ve basit bir String Utility Uygulaması için özellik dosyaları oluşturmayı keşfedeceğiz.
Örnek Uygulama Hakkında
Aşağıdaki gibi farklı işlemler sağlamak için işlevlere / arayüzlere sahip bir Hesap Makinesi Uygulaması kullanarak bu eğiticide Specflow çerçevesinin farklı özelliklerini göstereceğiz:
- 2 numara ekleniyor.
- 2 sayı çıkarılıyor.
- 2 sayıyı Bölme ve Çarpma.
- Verilen sayının Karekökünü bulmak.
Specflow Yükleme Rehberi
Specflow kurulumu 2 adımlı bir işlemdir
# 1) Visual Studio IDE'ye gerekli eklentileri yükleme.
- Specflow eklentisini yüklemek için Araçlar -> Uzantılar ve Güncellemeler'e gidin.
- Şimdi sol paneldeki 'Online' ı tıklayın.
- Şimdi sağ panelde specflow arayın.
- Arama sonuçlarından 'Visual Studio 2017 için Specflow' u seçin.

#iki) Özellik dosyaları ve adım tanımları ile projenin kurulması.
- Visual Studio'da basit bir yeni proje oluşturun. Sınıf Kitaplığı / Konsol Uygulaması / Birim test projesi vb. Gibi her türlü proje oluşturabiliriz. Basit olması için bir Sınıf Kitaplığı projesi alıyoruz. Projeyi 'SpecflowBasic' olarak adlandırın.
- Oluşturacağımız Specflow senaryolarını çalıştırmak için bir test çalıştırıcısına ihtiyacımız var. Specflow, Specflow + Runner adlı kutunun dışında bir koşucu sağlar (ücretli bir sürümdür ve ücretsiz sürüm bir gecikme getirir).
(Bu dizinin sonraki makalelerinde göreceğimiz NUnit ve MsTest için diğer koşucular da mevcuttur).
Specflow + Runner'ı yüklemek için - Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu'na gidin.
Paket Yöneticisi Konsolu açıldığında - Komutu çalıştırın.
Install-Package SpecRun.SpecFlow 
- Ayrıca, değerleri doğrulamak için bir test çerçevesinin yardımına ihtiyacımız olacak. NUnit seçeneklerden biri olabilir ve diğerleri MsTest, vb. İçerir. Uygulamaya NUnit çerçevesini kurmak için Paket Yöneticisi Konsolunu açın ve command yazın.
Install-Package NUnit # 3) Test edilen uygulamamız olacak 'CalculatorApplication' adında yeni bir sınıf oluşturun. Bu, verilen girdi için toplama / çarpma / bölme / karekök vb. Gerçekleştirme işlevlerine sahip basit bir sınıftır. CalculatorApplication sınıfı bu şekilde görünür.
# 4) Paket yüklendikten sonra, projede 2 klasör oluşturun ve bunları sırasıyla özellik dosyalarını ve adım bağlamalarını depolamak için Özellikler ve Adım Tanımları olarak adlandırın. Feature & Step tanımları için bu klasör organizasyonunun nedenini detaylı olarak tartışacağız.
# 5) Şimdi özellikler klasöründe, yeni bir Özellik dosyası ekleyin ve bunu Hesap MakinesiÖzelliği olarak adlandırın.

Özellik dosyasının Özellik ve Senaryo'da varsayılan olarak bazı açıklamaları olduğunu görürsünüz.
Bunu test edeceğimiz şeyle değiştirin.
Feature: CalculatorFeature In order to test my application As a developer I want to validate different operations of the application Scenario: Add two numbers Given I have provided 70 and 20 as the inputs When I press add Then the result should be 90 Scenario: Substract two numbers Given I have provided 70 and 20 as the inputs When I press substract Then the result should be 50 Scenario: Multiply two numbers Given I have provided 70 and 20 as the inputs When I press multiply Then the result should be 1400 Scenario: Divide two numbers Given I have provided 70 and 20 as the inputs When I press divide Then the result should be 3.5 Scenario: SquareRoot of number Given I have provided 70 as input When I press squareroot Then the result should be 8.37# 6) Adım Tanımları Oluşturma: Specflow, özellik dosyası senaryolarındaki farklı adımlar için bağlama / uygulama oluşturmanın otomatik bir yolunu sağlar. Bu, özellik dosyasına sağ tıklayıp 'Adım Tanımları Oluştur' seçeneğine tıklayarak gerçekleştirilebilir.

Bu adım bir uygulamayı garanti etmez tüm adımlar için, ancak senaryolarda ortak adımları gruplamak ve olabildiğince çok bağlamayı yeniden kullanmak için elinden gelenin en iyisini yapmaya çalışır. Bununla birlikte, bir senaryo adımının uygulanması gerektiğinde her seferinde standart koddan kaçınma işi yapar.
Tıkladıktan sonra 'Adım Tanımları Oluştur' İşlemcinin algıladığı tanımlanmış adım uygulamalarını listeleyen bir pencere açılacaktır. Gereksinimlere göre seçilebilir veya seçimi kaldırılabilir.

Sonraki bölümlerde, yukarıdaki ekran görüntüsünde gösterilen Stil açılır menüsü hakkında daha fazla ayrıntıya bakacağız.
Şimdilik, varsayılan ayarlarla hepsini seçili tutalım. Önizleme'ye tıklamak, uygulamanın nasıl görüneceğine dair bir anlık görüntü gösterecektir.

Adım tanımlarını oluşturduktan sonra, yine de bazı uygulanmamış adımlar varsa, Özellik dosyaları, uygulanmayan uygulamaları tanımlamanın görsel bir yoluna sahiptir. Henüz bir uygulaması olmayan (veya belirsiz adım tanımlarına sahip olan) bazı adımların olduğunu bilmeyi kesinlikle basitleştirerek bu adımları farklı bir renkte gösterir.
Örnek Bir Ekran Aşağıdakileri Göstermektedir:

Not: Adım tanımları manuel olarak da oluşturulabilir - (Binding) Özniteliğine sahip herhangi bir .cs dosyası, bir Adım uygulama sınıfıdır ve Gherkin sözdizimi, verilen senaryo adımının uygulamasını eşleştirmeyi arayacaktır.
Yürütme
Yukarıdaki bölüme Specflow + Runner'ı zaten eklediğimiz için, Senaryoları yürütmek oldukça basittir (Specrun'un bir değerlendirme sürümü olduğundan, senaryolar yürütülmeden önce 10-20 saniyelik değişken bir gecikme sunar., Bu gecikme kayıtlı varyantlar için mevcut değildir. ve Specrun koşucusunun NUnit ve MsTest gibi diğer tatları).
Tüm adımlar varsa olmadı uygulanmış ve hala bekleyen bir duruma sahip bağlamalar varsa. Ardından çıktı beklemede olarak gösterilecektir.
Bağlamalar için bir uygulama olmadığında ve senaryoların tümü beklemede olduğunda, bu noktada bu testleri / senaryoları çalıştırmayı deneyelim.

Şimdi, CalculatorApplication sınıfını test etmek istediğimiz yöntemlerle yani toplama, çıkarma, çarpma, bölme ve sqrt yöntemleriyle uygulamaya çalışalım.
Aşağıda, CalculatorApplication sınıfımızın nasıl göründüğüne dair bir kod örneği verilmiştir:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SpecflowBasic { class CalculatorApplication { public int add(int input1, int input2) { return input1 + input2; } public int subsctract(int input1, int input2) { return input1 - input2; } public int multiply(int input1, int input2) { return input1 * input2; } public double divide(double input1, double input2) { return input2 != 0 ? Math.Round(input1 / input2, 2) : 0; } public double squareRoot(int input1) { return input1 != 0 ? Math.Round(Math.Sqrt(input1), 2) : 0; } } } Uygulama hazır olduğunda, senaryo adımlarının her biri için bağlamaları uygulamanın yollarını bulmaya çalışalım.
Bunları uygulamak için adım adım yaklaşıma bakalım:
- Öncelikle, test edilmesi gereken uygulamanın bir örneğine sahip olmamız gerekir. Basit olması için, AUT (Application Under Test sınıfı) adım bağlamalarda somutlaştırabilir ve uygulanan örneği, uygulanan adıma göre gerçekten farklı yöntemleri / işlevleri çağırmak için kullanabiliriz.
- Girdi ve çıktıyı yakalamak için, Uygulama örneğinde işlevleri çağırmak için bu değerleri tutacak değişkenler bildiriyoruz.
Add işlevinin doğrulanmasına dahil olan tüm bağlamalar için uçtan uca uygulamayı görelim (Senaryoların geri kalanı bunu genişletiyor).
Ekle senaryosu aşağıda gösterildiği gibi görünür:
Scenario: Add two numbers Given I have provided 70 and 20 as the inputs When I press add Then the result should Bu adımların her biri için adım uygulamasına bakalım. Tüm adım uygulamalarının kullanımı için, aşağıda gösterildiği gibi giriş ve çıkış değişkenlerini tutacak değişkenlerin yanı sıra test altındaki bir Uygulama örneğini de bildiriyoruz:
// instantiating application instance CalculatorApplication app = new CalculatorApplication(); // variables to hold input values and the intermeditate result int input1, input2; double output; Senaryo adımlarının uygulanmasını tek tek görelim.
Aşama 1: 70 ve 20 sağladığım için gibi girişler.
(Given(@'I have provided (.*) and (.*) as the inputs')) public void GivenIHaveProvidedAndAsTheInputs(int p0, int p1) { input1 = p0; input2 = p1; } Burada, senaryo adımlarından aktarılan değerlerle girdi değişkenlerini henüz başlattık. p0 ve p1, senaryo adımından geçen ve sırasıyla 70 & 20 olarak başlatılacak değerlerdir.
Adım 2: Ekle'ye bastığımda.
(When(@'I press add')) public void WhenIPressAdd() { output = app.add(input1, input2); } Bu, gerçek yöntemin test edilen Uygulamada çağrıldığı Yürütme (veya Yasa) adımıdır. Girdi1 ve girdi2 girdi değişkenleri Adım1'de geçirilen değerleri zaten içerdiğinden, uygulama örneğinin bu değişkenlerle yöntemi çağırabileceğine dikkat edin.
Aşama 3: - O halde sonuç 90 olmalıdır.
(Then(@'the result should be (.*)')) public void ThenTheResultShouldBe(double p0) { Assert.AreEqual(p0, output); }Bu, çıktının yöntem çağrısı tarafından üretildiği ve Uygulama örneğinin beklenen çıktıya göre doğrulandığı Doğrulama (veya Onaylama) adımıdır.
Dikkat edin, İddia kullanılan anahtar kelime, ayarlanan doğrulama / beklentiye bağlı olarak doğru veya yanlış döndüren NUnit Framework'tür. Yanlış döndürmesi durumunda, Step uygulamasının başarısız olmasına neden olacak ve bu, senaryo sonucunu başarısız olarak gösterecektir.
nesnelerin interneti uygulamalarının örnekleri
Ayrıca, çıktı değişkeninin değeri, gerçek yöntemin uygulama örneğinde çağrıldığı önceki adımdan aldığını lütfen unutmayın.
Yukarıdakine benzer şekilde, senaryo adımlarının geri kalanı için Adım uygulamaları aynı şekilde gerçekleştirilir, fark, uygulama örneğinde farklı yöntemlerin çağrılması ve farklı çıktı değerlerinin ileri sürülmesidir.
Tüm Senaryo adımları uygulandıktan sonra testler yürütülebilir.
Ortaya çıkan çıktı aşağıda gösterildiği gibi görünecektir:

Ayrıca, tek tek adımların çıktılarını listeleyen ayrı senaryonun çıktısını da görüntüleyebilirsiniz:

Sonuç
Umarım bu makale size BDD'nin ne olduğu ve Specflow'u ele aldığımız yerde .NET için BDD'yi destekleyen araçların neler olduğu konusunda temel bir anlayış kazandırırdı.
Ayrıca, Specflow özellik dosyalarını kurmayı ve çalıştırmayı örnek bir uygulama yardımıyla tartıştık.
Kod Dosyaları
Uygulamada kullanılan kod dosyaları aşağıda gösterilmiştir:
CalculatorFeatureSteps.cs
using System; using TechTalk.SpecFlow; using NUnit; using NUnit.Framework; namespace SpecflowBasic.StepDefinitions { (Binding) public class CalculatorFeatureSteps { // instantiating application instance CalculatorApplication app = new CalculatorApplication(); // variables to hold input values and the intermeditate result int input1, input2; double output; (Given(@'I have provided (.*) and (.*) as the inputs')) public void GivenIHaveProvidedAndAsTheInputs(int p0, int p1) { input1 = p0; input2 = p1; } (Given(@'I have provided (.*) as input')) public void GivenIHaveProvidedAsInput(int p0) { input1 = p0; } (When(@'I press add')) public void WhenIPressAdd() { output = app.add(input1, input2); } (When(@'I press substract')) public void WhenIPressSubstract() { output = app.subsctract(input1, input2); } (When(@'I press multiply')) public void WhenIPressMultiply() { output = app.multiply(input1, input2); } (When(@'I press divide')) public void WhenIPressDivide() { output = app.divide(input1, input2); } (When(@'I press squareroot')) public void WhenIPressSquareroot() { output = app.squareRoot(input1); } (Then(@'the result should be (.*)')) public void ThenTheResultShouldBe(double p0) { Assert.AreEqual(p0, output); } } } CalculatorApplication.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SpecflowBasic { class CalculatorApplication { public int add(int input1, int input2) { return input1 + input2; } public int subsctract(int input1, int input2) { return input1 - input2; } public int multiply(int input1, int input2) { return input1 * input2; } public double divide(double input1, double input2) { return input2 != 0 ? Math.Round(input1 / input2, 2) : 0; } public double squareRoot(int input1) { return input1 != 0 ? Math.Round(Math.Sqrt(input1), 2) : 0; } } } package.config
Yaklaşan eğiticimiz size Specflow ve Selenium Webdriver'ın Uçtan Uca kullanım örneği hakkında bilgi verecek!
Önerilen Kaynaklar
- Yeni Başlayanlar İçin Derinlemesine Tutulma Öğreticileri
- TestLink Eğitimi: TestLink Test Yönetim Aracı için Bir Layman Kılavuzu (Öğretici # 1)
- Bugzilla Eğitimi: Hata Yönetimi Aracı Uygulamalı Eğitimi
- TestComplete Eğitimi: Yeni Başlayanlar İçin Kapsamlı Bir GUI Test Aracı Kılavuzu
- SeeTest Otomasyon Eğitimi: Mobil Test Otomasyon Aracı Kılavuzu
- Bilgisayar Ağı Eğitimi: Nihai Kılavuz
- WAVE Erişilebilirlik Test Aracı Eğitimi
- BDD (Davranış Odaklı Geliştirme) Çerçevesi: Eksiksiz Bir Eğitim