Hibakezelés és Tesztelés a Visual Studio.NET-ben

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

4. alkalom – Hálózat Kezelés
Operációs Rendszerek I.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke A programozás alapjai 1. (VIEEA100) 9. előadás.
JavaScript.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
Fájlkezelés, IO Kivételkezelés Belső osztályok
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Programozás II. 3. Gyakorlat C++ alapok.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Egy feladat megoldásának gondolatmenete. Feladat: Generáljuk véletlen számokat 1 és 6 között, amíg legalább 10 darab egyes és 10 darab hatos nem lesz.
Alapok 2013/2014, őszi szemeszter gyakorlati foglalkozás Automatizálási tanszék.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Entity framework Krizsán Zoltán
Közös kinézet Mester oldal, témák, skin-ek, css Webalkalkalmazás fejlesztése ASP.NET-ben Krizsán Zoltán.
OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
PHP Webprogramozás alapjai
Készítette: Keszthelyi Zsolt
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Kliensoldali Programozás
© Kozsik Tamás Kivételek A program végrehajtása során ritkán bekövetkező események Nem a „fő végrehajtási ág”; logikailag alacsonyabbrendű feladat.
Kivételkezelés.
Kivételkezelés a C++ nyelvben Bevezetés
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
Programozás Az adatokról C# -ban.
V 1.0 ÓE-NIK, Programozás I. A Microsoft Visual Studio 2010 használata.
Beolvasó utasítás Console.Read();  Int típusú adatot kapunk. Console.ReadLine();  String típusú adatot kapunk. Console.ReadKey();  Tetszőleges billentyű.
Programozási nyelvek összehasonlító elemzése
1 Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1.3. Pascal program felépítése Az els ő program. Program ; … Begin … End. Program fej Deklarációs rész Végrehajtó rész.
Objektum orientált programozás a gyakorlatban
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
ELTE WIFI Beállítási útmutató MS Windows XP-hez
Java programozási nyelv Filekezelés
1. Feladat Hozzunk létre egy olyan programot amely számokat ír ki és a felhasználónak időre be kell gépelni ezeket.
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
Egyenesvonalú (lineáris) adatszerkezetek
Webprogramozó tanfolyam
A C++ nyelv.
A Visual Basic nyelvi elemei
Power Lutár Patrícia Pellek Krisztián.  -ltLess than  -leLess than or equal to  -gtGreater than  -geGreater than or equal to  -eqEqual to  -neNot.
Programozás III KIVÉTEL.
Illés Zoltán ELTE Informatikai Kar
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
DLL használata és készítése Feladat
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 7. gyakorlat.
Weboldalba ágyazott interaktív feladatok GeoGebra módra Papp-Varga Zsuzsanna ELTE IK Média- és Oktatásinformatika Tanszék
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Kivételek kezelése, ellenőrzött adatbevitel Czigléczky Gábor 2009.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
Alapok Gyakorlat 2015/16 őszi szemeszter Automatizálási tanszék.
Gépészeti informatika (BMEGEMIBXGI)
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
A CLIPS keretrendszer
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Function group, service call
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
B M Java Programozás 5. Gy: Java alapok IT A N Adatkezelő 1.rész
Informatikai gyakorlatok 11. évfolyam
Függvénysablonok használata
Előadás másolata:

Hibakezelés és Tesztelés a Visual Studio.NET-ben Alapok Lázár András http://elbandi.web.elte.hu lazarandras@gmail.com

1. fejezet: Hibakezelési eszközök használata

Hibák fajtái Szintaktikai hibák Futási idejű hibák (Run-time errors) Elgépelt kulcsszavak Kihagyott elemek, írásjelek Hibás szerkezet feldolgozása Futási idejű hibák (Run-time errors) Nullával osztás Biztonsági kivételek Túlcsordulás Logikai hibák Nem a várt eredményt kapjuk

Hibák javításának lehetőségei Task List ablakban megjelennek a hibák (első két fajta) Dupla kattintással odaugrik a kód ablakban Töréspontok, lépésenkénti végrehajtás Debug menü és társai Start – F5 Hibakeresés nélküli indítás – Ctrl + F5 Lépésenkénti végrehajtás – F11 Új töréspont – Ctrl + B Kurzortól való futtatás – Jobb klikk/ Run To Cursor

