PTest Belgesi  
 
 
Roof Animate 2000
 

Ilker Cetin Aydinlioglu, Ant Birsu Vural
s04054, s04008
 
 

Test Belgesi

Yazilim Gelistirme Projesi

Bilgi Teknolojileri Sertifika Programi

IDEA: ODTU Sanal Kampusu
 

24 Haziran 2001 



 


Oz

Test raporunun:
a) Amaci:
Projenin test asamisini okuyucuya aktarabilmektir.

b) Icerigi:
Bu raporda test plani, test edilecek modul gruplarinin tarifi ve gercek test sonuclari
bulunmaktadir. Diger anlamda proje ile ilgili test islemleri ve neticeleri verilmistir.
 

Test Plani

Test Takvimi:
 19 Haziran   Paremetreler Modulu ve Okuma Modulu Testi
 20 Haziran  Veritabani Islemcisi Modulu Testi
 21 Haziran  Hesap Modulu Testi
 22 Haziran   Dosya Hazirlama Modulu Testi
 22 - 23 Haziran  Cizim Modulu Testi
 24 - 25 Haziran   Test sonuclarinin degerlendirilmesi, Test raporunun yazilmasi

-Programin testi sirasinda onceden hazirlanmis (kullanici arayuzunde de bulunan tonoz kafes sisteme 
 ait) analiz dosyasi kullanilmistir. Kullanilan ornek analiz dosyasina bu linkten ulasilabilir.
 (Yardimci aciklamalar sozu edilen dosyanin ilk kisminda aciklanmaktadir.)
 Ornek analiz dosyasinin cozumlenmesi ve canlandirma sonuclarina Gerceklestirim Belgesinden
 ve/veya buradan ulasilabilir. 
-Test icin ek bir yazilim kullanilmamistir.
 

Test Edilecek Modul Gruplarinin (Prosedurunun) Tarifi

Moduller test edilirken veri girislerinin tam yapilip yapilmadigi (dogruluk) ve 
sorgulamalarda istenilen neticelerin gelip gelmedigine bakilmistir (fonksiyonellik).
Bu arada moduller arasi bilgi akisinin dogru bir sekilde olup olmadigi kontrol
edilmistir. 

1) Parametreler Modulunun Testi:
Bu modulde:
1.1) Kullanicinin girecegi kafes sisteme ait (uzay catinin) baslik verilerinin 
       integer turunde olup olmadigi kontrol edilmistir. Eger kullanici gerekli 
       alanlara, integer turunde olmayan veri girisi yaptigi takdirde (sistemin 
       uc boyutlu cizimi yapilmadan once) programin hata uyarisi vermesine
       calisilmistir.
       Bu uyarinin hatanin nereden kaynaklandigini ve nasil giderilmesi gerektigini
       icerecek sekilde olmasi amaclanmistir.

1.2) Kullanicinin programin herhangi bir bolumunde bulunurken gerekli aciklama-
       lara ulasabilmesi icin, "Help" butonu konulmustur. Bu butonun islevini
       yerine getirip getirmedigi test edilmistir. 
       Ornek:
       Programda "File Section" bolumu aktifken, bu bolumde bulunan "Help"
       butonuna basilmasi halinde, sadece bu alanla ilgili aciklamalarin gelmesi
       saglanmaya calisilmistir.
Not:
-Asagida bulunan moduller yazilimda bulunan "Run" butonuna basildiktan sonra
 calismaktadir. "Run" butonuna basilmasi ile (ilgili sistemin uc boyutlu cizimi
 icin) program, cozumleme ve cizim asamasina gecmektedir.
-Programin gerceklestirilmesi icin asagidaki modullerin hatasiz calismasi gerekmektedir.

2) Okuma Modulunun Testi:
Bu modulde; kullanilan ornek analiz dosyasinda da gorulecegi gibi (uzantisi *.sap
olan) sirasiyla, sistemin dugum noktalari, elemanlarin hangi dugumler arasinda bulundugu 
ve mesnet yerlesim yerleri okunmaya calisilmistir. Okunan veriler ilgili kutuklere kayit
isleminin yapilabilmesi icin "Veri Tabani Islemcisi" modulune aktarilir.
Dosya okuma islemi basarisiz olursa hata mesajinin ("Internal Error") verilmesi 
saglanmaya calisilmistir. Bu hata mesaji sonrasinda kullanicinin, programciyla iletisim
kurmasi gerekmektedir.

