Author: Marcin Kawalerowicz,Craig Berntson
Publisher: Manning Publications
Provides information on the best practices of continuous integration using Microsoft .NET, covering such topics as testing and building automation, analyzing the code, and generating documentation.
Reliable and faster software releases with automating builds, tests, and deployment
Author: Sander Rossel
Publisher: Packt Publishing Ltd
Author: Roy Osherove
Publisher: MITP-Verlags GmbH & Co. KG
Category: Electronic books
Lesbare, wartbare und zuverlässige Tests entwickelnStubs, Mock-Objekte und automatisierte FrameworksEinsatz von .NET-Tools inkl. NUnit, Rhino Mocks und Typemock Isolator Unit Testing, richtig durchgeführt, kann den Unterschied ausmachen zwischen einem fehlgeschlagenen Projekt und einem erfolgreichen, zwischen einer wartbaren Code-Basis und einer, die niemand freiwillig anpackt, zwischen dem Nach-Hause-Kommen um 2 Uhr nachts oder zum Abendessen, selbst noch kurz vor dem Release-Termin. Roy Osherove führt Sie Schritt für Schritt von einfachen Tests zu Tests, die wartbar, lesbar und zuverlässig sind. Er geht danach auf die Grundlagen des Interaction Testings ein und stellt schließlich bewährte Vorgehensweisen für das Schreiben, das Verwalten und das Warten der Unit Tests in echten Projekten vor. Darüber hinaus werden auch fortgeschrittene Themen behandelt wie Mocks, Stubs und Frameworks wie etwa Typemock Isolator und Rhino Mocks. Sie werden eine Menge zu fortgeschrittenen Testmustern und zur Testorganisation, zum Arbeiten mit Legacy Code und auch zu untestbarem Code erfahren. Und Sie lernen Werkzeuge kennen, die Sie beim Testen von Datenbanken und anderen Technologien brauchen werden. Alle Beispiele sind mit Visual Studio in C# geschrieben, so dass die Beispiele insbesondere für .NET-Entwickler nützlich sind. Aber auch für Programmierer anderer Sprachen wird das Buch von großem Nutzen sein, da die Prinzipien des Unit Testings für andere Sprachen dieselben sind. Roys Blog finden Sie auf ISerializable.com. Aus dem Inhalt: Verwenden eines Test-Frameworks (NUnit)Grundlegende TestattributeStubs zum Auflösen von AbhängigkeitenInteraction Testing mit Mock-ObjektenTesthierarchie und OrganisationDie Säulen guter TestsIntegration von Unit Testing in das UnternehmenUmgang mit Legacy Code
Author: Brian Nantz
Publisher: Addison-Wesley Professional
Provides information on .NET development in an open source environment.
Author: Stephen Ritchie
Pro .NET Best Practices is a practical reference to the best practices that you can apply to your .NET projects today. You will learn standards, techniques, and conventions that are sharply focused, realistic and helpful for achieving results, steering clear of unproven, idealistic, and impractical recommendations. Pro .NET Best Practices covers a broad range of practices and principles that development experts agree are the right ways to develop software, which includes continuous integration, automated testing, automated deployment, and code analysis. Whether the solution is from a free and open source or a commercial offering, you will learn how to get a continuous integration server running and executing builds every time code changes. You will write clearer and more maintainable automated testing code that focuses on prevention and helping your .NET project succeed. By learning and following the .NET best practices in this book, you will avoid making the same mistakes once. With this book at your side, you'll get: Real-world, no-nonsense approaches to continuous integration, automated testing, automated deployment, and code analysis Tips and tricks you'll need to clear hurdles that keep others from putting these common sense ideas into common practice Guidance from the minimal, essential approach all the way to what's necessary to deliver at the highest levels of quality and effectiveness Benefit immediately, even before finishing it, from the knowledge, workable advice, and experience found in Pro .NET Best Practices.
Author: Scott Millett,Jerrel Blankenship,Matthew Bussa
Pro Agile .NET Development with SCRUM guides you through a real-world ASP.NET project and shows how agile methodology is put into practice. There is plenty of literature on the theory behind agile methodologies, but no book on the market takes the concepts of agile practices and applies these in a practical manner to an end-to-end ASP.NET project, especially the estimating, requirements and management aspects of a project. Pro Agile .NET Development with SCRUM takes you through the initial stages of a project—gathering requirements and setting up an environment—through to the development and deployment stages using an agile iterative approach: namely, Scrum. In the book, you'll focus on delivering an enterprise-level ASP.NET project. Each chapter is in iterations or sprints, putting into practice the features of agile—user stories, test-driven development (TDD), behavior-driven development (BDD), continuous integration, user acceptance testing, extreme programming, Scrum, design patterns and principles, inside-out development, lean developent, KanBan boards, and more. An appendix features code katas designed for the reader to get up-to-speed with some of the features of extreme programming, while also showcasing popular open-source frameworks to assist in automated testing and mocking. In addition, popular open-source architectural foundation projects such as S#arp and NCommons are demonstrated to allow you to base future projects on these frameworks, which already have many best-practice design patterns and principles built in. What you’ll learn Gain practical knowledge on employing the Scrum project methodology using a real-world ASP.NET project See how extreme programming features in real world .NET projects Experience best practice-infused open-source frameworks that can be used to form the foundations of agile projects such as S#arp and NCommons Learn best-practice tools for user interface and user acceptance testing, such as Selenium and Fitnesse Discover details on how to capture requirements and drive development using user stories Learn how to estimate and plan agile projects and work with business stakeholders through a practical example Uncover tips for developing using the outside-in, TDD and BDD methodologies Gain information on tracking the progress of a project through burn down charts, iterations and retrospectives Who this book is for Experienced .NET developers who are looking to see how the Scrum agile project methodology and extreme programming features are employed in a real-world .NET application. Table of Contents The Art of Agile Development Managing Agile Projects with SCRUM Extreme Programming Sprint 0: Generating the Product Backlog Sprint 1: Starting a Game Sprint 2: Playing a Basic Game Sprint 3: Changing the Game Sprint 4: The Release Code Review What's Ahead for You and Scrum? Appendix A: TDD Primer with NUnit Appendix B: BDD Primer with SpecFlow Appendix C: Mocking with Moq Appendix D: Managing a Product Backlog with Pivotal Tracker Appendix E: Web Testing with WaitiN Appendix F: Source Control with SVN Appendix G: Continuous Integration wih Cruise Control .NET
Author: Gojko Adzic
Test Driven .NET Development with FitNesse takes you on a journey through the wonderful world of FitNesse, a great web-based tool for software acceptance testing. FitNesse enables software developers and business people to build a shared understanding of the domain and helps produce software that is genuinely fit for purpose.
Developing Distributed Web Services to improve scalability with .NET Core 2.0 and ASP.NET Core 2.0
Author: Gaurav Aroraa,Tadit Dash
Publisher: Packt Publishing Ltd
Building Complete E-commerce/Shopping Cart Application Key Features Follow best practices and explore techniques such as clustering and caching to achieve a reactive, scalable web service Leverage the .NET Framework to quickly implement RESTful endpoints. Learn to implement a client library for a RESTful web service using ASP.NET Core. Book Description REST is an architectural style that tackles the challenges of building scalable web services. In today's connected world, APIs have taken a central role on the web. APIs provide the fabric through which systems interact, and REST has become synonymous with APIs. The depth, breadth, and ease of use of ASP.NET Core makes it a breeze for developers to work with for building robust web APIs. This book takes you through the design of RESTful web services and leverages the ASP.NET Core framework to implement these services. This book begins by introducing you to the basics of the philosophy behind REST. You'll go through the steps of designing and implementing an enterprise-grade RESTful web service. This book takes a practical approach, that you can apply to your own circumstances. This book brings forth the power of the latest .NET Core release, working with MVC. Later, you will learn about the use of the framework to explore approaches to tackle resilience, security, and scalability concerns. You will explore the steps to improve the performance of your applications. You'll also learn techniques to deal with security in web APIs and discover how to implement unit and integration test strategies. By the end of the book, you will have a complete understanding of Building a client for RESTful web services, along with some scaling techniques. What you will learn Add basic authentication to your RESTful API Create a Carts Controller and Orders Controller to manage and process Orders Intercept HTTP requests and responses by building your own middleware Test service calls using Postman and Advanced REST Client Secure your data/application using annotations Who this book is for This book is intended for those who want to learn to build RESTful web services with the latest .NET Core Framework. To make best use of the code samples included in the book, you should have a basic knowledge of C# and .NET Core.
Der pragmatische Einstieg
Author: Eberhard Wolff
Continuous Delivery ermцglicht es, Software viel schneller und mit wesentlich hцherer Zuverlдssigkeit in Produktion zu bringen, als es bisher mцglich war. Grundlage dafьr ist eine Continuous-Delivery-Pipeline, die das Ausrollen der Software weitgehend automatisiert und so einen reproduzierbaren, risikoarmen Prozess fьr die Bereitstellung neuer Releases bietet. Dieses Buch macht Sie mit dem Aufbau einer Continuous-Delivery-Pipeline vertraut und erklдrt, welche Technologien Sie dazu einsetzen kцnnen. Dabei lernen Sie u.a. folgende Themen kennen: • Infrastruktur-Automatisierung mit Chef, Docker und Vagrant • Automatisierung von Builds und Continuous Integration • Akzeptanztests, Kapazitдtstests, exploratives Testen • Einfьhrung von Continuous Delivery im Unternehmen • Continuous Delivery und DevOps • Auswirkungen auf die Softwarearchitektur Als praktisches Beispiel wird ein konkreter Technologie- Stack vorgestellt. Zahlreiche Aufgaben und Vorschlдge fьr weitergehende Experimente laden Sie darьber hinaus zur praktischen Vertiefung des Themas ein. Nach der Lektьre kцnnen Sie abschдtzen, welche Vorteile Continuous Delivery konkret bietet, und Sie verfьgen ьber das nцtige Handwerkszeug, um Continuous Delivery in Ihrem eigenen Arbeitsumfeld zu etablieren. Die Neuauflage wurde in Bezug auf Werkzeuge wie Docker, Jenkins, Graphite und den ELK-Stack aktualisiert. An neuen Themen sind Docker Compose, Docker Machine, Immutable Server, Microservices und die Einfьhrung von Continuous Delivery ohne DevOps hinzugekommen.
Weitere 15 Aufgaben und Lösungen in .NET
Author: Stefan Lieser
Auch in Teil 2 der Dojos für Entwickler gewinnt der, der auch übt. Was kann man gewinnen? Die Antwort ist kurz und bündig: Wissen. Stefan Lieser hat weitere 15 Aufgaben und ihre Lösungen formuliert. Stefan ist freiberuflicher Trainer und Berater und Fan von intelligenten Entwicklungsmethoden, die für Qualität der resultierenden Software sorgen. Er denkt sich die Aufgaben aus und gibt dann auch seine Lösung zum Besten. Er wird auch mitteilen, wie lange er gebraucht und wie viele Tests er geschrieben hat. Stefan Lieser zeigt in jeder Lösung das genaue Vorgehen: Über welche Schritte kommt er zum geforderten Produkt. Dabei muss auch er die ein oder andere Hürde überklettern. Klettern Sie mit ihm und Sie lernen mit Ihm, worauf es bei der Softwareentwicklung ankommt. Dieses devbook beinhaltet einen Link zum gesamten Originalquellcode, welcher in den einzelnen Kapiteln angesprochen wird.
Author: Ganesan Senthilvel,Ovais Mehboob Ahmed Khan,Habib Ahmed Qureshi
Publisher: Packt Publishing Ltd
Architect and design highly scalable, robust, clean and highly performant applications in .NET Core About This Book Incorporate architectural soft-skills such as DevOps and Agile methodologies to enhance program-level objectives Gain knowledge of architectural approaches on the likes of SOA architecture and microservices to provide traceability and rationale for architectural decisions Explore a variety of practical use cases and code examples to implement the tools and techniques described in the book Who This Book Is For This book is for experienced .NET developers who are aspiring to become architects of enterprise-grade applications, as well as software architects who would like to leverage .NET to create effective blueprints of applications. What You Will Learn Grasp the important aspects and best practices of application lifecycle management Leverage the popular ALM tools, application insights, and their usage to monitor performance, testability, and optimization tools in an enterprise Explore various authentication models such as social media-based authentication, 2FA and OpenID Connect, learn authorization techniques Explore Azure with various solution approaches for Microservices and Serverless architecture along with Docker containers Gain knowledge about the recent market trends and practices and how they can be achieved with .NET Core and Microsoft tools and technologies In Detail If you want to design and develop enterprise applications using .NET Core as the development framework and learn about industry-wide best practices and guidelines, then this book is for you. The book starts with a brief introduction to enterprise architecture, which will help you to understand what enterprise architecture is and what the key components are. It will then teach you about the types of patterns and the principles of software development, and explain the various aspects of distributed computing to keep your applications effective and scalable. These chapters act as a catalyst to start the practical implementation, and design and develop applications using different architectural approaches, such as layered architecture, service oriented architecture, microservices and cloud-specific solutions. Gradually, you will learn about the different approaches and models of the Security framework and explore various authentication models and authorization techniques, such as social media-based authentication and safe storage using app secrets. By the end of the book, you will get to know the concepts and usage of the emerging fields, such as DevOps, BigData, architectural practices, and Artificial Intelligence. Style and approach Filled with examples and use cases, this guide takes a no-nonsense approach to show you the best tools and techniques required to become a successful software architect.
Improving Software Quality and Reducing Risk
Author: Paul M. Duvall,Steve Matyas,Andrew Glover
Publisher: Pearson Education
For any software developer who has spent days in “integration hell,” cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques. The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility. The book covers How to make integration a “non-event” on your software development projects How to reduce the amount of repetitive processes you perform when building your software Practices and techniques for using CI effectively with your teams Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software Assessments of different CI servers and related tools on the market The book’s companion Web site, www.integratebutton.com, provides updates and code examples.
Build modern web apps with ASP.NET Core 2.0, MVC, and EF Core 2
Author: Jason De Oliveira,Michel Bruchet
Publisher: Packt Publishing Ltd
Learn how web applications can be built efficiently using ASP.NET Core 2.0 and related frameworks About This Book Get to grips with the new features and APIs introduced in ASP.NET Core 2.0 Leverage the MVC framework and Entity Framework Core 2 to build efficient applications Learn to deploy your web applications in new environments such as the cloud and Docker Who This Book Is For This book is for developers who would like to build modern web applications with ASP.NET Core 2.0. No prior knowledge of ASP.NET or .NET Core is required. However, basic programming knowledge is assumed. Additionally, previous Visual Studio experience will be helpful but is not required, since detailed instructions will guide through the samples of the book.This book can also help people, who work in infrastructure engineering and operations, to monitor and diagnose problems during the runtime of ASP.NET Core 2.0 web applications. What You Will Learn Set up your development environment using Visual Studio 2017 and Visual Studio Code Create a fully automated continuous delivery pipeline using Visual Studio Team Services Get to know the basic and advanced concepts of ASP.NET Core 2.0 with detailed examples Build an MVC web application and use Entity Framework Core 2 to access data Add Web APIs to your web applications using RPC, REST, and HATEOAS Authenticate and authorize users with built-in ASP.NET Core 2.0 features Use Azure, Amazon Web Services, and Docker to deploy and monitor your applications In Detail The ability to develop web applications that are highly efficient but also easy to maintain has become imperative to many businesses. ASP.NET Core 2.0 is an open source framework from Microsoft, which makes it easy to build cross-platform web applications that are modern and dynamic. This book will take you through all of the essential concepts in ASP.NET Core 2.0, so you can learn how to build powerful web applications. The book starts with a brief introduction to the ASP.NET Core framework and the improvements made in the latest release, ASP.NET Core 2.0. You will then build, test, and debug your first web application very quickly. Once you understand the basic structure of ASP.NET Core 2.0 web applications, you'll dive deeper into more complex concepts and scenarios. Moving on, we'll explain how to take advantage of widely used frameworks such as Model View Controller and Entity Framework Core 2 and you'll learn how to secure your applications. Finally, we'll show you how to deploy and monitor your applications using Azure, AWS, and Docker. After reading the book, you'll be able to develop efficient and robust web applications in ASP.NET Core 2.0 that have high levels of customer satisfaction and adoption. Style and approach Start an exciting journey to building high performance web applications using ASP.NET Core 2.0 and MVC
Author: Josh Holmes
* Includes selection of patterns and anti-patterns to describe ideal environment for success. * Looks in-depth at specific tools, and extensions of these tools. * Focuses on how projects are actually handled in real world—drawing on author’s vast field experience. * Includes code examples like NAnt automation tasks, case studies, and facilitation utilities.
Author: Kyle Baley,Donald Belcham
Publisher: Manning Publications Company
Looks at the characteristics of brownfield applications and offers information on how to successfully take over the development of an existing application, covering such topics as coding, version control, automated testing, and continuous integration.
Author: Alan Mark Berg
Publisher: Packt Publishing Ltd
If you are a Java developer, a software architect, a technical project manager, a build manager, or a development or QA engineer, then this book is ideal for you. A basic understanding of the software development life cycle and Java development is needed, as well as a rudimentary understanding of Jenkins.
Dive into TDD to create flexible, maintainable, and production-ready .NET Core applications
Author: Ayobami Adewole
Publisher: Packt Publishing Ltd
Learn how to apply a test-driven development process by building ready C# 7 and .NET Core applications. Key Features Create tests to quickly detect and resolve issues when writing portable code Uncover code integration issues that improve code quality using continuous integration Set up and use data-driven unit testing to verify your code Book Description This book guides developers to create robust, production-ready C# 7 and .NET Core applications through the practice of test-driven development process. In C# and .NET Core Test-Driven Development, you will learn the different stages of the TDD life cycle, basics of TDD, best practices, and anti-patterns. It will teach you how to create an ASP.NET Core MVC sample application, write testable code with SOLID principles and set up a dependency injection for your sample application. Next, you will learn the xUnit testing framework and learn how to use its attributes and assertions. You’ll see how to create data-driven unit tests and mock dependencies in your code. You will understand the difference between running and debugging your tests on .NET Core on LINUX versus Windows and Visual Studio. As you move forward, you will be able to create a healthy continuous integration process for your sample application using GitHub, TeamCity, Cake, and Microsoft VSTS. By the end of this book, you will have learned how to write clean and robust code through the effective practice of TDD, set up CI build steps to test and build applications as well as how to package application for deployment on NuGet. What you will learn Write flexible, maintainable, and verifiable code for .NET Core Write testable code using SOLID principles and dependency injections Recognize the characteristics of a good unit test Structure and group your unit test Use mock objects to handle dependencies Set up an end-to-end continuous integration process Who this book is for This book is for .NET developers who would like to build efficient applications by implementing principles of test-driven development. C# programming and working knowledge of VS is assumed.
Author: Thomas Demming
Publisher: O'Reilly Germany
Team Services, Test Cloud, and HockeyApp
Author: Gerald Versluis
Learn everything you need to set up a full-featured, automated pipeline for Xamarin development and deployment. Automate everything from the build step through to deployment and delivery to your customer. If you thought this level of automation could be achieved only by large companies with generous funding, think again! You as a single developer, or working in a small team or company, can automate your processes to punch heavier than your weight. What’s more, you can achieve this level of automation completely for free! This hands-on guide takes you step-by-step from setting up your first automated build all the way to integrated unit testing, and finally through to delivering a high-quality app to your testers and end users. The automation presented in this book saves a lot of frustration and recurring work, providing you more time to focus on building the robust and compelling apps that delight your customers and keep you steps ahead of the competition. Not only does this book teach how to get a grip on consistent quality, but it covers the use of HockeyApp to track events and usage, and to report errors and anomalies back to home base for developers to investigate. Many times it’s possible to detect and fix errors before a user even notices they are there. This book: Teaches the necessity of an automated development pipeline Helps you set up an automated pipeline for Xamarin development Integrates testing (on physical devices!) to ensure high-quality apps What You'll Learn Why you want an automated development pipeline Obtain and configure the automated tooling Continuously integrate your apps Run automated unit tests Push updates to your customers Monitor and detect errors without user intervention Who This Book Is For App developers looking for ways to ensure consistent quality of work and wanting to know how their apps are doing in actual use by customers
Deliver continuous integration and deployment within your mobile applications
Author: Rohin Tak,Jhalak Modi
Publisher: Packt Publishing Ltd
This step-by-step guide will teach you to continuously improve your mobile application development process Key Features ●Efficiently deliver continuous integration and deployment within all the stages of your application's lifecycle ●Learn to implement mobile DevOps with Xamarin and Visual Studio ●Deliver high quality and performing mobile applications Book Description Today's world is all about perfection, and there are hundreds of applications that are released each day out of which only a few succeed. Making sure that the app looks, performs, and behaves as expected is one of the biggest challenge developers face today. The main goal of this book is to teach developers to implement DevOps to build, test, and deliver. This book will teach you to implement Mobile DevOps at every stage of your application's lifecycle with Visual Studio and Xamarin Mobile Lifecycle solutions. Later, it will also show you how to leverage Mobile Center's continuous integration and automated testing to develop a high-quality applications. Next, you’ll see how to mobilize your on-premises data to the cloud and increase your productivity with code reuse. Finally, you’ll discover how to find and fix bugs beforehand, improving the efficiency of your application while it is being developed. By the end of this book, you will be well-versed with Mobile DevOps techniques, delivering high quality and high performance mobile apps. What you will learn ●Become fluent with the basic components of Mobile Devops ●Find out how to use code repositories and install Git on an EC2 server and manage users and groups ●Set up an Android device for development and install Visual Studio and Xamarin on Windows ●Create an Android project and UI for applications ●Add permissions to Android Manifest ●Write tests with Xamarin. UI and test using test cloud to check it on multiple devices ●Monitor and optimize the application using the Android monitoring tool ●Debug the mobile application and improve its efficiency Who this book is for If you are a programmer and developer who wants to increase the efficiency and scalability of your mobile application with the implementation of DevOps, then this book is for you. You need basic experience of the application process development.