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 |