Dosya okuma islemi asagidaki nedenlerden dolayi basarisiz olabilir:
2.a) Kullanici sistemin analizini Sap2000'de yapmis olabilir. Fakat 
       Roof Animate programinda analizin yapildigi programin versiyon 
       numarasini Sap2000 yerine Sap5.40 secebilir. 
       Analiz dosyasinin okunma sekli kullanilan Sap programinin versiyon 
       numarasina gore degisiklik gosterir.
2.b) Sisteme ait analiz dosyasi (*.sap formatinda olan) sonradan 
       manual olarak edit edilmis olabilir. Diger anlamda veriler bulunmasi
       gereken yerde olmayabilir.
2.c) Programcinin hatali kodlama yapmasindan olabilir.

Madde "2.a" ve "2.b" kullanicidan kaynaklanan okuma hatalaridir. 
Burada test edilen madde "2.c" dir.
Not:
-Okunan verilerle ilgili detayli bilgiler (verilerin formati vb.) , ornek analiz 
 dosyasinin bas kisminda aciklanmistir.

3) Veritabani Islemcisi Modulu Testi:
Bu modulde; 
3.1) Gelen verinin gerekli kutuklere kayit edilmesi saglanmaya calisilmistir.
        Verinin hangi kutuklere kayit edilecegi, veriyle birlikte gelen degiskenlerde
        bulunmaktadir.
        Ornek:
        "Okuma Modulu'nun" uzay catiya ait dugum noktalarini analiz dosyasindan
        okumaya basladigini ve bu module aktardigini kabul edelim.
        Bu veriler dugum bilgileri "Dugum.db" kutugune kayit edilir.
Not:
Kutuk yapilari, tasarim belgesinde de sunulan "Veri Tasarimi-Veri Tabani Tablolari"
linkinden okunabilir.

4) Hesap Modulu Testi:
Bu modulde;
4.1) Tasarim belgesinde de bulunan ER diyagrami sonucunda, olusan kutuklerin 
       bazilarinin hangi verilerle doldurulacagi belirlenmeye calisilmistir. 
       Diger anlamda Sistem (Cati) verilerinin (dugum yerlerinin, elemanlarin yerlesim 
       yerlerinin) duzenlenmesi, hacimli (uc boyutlu) cizim yapilabilmesi icin gerekli 
       hesaplamalarin yapilmasi. Agirlikli olarak sql uygulamalari ve veri yapilarinda 
       gorulen bazi algoritmalarin kullanimi bu modulde olmaktadir. Bulunan veriler 
       "Veri Tabani Islemcisi" (ilgili kutuklere kayit edilmek uzere) modulune 
       aktarilmaktadir.
Not:
-Hesap modulunun kesin olarak yapmaya calistigi islevler, ER diyagrami altinda bulunan 
 ucuncu, dorduncu ve bu maddelerin alt maddelerinden elde edilebilir. Sozu edilen 
 maddelerde (amaclariyla birlikte) aciklanan kutuklerin, doldurma islevini bu modul 
 ustlenmistir.
-Ayrica bu modul ER diyagramindaki iliskilerden dogan kutukleride doldurmakla gorevlidir.

5) Dosya Hazirlama Modulu:
Bu modulde;
5.1) Ilgili sistemin Autocad ortaminda uc boyutlu ciziminin yapilabilmesi icin gerek 
       duydugu veriler ("A3d.dat" dosyasinda text modunda) hazirlanmaya calisilmistir.
       "A3d.dat" dosyasinin hazirlanmasinda ER diyagrami sonucu olusturulan kutuklerden 
       yararlanilmaktadir.
       Bu dosyada, cizimde kullanilacak verilerin tamami float turunde olacaktir. Sayisal
       verilerin cizim modulu tarafindan okunabilmesi icin, bu verilerin onceden (programci 
       tarafindan) belirlenmis sutun araliklari dahilinde olmasi saglanmaya calisilmistir.
       Ornek:
       Yukarida da verilen ornek analiz dosyasinin cozumlenmesi sonucunda, bu dosyadaki
       tonoz sistemin uc boyutlu cizimi icin, (bu modul tarafindan) hazirlanan "A3d.dat"
       dosyasina buradaki linkten ulasilabilir.