Line breakpoints. Function breakpoints. File breakpoints. Töréspontok fajtái Line breakpoints. Function breakpoints. File breakpoints. Address breakpoints. Data breakpoints

Töréspontok tulajdonságai Breakpoint propertys Leállás feltételei Bizonyos „küszöbérték” esetén Ikszedik belépéskor (pl. ciklus esetében) Ablakok Töréspont ablak „Autos” ablak Változók értékeinek változtatása „Élő” változókat mutatja „Locals” ablak Lokális változók „Watch” ablak Változó hozzáadása, eltávolítása

Command Window ? i ? x*y ? Textbox1.text ? x=5 Egyszerűbb parancsokat futtathatunk a program futása közben ? i ? x*y ? Textbox1.text ? x=5

Egyéb lehetőségek Running Documents Call stack Threads Modules Memory Disassembly Registers

2. fejezet: Hibakeresési és Követési osztályok

Trace és Debug osztály használata Névtere: Syste.Diagnostic; Using System.Diagnostic; Trace kimenete Output window Saját naplófájlunk Debug kimenete Figyelmeztető üzenet

Eszközeik Metódusaik Trace.Write(„szöveg”); Trace.WriteLine(„szöveg”); Debug.WriteIf(feltétel, „szöveg”); Debug.riteLineIf(feltétel, „szöveg”); Trace.Assert(feltétel, „szöveg”); Mind output windowba, mind figyelmeztető üzenetet küld Debug.Fail(„szöveg”); Ha a program ehhez a sorhoz ér, figyelmeztető üzenetet küld

Trace üzenetek naplózása: System.IO.FileStream naplo = new System.IO.FileStream("C:\\naplom.txt",System.IO.FileMode.OpenOrCreate); TextWriterTraceListener sajat = new TextWriterTraceListener(naplo); Trace.Listeners.Add(sajat); naplom.txt tárolja a trace üzeneteket Eseménynaplózás: EventLog myLog = new EventLog("Debug Log");

További lehetőségek Trace.Flush(); Trace.AutoFlush = False/True; Trace Swichek TraceLevel.Off TraceLevel.Error TraceLevel.Warning TraceLevel.Info TraceLevel.Verbose

3. fejezet: Tesztelési terv készítése

Tesztelési tervek Egy függvény első futtatása előtt érdemes írni figyelmeztető üzeneteket, amikről futás közben megtudjuk, hol jár és milyen értékekkel zajlik a végrehajtás public void TestMethod(bool X, bool Y) {    if (X == true)       MessageBox.Show("X igaz");     else MessageBox.Show("X hamis");     if (Y == true)MessageBox.Show("Y igaz");     else       MessageBox.Show("Y hamis"); }

Tesztelések fajtái Adat tesztelés Határ tesztelés(Küszöb feltételek) Normál határon belüli és kívüli adatok lekezelése Határ tesztelés(Küszöb feltételek) Határon lévő adat közvetlen környezetének tesztelése Pl: maximumnál a max+1-el Rossz adatok tesztje Ki lehet próbálni, mindenféle, a típuson kívül eső értékkel az alkalmazást Adat kombinációk Két adat küszöbérték alatt van, lehet, hogy egy művelet után átlépődik a küszöb

4. fejezet Kivételek kezelése és készítése

Kivételkezelés Try blokk Catch blokk Finally blokk Egy utasítás-sorozatot Try blokkba teszünk, ha szeretnénk saját magunk kezébe venni az esetleges hiba kijavítását Catch blokk Bizonyos hibafajtákat saját magunk tudunk lekezelni… Finally blokk …A többit a finally blokk végzi

Példa Try { Int a=Convert.Toint(szoveg); } catch (System.ArgumentNullException e)     { Console.WriteLine(„Hiba a konvertálásnál!” )} Finally {Console.WriteLine(„Valami hiba jött elő!” )}

Kivétel dobása Throw Egy kivétel szándékos generálása throw; throw e; throw new NullReferenceException("Widget A is not set", e);

Köszönöm a figyelmet! Forrás: Microsoft: Windows alkalmazás készítése .Net rendszerben