Test Sonuçları Kontrol Listesi
Bu liste, kredi amaçlı (for-credit) test koşusundan çıkan test sonuçlarının (test results) gözden geçirilmesi (review) içindir: kayıt, temel çizgideki (baseline) yazılımın gözden geçirilmiş prosedürlerle ve kayıtlı ortamda koşulduğunu gösteriyor mu, her geçti/kaldı kararı doğru mu, beklenenden her sapma açıklanıp problem raporuna (problem report) bağlanmış mı? Gözden geçirme, koşu bitip sonuçlar kayda girdikten sonra ve yazılım doğrulama sonuçları (Software Verification Results, SVR) temel çizgiye alınmadan önce yapılır. Gözden geçiren, tercihen değerlendirdiği testleri koşmamış bir doğrulama mühendisidir; Seviye A'da bu zorunludur.
DO-178C'de bu faaliyet §6.4.5.c'ye, Ek A'da A-7 #2'ye karşılık gelir: kayıttaki her geçti/kaldı kararının savunulabilir olduğunu ve beklenmeyen her gözlemin bir açıklamaya ve bir problem raporuna bağlandığını göstermek. Sonuç kaydının içeriği §11.14'te tanımlanır; aynı kayıt, çalıştırılabilir nesne kodunun (executable object code) gereksinimlere uyduğunu, gürbüz (robust) olduğunu ve hedef bilgisayarla (target computer) uyumlu olduğunu söyleyen A-6 hedeflerinin de kanıtıdır. Test durumlarının ve prosedürlerinin kendisi test durumu ve prosedürü listesinin, sonuçlar üzerinden yürütülen gereksinim ve yapısal kapsam analizleri kapsam analizi listesinin konusudur. Kredi koşusunun ne olduğu 9. Yazılım Doğrulama bölümünde, listelerin ortak kullanımı genel bakış sayfasında anlatılır.
Bir bakışta
| Özellik | Değer |
|---|---|
| DO-178C maddesi | §6.4.5.c; sonuç kaydının içeriği §11.14; prosedür ile sonuç arasındaki iz verisi §6.5.c |
| Ek A hedefleri | A-7 #2: A'da bağımsızlıkla, B ve C'de gerekli, D'de aranmaz. Sonuç kaydı ayrıca A-6 hedeflerinin çıktısıdır; A-6 #1, #2 ve #5 D dahil her seviyede gerekli |
| Gözden geçirilen veri | Kredi koşusunun sonuç kayıtları: koşu kaydı, test günlükleri ve ham çıktılar, geçti/kaldı özeti, fark açıklamaları |
| Başvuru verisi | Gözden geçirilmiş test durumları ve prosedürleri (Software Verification Cases and Procedures, SVCP) ve beklenen sonuçları; yazılım konfigürasyon indeksindeki (Software Configuration Index, SCI) yazılım kimliği; yazılım yaşam döngüsü ortam konfigürasyon indeksindeki (Software Life Cycle Environment Configuration Index, SECI) test ortamı; prosedür–sonuç iz verisi (trace data); problem raporları; yazılım doğrulama planındaki (Software Verification Plan, SVP) kredi koşusu ve yeniden koşu kuralları |
| Kaydın gideceği yer | Gözden geçirme kaydı → SVR; bulgular → gözden geçirme kaydı ya da, sonuç verisi temel çizgideyse, problem raporu; kredi koşusundaki her kaldı sonucu → problem raporu |
| İlgili şablon | SVP: kredi koşusu, sonuç kaydının alanları, yeniden doğrulama; yazılım konfigürasyon yönetimi planı (Software Configuration Management Plan, SCMP): bulgu ile problem raporu sınırı |
| Madde öneki | TSN |
Gözden geçirmeye giriş koşulları
- Gözden geçirilecek koşu, bir koşu kimliğiyle ve kapsadığı prosedür listesiyle tanımlanmıştır.
- Koşulan yazılım sürümü, test durumları ve prosedürleri ile test ortamı tanımı temel çizgidedir; sürümleri gözden geçirene yazılı olarak verilmiştir.
- Test durumlarının ve prosedürlerinin gözden geçirmesi kapanmıştır; açık bulgusu olan prosedürün sonucu bu oturumda değerlendirilmez.
- Ham çıktılar (test günlükleri, veri yolu kayıtları, araç raporları) gözden geçirenin erişimindedir; yalnızca özet tablo verilmemiştir.
- Katılımcılar bellidir; Seviye A'da sonuçları gözden geçiren, testleri koşan kişi değildir ve bu ayrım kayda adlarıyla yazılacaktır.
- Kontrol listesinin sürümü gözden geçirme kaydına yazılacaktır.
Kontrol listesi
Her madde evet/hayır sorusudur ve sondaki parantez maddenin seviyesini ve dayanağını verir; "Evet" beklenen durumdur, "Hayır" yanıtı bir bulgu (finding) olarak kayda geçer.
Koşunun kimliği
- TSN-01 Sonuç kaydı, koşulan çalıştırılabilir nesne kodunu sürümüyle ya da parça numarası (part number) ve sağlama toplamıyla (checksum) tanımlıyor mu; bu kimlik temel çizgideki derlemeyle aynı mı? (A–D · §11.14.b)
- TSN-02 Yazılım parametre verisi öğesi (parameter data item, PDI) kullanıyorsa, sonuç kaydı koşuda hedefe yüklü PDI dosyalarını kimliği ve sürümüyle tanımlıyor mu? Örneğin aynı imajla farklı bir parametre dosyası yüklenerek koşulan test, temel çizgideki yapılandırmanın kanıtı sayılmaz. (A–D · §11.14.b)
- TSN-03 Her sonuç, onu üreten test prosedürünün ve ilgili test durumunun sürümünü taşıyor mu; bu sürümler temel çizgideki SVCP'dekilerle aynı mı? (A–D · §6.5.c)
- TSN-04 Sonuç kaydı test ortamını (düzenek kimliği, hedef donanımın parça numarası ve revizyonu, simülatör ve test araçlarının sürümleri) tanımlıyor mu; bu tanım SECI'deki kayıtla aynı mı? (A–D · A-8 #6)
- TSN-05 Her test, SVP'nin ona atadığı ortamda mı koşulmuş? Örneğin hedef bilgisayarla uyumluluk için kredi alınan entegrasyon testlerinin sonuçları emülatörden değil, hedef donanımdan mı geliyor? (A–D · A-6 #5)
- TSN-06 Koşunun tarihi, koşan kişi ve otomatik koşularda koşuyu başlatan betiğin sürümü kayıtlı mı? (A–D · iyi uygulama)
Sonuçların eksiksizliği
- TSN-07 SVCP'deki her test prosedürünün kredi koşusundan bir sonucu, her sonucun da SVCP'de bir prosedürü var mı; prosedür ile sonuç arasındaki iz verisi iki yönde de boşluksuz mu? (A–D · §6.5.c)
- TSN-08 Koşulmayan ya da yarıda kesilen her prosedür için gerekçe ve tamamlanacağı koşu kayıtlı mı? (A–D · §6.5.c)
- TSN-09 Her prosedürün nihai bir geçti/kaldı kararı var mı ve bu karar prosedürdeki tüm test durumlarının tek tek sonucundan mı çıkıyor? (A–D · §11.14.a)
- TSN-10 Özet tablodaki her karar ham kanıta (test günlüğü, ölçülen değer, veri yolu kaydı) geri izlenebiliyor mu? (A–C · §6.4.5.c)
- TSN-11 Sonuç seti birden çok koşudan birleştirildiyse koşuların hepsi aynı yazılım sürümüne mi ait; değilse eski sürümdeki sonucun geçerliliği değişiklik etki analiziyle (change impact analysis) gösterilmiş mi? (A–D · §11.14.b)
Geçti/kaldı kararının doğruluğu
- TSN-12 Karşılaştırmada kullanılan beklenen sonuç, gözden geçirilmiş test durumundaki değerle aynı mı? Örneğin betiğin okuduğu beklenen sonuç dosyası SVCP'deki sürümden mi geliyor? (A–C · §6.4.5.c)
- TSN-13 Toleranslı karşılaştırmalarda (kayan nokta, süre, analog değer) uygulanan tolerans, gözden geçirilmiş test durumundaki toleransla aynı mı? (A–C · §6.4.5.c)
- TSN-14 Zaman ilişkili sonuçlarda ölçüm çözünürlüğü ve belirsizliği, ölçülen değer ile sınır arasındaki paydan küçük mü? Örneğin 5 ms'lik bir tepki süresi sınırı, 10 ms aralıklı zaman damgalarıyla doğrulanmış sayılmaz. (A–C · §6.4.5.c)
- TSN-15 Geçti kararı, gözlem kanalının koşu boyunca çalıştığını da gösteriyor mu? Örneğin "çıkış değişmez" beklentisinde veri yolu kaydı koşu süresince güncel veri içeriyor mu? (A–C · iyi uygulama)
- TSN-16 Geçti/kaldı kararını bir betik ya da araç veriyorsa sürümü kayıtlı mı ve elle karşılaştırılan örnek sonuçlar onun kararıyla aynı mı? (A–C · §6.4.5.c)
- TSN-17 Elle değiştirilen her geçti/kaldı kararının gerekçesi, değiştiren kişi ve tarihi kayıtlı mı? (A–C · §6.4.5.c)
Farklar ve başarısızlıklar
- TSN-18 Kaldı sonuçlanan her test durumunda gözlenen ve beklenen değer yan yana yazılı ve aradaki fark açıklanmış mı? (A–C · §6.4.5.c)
- TSN-19 Geçti sonuçlanan testlerde gözlenen beklenmeyen davranışlar da fark olarak kayda geçmiş mi? Örneğin beklenmeyen yeniden başlama, bekçi köpeği zamanlayıcısının (watchdog timer) tetiklenmesi, hata günlüğüne düşen kayıt ya da beklenmeyen veri yolu mesajı. (A–D · §11.14)
- TSN-20 Her açıklama farkın kaynağını (kod, gereksinim, test durumu ya da prosedür, test ortamı) adlandırıyor mu; "ortam kaynaklı" denen fark bir kanıtla (düzenek arıza kaydı, aynı sürümle tekrar koşu) destekleniyor mu? (A–C · §6.4.5.c)
- TSN-21 Kredi koşusundaki her kaldı sonucu ve açıklanan her fark bir problem raporuna bağlı mı; rapor numarası sonuç kaydında yazılı mı? (A–D · §11.14)
- TSN-22 Bir başarısızlık test değiştirilerek kapatıldıysa (beklenen sonuç, tolerans ya da prosedür düzeltildiyse) değişiklik gereksinime dayanıyor ve test durumu yeniden gözden geçirilmiş mi? Örneğin yeni beklenen sonucun kaynağı kodun gözlenen çıktısı değil, gereksinim mi? (A–C · §6.4.5.c)
- TSN-23 Düzeltmeden sonraki yeniden koşu düzeltilmiş sürümle yapılmış mı ve yinelenen testlerin seçimi (başarısız test ve etkilenenler) değişiklik etki analizine dayanıyor mu? (A–D · §7.2.4.d)
- TSN-24 Aynı test durumu birden çok kez koşulduysa kredi için hangi koşunun sayıldığı kayıtlı ve öteki koşuların sonuçları açıklanmış mı? Örneğin üç koşudan yalnız geçeni sayıldıysa diğer ikisinin başarısızlığı bir problem raporunda mı? (A–C · §6.4.5.c)
Kuru koşu ve kredi koşusu
- TSN-25 Sonuç kaydı kredi koşusu olarak açıkça işaretli mi ve kredi seti kuru koşu (dry run) sonucu içermiyor mu? (A–D · iyi uygulama)
- TSN-26 Sonuç kaydı, koşunun giriş koşullarını karşıladığını gösteren kayıtlara atıf yapıyor mu? Örneğin yazılımın temel çizgi kimliği ve prosedür gözden geçirme kaydı anılmış ve ikisinin tarihi de koşu tarihinden önce mi? (A–C · A-9 #4)
Geçiş kriterinin süreç olarak denetimi kalite güvencesi denetimi listesindedir.
Sonuç verisinin konfigürasyon kontrolü
- TSN-27 Sonuç kayıtları ve ham çıktılar konfigürasyon yönetimi (configuration management) altında, benzersiz kimlik ve sürümle saklanıyor mu? (A–D · A-8 #1)
- TSN-28 Ham çıktılar sonradan değiştirilemeyecek biçimde (salt okunur arşiv, sağlama toplamı) korunuyor mu? Örneğin özet tablonun dayandığı günlük dosyalarının sağlama toplamı arşivdekilerle aynı mı? (A–D · A-8 #4)
Kalite güvencesi tanıklığı
- TSN-29 Yazılım kalite güvencesi planı (Software Quality Assurance Plan, SQAP) ya da SVP bu koşu için tanıklık (witnessing) öngörüyorsa, kalite güvencesinin (quality assurance) tanıklık kaydı var mı ve sonuç kaydına bağlı mı? (A–D · A-9 #2)
- TSN-30 Tanıklık sırasında kaydedilen gözlemler (prosedürden sapma, ortam değişikliği) sonuç kaydında karşılık bulmuş ya da uygunsuzluk olarak açılmış mı? (A–D · A-9 #2)
Araçla denetlenebilecek maddeler
| Madde | Araç türü | Gözden geçirene kalan |
|---|---|---|
| TSN-01, TSN-02, TSN-04 | Koşu başında imajın ve yüklü PDI dosyalarının sağlama toplamını ve düzenek kimliğini kaydeden test çerçevesi; bunları SCI ve SECI ile karşılaştıran betik | Karşılaştırmanın doğru temel çizgiye yapıldığı; okunan kimliğin gerçekten hedefe yüklenmiş imajdan geldiği |
| TSN-07, TSN-08 | Test yönetim aracı ya da iz aracı sorgusu: sonucu olmayan prosedür, prosedürü olmayan sonuç | Koşulmayan prosedürlerin gerekçesinin yeterliliği |
| TSN-12, TSN-13 | Koşuda okunan beklenen sonuç ve tolerans dosyalarının sağlama toplamını SVCP temel çizgisindeki dosyalarla karşılaştıran betik | Prosedüre gömülü, dosyadan okunmayan beklenen değer ve toleranslar; karşılaştırmanın doğru yapıldığının örnek sonuçlarla elle denetlenmesi (TSN-16) |
| TSN-21 | Sonuç veritabanı ile problem raporlama aracı arasında çapraz sorgu: raporu olmayan kaldı sonucu | Farkın açıklamasının ve kaynağının doğruluğu (TSN-18, TSN-20) |
| TSN-27, TSN-28 | Konfigürasyon yönetim aracı: sürüm geçmişi, değişiklik kaydı, sağlama toplamı | Ham çıktının özetle tutarlılığı (TSN-10) |
Bir maddeye araç çıktısına güvenilerek bakılmıyorsa, özellikle geçti/kaldı kararını yalnız bir betik veriyorsa, aracın çıktısı bir doğrulama adımının yerine geçer ve araç kalifikasyonu (tool qualification) sorusu doğar. Sonuç karşılaştıran betikler SVP şablonunda da tipik araç kalifikasyon seviyesi (tool qualification level, TQL) TQL-5 adayı olarak anılır. Karar SVP'de verilir; ölçütleri 13. DO-330 ve Yazılım Aracı Kalifikasyonu bölümündedir.
Sık bulgular
| Bulgu | Tipik nedeni | İlgili madde |
|---|---|---|
| Sonuç kaydında yazılım kimliği olarak yalnız dal adı ya da "son derleme" yazıyor | Kimliğin elle yazılması; test çerçevesinin imajın sağlama toplamını kaydetmemesi | TSN-01 |
| Özet "tümü geçti" diyor, ama SVCP'deki bazı prosedürlerin sonucu yok | Koşu listesinin iz verisinden değil, elle derlenmesi | TSN-07 |
| Betik eski beklenen sonuç dosyasını okumuş; karar SVCP'deki değerle verilmemiş | Beklenen sonuç dosyasının prosedürden ayrı sürümlenmesi | TSN-12 |
| Tolerans koşudan sonra genişletilmiş, test durumu güncellenmemiş | Kaldı sonucunun "ölçüm gürültüsü" sayılıp çabucak kapatılması | TSN-13, TSN-22 |
| Başarısızlık "ortam sorunu" diye kapatılmış, kanıt yok | Açıklamanın tek kişiye bırakılması; düzenek arızalarının kaydedilmemesi | TSN-20 |
| Aynı test birkaç kez koşulmuş, kayıtta yalnız geçen koşu var | Süreye ya da koşu sırasına bağlı kararsız test; başarısızlığın problem raporuna dönüşmemesi | TSN-24, TSN-21 |
| Hedef donanımda koşması gereken test emülatörde koşulmuş | Düzeneğin yetişmemesi; ortam atamasının sonuçta denetlenmemesi | TSN-05 |
| Kuru koşu sonuçları kredi setine girmiş | İki koşu türü için aynı sonuç klasörünün kullanılması | TSN-25 |
İyi yazılmış bulgu
| Zayıf bulgu | İyi yazılmış bulgu |
|---|---|
| "Sonuçlar eksik." | "TSN-07: KR-14 koşusunun özeti, SVCP'deki HSIT-NAV-041, -042 ve -057 prosedürlerinin sonucunu içermiyor; koşu listesinde de yoklar. Beklenen: üçü koşulmalı ya da koşulmama gerekçesi ve tamamlanacağı koşu kayda yazılmalı." |
| "Tolerans uygun değil." | "TSN-13: HSIT-ADC-112 sonucunda irtifa ±5 ft ile karşılaştırılmış; test durumu ±2 ft tanımlıyor ve değişiklik kaydı yok. Beklenen: karar test durumundaki toleransla yeniden verilmeli; tolerans değişecekse gereksinime dayanan bir test durumu değişikliğiyle." |
| "Başarısız test açıklanmamış." | "TSN-18: LLT-FMS-208 kaldı; gözlenen durum kelimesi 0x0003, beklenen 0x0007. Açıklama sütunu boş, problem raporu numarası da yok (TSN-21). Beklenen: farkın kaynağı yazılmalı, rapor açılıp sonuca bağlanmalı." |
Seviyeye göre uyarlama
A-7 #2 Seviye A, B ve C'de aranır; bağımsızlık (independence) yalnızca Seviye A'da gerekir. DO-248C'nin bağımsızlık tartışma yazısı (DP #19), bu hedefte bağımsızlığı sonuçları gözden geçirenin testleri koşan kişiden farklı olması olarak açıklar. Otomatik koşularda koşuyu başlatan ve sonuçları ilk değerlendiren kişi koşan kişi olarak kaydedilir; gözden geçirenin adı bundan ayrı görünmelidir (bkz. Bağımsızlık).
| Seviye | Uygulanan maddeler | Bağımsızlık |
|---|---|---|
| A | Tümü | Sonuçları, testleri koşan kişiden başkası gözden geçirir |
| B ve C | Tümü | Aranmaz; yazar dışı bir göz yine de iyi uygulamadır |
| D | A–D etiketli 18 madde: TSN-01 … TSN-09, TSN-11, TSN-19, TSN-21, TSN-23, TSN-25 ve TSN-27 … TSN-30 | Aranmaz |
Seviye D'de A-7 #2 aranmaz, yani sonuçların ayrı bir gözden geçirmesi standartça beklenmez. Ama A-6 #1, #2 ve #5 bu seviyede de geçerlidir ve kanıtları test sonuçlarıdır. Sonuç kaydının içeriği (§11.14) ve konfigürasyon kontrolü de seviyeye bağlı değildir; SVR her seviyede kontrol kategorisi (control category) CC2 verisidir. Bu yüzden A–D etiketli maddeler D'de de sonuç kaydının asgari içeriğini sınamak için kullanılır; A–C etiketli maddeler seviye gerekçesiyle "Uygulanmaz" diye işaretlenir. TSN-29 ve TSN-30 her seviyede yalnızca tanıklık planlanmışsa uygulanır; planlanmamışsa gerekçe "SQAP bu koşu için tanıklık öngörmüyor" olur. "İyi uygulama" etiketli maddeler (TSN-06, TSN-15, TSN-25) projenin kararıdır; SVP'ye yazıldıysa bağlayıcıdır.
İlgili bölümler
- 9. Yazılım Doğrulama: test planlama ve kredi koşusu, problem raporlama
- 10. Yazılım Konfigürasyon Yönetimi
- 11. Yazılım Kalite Güvencesi: denetim ve tanıklık
- 13. DO-330 ve Yazılım Aracı Kalifikasyonu
- Ek A: Örnek Geçiş Kriterleri: kodlamadan kredi amaçlı doğrulamaya geçiş
- Şablonlar: SVP, SCMP, SQAP
- Otorite denetimine hazırlık: SW SOI-3, SW SOI-4
- Komşu listeler: test durumu ve prosedürü, kapsam analizi, konfigürasyon denetimi, problem raporu, kalite güvencesi denetimi; genel bakış