5.2) Uc boyutlu cizimin yapildiktan sonra hangi dizine kayit edileceginin ve kafes sistemin
       ust ve capraz baslik verilerinin hangi elemanlardan basladigininin cizim modulune 
       bildirilmesi gerekmektedir. Amac cizimin renkli yapilabilmesini saglamaktir.Bunun 
       icin yine text modunda "Averi.dat" dosyasinin hazirlanmasi gerekmektedir.
       Ornek:
       "5.1" maddesinde verilen ornek analiz dosyasinin cozumlenmesi sonucunda,
       bu modul tarafindan olusturulan "Averi.dat" dosyasina buradaki linkten ulasilabilir.

6) Cizim Modulu:
Bu modulde;
6.1) "Dosya Hazirlama Modulu" tarafindan olusturulan dosyalar okunarak, ilgili sistemin
       uc boyutlu cizimi yapilmaya calisilmaktadir. Sirasiyla bir catinin, elemanlari, dugum 
       yerlerinde bulunan kureleri, kolon yerlesim yerleri ve zemin cizilmektedir. Cizim 
       islemi madde 5.1'de aciklanan dosyanin okunmasi sirasinda yapilmaktadir. Bu sayede
       makinanin "stack overflow" hatasini vermesi engellenmeye calisilmistir.

   Hatirlatma (Asagidaki "6.2" maddesine kadar olan bolum gerceklestirim belgesinden alinmistir.):
   Analiz ve Tasarim belgelerinde bulunan Seviye1 VAD diyagraminda "Cizim Modulu" isminde 
   modul bulunmaktadir. Bu modulun aciklamasi tekrar (yapilmasi dusunulen testi okuyucuya daha 
   saglikli anlatabilmek icin) verilmektedir. 
   "" 
   Cizim Modulu: 
   -Bu modulde programin ikinci bolumu aktif  hale gelir. Ikinci ve yeni bir program devreye girer. 
    Aslinda bu ikinci kisim cpu'nun blok kuyrugunda bulunmaktadir. Aktif hale gelmesi ile  hazir 
    durumuna gecmesi saglanir. Sozu edilen modul Autolisp kullanilarak yazilmistir. 
    Amac sistemin Autocad ortaminda uc boyutlu cizimini yapmaktir. 
    Bu modulun aktif hale gelebilmesi icin, analiz belgesinde seviye1 VAD'da anlatilan modullerdeki 
    islemlerin (sisteme ait duzenli verilerin hazirlanmasi) yapilmasi gerekmektedir. Diger anlamda 
    bu modulun okuyacagi dosyalarin "Dosya Hazirlama Modulu" tarafindan olusturulmasi 
    gerekmektedir. 

    Not: 
    Programin calisacagi bilgisayarda, bu modul yuzunden cpu'nun bos bekleme yapmamasi icin, 
    isletim sistemleri dersinde gorulen down ve up kavramlarinin benzerleri (sleep, delay vb. 
    komutlar) kullanilmistir.
   "" 
   Roof Animate calismaya basladiginda iki program aktif  hale gelir. Bunlar; 
   a) Kullanicinin verilerini girecegi ve bu veriler isiginda cizim icin gerekli datalarin hazirlanacagi
       delphi'de yazilan "Animate.exe" isimli program. 
   b) Hazirlanan sistemin duzenli verilerini, Autocad ortaminda uc boyutlu cizime doken Autolisp 
       ile yazilmis olan "A~engine.lsp" isimli program. Diger anlamda Cizim Modulunu olusturan 
       program.

   "b" sikkinda bahsedilen program, yazilim calismaya basladigi andan itibaren her sekiz saniyede bir 
   aktiflesmektedir. Cunku: "a" sikkinda sozu edilen programin, sistemin cizimi icin gereken dosyalari
   hazirlayip hazirlamadigina bakmaktadir. 
   Amac: cpu'nun bos bekleme yapmasini engellemektir. Bu islem "Delay" komutu ile gerceklestirilmistir. 
   Bekleme suresinin sekiz saniye alinmasi yaptigim denemelerle bulunmustur. Bu surenin farkli alinmasi 
   (16 veya 1 saniye gibi) durumunda olusabilecek senaryolar gerceklestirim belgesinde verilmistir.

6.2) Cizim modulunun kac saniyede bir aktif  hale gelmesinin en verimli durumu olusturacagi test 
       asamasindadir.
 

Gercek Test Sonuclari

Not:
-Herhangi bir kafes sistemin uc boyutlu cizilebilmesi icin bu programin butun modullerinin hatasiz 
 (%100 dogruluk derecesi ile) calismasi gerekmektedir. Cunku yapilacak en kucuk hata sonucta olusacak 
 cizime yansir veya cizimin olusmamasina sebeb olur.
