Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Tuesday, 5. July 2005


VS2005, SQL Server 2005 und BizTalk Server 2006 Launch Date

Filed under: .NET,Visual Studio — Steffen Forkmann at 19:40 Uhr

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: , ,

Monday, 4. July 2005


Unittest mit Navision

Filed under: Navision — Steffen Forkmann at 23:03 Uhr

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.

Software-Entwicklungszyklus

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.

Architektur

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

UnitTest Start-Form

  • Auswahl der zu testenden Testgruppen
  • Import/Export von Fehlertextbausteinen

Unittest-Viewer

UnitTest Viewer

  • Anzeige des Testprotokolls
  • Anzeige, welche Methoden fehlerfrei abliefen und wo Fehler auftraten
Tags: , , , ,

URL Rewriting mit ASP.NET

Filed under: ASP.NET — Steffen Forkmann at 10:40 Uhr

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: ,

Monday, 27. June 2005


Navision: Multiline-LookUp

Filed under: Navision — Steffen Forkmann at 8:46 Uhr

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: , ,

Wednesday, 22. June 2005


Webcast von Bernd Marquardt zu regulären Ausdrücken unter .NET

Filed under: .NET,Theoretische,WebCasts — Steffen Forkmann at 17:31 Uhr

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: , , , ,

Monday, 20. June 2005


Visual Web Developer Express On Tour

Filed under: ASP.NET,TechTalk,Visual Studio — Steffen Forkmann at 19:14 Uhr

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: , , ,

RegEx Regulärer Ausdruck

Filed under: Theoretische — Steffen Forkmann at 8:46 Uhr

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:

Thursday, 16. June 2005


Webcast zu den neuen VS2005 Reporting-Controls

Filed under: Visual Studio,WebCasts — Steffen Forkmann at 21:23 Uhr

Unter http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20050609SQLServerBW/manifest.xml findet man einen englischsprachigen Webcast zur Reporterstellung unter VS2005.

Tags: , ,

Club-Website Starterkit

Filed under: ASP.NET,Visual Studio — Steffen Forkmann at 20:23 Uhr

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.

https://kronansapotekse.com

Einsatzmöglichkeiten für XML-Webservices

Filed under: Informatik,WCF — Steffen Forkmann at 13:19 Uhr

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.

Webservices

Mehr zu XML-Webdiensten gibt es in meiner Hausarbeit zu XML-WebServices.

Nachtrag: Die Arbeit wurde nun schon über 5000 mal runtergeladen.

Tags: , , , , , , ,