Jess Chadwick is an independent software consultant and technologist. He has over a decade of development experience ranging from embedded devices in start-ups to enterprise-scale web farms at Fortune 500s. He is an ASPInsider, Microsoft MVP in ASP.NET, magazine and book author, including O’Reilly’s up-coming Programming ASP.NET MVC 4. Jess is actively involved in the development community, regularly speaking at user groups and conferences as well as leading the NJDOTNET Central New Jersey .NET user group.
Imagine this: you’ve written a whole suite of tests that open up a browser and run through your entire web application, entering text and clicking on buttons just like a real user would. Even though they may take a while to write and to run, you’re confident that your browser-based test suite does a pretty good job of verifying the whole system. Quality is great and users are happy!
Then you need to make some UI change which breaks a dozen tests and you just don’t have time to fix them all… so you ignore them and promise yourself you’ll go back and fix them when you have the time (which you never do).
Then it happens AGAIN, resulting in a dozen more ignored tests.
THEN… Well, you get the point.
Not too long ago, experiences like that caused me to completely write off browser-based automated tests as flaky and a huge waste of time. That is, until I realized the main reason that my tests were so flaky is that I was writing them all wrong! In this presentation we’ll look at a subtle but powerful approach to browser-based testing that abstracts your test code from the details of your UI, making your tests easier to maintain by keeping you from having to rewrite them all the time, and bringing back the value of having browser-based automated tests again!
It’s quite easy to throw together a website using the ASP.NET MVC framework: write some code in a controller, throw some markup in a view and you’re all set, right? Sure! You can definitely make a working website that way. But… that’s not what the framework was designed for.
The fundamental goal of the ASP.NET MVC framework — as its name suggests — is to drive development of loosely-coupled, highly-maintainable websites using time-honored patterns and practices such as tiered architecture and SOLID design patterns. The framework offers a number of features to help make this happen, but many developers are not even aware that some of these features exist or how they can help improve developer productivity and application effectiveness.
In this talk we’ll take a look at some of the most powerful — and greatly underused — features of the ASP.NET MVC framework and show you how to put these features to work to make your MVC applications the best that they can be.
Right out of the box, Glimpse seems to tell you pretty much everything you could ever want to know about your standard web application. How long did my request take to execute? How much of that was on the server vs. on the client? Which ASP.NET MVC routes were considered? Which SQL queries were executed (and how long did they take)? Glimpse has all the answers.
All the answers about a standard web app, that is. But yours isn’t just any web app – it’s *your* web app. And your app operates on data that Glimpse doesn’t know anything about. Things like: what items are in the user’s cart? What’s the details of that message that got sent across our custom-built service bus? Which customer service representatives are available to chat right now?
This talk will show you how to customize Glimpse to get at that last 20% of information that you really need — the stuff that is specific to your application. We’ll explore the various integration points that Glimpse provides, from displaying simple bits of information to a full-fledged real-time interactive interface.
NuGet is a package management framework that allows you to quickly and easily add assembly references to your .NET projects, with a powerful dependency resolution algorithm that ensures you’ve got everything you need in order for those assembly references to function properly. Heck, it’ll even perform any number of automated tasks or generate code to help prepare your project to use the new assembly reference. Not only that, the centralized repository is your one-click stop for thousands of open source libraries to help super-charge your applications. And — oh yeah — it’s already installed on your machine, right there in Visual Studio!
In this talk I’ll show you how to use NuGet to perform anything from the mundane task of adding assembly references to your project, all the way to sharing code snippets or even installing applications on your computer.
Razor is a great new way to write your ASP.NET MVC views. It’s also ridiculously simple! In this talk we will first see the Razor template engine in action doing what it was designed for: rendering HTML for ASP.NET MVC views. Along the way, we’ll pop open the hood and see the magic going on behind the scenes.
Then, we’ll completely ignore what Microsoft had in mind when they created Razor and use the Razor API in applications that have nothing to do with the web what-so-ever! When we’re finished, not only will you know how to make the most out of the ASP.NET MVC Razor View Engine, you’ll be wanting to use Razor in all of your applications!