Tuesday, 5. July 2005
Jul 05
Zur Tech Ed 2005 wurde der endgültige Veröffentlichungstermin für Visual Studio 2005, SQL Server 2005 und BizTalk Server 2006 bekannt gegeben. Der Termin wurde am 7. November festgesetzt. Sowohl Whidbey (VS2005) und Yukon (SQL Server 2005) hatte sehr großen Anklang bei den Testern der Beta Versionen gefunden.
Tags:
.NET,
biztalk server,
Visual Studio
Monday, 4. July 2005
Jul 04
Manuelle Tests
Das Testen von Software war schon immer eine der wichtigsten und auch unbeliebtesten Aufgaben beim Software-Entwicklungsprozess. Generell gibt es viele unterschiedliche Arten des Testens. Im herkömmlichen Verfahren wurde meistens während der Entwicklung mit dem Debugger und Tracing-Ausgaben gearbeitet und im Anschluss vor dem Release ein umfangreicher manueller Test des kompletten Systems durchgeführt. Aber damit ist es ja bekanntlich noch lange nicht getan, denn der Entwicklungsprozess ist mit der Fertigstellung von Programmteilen längst nicht beendet. Änderungen am Programmcode, z.B. für Updates oder neue Features können unabsehbare Auswirkungen auf bereits getestete Programmteile haben. Die Folge ist, dass der komplette Test vor jedem neuen Release wiederholt werden muss. Da dies natürliche gewaltige Kosten verursacht wurden schon früh automatisierte Tests eingesetzt, die genau auf die Stellen aufmerksam machen, bei denen nun Fehlfunktionen auftreten. Beispiel für solche Test-Systeme sind JUnit (Java) oder auch NUnit (.NET), was in abgewandelter Form nun sogar in das neue Visual Studio 2005 integriert wurde. Doch was genau verbirgt sich hinter dem Unittesting?
Beim Unittesting (Unit = Einheit, Bauteil) wird die Funktion eines atomaren Teils des Systems (z.B. einer Berechnungsfunktion) isoliert von allen anderen getestet und validiert. Unittests können prinzipiell als Whitebox- und Blackbox-Tests betrieben werden. In der Regel wird jedoch der Entwickler im besten Fall schon vor der Entwicklung der Funktionalität die Testfälle anlegen. Nach jeder größeren Quellcode-Änderung sollte dann durch Ablaufen lassen aller Testfälle die Fehlerfreiheit überprüft werden.

Automatisiert und wiederholbar Testen durch Unit-Tests
Ein Unit-Test prüft in der Regel immer nur einen sehr kleinen und autarken Teil des Software-Systems – wie beispielsweise eine einzelne Funktion. Dabei wird bei jedem Test die zu testende Funktion oder Methode mit Testdaten (Parametern) konfrontiert und deren Reaktion auf diese Testdaten geprüft. Die zu erwartenden Ausgabewerte werden nun mit den von der jeweiligen Funktion oder Methode gelieferten Ergebnisdaten verglichen (Assertions). Stimmt das erwartete Ergebnis mit dem gelieferten Ergebnis der Funktion oder Methode überein, so gilt der Test als bestanden.
Ein TestRun besteht im Allgemeinen aus einer ganzen Reihe von Testfällen, die nicht nur ein Parameter-Ergebnis-Paar prüfen, sondern gleich mehrere.
Unittest mit Navision
Auch für Microsoft Navision Entwickler sollten UnitTests zum täglichen Programmieralltag gehören. Bisher gab es jedoch kein Testframework für Navision, so dass wir uns bei der msu solutions GmbH (Microsoft Certified Partner) entschlossen haben ein eigenes zu entwickeln. Die Einsatzmöglichkeiten des Navision-UnitTest-Frameworks möchte ich hier vorstellen.

Leistungsmerkmale:
- Labeln von Testgruppen und Testläufen:
UnitTest.LabelTestRun(‘This run has to succeed’);
- Einfache Funktionstest mit definierten Vergleich:
UnitTest.IntAssert( 4/2 ,2, ‘Is 4/2 = 2?’);
- Unterstützt erwartete Exceptions:
UnitTest.AssumeError(‘Test 3 Error’);
- Komplette Assertions über Feldinhalte, Recods bis zu ganzen Tabellen:
UnitTest.TableAssertion(TableID);
Testauswahl-Formular

- Auswahl der zu testenden Testgruppen
- Import/Export von Fehlertextbausteinen
Unittest-Viewer