-Programin modullerine Tasarim belgesinde de sunulan Veri Akis Diyagramlari belgesinden de ulasilabilir.

1) Parametreler Modulunun Test Sonuclari:
Yazilim kullanicinin hatali veri girmesi durumunda uyari (integer yerine string girmesi veya gerekli yerlere 
deger girmemesi durumunda) vermektedir. Bu uyari hatanin kaynaklandigi yeri ve nasil giderilecegini 
belirtmektedir. Ayrica kullanicinin programin herhangi bir bolumundeyken, bulundugu bolumle ilgili gerekli 
aciklamalara ulasmasini saglamak amaciyla konulan "Help" butonu islevini yerine (ilk denemelerde yerine 
getirmiyordu) getirmektedir.

2) Okuma Modulunun Test Sonuclari:
Yukarida da verilen ornek analiz dosyasinda da gorulecegi gibi (uzantisi *.sap olan) sirasiyla sistemin dugum 
noktalari, elemanlarin hangi dugumler arasinda bulundugu ve mesnet yerlesim yerleri okunmasi basarili bir 
sekilde gerceklesmektedir. Eger okuma islemi basarisiz olursa (ilgili *.sap dosyasinda belirtilen yerlere 
gelinemez ise veya okunan degerler integer turunde olmaz ise) "Internal Error" hatasi verilmesi saglanmistir.
Bu modul ilk create edildiginde kodlamadan kaynaklanan hatalar (veriler sayfa sayfa oldugundan ilgili verileri
yanlis okuma gibi) birim testi yapilarak farkedildi ve giderildi.

3) Veritabani Islemcisi Modulunun Test Sonuclari:
Gelen verinin ilgili kutuklere kayit edilmesi saglanmistir. Bu module ait kodlama hatasiz yazilmistir.
Ornek:
"Okuma Modulu'nun" uzay catiya ait eleman bilgilerini analiz dosyasindan okumaya basladigini ve bu module
aktardigini kabul edelim. Bu veriler eleman bilgileri "Eleman.db" kutugune kayit edilir.

4) Hesap Modulunun Test Sonuclari:
Bazi Sql sorgularinin eksik (sorgunun "Where" bolumunde bulunan) yazildigi tespit edildi. Diger anlamda bu 
modulun doldurmayi amacladigi kutukler yanlis veriler ile dolduruluyordu. Hatalar giderildi.

5) Dosya Hazirlama Modulunun Test Sonuclari:
Bu modulun testi sirasinda, 
5.a) "A3d.dat" dosyasinin create asamasinda float turundeki verilerin yetersiz sutun 
       araliklarinda bulundugu tespit edilmistir. Verilerin bulundugu sutun araliklari buyutulmustur.
       Ornek:
       "       23.568" sayisi saga dayali olacak sekilde dokuz sutuna sigmaktadir. Bu yetersiz gorulmustur.
       "                         23.568" sayisi saga dayali olacak sekilde on sekiz sutuna cikarilmistir.
5.b) "Averi.dat" dosyasinin create asamasinda sorun yasanmamistir.

6) Cizim Modulunun Test Sonuclari:
6.a) Bu modulun testi sirasinda gercekten buyuk sorunlar yasanmistir. Bunlar AutoLisp programi ile
       Autocad programini yonlendirmekten kaynaklanan sorunlardir. 
       Sorunlar;
       6.a.a) "Ucs" komutunun kullanimindan kaynaklanmistir.
       6.a.b) Kolon yerlesim yerlerinin ve kolonlarin caplarinin, sistemin elemanlarina carpmamasi
                 icin yapilan koordinat hesaplamalardan kaynaklanmistir.
6.b) "A3d.dat" dosyasinda bulunan verilerin okunmasi sirasinda cizimin gerceklestirilmesi sayesinde 
       "stack overflow" hata mesajinin verilmesi engellenmistir. Aksi halde once dosyadaki verilerin
       tamami okunup cizim isleminin gerceklestirilmesi durumunda "stack overflow" hata mesaji ile
       karsilasilmaktadir.
6.c) Cizim modulunun sekiz saniyede bir aktif hale gelmesine karar verilmistir.
       (bkz. "Test Edilecek Modul Gruplarinin (Prosedurunun) Tarifi" basligi altinda, altinci
       maddede bulunan, hatirlatma bolumu)

  Ana Sayfa