This document provides an introduction to app development for SharePoint. It discusses the different types of apps that can be created for SharePoint, including SharePoint-hosted apps, provider-hosted apps, and auto-hosted apps. It also covers common app architectures, app shapes that can be used like full page apps, parts, and UI custom actions. The document discusses app packaging and deployment options like using an app catalog or app store. It provides an overview of key app development concepts like the chrome control and accessing SharePoint styles.
Anonymous functions can be used to create delegates and expression queries in LINQ. They consist of a parameter list and expression body defined with lambda syntax (parameter => expression). Anonymous functions allow data to be manipulated through LINQ expressions like First(), Last(), Max(), Sum(), FindAll(), Find(), and ForEach().
OOP Programming discusses key principles of object-oriented programming including abstraction, encapsulation, inheritance, and polymorphism. It covers classes and interfaces, inheritance and extending existing classes, accessibility levels, important aspects like constructors and multiple inheritance, and demonstrates concepts like sealed classes, multiple interfaces, and access modifiers. Key benefits are highlighted such as abstraction, encapsulation, extensibility, reusability, and eliminating redundant code.
This document discusses reflection in .NET, which allows examining and instantiating types at runtime. Reflection enables dynamically creating instances of types, binding types to existing objects, invoking methods, and accessing fields and properties. While reflection provides flexibility, it can impact performance so it is best to avoid overusing it inside loops or when other options are feasible. Reflection also allows loading assemblies at runtime from a given path.
Threads are used by operating systems to allow multiple tasks to run simultaneously by allocating processor time between tasks. Threads maintain scheduling priorities and exception handlers independently of other threads. Threads are useful for dividing workload, providing rich user experiences, and handling operations that take a long time such as communicating over a network or with a database. Threads can be prioritized as high or low priority and can consume less memory than separate processes. Common thread operations include aborting, sleeping, joining, and waiting on threads.
This document provides an introduction to ASP.NET development. It outlines that ASP.NET is a server-side language that uses a simplified page development model and modular, extensible architecture. It also discusses ASP.NET features like superior debugging, rich caching support, scalable session state, and error recovery. The document then covers request and response processing, common technologies used like HTML and JavaScript, and how ASP.NET web forms separate code from design and use server controls like Windows forms. It explains the ASP.NET page lifecycle and concepts like postbacks and view state. It concludes by discussing using session state and application state to store object data and how to start ASP.NET development using web sites versus web applications.
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
How can a digital marketing consultant help your business? In this resource we'll count the ways. 24 additional marketing resources are bundled for free.
This document provides an introduction to app development for SharePoint. It discusses the different types of apps that can be created for SharePoint, including SharePoint-hosted apps, provider-hosted apps, and auto-hosted apps. It also covers common app architectures, app shapes that can be used like full page apps, parts, and UI custom actions. The document discusses app packaging and deployment options like using an app catalog or app store. It provides an overview of key app development concepts like the chrome control and accessing SharePoint styles.
Anonymous functions can be used to create delegates and expression queries in LINQ. They consist of a parameter list and expression body defined with lambda syntax (parameter => expression). Anonymous functions allow data to be manipulated through LINQ expressions like First(), Last(), Max(), Sum(), FindAll(), Find(), and ForEach().
OOP Programming discusses key principles of object-oriented programming including abstraction, encapsulation, inheritance, and polymorphism. It covers classes and interfaces, inheritance and extending existing classes, accessibility levels, important aspects like constructors and multiple inheritance, and demonstrates concepts like sealed classes, multiple interfaces, and access modifiers. Key benefits are highlighted such as abstraction, encapsulation, extensibility, reusability, and eliminating redundant code.
This document discusses reflection in .NET, which allows examining and instantiating types at runtime. Reflection enables dynamically creating instances of types, binding types to existing objects, invoking methods, and accessing fields and properties. While reflection provides flexibility, it can impact performance so it is best to avoid overusing it inside loops or when other options are feasible. Reflection also allows loading assemblies at runtime from a given path.
Threads are used by operating systems to allow multiple tasks to run simultaneously by allocating processor time between tasks. Threads maintain scheduling priorities and exception handlers independently of other threads. Threads are useful for dividing workload, providing rich user experiences, and handling operations that take a long time such as communicating over a network or with a database. Threads can be prioritized as high or low priority and can consume less memory than separate processes. Common thread operations include aborting, sleeping, joining, and waiting on threads.
This document provides an introduction to ASP.NET development. It outlines that ASP.NET is a server-side language that uses a simplified page development model and modular, extensible architecture. It also discusses ASP.NET features like superior debugging, rich caching support, scalable session state, and error recovery. The document then covers request and response processing, common technologies used like HTML and JavaScript, and how ASP.NET web forms separate code from design and use server controls like Windows forms. It explains the ASP.NET page lifecycle and concepts like postbacks and view state. It concludes by discussing using session state and application state to store object data and how to start ASP.NET development using web sites versus web applications.
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
How can a digital marketing consultant help your business? In this resource we'll count the ways. 24 additional marketing resources are bundled for free.
Dokumentation durch automatisierte AkzeptanztestsSebastian Sanitz
Folien der Präsentation "Dokumentation durch automatisierte Akzeptanztests" auf der webtech 2010 von Andreas Kneifel http://www.wlw.de/ und Sebastian Sanitz http://www.it-agile.de/
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“hpaustria
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Presentation from HEROLD (www.herold.at) at the HP Ideas 2008 in Vienna/Austria.
http://www.herold.at
http://hpideas.wordpress.com
http://www.hp.com/at/ideas
Data Scraping with Excel - Campixx 2013 - Maik SchmidtMaik Schmidt
Auf meiner Campixx Session habe ich gezeigt, wie man mit Hilfe von Excel und X-Path Daten aus dem Web scrapen kann. u.a. wurden gescraped: Standard KPIs, Malware Checker, Index Checker, Google SERPs, Google Suggest
Wartbare Oberflächentests mit Open-Source-SoftwareOliver Libutzki
Das Erstellen und Verwalten von Tests stellt im Software-Engineering eine komplexe und zeitaufwändige Disziplin dar. Nicht selten überschreiten die Aufwände, automatisierte Tests zu schreiben, den eigentlichen Implementierungsaufwand. Und noch viel schlimmer: Tests müssen gepflegt werden. Bei fachlichen oder technischen Änderungen der getesteten Software müssen auch die Tests angepasst werden.
Nils und Oliver zeigen am Beispiel von Oberflächentests wie man lesbare, wartbare und dokumentierte Tests schreiben kann, damit sich die Aufwände amortisieren. Sie zeigen dabei, dass man weder teure, kommerzielle Produkte einsetzen noch sämtliche Komponenten selbst implementieren muss. Durch die Kombination etablierter Java-Frameworks und -Tools ist es möglich, ein Test-Werkzeug zu schaffen, das das Erstellen und vor allem die Wartung von Oberflächentests extrem vereinfacht.
Der Vortrag gibt einen Einblick in die Auszeichnungssprache AsciiDoctor und dem Programm zur Erstellung von Dokumenten im HTML und PDF Format. Es wird beschrieben, wie AsciiDoctor zur Dokumentation in Java (JavaDoc) verwendet werden kann. AsciiDoctor kann in die bekannten Build-Tools Ant, Maven und Gradle integriert werden, so dass die Dokumentation wie Quellcode regelmäßig übersetzt wird. Als Ausblick wird die Integration von "beschreibenden Grafikformatken" wie GraphViz und PlantUML in AsciiDoctor Dokumente gezeigt.
Mit WebDirect kann man wieder mehr Plugins einsetzen auf dem Server. Da bietet es sich doch an eventuell ein eigenes Plugin zu bauen für Schnittstellen. Per Plugin etwas schneller machen, auf Betriebssystemfunktionen zugreifen oder das Plugin als Schnittstelle zu einer C Bibliothek nehmen, die etwas wichtiges macht. Wir schauen uns die Vorraussetzungen an, das Plugin SDK und wie man eigene Funktionen definiert. In der Demo bauen wir ein Plugin selbst und probieren es gleich mal aus.
This presentation was held on the DOAG 2018 conference in Nuremberg. It describes how to handle REST Webservice with Web Source Moduls inside APEX 18. Examples like using fantasydata and jira as webservices endpoints are described.
War Persistenz in Java EE früher schwergewichtig und unflexibel, so steht nun der leichtgewichtige Standard JPA mit Providern wie EclipseLink und Hibernate zur Verfügung. Die Einfachheit ist bestechend, verleitet aber auch zu unbedachtem Einsatz mit teilweise enttäuschender Performanz. Dieser Vortrag zeigt, wie JPA-Anwendungen auf den nötigen Durchsatz hin optimiert werden können.
Sie hätten diesen Vortrag gerne in Ihrem Hause? Sprechen Sie uns an: dirk.weil(at)gedoplan.de
Weitere ähnliche Inhalte
Ähnlich wie SharePoint Testing mit Visual Studio 2012
Dokumentation durch automatisierte AkzeptanztestsSebastian Sanitz
Folien der Präsentation "Dokumentation durch automatisierte Akzeptanztests" auf der webtech 2010 von Andreas Kneifel http://www.wlw.de/ und Sebastian Sanitz http://www.it-agile.de/
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“hpaustria
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Presentation from HEROLD (www.herold.at) at the HP Ideas 2008 in Vienna/Austria.
http://www.herold.at
http://hpideas.wordpress.com
http://www.hp.com/at/ideas
Data Scraping with Excel - Campixx 2013 - Maik SchmidtMaik Schmidt
Auf meiner Campixx Session habe ich gezeigt, wie man mit Hilfe von Excel und X-Path Daten aus dem Web scrapen kann. u.a. wurden gescraped: Standard KPIs, Malware Checker, Index Checker, Google SERPs, Google Suggest
Wartbare Oberflächentests mit Open-Source-SoftwareOliver Libutzki
Das Erstellen und Verwalten von Tests stellt im Software-Engineering eine komplexe und zeitaufwändige Disziplin dar. Nicht selten überschreiten die Aufwände, automatisierte Tests zu schreiben, den eigentlichen Implementierungsaufwand. Und noch viel schlimmer: Tests müssen gepflegt werden. Bei fachlichen oder technischen Änderungen der getesteten Software müssen auch die Tests angepasst werden.
Nils und Oliver zeigen am Beispiel von Oberflächentests wie man lesbare, wartbare und dokumentierte Tests schreiben kann, damit sich die Aufwände amortisieren. Sie zeigen dabei, dass man weder teure, kommerzielle Produkte einsetzen noch sämtliche Komponenten selbst implementieren muss. Durch die Kombination etablierter Java-Frameworks und -Tools ist es möglich, ein Test-Werkzeug zu schaffen, das das Erstellen und vor allem die Wartung von Oberflächentests extrem vereinfacht.
Der Vortrag gibt einen Einblick in die Auszeichnungssprache AsciiDoctor und dem Programm zur Erstellung von Dokumenten im HTML und PDF Format. Es wird beschrieben, wie AsciiDoctor zur Dokumentation in Java (JavaDoc) verwendet werden kann. AsciiDoctor kann in die bekannten Build-Tools Ant, Maven und Gradle integriert werden, so dass die Dokumentation wie Quellcode regelmäßig übersetzt wird. Als Ausblick wird die Integration von "beschreibenden Grafikformatken" wie GraphViz und PlantUML in AsciiDoctor Dokumente gezeigt.
Mit WebDirect kann man wieder mehr Plugins einsetzen auf dem Server. Da bietet es sich doch an eventuell ein eigenes Plugin zu bauen für Schnittstellen. Per Plugin etwas schneller machen, auf Betriebssystemfunktionen zugreifen oder das Plugin als Schnittstelle zu einer C Bibliothek nehmen, die etwas wichtiges macht. Wir schauen uns die Vorraussetzungen an, das Plugin SDK und wie man eigene Funktionen definiert. In der Demo bauen wir ein Plugin selbst und probieren es gleich mal aus.
This presentation was held on the DOAG 2018 conference in Nuremberg. It describes how to handle REST Webservice with Web Source Moduls inside APEX 18. Examples like using fantasydata and jira as webservices endpoints are described.
War Persistenz in Java EE früher schwergewichtig und unflexibel, so steht nun der leichtgewichtige Standard JPA mit Providern wie EclipseLink und Hibernate zur Verfügung. Die Einfachheit ist bestechend, verleitet aber auch zu unbedachtem Einsatz mit teilweise enttäuschender Performanz. Dieser Vortrag zeigt, wie JPA-Anwendungen auf den nötigen Durchsatz hin optimiert werden können.
Sie hätten diesen Vortrag gerne in Ihrem Hause? Sprechen Sie uns an: dirk.weil(at)gedoplan.de
Ähnlich wie SharePoint Testing mit Visual Studio 2012 (20)
2. Agenda
Was ist Test-Driven Development?
Testing SharePoint
Microsoft Fakes Mocking Framework
SharePoint Emulators
3. Was ist TDD?
Testgetriebene Entwicklung (engl. test
first development oder test-driven
development (TDD)) ist eine Methode, die
häufig bei der agilen Entwicklung von
Computerprogrammen eingesetzt wird.
Bei der testgetriebenen Entwicklung
erstellt der Programmierer Software-Tests
konsequent vor den zu testenden
Komponenten.
Quelle: http://de.wikipedia.org/wiki/Testgetriebene_Entwicklung
4. TDD ist “interpretierbar”
Test-First Methode
Als Teil eines agilen Softwareentwicklungsprozesses
Legacy Code Testing
Verhalten von Quellcode überprüfen
5. Warum TDD?
Steigerung der Codequalität
Bessere Verständnis des Codes
Schnelles Finden von Fehlern
Pünktlich Feierabend
Hohe Flexibilität
7. Agenda
Was ist Test-Driven Development?
Testing SharePoint
Microsoft Fakes Mocking Framework
SharePoint Emulators
8. SharePoint testen… aber wie?
Quelle: http://blog.mercedes-benz-passion.com/2009/05/hamann-vulcano-slr-im-windkanal/
9. Was ist “testbarer“ Code?
Abstraktes und Interface-basiertes Design
Kein Konstruktoren mit Logik
Methoden standardmäßig als virtual
markieren
10. S
O
L
I
D
Single Responsibility Principle
A class should have one, and only one, reason to change.
Open Close Principle
You should be able to extend a classes behavior, without modifying it.
Liskov Substitution Principle
Derived classes must be substitutable for their base classes.
Interface Segregation Principle
Make fine grained interfaces that are client specific.
Dependency Inversion Principle
Depend on abstractions, not on concretions.
Was ist guter Code
11. Stubs und Mocks
Stubs
• Einfache Objekte
z.B. Liste oder nur Text
Mocks
• Objekte die eine
Berechnung vornehmen
• Prüfen ob eine Funktion
aufgerufen wurde
12.
13. TDD vs. SharePoint
SharePoint bietet nur wenige Interfaces
und abstrakte Klassen
In SharePoint werden viele statische und
nicht-virtuelle Funktionen und Eigen-
schaften benutzt
• SPContext.Current
• SPFieldCollection.GetFieldByInternalName
14. Agenda
Was ist Test-Driven Development?
Testing SharePoint
Microsoft Fakes Mocking Framework
SharePoint Emulators
15. Fakes (aka Moles)
Build-In Visual Studio 2012
Ab Visual Studio Premium Update 2
Faken von sealed, static Methoden und
Eigenschaften
Benutzen von bekannten Funktionen
Anonymous Delegates und Lambda Expressions
SharePoint Support
26. Zusammenfassung
Faken von allen Intanzen eines Objekts
während eines Tests
Benutzen von Stubs und Shims
zusammen
In die Schreibweise von Stubs und Shims
muss man sich einarbeiten
27. Agenda
Was ist Test-Driven Development?
Testing SharePoint
Microsoft Fakes Mocking Framework
SharePoint Emulators
33. Literatur und Links
The Art of Unit Testing
Buch, Roy Osherove
Fakes in der MSDN
http://msdn.microsoft.com/en-us/library/hh549175.aspx
Visual Studio Test Tooling Guide
http://vsartesttoolingguide.codeplex.com
Clean Code
Buch, Robert C. Martin
Bei TDD wird durch ein automatisiertes Stück Code überprüft ob eine oder mehrere Annahmen über eine Methode/Funktion/Klasse logisch korrekt sindTesten von Code ohne Bezug auf Abhängigkeiten wie Datenbanken oder das Dateisystem
Stub= einfacheListeodernur TextMock = ErwirdeineBerechnunggemacht; Geprüft ob eine Funktion aufgerufen wurde; Wie ein Spion