- Anzeige des Testprotokolls
- Anzeige, welche Methoden fehlerfrei abliefen und wo Fehler auftraten
Tags:
dynamics-nav,
nunit,
softwareentwicklung,
testing,
unit test
Jul 04
URL Rewriting wird dazu genutzt, um zum Beispiel Adressen wie http://yoursite.com/info/dispEmployeeInfo.aspx?EmpID=459-099&type=summary in solche besser merkbare und von Google bevorzugte Links wie http://yoursite.com/people/sales/chuck.smith umzuwandeln. Dazu gibt es einen Artikel in der MSDN Library.
Tags:
ASP.NET,
url-rewriting
Monday, 27. June 2005
Jun 27
Im Navision ist es ganz einfach möglich ein einfaches LookUp zu machen. Will man jedoch mehrere Datensätze selektieren, muss man einige Anstregungen unternehmen. Am LookUp-Formular muss folgende Funktion hinterlegt werden:
PROCEDURE SetSelection(myRec : Record)
BEGIN
CurrForm.SETSELECTIONFILTER(myRec);
END;
Der aufrufende Code könnte dann so aussehen:
myRec.RESET;
myRec.DELETEALL;
myForm.SETTABLEVIEW(myRec);
myForm.LOOKUPMODE(TRUE);
IF myForm.RUNMODAL = ACTION::LookupOK THEN BEGIN
myForm.SetSelection(myRec);
myRec.MARKEDONLY := TRUE;
// Do something with the marked Records
END;
Tags:
dynamics-nav,
lookup,
Navision
Wednesday, 22. June 2005
Jun 22
Bernd Marquardt hält am 05.07.2005 von 16:00 bis 17:00 Uhr einen Webcast zum Thema reguläre Ausdrücke und Ihre Verwendung unter .NET. Neben der Erläuterung der Syntax sollen viele Beispiele mit der Regex-Klasse des .NET-Frameworks gezeigt werden.
Danach wird der Webcast sicher auch wieder zum Download bereit stehen.
Tags:
.NET,
bernd marquardt,
regex,
reguläre Ausdrücke,
webcast
Monday, 20. June 2005
Jun 20
Unterwegs in der “Mission Bessere Websites”
12. Juli bis 12. September 2005, bundesweit
Aufgrund der großen Nachfrage wird es nach Erscheinen der Beta 2 von ASP.NET 2.0 einen TechTalk-Special geben: Ohne viele Folien und Theorie liegt diesmal der Schwerpunkt auf praxisorientiertem Coding mit Visual Web Developer Express – ein Workshop, der auch für Einsteiger in die Microsoft-Webtechnologien geeignet ist.
“70% produktiver sein beim Schreiben von Webanwendungen – und keinen Cent für die Tools ausgeben!” tönt es frech aus dem Microsoft-Marketing. Die zwei Webprogrammierer und Profi-Marketing-Skeptiker Neno Loje und Uwe Baumann wollen diese Aussage mit einem extremen Selbstversuch überprüfen: Ein Music-Downloadstore soll programmiert werden, und zwar in drei Stunden. Mit der frei erhältlichen Entwicklungsumgebung Visual Web Developer Express 2005. Kann das klappen?
Mission Bessere Websites
Tags:
.NET,
ASP.NET,
Visual Studio,
webdesign
Jun 20
Laut Theorie kann man mit regulären Ausdrücken bekanntlich keine beliebig tiefen Klammerstrukturen analysieren. Mit einem modernen RegEx-Parser geht das trotzdem:
\(
   (?>
       [^()]+
          |   \( (?<number>)
          |   \) (?<-number>)
   )*
   (?(number)(?!))
\)
Das liefert zumindest die größten balancierten Klammerausdrücke in einem Text.
Also aus “blabla () + (3*(5+3)*4) blah” werden die beiden Matches “()” und “(3*(5+3)*4)” gefunden.
Die Folge ist, dass ein RegEx-Parser echt mächtiger ist als ein regulärer Ausdruck.
Tags:
Theoretische
Thursday, 16. June 2005
Jun 16
Jun 16
Unter http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/clubwebsitesk.asp gibt es einen interessanten Artikel, der beschreibt wie man das mit VS2005 mitgelieferte Club-Website Starterkit nutzen kann.
Jun 16
In Unternehmen tritt häufig das Problem auf, dass wertvolle Daten in isolierten Systemen schlummern, die nicht für den Datenaustausch mit anderen Systemen ausgerichtet sind. Wenn diese Daten jedoch für den Datenaustausch nutzbar gemacht werden könnten, würde dies den Wert der Informationen erheblich steigern.
Ein typisches Einsatzgebiet eines WebService ist die Lieferung von Informationen aus einer Datenbank an verschiedene Client-Anwendungen. Ein Beispiel wäre die Lieferung von aktuellen Meldungen durch Nachrichtenagenturen (wie z.B. Reuters) an Medienunternehmen (Zeitungen, Fernsehen, Internetportale) und der damit verbundene Kostenausgleich.

Mehr zu XML-Webdiensten gibt es in meiner Hausarbeit zu XML-WebServices.
Nachtrag: Die Arbeit wurde nun schon über 5000 mal runtergeladen.
Tags:
Informatik,
informationen,
reuters,
WCF,
webservice,
webservices,
xml,
zeitungen